/* NSMTB editorial layer. Deliberately scoped away from products, cart and forms. */
.nsmtb-design .n-home-intro{padding-top:0}
.nsmtb-design .n-home-hero{position:relative;isolation:isolate;display:flex;align-items:center;min-height:375px;margin:0 -38px 30px;overflow:hidden;background:var(--ns-bg)}
.n-home-hero-photo{position:absolute;inset:0 0 0 33%;z-index:-2;margin:0}
.n-home-hero-photo img{width:100%;height:100%;object-fit:cover;object-position:56% 44%;display:block}
.n-home-hero:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#151616 8%,#151616 33%,#151616a6 51%,#15161618 82%),linear-gradient(0deg,#151616 0%,transparent 27%,#15161625 100%)}
.n-home-hero-copy{padding:42px 38px 50px;max-width:850px}
.nsmtb-design .n-home-hero h1{font-size:clamp(42px,5.8vw,76px);line-height:1.06;margin:0 0 25px;letter-spacing:-.055em;text-wrap:balance}
.nsmtb-design .n-home-hero h1>span{color:#bec2bd}
.n-home-hero .n-hero-eyebrow{display:flex;align-items:center;gap:12px;margin:0 0 24px;color:#d5d8d1;font-size:9px;line-height:1.6;font-weight:600;letter-spacing:.16em}
.n-hero-eyebrow:before{content:"";width:26px;height:2px;background:var(--ns-red);flex-shrink:0}
.nsmtb-design .n-hero-link{display:inline-flex;align-items:center;gap:28px;color:var(--ns-ink);font-size:12px;font-weight:600;text-decoration:none;border-bottom:1px solid #9a9f99;min-height:42px}
.n-hero-link span{transition:transform .25s}
.n-hero-link:hover span{transform:translateY(3px)}
.n-hero-credit{position:absolute;right:38px;bottom:25px;margin:0!important;color:#d6d9d3;font-size:8px!important;letter-spacing:.13em;text-align:right;line-height:1.8}
.n-hero-credit span{display:block;color:#aeb5ae}
.nsmtb-design .n-logo-grid{scroll-margin-top:30px}

/* One still image per bicycle brand, shared by home and catalogue gateways. */
:is(.n-logo-tile,.nsmtb-brand-card,.nsmtb-directory-card)[data-brand="Norco" i]{--brand-scene:url('assets/editorial/norco-shop-v1.jpg');--brand-position:50% 57%}
:is(.n-logo-tile,.nsmtb-brand-card,.nsmtb-directory-card)[data-brand="Forbidden" i]{--brand-scene:url('assets/editorial/forbidden.jpg')}
:is(.n-logo-tile,.nsmtb-brand-card,.nsmtb-directory-card):is([data-brand="Santa Cruz" i],[data-brand="santa-cruz"]){--brand-scene:url('assets/editorial/santa-cruz-shop-v1.jpg');--brand-position:50% 56%}
:is(.n-logo-tile,.nsmtb-brand-card,.nsmtb-directory-card)[data-brand="Velduro" i]{--brand-scene:url('assets/editorial/velduro.jpg')}
:is(.n-logo-tile,.nsmtb-brand-card,.nsmtb-directory-card)[data-brand="Amflow" i]{--brand-scene:url('assets/editorial/amflow-shop-v1.jpg');--brand-position:50% 58%}
:is(.n-logo-tile,.nsmtb-brand-card,.nsmtb-directory-card)[data-brand="Teewing" i]{--brand-scene:url('assets/editorial/teewing-shop-v1.jpg');--brand-position:50% 58%}
:is(.n-logo-tile,.nsmtb-brand-card,.nsmtb-directory-card){position:relative;isolation:isolate;overflow:hidden}
:is(.n-logo-tile,.nsmtb-brand-card,.nsmtb-directory-card):before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background-image:linear-gradient(0deg,#111313ed, #11131365 65%),var(--brand-scene,none);background-position:center,var(--brand-position,center 57%);background-size:cover;opacity:0;transform:scale(1.035);transition:opacity .45s ease,transform .7s cubic-bezier(.2,.65,.3,1)}
.nsmtb-design .n-logo-tile:hover{transform:none}
:is(.n-logo-tile,.nsmtb-brand-card,.nsmtb-directory-card):is(:hover,:focus-visible):before{opacity:1;transform:scale(1)}
:is(.n-logo-tile,.nsmtb-brand-card,.nsmtb-directory-card):focus-visible,.n-hero-link:focus-visible{outline:2px solid var(--ns-ink);outline-offset:4px}
:is(.n-logo-caption span,.nsmtb-brand-caption b,.nsmtb-directory-caption b){display:inline-block;transition:transform .25s,color .25s}
:is(.n-logo-tile,.nsmtb-brand-card,.nsmtb-directory-card):is(:hover,:focus-visible) :is(.n-logo-caption span,.nsmtb-brand-caption b,.nsmtb-directory-caption b){transform:translate(3px,-3px);color:#fa8c84}
.nsmtb-design .n-logo-tile,.nsmtb-catalog-page .nsmtb-brand-card{border-radius:0}
.nsmtb-design .n-logo-caption,.nsmtb-catalog-page .nsmtb-brand-caption{position:relative;color:#c9cdc7}

/* Every deeper catalogue gateway receives a real image from one product in its branch. */
:is(.nsmtb-family-card,.nsmtb-directory-card){position:relative;isolation:isolate;overflow:hidden}
.nsmtb-card-scene{position:absolute!important;inset:0;z-index:0;overflow:hidden;pointer-events:none;opacity:0;transform:scale(1.035);transition:opacity .45s ease,transform .7s cubic-bezier(.2,.65,.3,1);color:inherit!important;font-size:0!important}
.nsmtb-card-scene:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#111313ed 0%,#111313a8 58%,#11131364 100%)}
.nsmtb-card-scene img{display:block;width:100%;height:100%;object-fit:cover;object-position:center;filter:saturate(.75) brightness(.78) contrast(1.05)}
/* The portrait FOX fork sits on the right, clear of the Componentes label. */
.nsmtb-shop-main-card[data-category="componentes"] .nsmtb-card-scene img{width:48%;margin-left:auto;object-position:center 52%;filter:saturate(.9) brightness(.75) contrast(1.05);mask-image:linear-gradient(90deg,transparent 0%,#000 25%)}
:is(.nsmtb-family-card,.nsmtb-directory-card)>:not(.nsmtb-card-scene){position:relative;z-index:1}
:is(.nsmtb-family-card,.nsmtb-directory-card):is(:hover,:focus-visible)>.nsmtb-card-scene{opacity:1;transform:scale(1)}
:is(.nsmtb-family-card,.nsmtb-directory-card):is(:hover,:focus-visible)>strong{color:#fff}

/* Existing editorial and shop links keep their targets and hit areas. */
.nsmtb-design .n-editorial{border-block:1px solid #353a37}
.nsmtb-design .n-editorial img{transition:scale .9s cubic-bezier(.2,.65,.3,1)}
.nsmtb-design .n-editorial:is(:hover,:focus-within) img{scale:1.025}
.nsmtb-design .n-home-links{background:radial-gradient(ellipse at 75% 40%,#2a2e2b 0%,#1e2120 38%,#151616 75%)}
.nsmtb-design .n-shop-banner .n-shop-photo{background:transparent}
.n-custom .cb-path{transition:border-color .3s,background-color .3s}
.n-custom .cb-path:is(:hover,:focus-visible){border-color:#777e76}
.n-custom .cb-path:focus-visible .cb-path-art img{transform:scale(1.04)}
.n-custom .cb-path h3 span{transition:transform .25s}
.n-custom .cb-path:is(:hover,:focus-visible) h3 span{transform:translate(3px,-3px)}

/* Reading order and the existing lightbox are unchanged. Full square photographs stay intact. */
.cb-view-inspired .cb-gallery{grid-template-columns:repeat(12,minmax(0,1fr));gap:58px 38px;align-items:start}
.cb-view-inspired .cb-gallery-item{grid-column:span 5;padding-top:0}
.cb-view-inspired .cb-gallery-item:nth-child(4n+1),.cb-view-inspired .cb-gallery-item:nth-child(4n+4){grid-column:span 7}
.cb-view-inspired .cb-gallery-item:nth-child(even){padding-top:68px}
.cb-view-inspired .cb-gallery-item>a:first-child{border:1px solid #373e39;background:#202323}
.cb-view-inspired .cb-gallery-item img{aspect-ratio:1;object-fit:contain;transition:transform .65s ease}
.cb-view-inspired .cb-gallery-item>a:is(:hover,:focus-visible) img{transform:scale(1.025)}
.cb-view-inspired .cb-gallery-item h2{font-size:clamp(21px,2.2vw,31px);line-height:1.2;max-width:24ch}
.cb-view-inspired .cb-gallery-item p{max-width:46ch}
.cb-view-inspired .cb-gallery-item>a>span{border:1px solid #ffffff50;background:#151616c9;font-size:18px;padding:9px 14px}
.cb-view-inspired .cb-gallery-item:last-child:nth-child(odd){grid-column:span 7}

@keyframes ns-editorial-arrive{from{opacity:.72;transform:translateY(16px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:no-preference){.ns-editorial-arrive{animation:ns-editorial-arrive .65s cubic-bezier(.2,.65,.3,1) both}}
@media(hover:none){
 :is(.n-logo-tile,.nsmtb-brand-card,.nsmtb-directory-card):before{opacity:.58;transform:none}
 .nsmtb-card-scene{opacity:.58;transform:none}
}
@media(min-width:1600px){.nsmtb-design .n-home-hero{min-height:430px}.n-home-hero-photo{left:40%}}
@media(max-width:900px){
 .nsmtb-design .n-home-hero{min-height:345px}
 .n-home-hero-photo{left:20%}
 .n-home-hero:after{background:linear-gradient(90deg,#151616fa 0%,#151616d9 36%,#15161630 100%),linear-gradient(0deg,#151616,transparent 45%)}
 .n-hero-credit{display:none}
 .cb-view-inspired .cb-gallery{gap:40px 22px}
}
@media(max-width:600px){
 .nsmtb-design .n-home-hero{min-height:370px;margin:0 -20px 24px;align-items:flex-end}
 .n-home-hero-photo{inset:0}
 .n-home-hero-photo img{object-position:60% 40%}
 .n-home-hero:after{background:linear-gradient(0deg,#151616 0%,#151616e6 20%,#151616b3 56%,#15161625 100%)}
 .n-home-hero-copy{padding:94px 20px 26px;width:100%}
 .nsmtb-design .n-home-hero h1{font-size:clamp(35px,9.5vw,48px);line-height:1.08;margin-bottom:18px;letter-spacing:-.05em}
 .n-home-hero .n-hero-eyebrow{font-size:8px;letter-spacing:.11em;margin-bottom:19px;gap:10px}
 .nsmtb-design .n-hero-link{min-height:44px}
 .cb-view-inspired .cb-gallery{grid-template-columns:1fr;gap:34px}
 .cb-view-inspired .cb-gallery>.cb-gallery-item:nth-child(n){grid-column:1 / -1;padding-top:0}
 :is(.n-logo-tile,.nsmtb-brand-card,.nsmtb-directory-card):before{opacity:.58;transform:none}
 .nsmtb-card-scene{opacity:.58;transform:none}
 .cb-view-inspired .cb-gallery-item h2{font-size:25px;margin-top:18px}
}
@media(prefers-reduced-motion:reduce){
 .ns-editorial-arrive{animation:none!important}
 :is(.n-logo-tile,.nsmtb-brand-card,.nsmtb-directory-card):before,.nsmtb-card-scene,.n-editorial img,.cb-gallery-item img,.cb-path-art img,.cb-path h3 span,.n-hero-link span,.n-logo-caption span,.nsmtb-brand-caption b,.nsmtb-directory-caption b{transition:none!important;transform:none!important;scale:1!important}
}
