/* ==========================================================================
   BC LIETKABELIS 2026 — Design System
   Bordo / gold / cream — editorial sport.
   ========================================================================== */

:root {
	/* Brand — sampled from the official 2025-26 crest */
	--bordo:        #550e2e;
	--bordo-deep:   #3d0a21;
	--bordo-800:    #6b1a3c;
	--bordo-600:    #8a2450;
	--gold:         #b9a976;
	--gold-bright:  #cbbd8c;
	--gold-deep:    #7a7058;
	--cream:        #fbfbf8;
	--cream-2:      #f2efe8;
	--ink:          #14090e;
	--ink-2:        #2a1a22;
	--white:        #ffffff;

	--paper:        var(--cream);
	--text:         #1c1013;
	--text-soft:    #6a5560;
	--line:         #e6ddd6;

	--radius:       4px;
	--radius-lg:    10px;
	--maxw:         1240px;
	--gutter:       clamp(20px, 5vw, 60px);

	--shadow-sm: 0 2px 8px rgba(20,9,14,.06);
	--shadow-md: 0 12px 40px rgba(20,9,14,.14);
	--shadow-lg: 0 30px 80px rgba(20,9,14,.28);

	--font-display: 'Archivo', system-ui, sans-serif; /* used heavy + condensed via letter-spacing */
	--font-body:    'Archivo', system-ui, sans-serif;

	--ease: cubic-bezier(.22,.61,.36,1);
}

/* ---------- Reset-ish ---------- */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
body {
	margin: 0;
	font-family: var(--font-body);
	background: var(--paper);
	color: var(--text);
	font-size: 17px;
	line-height: 1.6;
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
	overflow-x: hidden;
}
img { max-width: 100%; height: auto; display: block; }
a { color: inherit; text-decoration: none; }
button { font-family: inherit; cursor: pointer; }

h1,h2,h3,h4 { font-family: var(--font-display); margin: 0; line-height: 1.02; font-weight: 800; letter-spacing: -0.01em; }

.bsl-container { max-width: var(--maxw); margin: 0 auto; padding-inline: var(--gutter); }

/* Kicker / eyebrow */
.bsl-kicker {
	display: inline-flex; align-items: center; gap: .6em;
	font-weight: 700; font-size: .74rem; letter-spacing: .22em; text-transform: uppercase;
	color: var(--gold-deep);
}
.bsl-kicker::before { content: ""; width: 26px; height: 2px; background: var(--gold); display: inline-block; }

/* Section heading */
.bsl-shead { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; margin-bottom: 34px; flex-wrap: wrap; }
.bsl-shead h2 {
	font-size: clamp(2rem, 5vw, 3.4rem); text-transform: uppercase; letter-spacing: -.02em;
	color: var(--bordo);
}
.bsl-shead .bsl-more { font-weight: 700; font-size: .85rem; letter-spacing: .04em; text-transform: uppercase; color: var(--bordo); border-bottom: 2px solid var(--gold); padding-bottom: 3px; transition: gap .25s var(--ease); display: inline-flex; gap: .5em; align-items: center; }
.bsl-shead .bsl-more:hover { gap: 1em; }

/* Buttons */
.bsl-btn {
	display: inline-flex; align-items: center; gap: .7em;
	font-family: var(--font-display); font-weight: 700; font-size: .92rem;
	letter-spacing: .06em; text-transform: uppercase;
	padding: 15px 30px; border-radius: var(--radius); border: 0;
	background: var(--bordo); color: var(--cream);
	transition: transform .25s var(--ease), background .25s var(--ease), box-shadow .25s var(--ease);
	position: relative;
}
.bsl-btn:hover { background: var(--bordo-600); transform: translateY(-2px); box-shadow: var(--shadow-md); }
.bsl-btn--gold { background: var(--gold); color: var(--ink); }
.bsl-btn--gold:hover { background: var(--gold-bright); }
.bsl-btn--ghost { background: transparent; color: var(--cream); box-shadow: inset 0 0 0 2px rgba(251,251,248,.4); }
.bsl-btn--ghost:hover { background: rgba(251,251,248,.1); box-shadow: inset 0 0 0 2px var(--gold); }
.bsl-btn--dark { background: var(--ink); color: var(--cream); }

/* ==========================================================================
   HEADER
   ========================================================================== */
.bsl-header {
	position: sticky; top: 0; z-index: 100;
	background: var(--bordo);
	color: var(--cream);
	transition: box-shadow .3s var(--ease), background .3s var(--ease);
}
.bsl-header.is-stuck { box-shadow: 0 8px 30px rgba(0,0,0,.35); }
.bsl-header__bar { display: flex; align-items: center; gap: 28px; height: 82px; }
.bsl-header__logo { display: flex; align-items: center; gap: 14px; flex-shrink: 0; }
.bsl-header__logo img { height: 58px; width: auto; }
.bsl-header__logo b { font-family: var(--font-display); font-weight: 800; text-transform: uppercase; font-size: 1.02rem; letter-spacing: .02em; line-height: 1; }
.bsl-header__logo span { display: block; font-size: .62rem; letter-spacing: .3em; color: var(--gold); font-weight: 600; }

.bsl-nav { margin-left: auto; }
.bsl-nav ul { display: flex; align-items: center; gap: 6px; list-style: none; margin: 0; padding: 0; }
.bsl-nav a {
	display: block; padding: 10px 15px; font-weight: 600; font-size: .82rem; letter-spacing: .08em; text-transform: uppercase;
	color: var(--cream); position: relative; border-radius: var(--radius);
	transition: color .2s var(--ease), background .2s var(--ease);
}
.bsl-nav a::after {
	content: ""; position: absolute; left: 15px; right: 15px; bottom: 6px; height: 2px;
	background: var(--gold); transform: scaleX(0); transform-origin: left; transition: transform .28s var(--ease);
}
.bsl-nav li:hover > a { color: var(--gold-bright); }
.bsl-nav li:hover > a::after { transform: scaleX(1); }
.bsl-nav .menu-item-has-children > a { padding-right: 30px; }
.bsl-nav .menu-item-has-children > a::before { /* caret — absolute at the right so it never overlaps the label */
	content: ""; position: absolute; right: 13px; top: 50%; width: 5px; height: 5px; margin-top: -4px;
	border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate(45deg); opacity: .7;
	transition: transform .2s var(--ease);
}
.bsl-nav .menu-item-has-children:hover > a::before { transform: rotate(45deg) translateY(2px); }
/* Submenu */
.bsl-nav .sub-menu {
	position: absolute; top: 100%; left: 0; min-width: 220px; background: var(--cream); color: var(--ink);
	box-shadow: var(--shadow-md); border-top: 3px solid var(--gold); padding: 8px; border-radius: 0 0 var(--radius-lg) var(--radius-lg);
	display: block; opacity: 0; visibility: hidden; transform: translateY(8px); transition: all .22s var(--ease); z-index: 20;
}
.bsl-nav li { position: relative; }
.bsl-nav li:hover > .sub-menu { opacity: 1; visibility: visible; transform: translateY(0); }
.bsl-nav .sub-menu a { color: var(--ink); padding: 9px 14px; font-size: .78rem; }
.bsl-nav .sub-menu a::after { display: none; }
.bsl-nav .sub-menu li:hover > a { background: var(--cream-2); color: var(--bordo); }

.bsl-header__socials { display: flex; gap: 4px; }
.bsl-header__socials a { width: 34px; height: 34px; display: grid; place-items: center; border-radius: 50%; color: var(--cream); transition: background .2s, color .2s; }
.bsl-header__socials a:hover { background: var(--gold); color: var(--ink); }
.bsl-header__socials svg { width: 16px; height: 16px; fill: currentColor; }

.bsl-burger { display: none; margin-left: auto; width: 46px; height: 46px; background: transparent; border: 0; position: relative; }
.bsl-burger span { position: absolute; left: 10px; right: 10px; height: 2px; background: var(--cream); transition: .3s var(--ease); }
.bsl-burger span:nth-child(1){ top: 16px; } .bsl-burger span:nth-child(2){ top: 23px; } .bsl-burger span:nth-child(3){ top: 30px; }
.bsl-burger.is-open span:nth-child(1){ top: 23px; transform: rotate(45deg); }
.bsl-burger.is-open span:nth-child(2){ opacity: 0; }
.bsl-burger.is-open span:nth-child(3){ top: 23px; transform: rotate(-45deg); }

/* ==========================================================================
   HERO
   ========================================================================== */
.bsl-hero { position: relative; min-height: min(88vh, 820px); display: flex; align-items: flex-end; color: var(--cream); overflow: hidden; }
.bsl-hero__media { position: absolute; inset: 0; z-index: 0; }
.bsl-hero__media img { width: 100%; height: 100%; object-fit: cover; object-position: center 28%; }
.bsl-hero__media::after {
	content: ""; position: absolute; inset: 0;
	background:
		linear-gradient(180deg, rgba(61,10,33,.55) 0%, rgba(61,10,33,.15) 30%, rgba(61,10,33,.75) 82%, var(--bordo-deep) 100%),
		linear-gradient(90deg, rgba(61,10,33,.85) 0%, rgba(61,10,33,.1) 55%);
}
.bsl-hero__inner { position: relative; z-index: 2; width: 100%; padding-block: 60px 70px; display: grid; grid-template-columns: 1.35fr .9fr; gap: 40px; align-items: end; }
.bsl-hero__head { max-width: 640px; }
.bsl-hero__head .bsl-kicker { color: var(--gold-bright); }
.bsl-hero__head .bsl-kicker::before { background: var(--gold-bright); }
.bsl-hero h1 {
	font-size: clamp(2.9rem, 8vw, 6.4rem); text-transform: uppercase; letter-spacing: -.03em; margin: 16px 0 0;
	text-shadow: 0 4px 30px rgba(0,0,0,.4);
}
.bsl-hero h1 em { font-style: normal; color: var(--gold-bright); display: block; }
.bsl-hero__sub { font-size: 1.08rem; max-width: 460px; margin: 20px 0 30px; color: rgba(251,251,248,.9); }
.bsl-hero__cta { display: flex; gap: 14px; flex-wrap: wrap; }
.bsl-hero__tag { position: absolute; right: var(--gutter); top: 40px; font-family: var(--font-display); font-weight: 800; font-style: italic; letter-spacing: .04em; font-size: clamp(1.4rem, 4vw, 2.6rem); color: rgba(251,251,248,.14); text-transform: uppercase; z-index: 2; pointer-events: none; }

/* Next-game card */
.bsl-nextgame {
	background: var(--cream); color: var(--ink); border-radius: var(--radius-lg); box-shadow: var(--shadow-lg);
	overflow: hidden; align-self: end;
}
.bsl-nextgame__top { background: var(--bordo); color: var(--cream); padding: 14px 20px; display: flex; align-items: center; justify-content: space-between; }
.bsl-nextgame__top .lbl { font-family: var(--font-display); font-weight: 800; text-transform: uppercase; font-size: .82rem; letter-spacing: .1em; }
.bsl-nextgame__top .lyga { font-size: .66rem; font-weight: 700; letter-spacing: .12em; background: var(--gold); color: var(--ink); padding: 4px 9px; border-radius: 40px; text-transform: uppercase; }
.bsl-nextgame__teams { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 10px; padding: 26px 20px 10px; }
.bsl-nextgame__team { text-align: center; display: grid; gap: 8px; justify-items: center; }
.bsl-nextgame__team img, .bsl-nextgame__crest { width: 66px; height: 66px; object-fit: contain; }
.bsl-nextgame__crest { border-radius: 50%; background: var(--cream-2); display: grid; place-items: center; font-family: var(--font-display); font-weight: 800; color: var(--bordo); }
.bsl-nextgame__team b { font-size: .82rem; font-weight: 700; line-height: 1.15; }
.bsl-nextgame__vs { font-family: var(--font-display); font-weight: 800; font-size: 1.1rem; color: var(--gold-deep); }
.bsl-nextgame__meta { text-align: center; font-size: .82rem; color: var(--text-soft); padding: 0 20px 6px; }
.bsl-nextgame__meta b { color: var(--ink); }
/* Countdown */
.bsl-countdown { display: grid; grid-template-columns: repeat(4, 1fr); gap: 6px; padding: 14px 20px 22px; }
.bsl-countdown div { background: var(--ink); color: var(--cream); border-radius: var(--radius); padding: 10px 4px; text-align: center; }
.bsl-countdown span { display: block; font-family: var(--font-display); font-weight: 800; font-size: 1.5rem; line-height: 1; font-variant-numeric: tabular-nums; }
.bsl-countdown small { font-size: .58rem; letter-spacing: .1em; text-transform: uppercase; opacity: .7; }
.bsl-nextgame__foot { display: block; text-align: center; background: var(--gold); color: var(--ink); font-family: var(--font-display); font-weight: 800; text-transform: uppercase; letter-spacing: .08em; font-size: .82rem; padding: 14px; transition: background .2s; }
.bsl-nextgame__foot:hover { background: var(--gold-bright); }

/* ==========================================================================
   SECTIONS
   ========================================================================== */
.bsl-section { padding-block: clamp(56px, 8vw, 100px); }
.bsl-section--tint { background: linear-gradient(180deg, var(--cream) 0%, var(--cream-2) 100%); }
.bsl-section--bordo { background: var(--bordo); color: var(--cream); position: relative; }
.bsl-section--bordo .bsl-shead h2 { color: var(--cream); }
.bsl-section--bordo .bsl-kicker { color: var(--gold-bright); }
.bsl-section--dark { background: var(--ink); color: var(--cream); }

/* News grid */
.bsl-news { display: grid; grid-template-columns: repeat(3, 1fr); gap: 26px; }
.bsl-news__card { background: var(--white); border-radius: var(--radius-lg); overflow: hidden; box-shadow: var(--shadow-sm); transition: transform .35s var(--ease), box-shadow .35s var(--ease); display: flex; flex-direction: column; }
.bsl-news__card:hover { transform: translateY(-6px); box-shadow: var(--shadow-md); }
.bsl-news__thumb { aspect-ratio: 16/10; overflow: hidden; position: relative; }
.bsl-news__thumb img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s var(--ease); }
.bsl-news__card:hover .bsl-news__thumb img { transform: scale(1.06); }
.bsl-news__body { padding: 22px 22px 26px; display: flex; flex-direction: column; gap: 10px; flex: 1; }
.bsl-news__date { font-size: .72rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--gold-deep); }
.bsl-news__title { font-family: var(--font-display); font-weight: 700; font-size: 1.16rem; line-height: 1.18; color: var(--bordo); }
.bsl-news__card:hover .bsl-news__title { color: var(--bordo-600); }
.bsl-news--featured .bsl-news__card:first-child { grid-row: span 2; grid-column: span 2; }
.bsl-news--featured .bsl-news__card:first-child .bsl-news__title { font-size: clamp(1.5rem, 3vw, 2.2rem); }

/* Standings */
.bsl-standings { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; }
.bsl-standings__tabs { display: flex; gap: 6px; margin-bottom: 18px; }
.bsl-standings__tab { background: rgba(251,251,248,.12); color: var(--cream); border: 0; padding: 9px 18px; border-radius: 40px; font-weight: 700; font-size: .78rem; letter-spacing: .06em; text-transform: uppercase; transition: .2s; }
.bsl-standings__tab.is-active { background: var(--gold); color: var(--ink); }
.bsl-table { width: 100%; border-collapse: collapse; }
.bsl-table th { text-align: left; font-size: .66rem; letter-spacing: .12em; text-transform: uppercase; color: var(--gold-bright); padding: 8px 10px; font-weight: 700; }
.bsl-table td { padding: 12px 10px; border-top: 1px solid rgba(251,251,248,.12); font-size: .92rem; }
.bsl-table .rank { font-family: var(--font-display); font-weight: 800; color: var(--gold-bright); width: 34px; }
.bsl-table .team { font-weight: 600; }
.bsl-table .num { text-align: center; font-variant-numeric: tabular-nums; width: 44px; }
.bsl-table tr.is-us td { background: rgba(185,169,118,.16); }
.bsl-table tr.is-us .team { color: var(--gold-bright); font-weight: 800; }
.bsl-standings__panel { display: none; }
.bsl-standings__panel.is-active { display: block; animation: bslFade .4s var(--ease); }

/* Team / players */
.bsl-roster { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; }
.bsl-player {
	position: relative; border-radius: var(--radius-lg); overflow: hidden; aspect-ratio: 3/4; background: var(--bordo-deep);
	cursor: pointer; box-shadow: var(--shadow-sm); transition: transform .35s var(--ease), box-shadow .35s var(--ease);
}
.bsl-player:hover { transform: translateY(-6px); box-shadow: var(--shadow-md); }
.bsl-player img { width: 100%; height: 100%; object-fit: cover; object-position: top center; filter: grayscale(.15) contrast(1.02); transition: transform .5s var(--ease), filter .4s; }
.bsl-player:hover img { transform: scale(1.05); filter: grayscale(0); }
.bsl-player__num { position: absolute; top: 12px; right: 14px; font-family: var(--font-display); font-weight: 800; font-size: 2.6rem; color: rgba(251,251,248,.85); line-height: 1; text-shadow: 0 2px 14px rgba(0,0,0,.5); z-index: 2; }
.bsl-player__meta { position: absolute; inset: auto 0 0 0; padding: 40px 16px 16px; z-index: 2;
	background: linear-gradient(180deg, transparent, rgba(61,10,33,.92)); color: var(--cream); }
.bsl-player__meta .pos { font-size: .66rem; letter-spacing: .14em; text-transform: uppercase; color: var(--gold-bright); font-weight: 700; }
.bsl-player__meta b { display: block; font-family: var(--font-display); font-weight: 800; font-size: 1.12rem; line-height: 1.05; text-transform: uppercase; margin-top: 3px; }

/* Player modal */
.bsl-modal { position: fixed; inset: 0; z-index: 200; display: none; align-items: center; justify-content: center; padding: 20px; }
.bsl-modal.is-open { display: flex; }
.bsl-modal__back { position: absolute; inset: 0; background: rgba(20,9,14,.7); backdrop-filter: blur(4px); }
.bsl-modal__box { position: relative; z-index: 2; width: min(760px, 100%); background: var(--cream); border-radius: var(--radius-lg); overflow: hidden; display: grid; grid-template-columns: 300px 1fr; box-shadow: var(--shadow-lg); animation: bslPop .4s var(--ease); }
.bsl-modal__photo { background: var(--bordo-deep); }
.bsl-modal__photo img { width: 100%; height: 100%; object-fit: cover; }
.bsl-modal__body { padding: 32px; }
.bsl-modal__close { position: absolute; top: 14px; right: 14px; width: 38px; height: 38px; border-radius: 50%; background: rgba(20,9,14,.4); color: #fff; border: 0; font-size: 1.2rem; z-index: 3; }
.bsl-modal__pos { color: var(--gold-deep); font-weight: 700; letter-spacing: .12em; text-transform: uppercase; font-size: .74rem; }
.bsl-modal__name { font-family: var(--font-display); font-weight: 800; font-size: 2rem; text-transform: uppercase; color: var(--bordo); line-height: 1; margin: 6px 0 18px; }
.bsl-modal__bio { display: flex; gap: 26px; margin-bottom: 22px; }
.bsl-modal__bio div span { display: block; font-family: var(--font-display); font-weight: 800; font-size: 1.5rem; color: var(--ink); }
.bsl-modal__bio div small { font-size: .66rem; letter-spacing: .1em; text-transform: uppercase; color: var(--text-soft); }
.bsl-statgrid { border-top: 1px solid var(--line); padding-top: 18px; }
.bsl-statgrid h4 { font-size: .74rem; letter-spacing: .12em; text-transform: uppercase; color: var(--gold-deep); margin-bottom: 12px; }
.bsl-statgrid__row { display: grid; grid-template-columns: 1fr repeat(3,54px); gap: 8px; align-items: center; margin-bottom: 8px; }
.bsl-statgrid__row .lg { font-weight: 700; font-size: .82rem; }
.bsl-statgrid__row .st { text-align: center; font-family: var(--font-display); font-weight: 800; }
.bsl-statgrid__head { color: var(--text-soft); font-size: .62rem; letter-spacing: .08em; text-transform: uppercase; }
.bsl-statgrid__head .st { font-weight: 700; }

/* Tickets / CTA band */
.bsl-tickets { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
.bsl-ticketcard { position: relative; border-radius: var(--radius-lg); overflow: hidden; padding: 44px 40px; color: var(--cream); min-height: 220px; display: flex; flex-direction: column; justify-content: flex-end; isolation: isolate; }
.bsl-ticketcard::before { content: ""; position: absolute; inset: 0; z-index: -1; background: var(--ink); transition: transform .5s var(--ease); }
.bsl-ticketcard--1::before { background: linear-gradient(135deg, var(--bordo) 0%, var(--bordo-deep) 100%); }
.bsl-ticketcard--2::before { background: linear-gradient(135deg, var(--gold-deep) 0%, var(--ink) 100%); }
.bsl-ticketcard:hover::before { transform: scale(1.05); }
.bsl-ticketcard h3 { font-size: 1.8rem; text-transform: uppercase; }
.bsl-ticketcard p { margin: 8px 0 20px; opacity: .85; }
.bsl-ticketcard .bsl-btn { align-self: flex-start; }

/* Sponsors */
.bsl-sponsors__tier { margin-bottom: 46px; }
.bsl-sponsors__tier:last-child { margin-bottom: 0; }
.bsl-sponsors__tier h4 { text-align: center; font-size: .72rem; letter-spacing: .18em; text-transform: uppercase; color: var(--gold-deep); margin-bottom: 22px; position: relative; }

/* Sponsor logo card — clean white pill keeps full-colour logos crisp on the tinted band, heights normalised */
.bsl-splogo { display: flex; align-items: center; justify-content: center; height: 88px; min-width: 148px; padding: 16px 28px; background: #fff; border-radius: 16px; box-shadow: 0 6px 20px rgba(20,9,14,.07), 0 1px 2px rgba(20,9,14,.04); transition: transform .35s var(--ease), box-shadow .35s var(--ease); }
.bsl-splogo img { max-height: 56px; max-width: 152px; width: auto; height: auto; object-fit: contain; display: block; }
.bsl-splogo:hover { transform: translateY(-4px); box-shadow: 0 16px 34px rgba(20,9,14,.14); }

/* Static grid (archive + featured top tier fallback) */
.bsl-sponsors__grid { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 22px; }

/* Featured top tier — larger, prominent, centred (no marquee) */
.bsl-sponsors__feature { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 26px; }
.bsl-sponsors__feature .bsl-splogo { height: 128px; min-width: 224px; padding: 22px 42px; border-radius: 20px; }
.bsl-sponsors__feature .bsl-splogo img { max-height: 82px; max-width: 208px; }

/* Auto-scrolling logo marquee (pure CSS, seamless, pauses on hover) */
.bsl-marquee { overflow: hidden; -webkit-mask-image: linear-gradient(90deg, transparent, #000 7%, #000 93%, transparent); mask-image: linear-gradient(90deg, transparent, #000 7%, #000 93%, transparent); }
.bsl-marquee__track { display: flex; flex-wrap: nowrap; width: max-content; animation: bsl-marquee var(--bsl-dur, 40s) linear infinite; will-change: transform; }
.bsl-marquee:hover .bsl-marquee__track,
.bsl-marquee:focus-within .bsl-marquee__track { animation-play-state: paused; }
.bsl-marquee__set { display: flex; flex-wrap: nowrap; align-items: center; gap: 48px; padding-right: 48px; }
@keyframes bsl-marquee { from { transform: translateX(0); } to { transform: translateX(-50%); } }

/* Marquee cards are large — at the featured tier's scale — so ONE unique set of the real logos
   exceeds the ~1120px row by a full card width, guaranteeing no sponsor is shown twice at once. */
.bsl-marquee .bsl-splogo { height: 124px; min-width: 320px; padding: 24px 48px; border-radius: 20px; }
.bsl-marquee .bsl-splogo img { max-height: 84px; max-width: 220px; }

/* Newsletter band */
.bsl-newsletter { display: grid; grid-template-columns: 1.1fr 1fr; gap: 40px; align-items: center; }
.bsl-newsletter h2 { font-size: clamp(1.8rem,4vw,2.8rem); text-transform: uppercase; color: var(--cream); }
.bsl-newsletter p { color: rgba(251,251,248,.8); margin-top: 10px; }
.bsl-newsletter__form { display: flex; gap: 10px; }
.bsl-newsletter__form input { flex: 1; padding: 16px 18px; border-radius: var(--radius); border: 0; font-family: inherit; font-size: 1rem; background: rgba(251,251,248,.14); color: var(--cream); }
.bsl-newsletter__form input::placeholder { color: rgba(251,251,248,.6); }

/* ==========================================================================
   FOOTER
   ========================================================================== */
.bsl-footer { background: var(--ink); color: rgba(251,251,248,.75); padding-top: 66px; }
.bsl-footer__grid { display: grid; grid-template-columns: 1.4fr 1fr 1fr 1fr; gap: 40px; padding-bottom: 46px; border-bottom: 1px solid rgba(251,251,248,.1); }
.bsl-footer__brand img { height: 72px; margin-bottom: 16px; }
.bsl-footer h5 { font-family: var(--font-display); font-weight: 800; text-transform: uppercase; font-size: .86rem; letter-spacing: .08em; color: var(--cream); margin: 0 0 18px; }
.bsl-footer ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.bsl-footer a:hover { color: var(--gold-bright); }
.bsl-footer__contacts { font-size: .88rem; line-height: 1.7; }
.bsl-footer__contacts b { color: var(--cream); }
.bsl-footer__socials { display: flex; gap: 8px; margin-top: 16px; }
.bsl-footer__socials a { width: 38px; height: 38px; border-radius: 50%; display: grid; place-items: center; background: rgba(251,251,248,.08); transition: .2s; }
.bsl-footer__socials a:hover { background: var(--gold); color: var(--ink); }
.bsl-footer__socials svg { width: 16px; height: 16px; fill: currentColor; }
.bsl-footer__bottom { display: flex; justify-content: space-between; align-items: center; gap: 20px; padding: 22px 0 30px; font-size: .78rem; flex-wrap: wrap; }

/* ==========================================================================
   ANIMATIONS + REVEAL
   ========================================================================== */
@keyframes bslFade { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }
@keyframes bslPop { from { opacity: 0; transform: scale(.96) translateY(10px); } to { opacity: 1; transform: none; } }
@keyframes bslHeroUp { from { opacity: 0; transform: translateY(26px); } to { opacity: 1; transform: none; } }

.bsl-hero__head > * { animation: bslHeroUp .9s var(--ease) backwards; }
.bsl-hero__head .bsl-kicker { animation-delay: .05s; }
.bsl-hero__head h1 { animation-delay: .15s; }
.bsl-hero__head .bsl-hero__sub { animation-delay: .3s; }
.bsl-hero__head .bsl-hero__cta { animation-delay: .42s; }
.bsl-nextgame { animation: bslHeroUp 1s var(--ease) .5s backwards; }

/* Reveal only when JS is active, so content is never invisible without JS. */
.bsl-js [data-reveal] { opacity: 0; transform: translateY(28px); transition: opacity .7s var(--ease), transform .7s var(--ease); }
.bsl-js [data-reveal].is-in { opacity: 1; transform: none; }

/* Mobile nav panel is hidden on desktop; the media query below turns it into a slide-in panel. */
.bsl-mobilenav { display: none; }

@media (prefers-reduced-motion: reduce) {
	* { animation: none !important; transition: none !important; }
	[data-reveal] { opacity: 1; transform: none; }
}

/* ==========================================================================
   RESPONSIVE
   ========================================================================== */
@media (max-width: 1080px) {
	.bsl-hero__inner { grid-template-columns: 1fr; }
	.bsl-nextgame { max-width: 420px; }
	.bsl-roster { grid-template-columns: repeat(3, 1fr); }
	.bsl-standings { grid-template-columns: 1fr; gap: 30px; }
}
@media (max-width: 900px) {
	.bsl-nav, .bsl-header__socials { display: none; }
	.bsl-burger { display: block; }
	.bsl-news, .bsl-news--featured { grid-template-columns: 1fr 1fr; }
	.bsl-news--featured .bsl-news__card:first-child { grid-row: auto; grid-column: 1 / -1; }
	.bsl-newsletter { grid-template-columns: 1fr; }
	.bsl-footer__grid { grid-template-columns: 1fr 1fr; }
	.bsl-modal__box { grid-template-columns: 1fr; }
	.bsl-modal__photo { aspect-ratio: 16/9; }

	/* Mobile nav panel */
	.bsl-mobilenav { display: block; position: fixed; inset: 82px 0 0 0; background: var(--bordo-deep); z-index: 99; transform: translateX(100%); transition: transform .35s var(--ease); overflow-y: auto; padding: 20px var(--gutter) 60px; }
	.bsl-mobilenav.is-open { transform: none; }
	.bsl-mobilenav ul { list-style: none; margin: 0; padding: 0; }
	.bsl-mobilenav > ul > li { border-bottom: 1px solid rgba(251,251,248,.12); }
	.bsl-mobilenav a { display: block; padding: 16px 4px; color: var(--cream); font-family: var(--font-display); font-weight: 700; text-transform: uppercase; letter-spacing: .04em; font-size: 1.1rem; }
	.bsl-mobilenav .sub-menu a { font-size: .92rem; font-weight: 500; padding: 10px 16px; color: var(--gold-bright); text-transform: none; letter-spacing: 0; }
}
@media (max-width: 620px) {
	body { font-size: 16px; }
	.bsl-tickets { grid-template-columns: 1fr; }
	.bsl-news, .bsl-news--featured { grid-template-columns: 1fr; }
	.bsl-roster { grid-template-columns: repeat(2, 1fr); }
	.bsl-footer__grid { grid-template-columns: 1fr; }
	.bsl-hero__tag { display: none; }
	.bsl-newsletter__form { flex-direction: column; }

	/* Sponsors: compact cards on small screens */
	.bsl-splogo { height: 68px; min-width: 116px; padding: 12px 20px; border-radius: 14px; }
	.bsl-splogo img { max-height: 42px; max-width: 116px; }
	.bsl-marquee__set { gap: 20px; padding-right: 20px; }
	.bsl-marquee .bsl-splogo { height: 100px; min-width: 178px; padding: 16px 26px; border-radius: 16px; }
	.bsl-marquee .bsl-splogo img { max-height: 62px; max-width: 150px; }
	.bsl-sponsors__feature .bsl-splogo { height: 96px; min-width: 150px; padding: 16px 26px; }
	.bsl-sponsors__feature .bsl-splogo img { max-height: 60px; max-width: 148px; }
}

/* Sponsors: honour reduced motion — stop the marquee, collapse to a single static wrapped row */
@media (prefers-reduced-motion: reduce) {
	.bsl-marquee { -webkit-mask-image: none; mask-image: none; }
	.bsl-marquee__track { animation: none; width: auto; flex-wrap: wrap; justify-content: center; }
	.bsl-marquee__set { flex-wrap: wrap; justify-content: center; padding-right: 0; }
	.bsl-marquee__set:not(:first-child) { display: none; }
}

/* ==========================================================================
   INNER PAGES
   ========================================================================== */
.bsl-pagehero { background: var(--bordo); color: var(--cream); padding: clamp(40px,6vw,80px) 0 clamp(36px,5vw,56px); position: relative; overflow: hidden; }
.bsl-pagehero::after { content:""; position:absolute; right:-60px; top:-40px; width:320px; height:320px; border-radius:50%; background: radial-gradient(circle, rgba(185,169,118,.22), transparent 70%); }
.bsl-pagehero .bsl-kicker { color: var(--gold-bright); }
.bsl-pagehero .bsl-kicker::before { background: var(--gold-bright); }
.bsl-pagehero h1 { font-size: clamp(2.2rem,6vw,4.2rem); text-transform: uppercase; letter-spacing:-.02em; margin-top: 14px; }
.bsl-crumbs { font-size:.78rem; letter-spacing:.06em; text-transform:uppercase; color: rgba(251,251,248,.6); margin-bottom: 10px; }
.bsl-crumbs a:hover { color: var(--gold-bright); }

.bsl-prose { font-size:1.06rem; line-height:1.75; }
.bsl-prose h2 { color:var(--bordo); font-size:1.7rem; text-transform:uppercase; margin:1.6em 0 .5em; }
.bsl-prose h3 { color:var(--bordo); margin:1.4em 0 .4em; }
.bsl-prose p { margin: 0 0 1.1em; }
.bsl-prose img { border-radius: var(--radius-lg); margin: 1em 0; }
.bsl-prose a { color: var(--bordo-600); text-decoration: underline; text-decoration-color: var(--gold); }

/* Staff / admin grid */
.bsl-staff { display:grid; grid-template-columns:repeat(4,1fr); gap:20px; }
.bsl-staff__card { background:var(--white); border-radius:var(--radius-lg); overflow:hidden; box-shadow:var(--shadow-sm); }
.bsl-staff__photo { aspect-ratio:1/1; background:var(--cream-2); overflow:hidden; }
.bsl-staff__photo img { width:100%; height:100%; object-fit:cover; object-position:top center; }
.bsl-staff__noimg { width:100%; height:100%; display:grid; place-items:center; font-family:var(--font-display); font-weight:800; font-size:2.4rem; color:var(--gold-deep); background:linear-gradient(135deg,var(--cream-2),var(--cream)); }
.bsl-staff__body { padding:16px 18px 20px; }
.bsl-staff__role { font-size:.68rem; letter-spacing:.12em; text-transform:uppercase; color:var(--gold-deep); font-weight:700; }
.bsl-staff__body b { display:block; font-family:var(--font-display); font-size:1.05rem; color:var(--bordo); margin:4px 0 6px; text-transform:uppercase; }
.bsl-staff__body .bsl-mail { font-size:.82rem; color:var(--text-soft); word-break:break-all; }

/* Schedule list */
.bsl-schedule { display:grid; gap:12px; }
.bsl-fixture { display:grid; grid-template-columns: 110px 1fr auto; gap:20px; align-items:center; background:var(--white); border-radius:var(--radius-lg); padding:18px 24px; box-shadow:var(--shadow-sm); border-left:4px solid var(--gold); }
.bsl-fixture__date { font-family:var(--font-display); font-weight:800; color:var(--bordo); line-height:1; }
.bsl-fixture__date span { display:block; font-size:1.6rem; }
.bsl-fixture__date small { font-size:.66rem; letter-spacing:.1em; text-transform:uppercase; color:var(--text-soft); font-weight:600; }
.bsl-fixture__teams { display:flex; align-items:center; gap:14px; font-weight:700; }
.bsl-fixture__teams .lyga { font-size:.6rem; background:var(--cream-2); color:var(--gold-deep); padding:3px 8px; border-radius:20px; letter-spacing:.08em; text-transform:uppercase; }
.bsl-fixture__score { font-family:var(--font-display); font-weight:800; font-size:1.4rem; color:var(--bordo); }
.bsl-fixture__score .up { font-size:.8rem; color:var(--gold-deep); font-weight:700; }
.bsl-filters { display:flex; gap:8px; flex-wrap:wrap; margin-bottom:26px; }
.bsl-filters button { background:var(--white); border:1px solid var(--line); color:var(--text); padding:8px 16px; border-radius:40px; font-weight:700; font-size:.78rem; letter-spacing:.04em; text-transform:uppercase; transition:.2s; }
.bsl-filters button.is-active { background:var(--bordo); color:var(--cream); border-color:var(--bordo); }
.bsl-note { background:rgba(185,169,118,.14); border:1px dashed var(--gold); border-radius:var(--radius-lg); padding:18px 22px; color:var(--gold-deep); font-size:.9rem; margin-top:26px; }

/* Single player */
.bsl-playerhero { display:grid; grid-template-columns: 420px 1fr; gap:0; background:var(--bordo); color:var(--cream); }
.bsl-playerhero__photo { background:var(--bordo-deep); position:relative; min-height:460px; }
.bsl-playerhero__photo img { width:100%; height:100%; object-fit:cover; object-position:top center; }
.bsl-playerhero__num { position:absolute; top:20px; left:24px; font-family:var(--font-display); font-weight:800; font-size:5rem; color:rgba(251,251,248,.9); line-height:1; }
.bsl-playerhero__body { padding: clamp(30px,4vw,60px); display:flex; flex-direction:column; justify-content:center; }
.bsl-playerhero__body .pos { color:var(--gold-bright); font-weight:700; letter-spacing:.14em; text-transform:uppercase; font-size:.8rem; }
.bsl-playerhero__body h1 { font-size:clamp(2.4rem,5vw,4rem); text-transform:uppercase; margin:8px 0 24px; }
.bsl-playerhero__bio { display:flex; gap:34px; flex-wrap:wrap; }
.bsl-playerhero__bio div span { display:block; font-family:var(--font-display); font-weight:800; font-size:1.8rem; color:var(--gold-bright); }
.bsl-playerhero__bio div small { font-size:.68rem; letter-spacing:.1em; text-transform:uppercase; opacity:.7; }

@media (max-width:900px){ .bsl-staff{grid-template-columns:repeat(2,1fr);} .bsl-playerhero{grid-template-columns:1fr;} .bsl-playerhero__photo{aspect-ratio:4/3;min-height:auto;} .bsl-fixture{grid-template-columns:80px 1fr;} .bsl-fixture__score{grid-column:2;justify-self:start;} }
@media (max-width:560px){ .bsl-staff{grid-template-columns:1fr 1fr;} .bsl-fixture__teams{flex-wrap:wrap;gap:6px;} }

/* ==========================================================================
   COOKIE CONSENT (BDAR)
   ========================================================================== */
.bsl-cookie { position: fixed; left: 20px; right: 20px; bottom: 20px; z-index: 300; max-width: 760px; margin: 0 auto;
	background: var(--cream); color: var(--ink); border-radius: var(--radius-lg); box-shadow: var(--shadow-lg);
	border-top: 4px solid var(--gold); animation: bslCookieUp .5s var(--ease); }
.bsl-cookie[hidden] { display: none; }
.bsl-cookie__inner { display: flex; align-items: center; gap: 24px; padding: 20px 24px; flex-wrap: wrap; }
.bsl-cookie__text { flex: 1; min-width: 240px; }
.bsl-cookie__text b { font-family: var(--font-display); font-size: 1rem; }
.bsl-cookie__text p { margin: 6px 0 0; font-size: .86rem; color: var(--text-soft); line-height: 1.5; }
.bsl-cookie__text a { color: var(--bordo-600); text-decoration: underline; }
.bsl-cookie__actions { display: flex; gap: 10px; }
.bsl-cookie__actions .bsl-btn { padding: 12px 22px; font-size: .82rem; }
@keyframes bslCookieUp { from { opacity: 0; transform: translateY(20px); } to { opacity: 1; transform: none; } }
@media (max-width: 560px){ .bsl-cookie__actions { width: 100%; } .bsl-cookie__actions .bsl-btn { flex: 1; justify-content: center; } }

/* Player photo placeholder (no portrait yet — worker adds later) */
.bsl-player--noimg { display:flex; align-items:center; justify-content:center; background: linear-gradient(160deg, var(--bordo) 0%, var(--bordo-deep) 100%); }
.bsl-player__ph { font-family: var(--font-display); font-weight:800; font-size:5rem; color: rgba(251,251,248,.5); }
.bsl-player--noimg::after { content:""; position:absolute; inset:0; background: url(../img/logo.svg) center 40% / 120px no-repeat; opacity:.08; }
.bsl-player--noimg .bsl-player__meta { background: linear-gradient(180deg, transparent, rgba(61,10,33,.6)); }
.bsl-modal__photo--empty { background: linear-gradient(160deg, var(--bordo), var(--bordo-deep)) center/cover; position:relative; }
.bsl-modal__photo--empty::after { content:""; position:absolute; inset:0; background: url(../img/logo.svg) center/140px no-repeat; opacity:.14; }

/* ==========================================================================
   HERITAGE — stat band + timeline (History / Achievements)
   ========================================================================== */
.bsl-statband { background: var(--bordo); color: var(--cream); padding: clamp(40px,6vw,72px) 0; position: relative; overflow: hidden; }
.bsl-statband::after { content:""; position:absolute; inset:0; background: radial-gradient(120% 80% at 100% 0%, rgba(185,169,118,.22), transparent 55%); pointer-events:none; }
.bsl-statband__grid { display:grid; grid-template-columns: repeat(4,1fr); gap: 30px; position:relative; z-index:1; }
.bsl-stat { text-align:center; }
.bsl-stat b { display:block; font-family:var(--font-display); font-weight:800; font-size: clamp(2.6rem,6vw,4.6rem); line-height:.9; color: var(--gold-bright); letter-spacing:-.03em; }
.bsl-stat span { display:block; margin-top:10px; font-size:.8rem; letter-spacing:.14em; text-transform:uppercase; color: rgba(251,251,248,.82); font-weight:600; }
@media (max-width:720px){ .bsl-statband__grid { grid-template-columns: 1fr 1fr; gap:26px; } }

.bsl-timeline { position: relative; padding: 20px 0; }
.bsl-timeline__line { position:absolute; left:50%; top:0; bottom:0; width:3px; transform:translateX(-50%);
	background: linear-gradient(180deg, var(--gold) 0%, var(--bordo-600) 60%, var(--gold-deep) 100%); border-radius:3px; }
.bsl-tl { position: relative; width:50%; padding: 0 46px 46px 0; box-sizing:border-box; }
.bsl-tl:nth-child(even) { margin-left:50%; padding: 0 0 46px 46px; }
.bsl-tl__node { position:absolute; top:4px; right:-27px; width:54px; height:54px; border-radius:50%; background:var(--cream);
	box-shadow: 0 0 0 4px var(--bordo), 0 0 0 6px var(--gold), var(--shadow-md); display:grid; place-items:center; z-index:2; }
.bsl-tl:nth-child(even) .bsl-tl__node { right:auto; left:-27px; }
.bsl-tl__node img { width:34px; height:34px; object-fit:contain; }
.bsl-tl__year { position:absolute; top:12px; font-family:var(--font-display); font-weight:800; font-size:1.9rem; color:var(--gold-deep); }
.bsl-tl { --yoff: -132px; }
.bsl-tl__year { right:auto; left:calc(100% + 46px); }        /* odd: year to the right of node */
.bsl-tl:nth-child(even) .bsl-tl__year { left:auto; right:calc(100% + 46px); text-align:right; }
.bsl-tl__card { background: var(--white); border-radius: var(--radius-lg); box-shadow: var(--shadow-sm); overflow:hidden;
	border-left: 4px solid var(--gold); transition: transform .35s var(--ease), box-shadow .35s var(--ease); }
.bsl-tl:nth-child(even) .bsl-tl__card { border-left:0; border-right:4px solid var(--gold); }
.bsl-tl__card:hover { transform: translateY(-4px); box-shadow: var(--shadow-md); }
.bsl-tl__card img { width:100%; height:190px; object-fit:cover; display:block; }
.bsl-tl__body { padding: 20px 24px 24px; }
.bsl-tl__tag { display:inline-block; font-size:.62rem; font-weight:800; letter-spacing:.14em; text-transform:uppercase; padding:4px 10px; border-radius:40px; margin-bottom:10px; }
.bsl-tl__body h3 { font-family:var(--font-display); font-weight:800; font-size:1.2rem; line-height:1.12; color:var(--bordo); text-transform:uppercase; }
.bsl-tl__body p { margin:8px 0 0; font-size:.92rem; color:var(--text-soft); line-height:1.55; }
/* Champion milestone = gold emphasis */
.bsl-tl--champion .bsl-tl__card { background: linear-gradient(150deg, var(--bordo) 0%, var(--bordo-deep) 100%); border-color: var(--gold); box-shadow: var(--shadow-md); }
.bsl-tl--champion .bsl-tl__body h3 { color: var(--gold-bright); }
.bsl-tl--champion .bsl-tl__body p { color: rgba(251,251,248,.85); }
.bsl-tl--champion .bsl-tl__tag { background: var(--gold); color: var(--ink); }
.bsl-tl--medal .bsl-tl__tag { background: rgba(185,169,118,.18); color: var(--gold-deep); }
.bsl-tl--milestone .bsl-tl__tag { background: var(--cream-2); color: var(--gold-deep); }
.bsl-tl--champion .bsl-tl__node { box-shadow: 0 0 0 4px var(--gold), 0 0 0 8px var(--bordo), 0 8px 24px rgba(185,169,118,.5); }

/* reveal from side */
.bsl-js .bsl-tl { opacity:0; transform: translateX(-40px); transition: opacity .6s var(--ease), transform .6s var(--ease); }
.bsl-js .bsl-tl:nth-child(even) { transform: translateX(40px); }
.bsl-js .bsl-tl.is-in { opacity:1; transform:none; }

@media (max-width: 820px){
	.bsl-timeline__line { left: 27px; }
	.bsl-tl, .bsl-tl:nth-child(even) { width:100%; margin-left:0; padding: 0 0 34px 70px; }
	.bsl-tl__node, .bsl-tl:nth-child(even) .bsl-tl__node { left:0; right:auto; width:46px; height:46px; }
	.bsl-tl__node img { width:28px; height:28px; }
	.bsl-tl__year, .bsl-tl:nth-child(even) .bsl-tl__year { position:static; display:block; text-align:left; margin:0 0 6px; font-size:1.5rem; left:auto; right:auto; }
	.bsl-js .bsl-tl, .bsl-js .bsl-tl:nth-child(even) { transform: translateX(30px); }
	.bsl-tl__card img { height:160px; }
}

/* ==========================================================================
   SHOP STRIP (homepage, auto from shoplietkabelis.lt)
   ========================================================================== */
.bsl-shop { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(230px, 1fr); gap: 22px;
	overflow-x: auto; scroll-snap-type: x mandatory; padding: 6px 4px 20px; scrollbar-width: thin; }
.bsl-shop::-webkit-scrollbar { height: 8px; }
.bsl-shop::-webkit-scrollbar-thumb { background: var(--gold); border-radius: 40px; }
.bsl-shop__card { scroll-snap-align: start; background: var(--white); border-radius: var(--radius-lg); overflow: hidden;
	box-shadow: var(--shadow-sm); transition: transform .3s var(--ease), box-shadow .3s var(--ease); display: flex; flex-direction: column; }
.bsl-shop__card:hover { transform: translateY(-6px); box-shadow: var(--shadow-md); }
.bsl-shop__img { aspect-ratio: 1/1; background: var(--cream-2); overflow: hidden; display: grid; place-items: center; }
.bsl-shop__img img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s var(--ease); }
.bsl-shop__card:hover .bsl-shop__img img { transform: scale(1.06); }
.bsl-shop__ph { font-size: 3rem; opacity: .5; }
.bsl-shop__body { padding: 16px 18px 20px; display: flex; flex-direction: column; gap: 8px; flex: 1; }
.bsl-shop__body b { font-weight: 600; font-size: .92rem; line-height: 1.25; color: var(--ink); }
.bsl-shop__price { margin-top: auto; font-family: var(--font-display); font-weight: 800; color: var(--bordo); font-size: 1.05rem; }

/* History hero with 3D medallion */
.bsl-histhero { padding-block: clamp(20px,4vw,50px); }
.bsl-histhero__grid { display: grid; grid-template-columns: 1.1fr .9fr; gap: 30px; align-items: center; position: relative; z-index: 1; }
.bsl-histhero__text h1 { font-size: clamp(2.4rem,6vw,4.4rem); text-transform: uppercase; letter-spacing:-.02em; margin-top:12px; }
.bsl-histhero__text .bsl-kicker { color: var(--gold-bright); }
.bsl-histhero__text .bsl-kicker::before { background: var(--gold-bright); }
.bsl-histhero__text p { color: rgba(251,251,248,.85); margin-top: 16px; max-width: 460px; font-size: 1.05rem; }
.bsl-histhero__medal { min-width: 0; }
@media (max-width: 820px){
	.bsl-histhero__grid { grid-template-columns: 1fr; }
	.bsl-histhero__medal { order: -1; }
	.bsl-histhero .lk-history-3d { min-height: 300px; }
}

/* ==========================================================================
   QA FIXES — mobile/desktop polish (2026-07-25)
   ========================================================================== */
/* 1) Player names must never overflow their cards — fluid size + safe wrap */
.bsl-player__meta b { font-size: clamp(.8rem, 3.2vw, 1.12rem); overflow-wrap: break-word; }
@media (max-width: 620px){ .bsl-player__meta { padding: 34px 12px 14px; } }

/* 2) Timeline reveal must not cause horizontal scroll:
      clip the section, and on mobile slide vertically (single column) not sideways. */
.bsl-timeline { overflow-x: clip; }
@media (max-width: 820px){
	.bsl-js .bsl-tl, .bsl-js .bsl-tl:nth-child(even) { transform: translateY(24px); }
	.bsl-js .bsl-tl.is-in { transform: none; }
}

/* 3) Long-form prose: avoid gappy justified "rivers" on narrow screens */
@media (max-width: 640px){ .bsl-prose p, .bsl-prose { text-align: left; } }
