/* ================================================================
   ALL NATURAL -> NOBLE FACTORY HOMEPAGE
   Layout and interaction contracts are source-led, not redesigned.
   ================================================================ */

/* HERO — source: All Natural Section Hero / Slide 1–3 */
.nf-hero{position:relative;width:100%;height:100vh;overflow:hidden;background:#000;color:#fff}
.nf-hero__slides,.nf-hero__slide,.nf-hero__media{position:absolute;inset:0}.nf-hero__slide{z-index:0;opacity:0;pointer-events:none}.nf-hero__slide.is-active{z-index:1;opacity:1;pointer-events:auto}
.nf-hero__media{opacity:.001;transform:scale(1.1);will-change:opacity,transform}.nf-hero__slide.is-active .nf-hero__media{opacity:1;transform:scale(1);transition:opacity 2s var(--nf-ease-source),transform 2s var(--nf-ease-source)}
.nf-hero__media img{width:100%;height:100%;object-fit:cover;object-position:50% 50%}.nf-hero__shade{position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(255,255,255,0) 0%,rgba(0,0,0,0) 100%)}.nf-hero__slide:nth-child(3) .nf-hero__shade{background:linear-gradient(180deg,rgba(255,255,255,0) 0%,rgba(0,0,0,.2) 100%)}
.nf-hero__copy{position:absolute;left:40px;bottom:40px;z-index:4;display:flex;flex-direction:column;align-items:flex-start;width:600px;max-width:calc(100% - 80px);color:#fff}
.nf-hero__eyebrow{width:100%;max-width:529px;margin:0 0 5px;font:500 11px/100% var(--nf-font);letter-spacing:0;text-transform:uppercase;opacity:.001;transform:translateY(30px)}
.nf-hero h1{width:100%;max-width:400px;margin:0 0 20px;font:500 46px/100% var(--nf-font);letter-spacing:-1.85px;opacity:.001;transform:translateY(30px)}
.nf-hero .nf-primary-button{min-height:0;padding:10px 36px;border-radius:8px;font:500 14px/125% var(--nf-font);letter-spacing:-.5px;opacity:.001;transform:translateY(30px)}
.nf-hero__slide.is-active .nf-hero__eyebrow{opacity:1;transform:none;transition:opacity 2s var(--nf-ease-hero) .2s,transform 2s var(--nf-ease-hero) .2s}
.nf-hero__slide.is-active h1{opacity:1;transform:none;transition:opacity 2s var(--nf-ease-hero) .3s,transform 2s var(--nf-ease-hero) .3s}
.nf-hero__slide.is-active .nf-primary-button{opacity:1;transform:none;transition:opacity 2s var(--nf-ease-hero) .6s,transform 2s var(--nf-ease-hero) .6s,background-color .32s var(--nf-ease-source),border-color .32s var(--nf-ease-source),color .32s var(--nf-ease-source)}
.nf-hero__indicators{position:absolute;z-index:5;left:50%;bottom:0;display:flex;align-items:center;justify-content:center;gap:10px;width:140px;height:50px;transform:translateX(-50%)}
.nf-hero__indicator{position:relative;width:40px;height:12px;padding:5px 0;border:0;background:transparent}.nf-hero__indicator-base,.nf-hero__indicator-active{position:absolute;left:0;right:0;top:5px;height:2px}.nf-hero__indicator-base{background:rgba(255,255,255,.2)}.nf-hero__indicator-active{right:auto;width:0;background:var(--nf-gold)}.nf-hero__indicator.is-active .nf-hero__indicator-active{animation:nf-hero-progress 6s linear both}.nf-hero.is-paused .nf-hero__indicator.is-active .nf-hero__indicator-active{animation-play-state:paused}@keyframes nf-hero-progress{from{width:0}to{width:100%}}
.nf-hero__down{position:absolute;right:40px;bottom:40px;z-index:5;width:17px;height:17px;color:#fff;overflow:hidden}.nf-arrow-swap{position:relative;display:block;width:17px;height:17px;margin:auto;overflow:hidden}.nf-arrow-swap svg{position:absolute;inset:0;width:17px;height:17px;transition:transform .45s var(--nf-ease-source)}.nf-arrow-swap svg+svg{transform:translateY(-115%)}.nf-hero__down:hover .nf-arrow-swap svg:first-child{transform:translateY(115%)}.nf-hero__down:hover .nf-arrow-swap svg+svg{transform:translateY(0)}

/* CATEGORY TABS + PRODUCT CARDS — source: All Natural Section Category Tabs / Product Card */
.nf-products{width:100%;padding:100px 40px 50px;background:#fff}.nf-products__header{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:25px}.nf-products__tabs{display:flex;align-items:center;gap:16px;min-width:0}.nf-products__tab{padding:0;border:0;background:none;color:rgba(0,0,0,.4);font:500 25px/100% var(--nf-font);letter-spacing:-1.25px;white-space:nowrap;transition:color .4s cubic-bezier(.34,1.56,.64,1)}.nf-products__tab.is-active,.nf-products__tab:hover,.nf-products__tab:focus-visible{color:#000}.nf-products__tab:focus-visible{outline-color:var(--nf-gold)}.nf-products .nf-source-underline{font:500 14px/125% var(--nf-font);letter-spacing:-.5px}.nf-products__panel[hidden]{display:none!important}.nf-product-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.nf-product-card{min-width:0;padding:0 0 20px;color:#000}.nf-product-card__media-wrap{position:relative}.nf-product-card__media{position:relative;display:block;aspect-ratio:.8691437802907916/1;overflow:hidden;clip-path:inset(0 round 8px);isolation:isolate;border-radius:8px;background:#eee;transform:translateZ(0)}.nf-product-card .nf-product-card__image{position:absolute;display:block;top:0;left:0;width:100%;max-width:none;height:auto;aspect-ratio:.8691437802907916/1;object-fit:cover;object-position:center;will-change:opacity,transform}.nf-product-card__image--secondary{z-index:1;visibility:hidden;transform:scale(1.06);transition:transform .8s var(--nf-ease-source),visibility 0s linear .8s}.nf-product-card__image--primary{z-index:2;opacity:1;transition:opacity .8s var(--nf-ease-source)}
.nf-product-card__badge{position:absolute;z-index:3;left:15px;top:15px;display:inline-flex;align-items:center;justify-content:center;width:max-content;min-height:27px;padding:8px 16px;border-radius:7px;background:#fff;font:500 11px/100% var(--nf-font);letter-spacing:-.5px;white-space:nowrap}.nf-product-card__badge--sale{color:#e01616}.nf-product-card__badge--new{color:#000}
.nf-product-card__details{display:flex;align-items:flex-start;justify-content:space-between;width:100%;padding-top:10px}.nf-product-card__identity{display:flex;flex:1 0 0;flex-direction:column;gap:4px;min-width:0;width:1px}.nf-product-card__identity h3{font:500 14px/125% var(--nf-font);letter-spacing:-.5px}.nf-product-card__identity p{font:500 11px/100% var(--nf-font);letter-spacing:0;text-transform:uppercase;color:rgba(0,0,0,.4)}.nf-product-card__commerce{position:relative;display:flex;flex:1 0 0;flex-direction:column;align-items:flex-end;justify-content:flex-start;min-width:0;width:1px;text-align:right}.nf-product-card__price{display:flex;align-items:flex-start;justify-content:flex-end;gap:7px;min-height:14px;color:#000;font:500 13px/14px var(--nf-font);letter-spacing:-.6px;white-space:nowrap;transition:opacity .16s ease}.nf-product-card__price del{opacity:.4;text-decoration-thickness:1px}.nf-product-card__price ins{text-decoration:none}.nf-product-card__price .woocommerce-Price-amount{color:inherit}.nf-product-card__action{position:absolute;right:0;top:0;display:flex;flex-direction:column;align-items:flex-start;width:max-content;max-width:100%;padding:0 0 3px;border:0;background:transparent;color:#000;font:500 11px/100% var(--nf-font);letter-spacing:0;text-transform:uppercase;white-space:nowrap;opacity:.001;visibility:hidden;pointer-events:none;transition:opacity .6s var(--nf-ease-source) .1s}.nf-product-card__action-label{display:block}.nf-product-card__action-line{position:absolute;left:0;right:0;bottom:0;height:1px;overflow:hidden}.nf-product-card__action-line::after{content:"";position:absolute;inset:0;background:#000;transform:translateX(0);transition:transform .7s var(--nf-ease-source)}.nf-product-card__action:hover .nf-product-card__action-line::after,.nf-product-card__action:focus-visible .nf-product-card__action-line::after{transform:translateX(calc(100% + 3px))}.nf-product-card__action.is-disabled{color:rgba(0,0,0,.48);font-size:12px;font-weight:600;letter-spacing:-.01em}.nf-product-card__action.is-disabled .nf-product-card__action-line{display:none}.nf-product-card__action.loading{opacity:1}.nf-product-card__action.added{color:#000}.nf-product-card__commerce>.added_to_cart.wc-forward{display:none!important}
@media (hover:hover) and (min-width:1200px){.nf-product-card:hover .nf-product-card__image--secondary{visibility:visible;transform:scale(1);transition:transform .8s var(--nf-ease-source),visibility 0s linear 0s}.nf-product-card:hover .nf-product-card__image--primary{opacity:0}.nf-product-card:hover .nf-product-card__price{opacity:0}.nf-product-card:hover .nf-product-card__action{opacity:1;visibility:visible;pointer-events:auto}}
.nf-product-card__action:focus-visible{opacity:1;visibility:visible;pointer-events:auto}.nf-product-card__commerce:focus-within .nf-product-card__price{opacity:0}

/* SHOP BY CATEGORY — source Collections Card */
.nf-categories{padding:50px 40px;background:#fff}.nf-categories .nf-section-title-row{margin-bottom:30px}.nf-categories .nf-section-title-row h2{font:500 30px/105% var(--nf-font);letter-spacing:-1.25px}.nf-categories .nf-source-underline{font:500 14px/125% var(--nf-font);letter-spacing:-.5px}.nf-categories__grid{display:grid;grid-template-columns:repeat(var(--nf-category-columns,3),minmax(0,1fr));gap:20px}.nf-collection-card{position:relative;display:block;aspect-ratio:360/490;overflow:hidden;border-radius:14px;background:#eee;color:#fff}.nf-collection-card>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.nf-collection-card__shade{position:absolute;inset:0;background:linear-gradient(180deg,transparent 50%,rgba(0,0,0,.22) 100%)}.nf-collection-card__button{position:absolute;left:20px;right:20px;bottom:20px;display:flex;align-items:center;justify-content:center;width:auto;min-height:0;padding:12px 38px;border:1px solid var(--nf-btn-primary-border);border-radius:8px;font:500 14px/125% var(--nf-font);letter-spacing:-.5px}

/* FEATURED PRODUCT RAIL */
.nf-featured-rail{padding:50px 0 0;background:#fff}.nf-featured-rail .nf-section-title-row h3{font:500 25px/100% var(--nf-font);letter-spacing:-1.25px}.nf-section-title-row--rail{padding:0 20px}.nf-rail-controls{display:flex;gap:7px}.nf-rail-controls button{display:grid;place-items:center;width:30px;height:30px;padding:0;border:0;border-radius:50%;background:rgba(0,0,0,.08);color:#000;cursor:pointer;transition:transform .15s ease,background-color .15s ease}.nf-rail-controls button:hover,.nf-rail-controls button:focus-visible{background:rgba(0,0,0,.14)}.nf-rail-controls button:active{transform:scale(.9)}.nf-rail-controls button:disabled{opacity:.3;cursor:default}.nf-rail-controls svg{width:15px;height:15px;fill:currentColor}.nf-featured-rail__viewport{overflow:hidden;scrollbar-width:none;padding:0}.nf-featured-rail__viewport::-webkit-scrollbar{display:none}.nf-featured-rail__track{display:flex;gap:20px;width:max-content;padding:20px;box-sizing:border-box;will-change:transform;transform:translate3d(0,0,0)}.nf-featured-rail .nf-product-card{flex:0 0 auto;width:calc((100vw - 40px)/4 - 15px);scroll-snap-align:none}

/* IMAGE + ONE PRODUCT */
.nf-product-story{display:flex;align-items:center;justify-content:center;gap:0;padding:0 0 50px;background:#fff;overflow:hidden}.nf-product-story__media{position:relative;flex:1 0 0;width:1px;height:90vh;overflow:hidden;border-radius:0 10px 10px 0}.nf-product-story__media>img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--nf-ease-source)}.nf-product-story__media:hover>img{transform:scale(1.015)}.nf-product-story__caption{position:absolute;z-index:2;left:20px;right:20px;bottom:20px;display:flex;justify-content:space-between;gap:20px;color:#fff;font:500 11px/100% var(--nf-font);letter-spacing:-.5px}.nf-product-story__product{display:flex;flex:1 0 0;width:1px;align-items:center;justify-content:center;overflow:hidden}.nf-product-story__product-inner{width:265px}.nf-product-story__product .nf-product-card{width:100%}

/* OUR ATELIER — source Our Shops split */
.nf-atelier{display:grid;grid-template-columns:1fr 1.25fr;gap:40px;align-items:center;padding:50px 40px 100px;background:#fff}.nf-atelier__copy{padding-left:calc((100vw - 1200px)/10);max-width:390px}.nf-atelier__copy h3{font:500 25px/100% var(--nf-font);letter-spacing:-1.25px;margin-bottom:10px}.nf-atelier__copy p{max-width:280px;margin-bottom:20px;color:rgba(37,39,32,.55);font:500 14px/125% var(--nf-font);letter-spacing:-.5px}.nf-atelier__media{height:520px;overflow:hidden;border-radius:8px}.nf-atelier__media img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .8s var(--nf-ease-source)}.nf-atelier__media:hover img{transform:scale(1.015)}

/* JOURNAL */
.nf-journal .nf-section-title-row h3{font:500 25px/100% var(--nf-font);letter-spacing:-1.25px}.nf-journal .nf-source-underline,.nf-atelier .nf-source-underline,.nf-science .nf-source-underline{font:500 14px/125% var(--nf-font);letter-spacing:-.5px}.nf-campaign .nf-primary-button{font:500 14px/125% var(--nf-font);letter-spacing:-.5px}
.nf-journal{padding:50px 40px 80px;background:#fff}.nf-journal__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.nf-article-card__media{display:block;aspect-ratio:1.18/1;overflow:hidden;border-radius:8px;background:#eee}.nf-article-card__media img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--nf-ease-source)}.nf-article-card:hover .nf-article-card__media img{transform:scale(1.02)}.nf-article-card__body{padding-top:12px}.nf-article-card__body>p{font:500 12px/110% var(--nf-font);letter-spacing:.3px;text-transform:uppercase;color:var(--nf-gold);margin-bottom:5px}.nf-article-card__body h4{max-width:320px;font:500 18px/100% var(--nf-font);letter-spacing:-.9px;margin-bottom:12px}

/* LARGE CARDS */
.nf-promo-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;padding:50px 40px 100px;background:#fff}.nf-large-card{position:relative;display:block;aspect-ratio:.9525862069/1;overflow:hidden;border-radius:12px;color:#fff}.nf-large-card>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.nf-large-card__shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.03),rgba(0,0,0,.32))}.nf-large-card__copy{position:absolute;inset:auto 20px 20px;max-width:310px}.nf-large-card__copy h3{font:500 25px/100% var(--nf-font);letter-spacing:-1.25px}.nf-large-card__copy p{margin:10px 0 18px;font:500 14px/125% var(--nf-font);letter-spacing:-.5px;color:rgba(255,255,255,.8)}.nf-large-card__cta{display:inline-flex;align-items:center;justify-content:center;min-width:115px;padding:12px 30px;border:1px solid var(--nf-btn-primary-border);border-radius:8px;font:500 14px/125% var(--nf-font);letter-spacing:-.5px}.nf-large-card--oat .nf-large-card__shade{background:linear-gradient(180deg,rgba(172,139,82,.06),rgba(37,39,32,.5))}

/* FULL-BLEED FEATURED PRODUCT */
.nf-fullbleed{position:relative;height:min(78vw,800px);min-height:620px;overflow:hidden;background:#111;color:#fff}.nf-fullbleed>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.nf-fullbleed__shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.35),rgba(0,0,0,.02) 65%)}.nf-fullbleed__copy{position:absolute;z-index:2;left:40px;bottom:40px;display:flex;flex-direction:column;align-items:flex-start;gap:18px;width:440px;max-width:calc(100% - 80px)}.nf-fullbleed__copy>p{margin:0;text-transform:uppercase;font:500 11px/100% var(--nf-font);letter-spacing:0}.nf-fullbleed__copy h2{margin:0;font:500 46px/100% var(--nf-font);letter-spacing:-1.85px}.nf-fullbleed__copy .nf-primary-button{font:500 14px/125% var(--nf-font);letter-spacing:-.5px}.nf-fullbleed__mini-shell{position:absolute;z-index:3;right:40px;bottom:40px;width:max-content;padding:8px;border-radius:6.67px;background:rgba(255,255,255,.1);-webkit-backdrop-filter:blur(12.5px);backdrop-filter:blur(12.5px)}.nf-fullbleed__mini{display:flex;align-items:flex-start;gap:10px;width:240px;color:#fff}.nf-fullbleed__mini>img{flex:0 0 75px;width:75px;height:86px;aspect-ratio:.8731808798328597/1;object-fit:cover;border-radius:4px}.nf-fullbleed__mini-info{align-self:stretch;display:flex;flex:1 1 auto;min-width:0;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:3px;overflow:hidden}.nf-fullbleed__mini-title{font:400 14px/125% var(--nf-font);letter-spacing:-.5px}.nf-fullbleed__mini-category{font:500 12px/110% var(--nf-font);letter-spacing:.3px;text-transform:uppercase;opacity:.4}.nf-fullbleed__mini-price{margin-top:7px;font:500 11px/100% var(--nf-font);letter-spacing:-.5px}.nf-fullbleed__mini-price del{opacity:.55}.nf-fullbleed__mini-price ins{text-decoration:none}

/* MATERIAL / SCIENCE SPLIT */
.nf-science{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;padding:100px 40px;background:#fff}.nf-science__media{position:relative;height:520px;overflow:hidden;border-radius:8px}.nf-science__media img{display:block;width:100%;height:100%;object-fit:cover}.nf-science__media>span{position:absolute;left:16px;bottom:14px;color:#fff;font:500 12px/120% var(--nf-font);letter-spacing:-.4px}.nf-science__copy{max-width:490px;padding-left:30px}.nf-science__copy .nf-kicker{display:flex;align-items:center;color:var(--nf-gold);margin-bottom:12px;font:500 12px/120% var(--nf-font);letter-spacing:-.4px;text-transform:none}.nf-science__copy h3{font:500 30px/105% var(--nf-font);letter-spacing:-1.25px;margin-bottom:14px}.nf-science__copy>p:not(.nf-kicker){max-width:390px;color:var(--nf-muted);font:500 14px/125% var(--nf-font);letter-spacing:-.5px;margin-bottom:20px}

/* INFO CARDS */
.nf-benefits{display:flex;align-items:center;justify-content:center;gap:65px;padding:50px 40px;background:#fff}.nf-benefit{display:flex;flex:0 0 120px;flex-direction:column;align-items:center;gap:15px;width:120px;padding:0;text-align:center}.nf-benefit__icon{display:block;width:25px;height:24px;color:var(--nf-gold)}.nf-benefit__icon svg{display:block;width:25px;height:24px;fill:none;stroke:currentColor;stroke-width:1.2}.nf-benefit p{width:100%;font:500 14px/125% var(--nf-font);letter-spacing:-.5px;text-align:center}

/* PROMO / COUNTDOWN STRUCTURE */
.nf-campaign{position:relative;display:grid;grid-template-columns:1fr 1fr;align-items:center;min-height:300px;margin:0 40px 50px;overflow:hidden;border-radius:10px;background:var(--nf-ink);color:#fff}.nf-campaign__media{position:absolute;inset:0}.nf-campaign__media img{width:100%;height:100%;object-fit:cover;opacity:.48}.nf-campaign::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(37,39,32,.76),rgba(37,39,32,.28))}.nf-campaign__left,.nf-campaign__right{position:relative;z-index:2;padding:40px}.nf-campaign__left p{font:500 12px/120% var(--nf-font);letter-spacing:-.4px;margin-bottom:8px;color:var(--nf-oat)}.nf-campaign__left h3{font:500 30px/105% var(--nf-font);letter-spacing:-1.25px}.nf-campaign__right{display:flex;justify-content:flex-end}

/* TESTIMONIALS */
.nf-testimonials{padding:100px 0 150px;background:#fff}.nf-testimonials__header{text-align:center;margin-bottom:80px}.nf-testimonials__header h2{font:500 30px/105% var(--nf-font);letter-spacing:-1.25px}.nf-testimonials__viewport{overflow-x:auto;scrollbar-width:none}.nf-testimonials__viewport::-webkit-scrollbar{display:none}.nf-testimonials__track{display:flex;gap:80px;width:max-content;padding:0 40px}.nf-testimonial{width:min(380px,34vw);padding-top:18px}.nf-testimonial p{font:500 16px/145% var(--nf-font);letter-spacing:-.5px}.nf-testimonial footer{margin-top:20px;font:500 18px/100% var(--nf-font);letter-spacing:-.9px;color:var(--nf-gold)}

/* INSTAGRAM */
.nf-instagram{padding:50px 40px;background:#fff}.nf-instagram header{text-align:center;margin-bottom:38px}.nf-instagram header p{font:500 11px/100% var(--nf-font);letter-spacing:0;text-transform:uppercase;margin-bottom:7px;color:var(--nf-gold)}.nf-instagram header h3{font:500 25px/100% var(--nf-font);letter-spacing:-1.25px}.nf-instagram__grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.nf-instagram__tile{position:relative;aspect-ratio:1/1;overflow:hidden;border-radius:7px}.nf-instagram__tile img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--nf-ease-source),filter .4s ease}.nf-instagram__tile span{position:absolute;right:12px;top:10px;color:#fff;opacity:0;transform:translateY(5px);transition:opacity .3s ease,transform .3s var(--nf-ease-source)}.nf-instagram__tile:hover img{transform:scale(1.025);filter:brightness(.83)}.nf-instagram__tile:hover span{opacity:1;transform:none}

/* NEWSLETTER STAGE */
.nf-newsletter-stage{position:relative;min-height:560px;display:grid;place-items:center;overflow:hidden;background:#111;color:#fff}.nf-newsletter-stage>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.nf-newsletter-stage__shade{position:absolute;inset:0;background:rgba(37,39,32,.38)}.nf-newsletter-stage__copy{position:relative;z-index:2;width:min(348px,calc(100% - 40px));text-align:center}.nf-newsletter-stage__copy>p:first-child{font:500 11px/100% var(--nf-font);letter-spacing:0;text-transform:uppercase;margin-bottom:10px}.nf-newsletter-stage__copy h2{font:500 46px/100% var(--nf-font);letter-spacing:-1.85px;margin-bottom:12px}.nf-newsletter-stage__copy>p:nth-of-type(2){font:500 14px/125% var(--nf-font);letter-spacing:-.5px;margin-bottom:28px}.nf-newsletter-signup{position:relative;width:280px;max-width:100%;margin-inline:auto;min-height:64px}.nf-newsletter-form{position:relative;min-height:41px}.nf-newsletter-form__entry{position:relative;display:flex;align-items:center;border-bottom:1px solid var(--nf-oat);transition:opacity .28s ease,transform .38s var(--nf-ease-source),visibility 0s linear 0s}.nf-newsletter-form__entry::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:1px;background:var(--nf-gold);opacity:0;transform:scaleX(0);transform-origin:left center}.nf-newsletter-form input{flex:1;min-width:0;height:40px;padding:10px 10px 10px 0;border:0;outline:0;background:transparent;color:#fff;font:400 14px/120% var(--nf-font);letter-spacing:0}.nf-newsletter-form input::placeholder{color:rgba(255,255,255,.75)}.nf-newsletter-form button{position:relative;width:42px;height:41px;padding:0;border:0;background:transparent;color:var(--nf-oat);font-size:16px;transition:transform .3s var(--nf-ease-source),color .25s ease,opacity .2s ease}.nf-newsletter-form button:hover{color:var(--nf-gold);transform:translateX(4px)}.nf-newsletter-form__arrow{display:block;transition:opacity .18s ease,transform .25s var(--nf-ease-source)}.nf-newsletter-form button::after{content:"";position:absolute;left:50%;top:50%;width:11px;height:11px;margin:-6px 0 0 -6px;border:1px solid rgba(255,255,255,.32);border-top-color:var(--nf-gold);border-radius:50%;opacity:0;pointer-events:none}.nf-newsletter-form__success{position:absolute;inset:0 0 auto 0;min-height:41px;display:flex;align-items:center;gap:10px;padding:5px 0 6px;border-bottom:1px solid rgba(216,201,174,.42);text-align:left;opacity:0;visibility:hidden;transform:translateY(8px);pointer-events:none;transition:opacity .28s ease,transform .42s var(--nf-ease-source),visibility 0s linear .42s}.nf-newsletter-form__success::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:1px;background:var(--nf-gold);transform:scaleX(0);transform-origin:left center}.nf-newsletter-form__check{flex:0 0 auto;color:var(--nf-gold);font-size:15px;line-height:1}.nf-newsletter-form__success-copy{display:flex;min-width:0;flex-direction:column;gap:2px}.nf-newsletter-form__success-copy strong{font-size:12px;line-height:1.15;font-weight:500;letter-spacing:-.01em}.nf-newsletter-form__success-copy span{font-size:9px;line-height:1.25;color:rgba(255,255,255,.76);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.nf-newsletter-form.is-loading .nf-newsletter-form__entry::after{opacity:1;animation:nf-newsletter-progress 1.05s var(--nf-ease-source) infinite}.nf-newsletter-form.is-loading .nf-newsletter-form__arrow{opacity:0;transform:translateX(4px)}.nf-newsletter-form.is-loading button{transform:none;color:var(--nf-gold)}.nf-newsletter-form.is-loading button::after{opacity:1;animation:nf-newsletter-spin .72s linear infinite}.nf-newsletter-form.is-success .nf-newsletter-form__entry{opacity:0;visibility:hidden;transform:translateY(-7px);transition-delay:0s,0s,.28s}.nf-newsletter-form.is-success .nf-newsletter-form__success{opacity:1;visibility:visible;transform:none;transition-delay:.08s,.08s,0s}.nf-newsletter-form.is-success .nf-newsletter-form__success::after{animation:nf-newsletter-confirm-line .55s .12s var(--nf-ease-source) forwards}.nf-newsletter-form__notice{min-height:17px;margin:9px 0 0;font-size:10px;line-height:1.35;letter-spacing:.01em;color:rgba(255,255,255,.84);opacity:0;transform:translateY(3px);transition:opacity .22s ease,transform .3s var(--nf-ease-source)}.nf-newsletter-form.is-loading + .nf-newsletter-form__notice,.nf-newsletter-form.is-error + .nf-newsletter-form__notice{opacity:1;transform:none}.nf-newsletter-form.is-error + .nf-newsletter-form__notice{color:#ffd8d1}.nf-newsletter-form button:disabled{cursor:default}.nf-newsletter-form.is-loading button:disabled{cursor:wait}.nf-newsletter-form.is-success button:disabled{opacity:1}.nf-newsletter-form input:focus-visible{outline:0}.nf-newsletter-form__entry:focus-within{border-bottom-color:#fff}@keyframes nf-newsletter-progress{0%{transform:scaleX(0);transform-origin:left center}48%{transform:scaleX(.72);transform-origin:left center}52%{transform:scaleX(.72);transform-origin:right center}100%{transform:scaleX(0);transform-origin:right center}}@keyframes nf-newsletter-spin{to{transform:rotate(360deg)}}@keyframes nf-newsletter-confirm-line{from{transform:scaleX(0)}to{transform:scaleX(1)}}
.nf-benefit__icon svg{width:25px;height:24px;fill:none;stroke:currentColor;stroke-width:1.2;stroke-linecap:round;stroke-linejoin:round}

/* Techlinx Commerce material swatches: one shared visual state consumed by
   homepage cards now and shop/related cards later. */
.nf-product-card__swatches{display:flex;align-items:center;gap:7px;min-height:16px;margin-top:8px}
.nf-product-card__swatch{appearance:none;-webkit-appearance:none;position:relative;display:grid;place-items:center;width:16px;height:16px;padding:0;border:1px solid transparent;border-radius:50%;background:transparent;cursor:pointer;transition:border-color .18s ease,transform .18s ease;box-shadow:none}
.nf-product-card__swatch-fill{display:block;width:11px;height:11px;border-radius:50%;border:1px solid rgba(0,0,0,.14);background-position:center;background-size:cover;background-repeat:no-repeat}
.nf-product-card__swatch--unconfigured .nf-product-card__swatch-fill{background:repeating-linear-gradient(135deg,#fff 0 3px,#d7d7d2 3px 6px)}
.nf-product-card__swatch.is-active{border-color:#000}
.nf-product-card__swatch:hover{transform:scale(1.08)}
.nf-product-card__swatch:focus-visible{outline:1px solid #000;outline-offset:3px}
.nf-product-card.is-material-switching .nf-product-card__image{transition-duration:.22s}

/* Techlinx local newsletter collection. The success state is part of the field itself,
   so confirmation cannot read like a detached debug message or disappear underneath the hero. */
.nf-newsletter-stage__copy{position:relative}
.nf-form-honeypot{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important}
