/* No Bull: Supply Chain Talk — black, leather, neon.
   Display: Big Shoulders Display. Body: Space Grotesk. */

:root {
	--black: #070605;
	--panel: #110D0A;
	--panel-2: #0C0907;
	--line: #1E1813;
	--line-2: #2B2019;
	--line-3: #4A3122;
	--bone: #F2EDE4;
	--dust: #B9B1A6;
	--mute: #8C8378;
	--dim: #5E554B;
	--copper: #C98A52;
	--copper-light: #D9A06A;
	--leather: #2A170E;
	--leather-2: #3A2213;
	--leather-line: #5A3A22;
	--leather-text: #D9C6B2;
	--leather-dim: #8A6A50;
	--orange: #F47A22;
	--neon: #FF8C3A;
	--neon-deep: #FF7A1A;
	--glow: 0 0 2px #FF9A4A, 0 0 12px rgba(242,106,15,.8), 0 0 34px rgba(232,93,4,.55), 0 0 80px rgba(200,70,0,.35);
	--glow-sm: 0 0 2px #FFA45C, 0 0 10px rgba(255,122,26,.8), 0 0 26px rgba(232,93,4,.6), 0 0 54px rgba(232,93,4,.3);
	--display: 'Big Shoulders Display', 'Arial Narrow', Impact, sans-serif;
	--body: 'Space Grotesk', 'Helvetica Neue', Arial, sans-serif;
	--wrap: 1360px;
	--gutter: 40px;
	--grain: radial-gradient(rgba(255,255,255,.045) .6px, transparent .7px);
}

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
body { margin: 0; background: var(--black); color: var(--bone); font-family: var(--body); font-size: 16px; line-height: 1.5; -webkit-font-smoothing: antialiased; }
img, svg, iframe { max-width: 100%; height: auto; display: block; }
a { color: inherit; text-decoration: none; transition: color .15s; }
a:hover { color: var(--neon); }
button { font: inherit; color: inherit; }
:focus-visible { outline: 2px solid var(--neon); outline-offset: 3px; }
h1, h2, h3, h4, p, ul { margin: 0; }
ul { padding: 0; list-style: none; }
.nb-sr, .screen-reader-text { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.nb-skip { position: absolute; left: -999px; top: 8px; background: var(--orange); color: var(--black); padding: 10px 16px; z-index: 100; font-weight: 700; }
.nb-skip:focus { left: 8px; }

.nb-wrap { max-width: var(--wrap); margin: 0 auto; padding-left: var(--gutter); padding-right: var(--gutter); }
.nb-wrap--narrow { max-width: 900px; }

/* ---------- type ---------- */
.nb-display { font-family: var(--display); font-weight: 900; text-transform: uppercase; line-height: .86; letter-spacing: .005em; font-size: clamp(76px, 9.4vw, 144px); }
.nb-display--why { font-size: clamp(56px, 6.6vw, 100px); line-height: .84; }
.nb-display--why span { display: block; }
.nb-display--host { font-size: clamp(56px, 7vw, 112px); }
.nb-display--guest { font-size: clamp(60px, 8.6vw, 136px); }
.nb-display--ep { font-size: clamp(42px, 5.4vw, 80px); line-height: .88; max-width: 980px; }
.nb-display--article { font-size: clamp(38px, 5vw, 68px); line-height: .9; margin-top: 22px; }
.nb-h2 { font-family: var(--display); font-weight: 900; text-transform: uppercase; line-height: .86; font-size: clamp(52px, 7vw, 104px); }
.nb-h3 { font-family: var(--display); font-weight: 800; text-transform: uppercase; line-height: .94; letter-spacing: .01em; font-size: clamp(30px, 3vw, 42px); }
.nb-h4 { font-family: var(--display); font-weight: 800; text-transform: uppercase; letter-spacing: .02em; font-size: 26px; line-height: 1; }
.nb-kicker { font-size: 15px; font-weight: 600; color: var(--copper); }
.nb-lead { font-size: 18px; line-height: 1.55; color: var(--dust); max-width: 560px; }
.nb-lead--leather { color: var(--leather-text); }
.nb-meta { font-size: 15px; color: var(--mute); }
.nb-dek { font-size: 15px; color: var(--dust); line-height: 1.5; }
.nb-dim { color: var(--dim); }
.nb-neon { color: var(--neon-deep); text-shadow: var(--glow); }
.nb-emboss { color: var(--leather-dim); text-shadow: 0 1px 0 rgba(255,220,180,.12), 0 -1px 0 rgba(0,0,0,.75); }
.nb-neon-rule { display: block; width: 120px; height: 2px; background: var(--neon); box-shadow: 0 0 10px rgba(255,140,58,.9), 0 0 24px rgba(244,122,34,.5); margin-bottom: 28px; }
.nb-flicker { animation: nb-flicker 9s linear infinite; }
@keyframes nb-flicker { 0%, 93%, 100% { opacity: 1 } 94% { opacity: .82 } 95% { opacity: 1 } 97% { opacity: .9 } 98% { opacity: 1 } }

.nb-u { font-weight: 600; border-bottom: 1px solid var(--line-3); padding-bottom: 2px; }
.nb-u--copper { border-color: var(--copper); }
.nb-u--dim { color: var(--mute); font-weight: 500; font-size: 15px; }
.nb-btn { display: inline-flex; align-items: center; gap: 10px; padding: 14px 22px; font-weight: 700; font-size: 15px; border: 1px solid transparent; cursor: pointer; background: none; line-height: 1.2; white-space: nowrap; }
.nb-btn--fill { background: var(--orange); color: var(--black); box-shadow: 0 0 22px rgba(244,122,34,.35); }
.nb-btn--fill:hover { color: var(--black); background: var(--neon); }
.nb-btn--neon { border-color: var(--neon); color: var(--neon); box-shadow: inset 0 0 14px rgba(255,122,26,.12), 0 0 18px rgba(255,122,26,.18); }
.nb-btn--neon:hover { background: rgba(255,122,26,.08); }
.nb-btn--line { border-color: var(--line-2); color: var(--bone); font-weight: 600; }
.nb-btn--line:hover { border-color: var(--neon); }
.nb-links { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 22px; font-size: 15px; font-weight: 600; }
.nb-links--under a { border-bottom: 1px solid var(--line-3); padding-bottom: 3px; }
.nb-links--host a { color: var(--dust); }
.nb-links--host a:hover { color: var(--neon); }

/* ---------- ticker ---------- */
.nb-ticker { display: block; overflow: hidden; padding: 8px 0; border-bottom: 1px solid var(--line); color: var(--neon); font-family: var(--display); font-weight: 800; font-size: 18px; letter-spacing: .05em; text-transform: uppercase; }
.nb-ticker__track { display: flex; width: max-content; animation: nb-ticker 44s linear infinite; }
.nb-ticker__item { display: flex; align-items: center; gap: 22px; padding-right: 22px; white-space: nowrap; }
.nb-ticker__item i { width: 6px; height: 6px; border-radius: 50%; background: var(--neon); box-shadow: 0 0 8px var(--neon); }
@keyframes nb-ticker { from { transform: translateX(0) } to { transform: translateX(-50%) } }

/* ---------- header ---------- */
.nb-header { border-bottom: 1px solid var(--line); position: relative; z-index: 40; }
.nb-header__in { display: flex; align-items: center; justify-content: space-between; gap: 18px 32px; padding-top: 14px; padding-bottom: 14px; }
.nb-brand { display: flex; align-items: center; gap: 18px; min-width: 0; }
.nb-brand__badge { width: 66px; height: 66px; border-radius: 50%; overflow: hidden; flex: none; box-shadow: 0 0 0 1px #5A3A22, 0 0 24px rgba(232,93,4,.25); }
.nb-brand__badge img { width: 100%; height: 100%; object-fit: cover; }
.nb-brand__text { display: flex; flex-direction: column; gap: 7px; min-width: 0; }
.nb-brand__name { font-family: var(--display); font-weight: 900; font-size: 34px; line-height: .9; letter-spacing: .03em; text-transform: uppercase; white-space: nowrap; display: flex; align-items: baseline; gap: 10px; }
.nb-brand__name .nb-neon { color: var(--neon); text-shadow: var(--glow-sm); }
.nb-brand__with { display: flex; align-items: center; gap: 10px; white-space: nowrap; }
.nb-brand__with em { font-size: 14px; font-style: italic; color: var(--dust); }
.nb-brand__with strong { font-family: var(--display); font-weight: 800; font-size: 19px; line-height: 1; letter-spacing: .05em; text-transform: uppercase; color: var(--copper-light); text-shadow: 0 0 10px rgba(201,138,82,.35); }
.nb-brand__with i { display: block; height: 1px; background: #8A5A32; width: 36px; }
.nb-brand__with i:last-child { flex: 1; }
.nb-brand:hover { color: var(--bone); }

.nb-nav { display: flex; align-items: center; gap: 32px; }
.nb-nav__list { display: flex; align-items: center; gap: 30px; }
.nb-nav__item { position: relative; }
.nb-nav__link { display: flex; align-items: center; gap: 7px; font-size: 15px; font-weight: 600; background: none; border: 0; padding: 8px 0; cursor: pointer; }
.nb-nav__link:hover, .nb-sub-toggle[aria-expanded="true"] { color: var(--neon); }
.nb-sub, .nb-nav .sub-menu { position: absolute; top: calc(100% + 10px); left: -18px; min-width: 240px; background: var(--panel-2); border: 1px solid var(--line-2); border-top: 2px solid var(--neon); padding: 8px 0; display: none; flex-direction: column; box-shadow: 0 24px 48px rgba(0,0,0,.7); z-index: 50; }
.nb-has-sub.is-open > .nb-sub, .nb-nav .menu-item-has-children:hover > .sub-menu, .nb-nav .menu-item-has-children:focus-within > .sub-menu { display: flex; }
.nb-sub a, .nb-nav .sub-menu a { display: block; padding: 12px 20px; font-size: 15px; font-weight: 600; white-space: nowrap; }
.nb-sub a:hover, .nb-nav .sub-menu a:hover { background: #1A120C; color: var(--neon); }
.nb-sub__alt a { color: var(--copper); }
.nb-sub__alt:first-of-type a { border-top: 1px solid var(--line-2); margin-top: 6px; }
.nb-nav .menu > li > a { display: flex; align-items: center; font-size: 15px; font-weight: 600; padding: 8px 0; }
.nb-nav .menu { display: flex; gap: 30px; align-items: center; }
.nb-nav .menu li { position: relative; }
.nb-menu-toggle { display: none; width: 48px; height: 48px; background: none; border: 1px solid var(--line-2); flex-direction: column; justify-content: center; align-items: center; gap: 5px; cursor: pointer; }
.nb-menu-toggle span:not(.nb-sr) { display: block; width: 22px; height: 2px; background: var(--bone); transition: transform .2s, opacity .2s; }
.nb-menu-toggle[aria-expanded="true"] span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.nb-menu-toggle[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
.nb-menu-toggle[aria-expanded="true"] span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

/* ---------- hero ---------- */
.nb-hero { border-bottom: 1px solid var(--line); }
.nb-hero__in { display: flex; flex-wrap: wrap; gap: 48px 64px; align-items: flex-end; padding-top: 80px; padding-bottom: 72px; }
.nb-hero__copy { flex: 1 1 400px; min-width: 0; display: flex; flex-direction: column; gap: 30px; }
.nb-hero__copy .nb-lead { max-width: 440px; font-size: 19px; }
.nb-hero__links { display: flex; flex-wrap: wrap; align-items: center; gap: 14px 22px; }
.nb-hero__ep { flex: 1.3 1 520px; min-width: 0; display: flex; flex-direction: column; gap: 16px; }
.nb-hero__meta { display: flex; justify-content: space-between; align-items: baseline; gap: 16px; }
.nb-hero__label { font-size: 15px; font-weight: 600; color: var(--copper); }
.nb-hero__num { font-family: var(--display); font-weight: 900; font-size: 40px; line-height: 1; color: var(--dim); }
.nb-hero__title { display: flex; flex-direction: column; gap: 8px; margin-top: 6px; }
.nb-hero__title .nb-h3 { font-size: clamp(30px, 3vw, 40px); }

/* ---------- player ---------- */
.nb-player { position: relative; aspect-ratio: 16 / 9; background: var(--panel); border: 1px solid var(--line-2); overflow: hidden; }
.nb-player--vertical { aspect-ratio: 9 / 16; max-width: 420px; }
.nb-player__poster { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: .85; }
.nb-player__play { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); width: 100px; height: 100px; border-radius: 50%; border: 0; background: var(--orange); color: var(--black); display: flex; align-items: center; justify-content: center; cursor: pointer; box-shadow: 0 0 30px rgba(244,122,34,.45); transition: transform .15s, background .15s; }
.nb-player__play:hover { transform: translate(-50%, -50%) scale(1.06); background: var(--neon); }
.nb-player iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.nb-player.is-playing .nb-player__poster, .nb-player.is-playing .nb-player__play { display: none; }
.nb-player--empty { display: flex; align-items: center; justify-content: center; padding: 40px; text-align: center; color: var(--mute); }

/* ---------- segment strip ---------- */
.nb-ride { border-bottom: 1px solid var(--line); padding: 44px 0 48px; }
.nb-ride__head { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: baseline; gap: 8px 24px; margin-bottom: 18px; }
.nb-strip-wrap { overflow-x: auto; }
.nb-strip { display: flex; gap: 3px; min-width: 980px; height: 150px; }
.nb-seg { background-color: var(--leather); background-image: var(--grain); background-size: 3px 3px; color: var(--bone); padding: 16px 14px; min-width: 118px; display: flex; flex-direction: column; justify-content: space-between; gap: 8px; border-top: 2px solid var(--copper); }
.nb-seg__name { font-family: var(--display); font-weight: 800; font-size: 22px; line-height: .9; letter-spacing: .02em; text-transform: uppercase; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.nb-seg__what { font-size: 13px; line-height: 1.35; opacity: .85; }
.nb-seg__time { font-size: 13px; font-weight: 600; margin-top: auto; }
.nb-seg--cold-open { background-color: #1A120C; border-top-color: var(--line-3); }
.nb-seg--by-the-horns, .nb-seg--final-horn { background-color: var(--leather-2); }
.nb-seg--calling-bull { background-color: #1A120C; color: var(--neon); border-top-color: var(--neon); }
.nb-seg--other { background-color: #13171B; border-top-color: #3A424A; }
a.nb-seg:hover { border-top-color: var(--neon); color: var(--neon); }
.nb-ride--single .nb-strip { height: 130px; }

/* ---------- rails & cards ---------- */
.nb-rail { --railpad: max(var(--gutter), calc((100vw - var(--wrap)) / 2 + var(--gutter))); overflow-x: auto; scrollbar-width: none; scroll-padding-inline: var(--railpad); }
.nb-rail::-webkit-scrollbar { display: none; }
.nb-rail--snap { scroll-snap-type: x proximity; }
.nb-rail__track { display: flex; gap: 28px; width: max-content; padding: 40px var(--railpad) 88px; }
.nb-rail__track--clips { gap: 16px; padding-bottom: 96px; }
.nb-epcard { width: 460px; max-width: 82vw; scroll-snap-align: start; display: flex; flex-direction: column; gap: 14px; }
.nb-epcard--mid { width: 400px; }
.nb-epcard--grid { width: auto; max-width: none; }
.nb-epcard__frame { position: relative; display: block; aspect-ratio: 16 / 9; background: var(--panel); border: 1px solid var(--line-2); overflow: hidden; }
.nb-epcard__frame img { width: 100%; height: 100%; object-fit: cover; opacity: .9; transition: opacity .2s; }
.nb-epcard:hover .nb-epcard__frame img { opacity: 1; }
.nb-epcard__num { position: absolute; left: 14px; bottom: 6px; font-family: var(--display); font-weight: 900; font-size: 92px; line-height: .8; letter-spacing: -.01em; color: transparent; -webkit-text-stroke: 1.5px var(--copper); text-shadow: 0 2px 12px rgba(0,0,0,.8); }
.nb-epcard--mid .nb-epcard__num { font-size: 84px; }
.nb-epcard__title { font-family: var(--display); font-weight: 800; font-size: 30px; line-height: .96; letter-spacing: .01em; text-transform: uppercase; }
.nb-epcard__meta { font-size: 15px; color: var(--mute); }
.nb-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 320px), 1fr)); gap: 40px 28px; }
.nb-grid--clips { grid-template-columns: repeat(auto-fill, minmax(min(100%, 200px), 1fr)); gap: 16px; }

.nb-clip { position: relative; width: 232px; aspect-ratio: 9 / 16; background: var(--panel); border: 1px solid var(--line-2); scroll-snap-align: start; display: flex; flex-direction: column; justify-content: space-between; padding: 16px; overflow: hidden; }
.nb-grid--clips .nb-clip { width: auto; }
.nb-clip__img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: .75; transition: opacity .2s, transform .3s; }
.nb-clip:hover .nb-clip__img { opacity: .9; transform: scale(1.03); }
.nb-clip::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(7,6,5,.55) 0%, rgba(7,6,5,0) 35%, rgba(7,6,5,0) 55%, rgba(7,6,5,.9) 100%); }
.nb-clip__tag, .nb-clip__title { position: relative; z-index: 1; }
.nb-clip__tag { font-family: var(--display); font-weight: 800; font-size: 20px; letter-spacing: .03em; text-transform: uppercase; color: var(--neon); }
.nb-clip__title { font-weight: 600; font-size: 16px; line-height: 1.3; color: var(--bone); }

/* ---------- episodes section ---------- */
.nb-episodes { border-bottom: 1px solid var(--line); }
.nb-episodes__head { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-end; gap: 20px 40px; padding-top: 88px; }
.nb-episodes__head--archive { padding-top: 56px; margin-bottom: 44px; }
.nb-search { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; }
.nb-search input[type="search"] { font: inherit; font-size: 15px; padding: 13px 18px; border: 1px solid var(--line-2); background: var(--black); color: var(--bone); width: 320px; max-width: 100%; }
.nb-search input::placeholder { color: #6F6760; }
.nb-search input:focus { border-color: var(--neon); outline: none; }

/* ---------- why (leather) ---------- */
.nb-why { background-color: var(--leather); background-image: var(--grain); background-size: 3px 3px; border-top: 1px solid #3F2819; border-bottom: 1px solid #3F2819; }
.nb-why__in { display: flex; flex-wrap: wrap; gap: 40px 56px; align-items: center; padding-top: 88px; padding-bottom: 96px; }
.nb-why__art { flex: 0 1 420px; min-width: 0; display: flex; justify-content: center; }
.nb-why__art img { width: 100%; max-width: 420px; aspect-ratio: 1 / 1; object-fit: cover; -webkit-mask-image: radial-gradient(ellipse at center, #000 52%, transparent 71%); mask-image: radial-gradient(ellipse at center, #000 52%, transparent 71%); }
.nb-why__copy { flex: 1 1 560px; min-width: 0; display: flex; flex-direction: column; gap: 28px; }
.nb-pairs { border-top: 1px solid var(--leather-line); }
.nb-pair { display: flex; flex-direction: column; gap: 10px; padding: 24px 0; border-bottom: 1px solid var(--leather-line); }
.nb-pair__no { font-family: var(--display); font-weight: 800; font-size: clamp(22px, 2.3vw, 32px); line-height: 1; letter-spacing: .02em; text-transform: uppercase; color: var(--leather-dim); text-decoration: line-through; text-decoration-color: var(--neon-deep); text-decoration-thickness: 3px; }
.nb-pair__yes { font-family: var(--display); font-weight: 900; font-size: clamp(36px, 3.9vw, 58px); line-height: .92; text-transform: uppercase; color: var(--bone); }

/* ---------- clips section ---------- */
.nb-clips { border-bottom: 1px solid var(--line); }
.nb-clips__head { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-end; gap: 16px 40px; padding-top: 88px; }
.nb-clips__head .nb-lead { max-width: 420px; }

/* ---------- host ---------- */
.nb-host { border-bottom: 1px solid var(--line); background: radial-gradient(ellipse 60% 70% at 28% 55%, rgba(232,93,4,.14), transparent 70%), var(--black); }
.nb-host__in { display: flex; flex-wrap: wrap; gap: 48px 64px; align-items: center; padding-top: 104px; padding-bottom: 104px; }
.nb-host__photo { flex: 1 1 380px; max-width: 560px; min-width: 0; }
.nb-host__photo img { width: 100%; aspect-ratio: 1 / 1; object-fit: cover; -webkit-mask-image: radial-gradient(ellipse at center, #000 58%, transparent 74%); mask-image: radial-gradient(ellipse at center, #000 58%, transparent 74%); }
.nb-host__copy { flex: 1.2 1 440px; min-width: 0; display: flex; flex-direction: column; gap: 24px; }
.nb-creds { font-family: var(--display); font-weight: 700; font-size: clamp(26px, 2.8vw, 38px); line-height: 1.05; max-width: 600px; color: var(--copper-light); text-transform: uppercase; letter-spacing: .01em; }
.nb-connect { margin-top: 8px; display: flex; flex-direction: column; gap: 18px; border-top: 1px solid var(--line-2); padding-top: 28px; }
.nb-connect__site { align-self: flex-start; font-size: 16px; padding: 16px 24px; }
.nb-connect__line { font-size: 16px; color: var(--dust); }
.nb-connect__links { display: flex; flex-wrap: wrap; gap: 10px; }
.nb-connect__link { display: inline-flex; align-items: center; gap: 10px; padding: 12px 16px; border: 1px solid var(--line-3); font-weight: 600; font-size: 15px; }
.nb-connect__link:hover { border-color: var(--neon); color: var(--neon); }
.nb-host__links { margin-top: 8px; }

/* ---------- posts ---------- */
.nb-section-head { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-end; gap: 16px; margin-bottom: 36px; }
.nb-section-head--top { flex-direction: column; align-items: flex-start; padding-top: 56px; }
.nb-articles { border-bottom: 1px solid var(--line); padding: 88px 0 96px; }
.nb-posts { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 320px), 1fr)); gap: 32px; }
.nb-posts--archive { grid-template-columns: repeat(auto-fill, minmax(min(100%, 320px), 1fr)); gap: 44px 32px; }
.nb-post { display: flex; flex-direction: column; gap: 14px; border-top: 1px solid var(--line-2); padding-top: 20px; }
.nb-post__img { display: block; aspect-ratio: 16 / 10; background: var(--panel); border: 1px solid var(--line-2); overflow: hidden; }
.nb-post__img img { width: 100%; height: 100%; object-fit: cover; }
.nb-post__kicker { font-size: 13px; color: var(--copper); font-weight: 600; }
.nb-post__title { font-family: var(--display); font-weight: 800; font-size: 30px; line-height: .96; letter-spacing: .01em; text-transform: uppercase; }
.nb-post__dek { font-size: 15px; line-height: 1.5; color: var(--mute); }
.nb-posts--text .nb-post__title { font-size: 28px; }

/* ---------- guest ---------- */
.nb-guest { border-bottom: 1px solid var(--line); }
.nb-guest__in { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-end; gap: 40px; padding-top: 104px; padding-bottom: 112px; }
.nb-guest__copy { flex: 1 1 560px; min-width: 0; display: flex; flex-direction: column; gap: 28px; }
.nb-guest__actions { display: flex; flex-direction: column; gap: 18px; align-items: flex-start; }

/* ---------- footer ---------- */
.nb-footer { padding-top: 88px; }
.nb-footer__head { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-end; gap: 16px 40px; margin-bottom: 36px; }
.nb-tiles { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 300px), 1fr)); border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.nb-tile { padding: 22px 20px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); display: flex; align-items: center; gap: 16px; min-width: 0; }
a.nb-tile:hover { background: var(--panel); color: var(--bone); }
a.nb-tile:hover .nb-tile__btn { background: var(--orange); color: var(--black); border-color: var(--orange); box-shadow: 0 0 18px rgba(244,122,34,.35); }
a.nb-tile:hover .nb-tile__icon { color: var(--neon); }
.nb-tile__icon { width: 52px; height: 52px; flex: none; border: 1px solid var(--line-2); display: flex; align-items: center; justify-content: center; color: var(--bone); background: var(--panel-2); transition: color .15s; }
.nb-tile__body { display: flex; flex-direction: column; gap: 4px; min-width: 0; flex: 1 1 auto; }
.nb-tile__name { font-family: var(--display); font-weight: 800; font-size: 24px; overflow-wrap: anywhere; line-height: 1; letter-spacing: .01em; text-transform: uppercase; }
.nb-tile__what { font-size: 13px; color: var(--mute); }
.nb-tile__btn { flex: none; font-size: 13px; font-weight: 700; padding: 9px 14px; border: 1px solid var(--line-3); color: var(--bone); transition: background .15s, color .15s; }
.nb-tile__btn--soon { color: var(--mute); border-style: dashed; font-weight: 600; }
.nb-tile--soon { opacity: .55; }
.nb-icon { display: inline-block; vertical-align: middle; flex: none; }
.nb-icon--text { font-family: var(--display); font-weight: 900; font-size: .72em; letter-spacing: .02em; display: inline-flex; align-items: center; justify-content: center; border: 1.5px solid currentColor; border-radius: 4px; line-height: 1; text-transform: none; }
.nb-tile__icon .nb-icon--text { font-size: 15px; }
.nb-link-icon { display: inline-flex; align-items: center; gap: 8px; }
.nb-link-icon .nb-icon { opacity: .85; }
.nb-link-icon:hover .nb-icon { opacity: 1; }
.nb-footer__host { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 20px 40px; padding: 40px 0; border-bottom: 1px solid var(--line); }
.nb-footer__hostlabel { display: flex; align-items: center; gap: 16px; font-family: var(--display); font-weight: 800; font-size: 24px; text-transform: uppercase; letter-spacing: .02em; }
.nb-footer__hostlabel img { width: 84px; height: 60px; object-fit: cover; border: 1px solid var(--line-2); }
.nb-footer__bottom { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 16px 40px; padding: 36px 0 140px; font-size: 14px; color: var(--mute); }
.nb-footer__bottom .nb-links { font-size: 14px; font-weight: 500; }
.nb-footer__bottom .nb-links a { color: var(--mute); }
.nb-footer__bottom .nb-links a:hover { color: var(--neon); }

/* ---------- dock ---------- */
.nb-dock { position: sticky; bottom: 0; background: var(--panel-2); border-top: 1px solid var(--line-2); z-index: 30; }
.nb-dock__in { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px 24px; padding-top: 12px; padding-bottom: 12px; }
.nb-dock__left { display: flex; align-items: center; gap: 16px; min-width: 0; }
.nb-dock__play { width: 48px; height: 48px; border-radius: 50%; background: var(--orange); color: var(--black); display: flex; align-items: center; justify-content: center; flex: none; box-shadow: 0 0 18px rgba(244,122,34,.4); }
.nb-dock__play:hover { color: var(--black); background: var(--neon); }
.nb-dock__text { display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.nb-dock__label { font-size: 12px; color: var(--mute); }
.nb-dock__title { font-family: var(--display); font-weight: 800; font-size: 22px; line-height: 1; letter-spacing: .01em; text-transform: uppercase; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 60vw; }
.nb-dock__links { display: flex; flex-wrap: wrap; gap: 20px; font-size: 14px; font-weight: 600; align-items: center; }

/* ---------- single episode ---------- */
.nb-episode { padding-top: 40px; border-bottom: 1px solid var(--line); padding-bottom: 48px; }
.nb-episode__head { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 16px 48px; margin: 28px 0 32px; }
.nb-episode__num { font-family: var(--display); font-weight: 900; font-size: clamp(110px, 14vw, 220px); line-height: .78; letter-spacing: -.01em; }
.nb-episode__titles { flex: 1 1 520px; min-width: 0; display: flex; flex-direction: column; gap: 14px; }
.nb-episode__bar { margin-top: 20px; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 14px 24px; }
.nb-episode__bar .nb-links a, .nb-copy { border-bottom: 1px solid var(--line-3); padding-bottom: 2px; }
.nb-copy { background: none; border: 0; border-bottom: 1px solid var(--line-3); padding: 0 0 2px; font-weight: 600; font-size: 15px; cursor: pointer; }
.nb-copy:hover { color: var(--neon); }
.nb-notes { border-bottom: 1px solid var(--line); }
.nb-notes__in { display: flex; flex-wrap: wrap; gap: 48px 64px; padding-top: 80px; padding-bottom: 88px; }
.nb-notes__body { flex: 1.4 1 480px; min-width: 0; display: flex; flex-direction: column; gap: 20px; }
.nb-notes__side { flex: 1 1 300px; min-width: 0; display: flex; flex-direction: column; gap: 36px; }
.nb-notes__side > div { display: flex; flex-direction: column; gap: 12px; align-items: flex-start; }
.nb-related { border-bottom: 1px solid var(--line); padding: 72px 0 80px; }
.nb-related .nb-h3 { margin-bottom: 28px; }
.nb-more { padding-top: 72px; }
.nb-more .nb-section-head { margin-bottom: 0; }
.nb-more .nb-rail__track { padding-top: 32px; padding-bottom: 120px; }
.nb-tags { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 8px; }
.nb-tags a { font-size: 13px; color: var(--mute); border: 1px solid var(--line-2); padding: 6px 10px; }
.nb-clipsingle { padding-top: 40px; }
.nb-clipsingle__in { display: flex; flex-wrap: wrap; gap: 40px 64px; margin-top: 28px; align-items: flex-start; }
.nb-clipsingle__player { flex: 0 1 420px; width: 100%; }
.nb-clipsingle__copy { flex: 1 1 400px; display: flex; flex-direction: column; gap: 18px; }

/* ---------- prose ---------- */
.nb-prose { font-size: 18px; line-height: 1.65; color: var(--dust); max-width: 680px; }
.nb-prose p, .nb-prose ul, .nb-prose ol, .nb-prose blockquote, .nb-prose figure, .nb-prose pre, .nb-prose table { margin: 0 0 1.2em; }
.nb-prose ul, .nb-prose ol { padding-left: 1.3em; list-style: disc; }
.nb-prose ol { list-style: decimal; }
.nb-prose a { color: var(--neon); border-bottom: 1px solid rgba(255,140,58,.35); }
.nb-prose a:hover { border-color: var(--neon); }
.nb-prose h2, .nb-prose h3, .nb-prose h4 { font-family: var(--display); text-transform: uppercase; color: var(--bone); line-height: .95; margin: 1.6em 0 .5em; }
.nb-prose h2 { font-size: 40px; font-weight: 900; }
.nb-prose h3 { font-size: 30px; font-weight: 800; }
.nb-prose h4 { font-size: 24px; font-weight: 800; }
.nb-prose blockquote { border-left: 3px solid var(--neon); padding: 4px 0 4px 20px; font-family: var(--display); font-size: 26px; font-weight: 600; line-height: 1.15; color: var(--bone); }
.nb-prose img { border: 1px solid var(--line-2); }
.nb-prose figcaption, .nb-prose .wp-caption-text { font-size: 14px; color: var(--mute); margin-top: 8px; }
.nb-prose table { width: 100%; border-collapse: collapse; font-size: 15px; }
.nb-prose th, .nb-prose td { border: 1px solid var(--line-2); padding: 10px 12px; text-align: left; }
.nb-prose pre, .nb-prose code { background: var(--panel); font-size: 14px; }
.nb-prose pre { padding: 16px; overflow-x: auto; border: 1px solid var(--line-2); }
.nb-prose--article { max-width: none; color: #D8D2C8; font-size: 19px; line-height: 1.7; }
.nb-prose .alignwide, .nb-prose .alignfull { max-width: none; }
.nb-prose iframe { width: 100%; aspect-ratio: 16 / 9; height: auto; }

/* ---------- articles ---------- */
.nb-article__head { padding-top: 48px; }
.nb-article__head .nb-meta { margin-top: 18px; }
.nb-article__head .nb-meta a { border-bottom: 1px solid var(--line-3); }
.nb-article__hero { margin: 36px 0 8px; aspect-ratio: 16 / 9; background: var(--panel); border: 1px solid var(--line-2); overflow: hidden; }
.nb-article__hero img { width: 100%; height: 100%; object-fit: cover; }
.nb-article > .nb-wrap--narrow { padding-top: 40px; padding-bottom: 72px; }
.nb-article__ep { background-color: var(--leather); background-image: var(--grain); background-size: 3px 3px; border-top: 1px solid #3F2819; border-bottom: 1px solid #3F2819; }
.nb-article__epin { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 24px 40px; padding-top: 48px; padding-bottom: 48px; }
.nb-article__epin > div { display: flex; flex-direction: column; gap: 10px; }
.nb-article__epin .nb-meta { color: var(--leather-text); }
.nb-page .nb-wrap--narrow { padding-top: 56px; padding-bottom: 96px; }
.nb-page .nb-display--article { margin-bottom: 32px; }
.nb-archive { padding-bottom: 104px; }
.nb-archive .nb-grid { margin-top: 8px; }
.nb-archive .nb-section-head--top { margin-bottom: 40px; }
.nb-pagination { margin-top: 56px; }
.nb-pagination .nav-links { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; }
.nb-pagination .page-numbers { display: inline-flex; min-width: 44px; height: 44px; align-items: center; justify-content: center; padding: 0 14px; border: 1px solid var(--line-2); font-weight: 600; font-size: 15px; }
.nb-pagination .page-numbers.current { border-color: var(--neon); color: var(--neon); }
.nb-pagination .page-numbers.dots { border: 0; }

/* ---------- forms ---------- */
.nb-formpage { padding: 64px 0 112px; }
.nb-formpage__in { display: flex; flex-wrap: wrap; gap: 48px 72px; align-items: flex-start; }
.nb-formpage__copy { flex: 1 1 420px; min-width: 0; display: flex; flex-direction: column; gap: 24px; }
.nb-formpage__form { flex: 1 1 460px; min-width: 0; }
.nb-checklist { display: flex; flex-direction: column; gap: 12px; font-size: 16px; color: var(--dust); }
.nb-checklist li { padding-left: 26px; position: relative; }
.nb-checklist li::before { content: ""; position: absolute; left: 0; top: .7em; width: 14px; height: 2px; background: var(--neon); box-shadow: 0 0 8px rgba(255,140,58,.8); }
.nb-form { display: flex; flex-direction: column; gap: 18px; background: var(--panel-2); border: 1px solid var(--line-2); padding: 32px; }
.nb-form__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 200px), 1fr)); gap: 16px; }
.nb-form label { display: flex; flex-direction: column; gap: 8px; }
.nb-form label span { font-size: 14px; font-weight: 600; color: var(--dust); }
.nb-form input, .nb-form textarea { font: inherit; font-size: 16px; padding: 13px 14px; border: 1px solid var(--line-2); background: var(--black); color: var(--bone); width: 100%; }
.nb-form input:focus, .nb-form textarea:focus { border-color: var(--neon); outline: none; }
.nb-form textarea { resize: vertical; min-height: 140px; }
.nb-form .nb-btn { align-self: flex-start; }
.nb-form__hp { position: absolute; left: -9999px; }
.nb-form__done { border: 1px solid var(--neon); padding: 28px; box-shadow: inset 0 0 24px rgba(255,122,26,.08); display: flex; flex-direction: column; gap: 10px; }
.nb-form__done strong { font-family: var(--display); font-size: 30px; text-transform: uppercase; font-weight: 800; line-height: 1; }
.nb-form__error { color: var(--neon); font-weight: 600; margin-bottom: 14px; }

/* ---------- faq, chapters, transcript ---------- */
.nb-faq { border-bottom: 1px solid var(--line); }
.nb-faq__in { display: flex; flex-wrap: wrap; gap: 40px 72px; padding-top: 96px; padding-bottom: 104px; align-items: flex-start; }
.nb-faq__head { flex: 1 1 320px; display: flex; flex-direction: column; gap: 18px; position: sticky; top: 24px; }
.nb-faq__list { flex: 2 1 560px; border-top: 1px solid var(--line-2); }
.nb-faq__item { border-bottom: 1px solid var(--line-2); }
.nb-faq__q { display: flex; justify-content: space-between; align-items: baseline; gap: 20px; padding: 22px 0; cursor: pointer; list-style: none; font-family: var(--display); font-weight: 800; font-size: 28px; line-height: 1; text-transform: uppercase; letter-spacing: .01em; }
.nb-faq__q::-webkit-details-marker, .nb-transcript summary::-webkit-details-marker { display: none; }
.nb-faq__q span, .nb-transcript summary span { color: var(--neon); font-weight: 700; font-size: 26px; transition: transform .2s; }
.nb-faq__item[open] .nb-faq__q span, .nb-transcript[open] summary span { transform: rotate(45deg); }
.nb-faq__item[open] .nb-faq__q { color: var(--neon); }
.nb-faq__a { padding: 0 0 24px; font-size: 17px; line-height: 1.6; color: var(--dust); max-width: 640px; }
.nb-chapterlist { padding: 0; margin: 8px 0 0; display: flex; flex-direction: column; border-top: 1px solid var(--line-2); max-width: 640px; }
.nb-chapterlist li { border-bottom: 1px solid var(--line-2); }
.nb-chapterlist a { display: flex; gap: 16px; padding: 12px 0; font-weight: 600; font-size: 15px; }
.nb-chapterlist a span { color: var(--copper); min-width: 56px; font-variant-numeric: tabular-nums; }
.nb-transcript { border-top: 1px solid var(--line-2); margin-top: 16px; max-width: 680px; }
.nb-transcript summary { display: flex; justify-content: space-between; align-items: center; padding: 18px 0; cursor: pointer; list-style: none; }
.nb-transcript__body { padding-bottom: 24px; font-size: 16px; }

/* ---------- 404 ---------- */
.nb-404 { padding: 72px 0 120px; }
.nb-404 .nb-wrap { display: flex; flex-direction: column; gap: 24px; align-items: flex-start; }

/* ---------- responsive ---------- */
@media (max-width: 1100px) {
	.nb-brand__name { font-size: 28px; }
	.nb-nav__list, .nb-nav .menu { gap: 22px; }
}
@media (max-width: 900px) {
	:root { --gutter: 20px; }
	.nb-menu-toggle { display: flex; }
	.nb-nav { display: none; width: 100%; flex-direction: column; align-items: stretch; gap: 8px; padding: 12px 0 8px; border-top: 1px solid var(--line); margin-top: 6px; }
	.nb-nav.is-open { display: flex; }
	.nb-nav__list, .nb-nav .menu { flex-direction: column; align-items: stretch; gap: 0; }
	.nb-nav__link, .nb-nav .menu > li > a { padding: 14px 0; border-bottom: 1px solid var(--line); width: 100%; justify-content: space-between; font-size: 17px; }
	.nb-sub, .nb-nav .sub-menu { position: static; display: none; box-shadow: none; border: 0; border-left: 2px solid var(--neon); margin: 0 0 8px; padding: 4px 0; background: transparent; }
	.nb-has-sub.is-open > .nb-sub { display: flex; }
	.nb-header__cta { align-self: flex-start; margin-top: 10px; }
	.nb-brand__with i:first-child { width: 20px; }
	.nb-hero__in { padding-top: 48px; padding-bottom: 48px; }
	.nb-hero__ep { order: -1; }
	.nb-display { font-size: clamp(48px, 13vw, 96px); overflow-wrap: anywhere; }
	.nb-h2 { font-size: clamp(40px, 10.5vw, 72px); overflow-wrap: anywhere; }
	.nb-display--ep, .nb-display--article { font-size: clamp(36px, 9vw, 64px); }
	body { overflow-x: clip; }
	.nb-episodes__head, .nb-clips__head { padding-top: 64px; }
	.nb-rail__track { padding-top: 28px; padding-bottom: 64px; }
	.nb-epcard { width: 320px; }
	.nb-why__in, .nb-host__in { padding-top: 64px; padding-bottom: 64px; }
	.nb-guest__in { padding-top: 72px; padding-bottom: 80px; }
	.nb-dock__links { display: none; }
	.nb-dock__title { max-width: 70vw; }
	.nb-footer__bottom { padding-bottom: 110px; }
	.nb-ticker { font-size: 15px; }
}
@media (max-width: 640px) {
	.nb-brand { flex: 1 1 auto; }
	.nb-brand__name { font-size: 24px; white-space: normal; flex-direction: column; align-items: flex-start; gap: 2px; line-height: .95; }
	.nb-brand__with { white-space: normal; }
	.nb-brand__with strong { font-size: 16px; }
}
@media (max-width: 520px) {
	.nb-brand__name { font-size: 22px; }
	.nb-brand__badge { width: 50px; height: 50px; }
	.nb-brand__with { font-size: 12px; }
	.nb-episode__num { font-size: 96px; }
	.nb-search input[type="search"] { width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
	.nb-ticker__track, .nb-flicker { animation: none; }
	html { scroll-behavior: auto; }
	.nb-player__play, .nb-clip__img { transition: none; }
}
