/* 3/6 hero, marquee, card, grid, rail */
.n-hero{position:relative;height:100svh;min-height:600px;overflow:hidden;display:flex;align-items:flex-end;background:#000}
.n-hero__media{position:absolute;inset:0;will-change:transform}
.n-hero__media video,.n-hero__media img{width:100%;height:100%;object-fit:cover}
.n-hero__shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,calc(var(--o,.45)*.8)) 0%,rgba(0,0,0,0) 32%,rgba(0,0,0,calc(var(--o,.45)*.5)) 60%,rgba(7,7,8,.96) 100%)}
.n-hero__mark{position:absolute;left:0;right:0;top:50%;transform:translate3d(0,-50%,0);text-align:center;pointer-events:none;will-change:transform,opacity;z-index:1}
.n-hero__mark span{display:inline-block;font:400 clamp(60px,18vw,300px)/.9 var(--f-display);letter-spacing:.05em;color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.5);background:var(--silver);background-repeat:no-repeat;-webkit-background-clip:text;background-clip:text;animation:n-fill 2.6s var(--ease) .5s both}
@keyframes n-fill{from{background-size:0% 100%}to{background-size:100% 100%}}
.n-hero__content{position:relative;z-index:2;padding:0 var(--gutter) clamp(44px,9vh,96px);max-width:960px;will-change:transform,opacity}
.n-hero__title{font:300 clamp(42px,7.4vw,112px)/.96 var(--f-head);letter-spacing:-.04em;margin:18px 0 20px}
.n-hero__sub{max-width:460px;color:#d0d1d4;font-size:15px;margin-bottom:30px}
.n-hero__ctas{display:flex;flex-wrap:wrap;gap:12px}
.n-hero__cue{position:absolute;right:var(--gutter);bottom:44px;z-index:2;display:flex;flex-direction:column;align-items:center;gap:14px;font:700 9.5px var(--f-body);letter-spacing:.32em;text-transform:uppercase;color:#bbb;writing-mode:vertical-rl}
.n-hero__cue i{width:1px;height:64px;background:linear-gradient(transparent,#fff);animation:n-cue 2.2s var(--ease) infinite}
@keyframes n-cue{0%{transform:scaleY(0);transform-origin:top}50%{transform:scaleY(1);transform-origin:top}51%{transform-origin:bottom}100%{transform:scaleY(0);transform-origin:bottom}}
@media (max-width:749px){.n-hero__cue{display:none}.n-hero__ctas .n-btn{flex:1 1 140px;padding:0 14px}}
.n-mq{padding:clamp(18px,2.6vw,30px) 0;border-block:1px solid var(--line);overflow:hidden;background:var(--ink)}
.n-mq__skew{transition:transform .25s}
.n-mq__track{display:flex;align-items:center;width:max-content;animation:n-mq var(--speed,32s) linear infinite}
.n-mq__track>span{font:300 clamp(30px,5.4vw,80px)/1.05 var(--f-head);text-transform:uppercase;letter-spacing:-.02em;padding:0 .45em;white-space:nowrap}
.n-mq__track .o{color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.55)}
.n-mq__track .s{background:var(--silver);background-size:220% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:n-sheen 6s linear infinite}
.n-mq__track .n-mq__star{font-size:clamp(14px,1.6vw,24px);color:#9a9ca1;padding:0}
.n-card{position:relative}
.n-card__frame{position:relative}
.n-card__media{position:relative;display:block;aspect-ratio:3/4;overflow:hidden;background:var(--ink-2);transition:transform .5s var(--ease);transform-style:preserve-3d}
.n-card__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:opacity .8s var(--ease),transform 1.4s var(--ease)}
.n-card__img--b{opacity:0;transform:scale(1.06)}
.n-card__sheen{position:absolute;inset:-20%;background:linear-gradient(115deg,transparent 36%,color-mix(in srgb,var(--fx-b) 60%,transparent) 48%,color-mix(in srgb,var(--fx-c) 45%,transparent) 52%,transparent 64%);mix-blend-mode:overlay;transform:translateX(-85%);transition:transform 1.3s var(--ease);pointer-events:none;z-index:1}
.n-card__spot{position:absolute;inset:0;background:radial-gradient(380px circle at var(--mx,50%) var(--my,50%),var(--fx-glow),transparent 45%);mix-blend-mode:soft-light;opacity:0;transition:opacity .5s;pointer-events:none;z-index:1}
.n-card__media::after{content:"";position:absolute;inset:0;z-index:2;border:1px solid transparent;background:radial-gradient(220px circle at var(--mx,50%) var(--my,50%),var(--fx-b),transparent 65%) border-box;-webkit-mask:linear-gradient(#000 0 0) padding-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:0;transition:opacity .5s;pointer-events:none}
@media (hover:hover){
.n-card:hover .n-card__img--b{opacity:1;transform:scale(1)}
.n-card:hover .n-card__img:not(.n-card__img--b){transform:scale(1.04)}
.n-card:hover .n-card__sheen{transform:translateX(85%)}
.n-card:hover .n-card__spot,.n-card:hover .n-card__media::after{opacity:1}}
@media (hover:none){.n-card.is-in .n-card__sheen{animation:n-sweep 1.9s var(--ease) calc(var(--d,0ms) + .5s) both}}
@keyframes n-sweep{from{transform:translateX(-85%)}to{transform:translateX(85%)}}
.n-badge{position:absolute;top:10px;left:10px;z-index:3;padding:6px 9px;font:800 9.5px/1 var(--f-body);letter-spacing:.14em;background:linear-gradient(100deg,#b9bcc1,#fff,#a7aab0);color:#000}
.n-badge--out{background:rgba(0,0,0,.7);color:#fff;border:1px solid var(--line)}
.n-card__add{position:absolute;right:10px;bottom:10px;z-index:4;height:40px;min-width:40px;border-radius:40px;padding:0 12px;display:flex;align-items:center;justify-content:center;gap:8px;background:rgba(10,10,11,.55);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.25);font:800 9.5px var(--f-body);letter-spacing:.2em;text-transform:uppercase;transition:background .4s,color .4s,opacity .5s var(--ease),transform .5s var(--ease)}
.n-card__add svg{width:15px;height:15px;transition:transform .5s var(--ease)}
.n-card__add span{display:none}
@media (hover:hover){.n-card__add{opacity:0;transform:translateY(10px)}.n-card__add span{display:inline}.n-card:hover .n-card__add{opacity:1;transform:none}.n-card__add:hover{background:var(--paper);color:var(--ink)}.n-card__add:hover svg{transform:rotate(90deg)}}
.n-card__info{padding:14px 2px 0;display:flex;flex-direction:column;gap:6px}
.n-card__t{font:700 11.5px/1.4 var(--f-body);letter-spacing:.1em;text-transform:uppercase;display:flex;gap:9px;align-items:flex-start}
.n-orb{flex:0 0 10px;width:10px;height:10px;border-radius:50%;margin-top:2px;background:radial-gradient(circle at 30% 30%,var(--fx-b),var(--fx-c) 50%,var(--fx-a));box-shadow:0 0 12px var(--fx-glow);display:inline-block}
.n-price{display:flex;gap:10px;align-items:baseline;flex-wrap:wrap;font-size:13.5px;font-weight:600}
.n-price small{font-size:11px;color:var(--mute);font-weight:500}
.n-price s{color:var(--mute);font-size:12px;font-weight:400}
.n-off{font:800 9.5px/1 var(--f-body);letter-spacing:.14em;padding:5px 8px;background:linear-gradient(100deg,var(--fx-a),var(--fx-b),var(--fx-c));color:#000;font-style:normal;text-transform:uppercase}
.n-card__meta{font-size:11px;color:var(--mute);letter-spacing:.08em}
.n-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:30px 10px}
@media (min-width:750px){.n-grid{grid-template-columns:repeat(3,1fr);gap:44px 16px}}
@media (min-width:1200px){.n-grid{grid-template-columns:repeat(4,1fr)}}
.n-grid[data-cols="large"]{grid-template-columns:1fr}
@media (min-width:750px){.n-grid[data-cols="large"]{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1200px){.n-grid[data-cols="large"]{grid-template-columns:repeat(3,1fr)}}
.n-rail{position:relative;background:var(--ink)}
.n-rail__pin{padding:clamp(72px,10vw,140px) 0;overflow:hidden}
.n-rail__head{padding-inline:var(--gutter)}
.n-rail__meta{display:flex;flex-direction:column;align-items:flex-end;gap:14px;font:700 11px var(--f-body);letter-spacing:.22em;text-transform:uppercase}
.n-rail__prog{width:min(240px,40vw);height:1px;background:var(--line)}
.n-rail__prog span{display:block;height:100%;background:#fff;transform:scaleX(0);transform-origin:left}
.n-rail__track{display:flex;gap:clamp(10px,1.4vw,22px);padding-inline:var(--gutter);overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;scroll-padding-inline:var(--gutter)}
.n-rail__track::-webkit-scrollbar{display:none}
.n-rail__cell{flex:0 0 70vw;scroll-snap-align:start}
@media (min-width:750px){.n-rail__cell{flex-basis:38vw}}
.n-rail.is-pinned .n-rail__pin{position:sticky;top:0;height:100vh;display:flex;flex-direction:column;justify-content:center;padding:calc(var(--hh) + 8px) 0 32px}
.n-rail.is-pinned .n-rail__track{overflow:visible;scroll-snap-type:none;will-change:transform}
.n-rail.is-pinned .n-rail__cell{flex-basis:clamp(240px,min(23vw,calc((100vh - 330px)*.75)),420px)}
.n-rail__end{flex:0 0 clamp(200px,20vw,320px);aspect-ratio:3/4;align-self:flex-start;display:flex;flex-direction:column;justify-content:space-between;padding:28px;border:1px solid var(--line);font:300 clamp(22px,2.2vw,32px)/1.1 var(--f-head);scroll-snap-align:start;transition:background .5s var(--ease),color .5s}
.n-rail.is-pinned .n-rail__end{flex-basis:clamp(200px,min(18vw,calc((100vh - 330px)*.75)),320px)}
.n-rail__end svg{width:34px;height:34px;transition:transform .5s var(--ease)}
.n-rail__end:hover{background:var(--paper);color:var(--ink)}
.n-rail__end:hover svg{transform:translateX(10px)}