/* Pages publiques : couleurs et typographies de la direction validée. */
#nm-directions .nm-site { min-height:100vh; }
#nm-directions main { min-height:65vh; }
#nm-directions .nm-head { gap:24px; }
#nm-directions .nm-nav { gap:23px; }
#nm-directions .nm-nav a[aria-current="page"] { color:#fff; border-bottom:2px solid var(--nm-red); }
#nm-directions .nm-brand { align-self:stretch; position:relative; min-width:124px; min-height:66px; }
#nm-directions .nm-brand img { position:absolute; left:0; top:-6px; width:120px; height:128px; z-index:3; filter:drop-shadow(0 8px 7px #000b); }
#nm-directions .nm-skip { position:absolute; left:16px; top:-100px; padding:12px; background:#fff; color:#111; z-index:10; }
#nm-directions .nm-skip:focus { top:12px; }
#nm-directions .nm-section { padding:56px max(6%,calc((100vw - 1240px)/2)); }
#nm-directions .nm-page-heading { margin-bottom:42px; }
#nm-directions .nm-page-heading h1,#nm-directions .nm-album-heading h1 { font-size:clamp(52px,7vw,88px); font-weight:600; line-height:1; }
#nm-directions .nm-page-heading p { color:#b9b9bd; margin:18px 0 0; font-size:16px; }
#nm-directions .nm-kicker { margin:0 0 18px; }
#nm-directions .nm-store-badge { display:inline-block; margin-top:14px; line-height:0; }
#nm-directions .nm-store-badge img { display:block; max-width:100%; object-fit:contain; }
#nm-directions .nm-actions .nm-store-badge { margin:0; }
#nm-directions .nm-streams { display:flex; align-items:center; flex-wrap:wrap; gap:12px; margin-top:16px; }
#nm-directions .nm-streams .nm-store-badge { margin:0; }
#nm-directions .nm-stream-link { display:inline-flex; align-items:center; justify-content:center; min-height:36px; padding:6px 17px; border:1px solid #747479; border-radius:5px; font-size:13px; line-height:1.2; }
#nm-directions .nm-stream-link:hover { background:#252529; border-color:#b9b9bd; }
#nm-directions .nm-cover-frame { display:block; overflow:hidden; aspect-ratio:1; }
#nm-directions .nm-cover-frame .nm-cover-photo { transition:transform 350ms ease; }
@media(hover:hover) and (pointer:fine) {
 #nm-directions .nm-album-open:hover .nm-cover-photo,#nm-directions .nm-latest-cover:hover .nm-cover-photo { transform:scale(1.045); }
}
#nm-directions .nm-album-open:focus-visible .nm-cover-photo,#nm-directions .nm-latest-cover:focus-visible .nm-cover-photo { transform:scale(1.045); }
#nm-directions .nm-latest { display:grid; grid-template-columns:minmax(200px,360px) 1fr; gap:60px; align-items:center; background:#161618; }
#nm-directions .nm-latest h2 { font-size:clamp(42px,6vw,74px); font-weight:600; }
#nm-directions .nm-latest-cover .nm-cover-photo { width:100%; }
#nm-directions .nm-home-bio { align-items:start; }
#nm-directions .nm-home-bio p { font-size:18px; line-height:1.8; max-width:600px; }
#nm-directions .nm-home-links { display:grid; grid-template-columns:1fr 1fr; gap:50px; }
#nm-directions .nm-home-links > div + div { padding-left:50px; border-left:1px solid #39393d; }
#nm-directions .nm-home-links p { color:#b9b9bd; }
#nm-directions .nm-light { background:#fff; color:#141416; }
#nm-directions .nm-light .nm-page-heading p { color:#626269; }
#nm-directions .nm-reading { max-width:800px; }
#nm-directions .nm-biography-page .nm-reading { margin:0 auto; }
#nm-directions .nm-biography-page .nm-intro { margin:0 0 36px; font-size:22px; line-height:1.65; color:#161618; }
#nm-directions .nm-biography-page .nm-prose { white-space:normal; font-size:17px; line-height:1.9; color:#414148; }
#nm-directions .nm-prose p { margin:0 0 25px; }
#nm-directions .nm-discography-page .nm-disc-grid { gap:40px 30px; }
#nm-directions .nm-discography-page .nm-album { display:block; }
#nm-directions .nm-discography-page .nm-cover-photo { width:100%; }
#nm-directions .nm-album-meta h2 { font:600 21px/1.2 'Barlow Condensed','Arial Narrow',Arial,sans-serif; text-transform:none; }
#nm-directions .nm-album-meta small { font-size:13px; margin-top:5px; }
#nm-directions .nm-album-meta { min-height:58px; }
#nm-directions .nm-album-open:hover h2 { color:#e83a49; }
#nm-directions .nm-album-page { display:block; }
#nm-directions .nm-album-back { display:inline-block; margin-bottom:30px; }
#nm-directions .nm-album-heading { display:grid; grid-template-columns:minmax(200px,360px) 1fr; gap:55px; align-items:center; }
#nm-directions .nm-album-heading .nm-cover-photo { width:100%; }
#nm-directions .nm-album-heading .nm-prose { max-width:570px; font-size:16px; color:#b9b9bd; margin:24px 0; }
#nm-directions .nm-track-heading { margin:60px 0 24px; display:flex; justify-content:space-between; gap:20px; align-items:center; }
#nm-directions .nm-track-heading h2 { font-size:34px; font-weight:600; }
#nm-directions .nm-track-heading p { margin:0; color:#b9b9bd; }
#nm-directions .nm-tracks { list-style:none; margin:0; padding:0; }
#nm-directions .nm-track { display:grid; grid-template-columns:30px minmax(0,1fr) 46px 260px; gap:20px; align-items:center; padding:18px 0; border-top:1px solid #333337; }
#nm-directions .nm-track:last-child { border-bottom:1px solid #333337; }
#nm-directions .nm-track-number,#nm-directions .nm-track-duration { color:#a9a9b0; font-variant-numeric:tabular-nums; }
#nm-directions .nm-track-title strong { display:block; font-size:15px; font-weight:500; }
#nm-directions .nm-track-title .nm-link { display:inline-block; font-size:11px; color:#a9a9b0; padding:3px 0; }
#nm-directions .nm-track audio { display:block; width:100%; height:38px; color-scheme:dark; }
#nm-directions .nm-caption { color:#a9a9b0; font-size:12px; margin-top:22px; }
#nm-directions .nm-audio-fallback { font-size:12px; margin:0; color:#ccc; }
#nm-directions .nm-clips-grid { display:grid; grid-template-columns:1fr 1fr; gap:42px 28px; }
#nm-directions .nm-video { aspect-ratio:16/9; width:100%; background:#202022; }
#nm-directions .nm-video button,#nm-directions .nm-video iframe { display:block; width:100%; height:100%; border:0; }
#nm-directions .nm-video-load { position:relative; padding:0; background:#161618; color:#fff; overflow:hidden; }
#nm-directions .nm-video-load img { width:100%; height:100%; object-fit:cover; }
#nm-directions .nm-video-load span { position:absolute; bottom:18px; left:18px; background:var(--nm-red); padding:10px 16px; font-size:14px; }
#nm-directions .nm-video-load:hover span { background:#97101c; }
#nm-directions .nm-clip-meta { padding-top:16px; }
#nm-directions .nm-clip-meta h2 { font:600 24px/1.25 'Barlow Condensed','Arial Narrow',Arial,sans-serif; text-transform:none; margin:0 0 8px; }
#nm-directions .nm-shop .nm-page-heading p { color:#55555b; }
#nm-directions .nm-categories { display:flex; gap:26px; flex-wrap:wrap; margin:0 0 34px; border-bottom:1px solid #c7c7ca; }
#nm-directions .nm-categories a { padding:12px 0; font-size:15px; border-bottom:2px solid transparent; }
#nm-directions .nm-categories a[aria-current="page"] { border-color:var(--nm-red); color:#99101a; }
#nm-directions .nm-products { grid-template-columns:repeat(3,minmax(0,1fr)); }
#nm-directions .nm-product-info { align-items:start; }
#nm-directions .nm-product-info h2 { font:600 22px/1.25 'Barlow Condensed','Arial Narrow',Arial,sans-serif; text-transform:none; }
#nm-directions .nm-product-info p { color:#55555b; margin:8px 0; font-size:13px; }
#nm-directions .nm-product-info > span { white-space:nowrap; }
#nm-directions .nm-product-options { flex-wrap:wrap; }
#nm-directions .nm-muted { color:#a9a9b0; font-size:13px; }
#nm-directions .nm-shop .nm-muted { color:#55555b; }
#nm-directions .nm-empty { margin:35px 0 70px; font-size:17px; }
#nm-directions .nm-agenda-contact { margin-top:45px; color:#b9b9bd; }
#nm-directions .nm-date { font-size:16px; line-height:1.35; }
#nm-directions .nm-date span { font-size:38px; }
#nm-directions .nm-event-links { display:flex; flex-wrap:wrap; align-items:center; justify-content:flex-end; gap:8px 22px; }
#nm-directions .nm-event-links .nm-link { display:inline-flex; align-items:center; min-height:44px; padding:8px 0; }
#nm-directions .nm-tour-row .nm-place { min-width:0; overflow-wrap:break-word; }
#nm-directions .nm-contact-page .nm-form { margin-top:30px; }
#nm-directions .nm-notice { padding:15px 20px; border-left:3px solid var(--nm-red); background:#202022; }
#nm-directions .nm-footer { border-top:1px solid #303034; font-size:12px; }
#nm-directions .nm-social { flex-wrap:wrap; }
#nm-directions .nm-light a:focus-visible,#nm-directions .nm-shop a:focus-visible { outline-color:#111; }
@media(min-width:1600px) { #nm-directions .nm-hero { padding-left:calc((100vw - 1240px)/2); padding-right:calc((100vw - 1240px)/2); } }
@media(max-width:1000px) {
 #nm-directions .nm-nav { gap:15px; }
 #nm-directions .nm-head { gap:16px; }
 #nm-directions .nm-track { grid-template-columns:25px minmax(0,1fr) 42px 220px; gap:14px; }
 #nm-directions .nm-latest,#nm-directions .nm-album-heading { gap:35px; grid-template-columns:minmax(180px,300px) 1fr; }
 #nm-directions .nm-products { grid-template-columns:1fr 1fr; }
}
@media(max-width:750px) {
 #nm-directions .nm-head { flex-wrap:wrap; padding:12px 5%; }
 #nm-directions .nm-brand { min-width:104px; min-height:82px; }
 #nm-directions .nm-brand img { top:-5px; width:98px; height:104px; }
 #nm-directions .nm-nav { order:3; width:100%; justify-content:flex-start; gap:4px 22px; }
 #nm-directions .nm-nav a { font-size:13px; min-height:44px; display:flex; align-items:center; }
 #nm-directions .nm-section { padding:40px 6%; }
 #nm-directions .nm-page-heading { margin-bottom:30px; }
 #nm-directions .nm-discography-page .nm-disc-grid { grid-template-columns:1fr 1fr; gap:30px 18px; }
 #nm-directions .nm-album-meta { align-items:start; flex-wrap:wrap; }
 #nm-directions .nm-album-meta h2 { font-size:22px; }
 #nm-directions .nm-track { grid-template-columns:25px minmax(0,1fr) 42px; gap:10px; padding:20px 0; }
 #nm-directions .nm-track-player { grid-column:2 / 4; width:100%; max-width:340px; }
 #nm-directions .nm-latest,#nm-directions .nm-album-heading { grid-template-columns:1fr; gap:30px; }
 #nm-directions .nm-latest-cover,#nm-directions .nm-album-heading .nm-cover-photo { max-width:340px; }
 #nm-directions .nm-track-heading { margin-top:45px; }
 #nm-directions .nm-home-bio { grid-template-columns:1fr; }
 #nm-directions .nm-clips-grid { gap:30px 18px; }
}
@media(prefers-reduced-motion:reduce) {
 #nm-directions .nm-cover-frame .nm-cover-photo { transition:none; transform:none !important; }
}
@media(max-width:520px) {
 #nm-directions .nm-home-links { grid-template-columns:1fr; gap:30px; }
 #nm-directions .nm-home-links > div + div { padding:30px 0 0; border-left:0; border-top:1px solid #39393d; }
 #nm-directions .nm-biography-page .nm-intro { font-size:20px; }
 #nm-directions .nm-biography-page .nm-prose { font-size:16px; line-height:1.8; }
 #nm-directions .nm-discography-page .nm-album { display:block; }
 #nm-directions .nm-album-meta .nm-play { padding:4px 0; min-height:0; }
 #nm-directions .nm-clips-grid,#nm-directions .nm-products { grid-template-columns:1fr; }
 #nm-directions .nm-clip-meta h2 { font-size:24px; }
 #nm-directions .nm-categories { gap:20px; }
 #nm-directions .nm-categories a { font-size:14px; }
 #nm-directions .nm-form { grid-template-columns:1fr; }
 #nm-directions .nm-tour-row { grid-template-columns:85px minmax(0,1fr); gap:16px; }
 #nm-directions .nm-tour-row .nm-link,#nm-directions .nm-tour-row .nm-pending { grid-column:2; justify-self:start; }
}

@media(max-width:750px) {
 #nm-directions .nm-event-links { grid-column:2; justify-content:flex-start; }
}

#nm-directions .nm-video-sections { display:flex; flex-wrap:wrap; gap:24px; border-bottom:1px solid #3a3a3e; margin:0 0 42px; }
#nm-directions .nm-video-sections a { display:inline-flex; align-items:center; min-height:44px; padding:12px 0; border-bottom:2px solid var(--nm-red); }
#nm-directions .nm-video-section { scroll-margin-top:24px; }
#nm-directions .nm-video-section + .nm-video-section { margin-top:68px; padding-top:40px; border-top:1px solid #3a3a3e; }
#nm-directions .nm-video-heading { margin-bottom:28px; }
#nm-directions .nm-video-heading h2 { font-size:36px; font-weight:600; }
#nm-directions .nm-video-heading p { margin:12px 0 0; color:#b9b9bd; font-size:14px; }
#nm-directions .nm-clip-meta h3 { font:600 24px/1.25 'Barlow Condensed','Arial Narrow',Arial,sans-serif; text-transform:none; margin:0 0 8px; }
#nm-directions .nm-clip-meta time,#nm-directions .nm-video-year { display:block; font-size:12px; color:#b9b9bd; margin:0 0 9px; }
#nm-directions .nm-credit { flex-basis:100%; text-align:right; font-size:11px; line-height:1.5; }
#nm-directions .nm-credit a { text-decoration:underline; text-underline-offset:3px; }
@media(max-width:750px) { #nm-directions .nm-credit { text-align:left; } }

#nm-directions .nm-newsletter { display:grid; grid-template-columns:1fr 1.2fr; align-items:start; gap:50px; padding:42px max(6%,calc((100vw - 1240px)/2)); background:rgb(27,27,29); border-top:1px solid rgb(54,54,58); }
#nm-directions .nm-newsletter h2 { font-size:34px; font-weight:600; }
#nm-directions .nm-newsletter p { color:rgb(185,185,189); font-size:14px; max-width:380px; line-height:1.6; }
#nm-directions .nm-newsletter-fields { display:flex; gap:14px; align-items:end; }
#nm-directions .nm-newsletter-fields label { flex:1; min-width:0; font-size:13px; }
#nm-directions .nm-newsletter-fields input { display:block; width:100%; margin-top:9px; padding:13px; border:1px solid rgb(90,90,95); background:rgb(17,17,17); color:white; font:inherit; min-height:48px; }
#nm-directions .nm-newsletter-fields button { flex:none; min-height:48px; margin:0; }
#nm-directions .nm-newsletter-consent { display:flex; align-items:start; gap:9px; margin-top:16px; font-size:11px; line-height:1.7; color:rgb(185,185,189); }
#nm-directions .nm-newsletter-consent input { flex:none; margin:4px 0 0; accent-color:var(--nm-red); }
#nm-directions .nm-newsletter-consent a { text-decoration:underline; text-underline-offset:3px; }
@media(max-width:750px) { #nm-directions .nm-newsletter { grid-template-columns:1fr; gap:20px; padding:34px 6%; } }
@media(max-width:420px) { #nm-directions .nm-newsletter-fields { flex-direction:column; align-items:stretch; } #nm-directions .nm-newsletter-fields label { width:100%; } }

#nm-directions .nm-social-icons { display:flex; flex-wrap:wrap; align-items:center; gap:6px; }
#nm-directions .nm-social-icons a { display:inline-flex; align-items:center; justify-content:center; width:36px; height:36px; color:#eee; border-radius:50%; transition:color .2s,background-color .2s; }
#nm-directions .nm-social-icons svg { width:20px; height:20px; fill:currentColor; }
#nm-directions .nm-social-icons a:hover { color:#ff3347; background:rgba(255,255,255,.06); }
#nm-directions .nm-social-icons a:focus-visible { outline:2px solid #ff3347; outline-offset:3px; }
@media(max-width:640px) { #nm-directions .nm-social-icons { width:100%; } }
