.ts-media-page {
	--media-red: #ed1c24;
	--media-green: #009c4b;
	--media-ink: #101114;
	--media-paper: #f3f4f6;
	--media-line: #dfe1e5;
	background: #fff;
	color: var(--media-ink);
	font-family: "Poppins", Arial, sans-serif;
	overflow: hidden;
}

.ts-media-page *,
.ts-media-page *::before,
.ts-media-page *::after { box-sizing: border-box; }
.ts-media-page a { color: inherit; text-decoration: none; }

.ts-media-hero {
	background-image: linear-gradient(90deg, rgba(7,8,10,.96) 0%, rgba(7,8,10,.82) 50%, rgba(7,8,10,.48) 100%), var(--media-hero-image);
	background-position: center 48%;
	background-size: cover;
	color: #fff;
	min-height: 420px;
	position: relative;
}

.ts-media-hero::before {
	background: linear-gradient(90deg, var(--media-red) 0 78%, var(--media-green) 78%);
	content: "";
	height: 4px;
	inset: 0 0 auto;
	position: absolute;
}

.ts-media-hero::after {
	background: repeating-linear-gradient(90deg, transparent 0 94px, rgba(255,255,255,.035) 94px 95px);
	content: "";
	inset: 0;
	pointer-events: none;
}

.ts-media-hero__inner {
	display: flex;
	flex-direction: column;
	min-height: 420px;
	padding-block: 30px 45px;
	position: relative;
	z-index: 1;
}

.ts-media-breadcrumb {
	align-items: center;
	display: flex;
	font-size: 10px;
	gap: 9px;
	padding-inline-start: clamp(92px, 9vw, 132px);
}

.ts-media-breadcrumb a { color: rgba(255,255,255,.6); transition: color .2s ease; }
.ts-media-breadcrumb a:hover, .ts-media-breadcrumb span { color: #fff; }
.ts-media-breadcrumb i { color: var(--media-red); font-style: normal; font-weight: 800; }

.ts-media-hero__content {
	align-items: end;
	display: flex;
	gap: 50px;
	justify-content: space-between;
	margin-top: auto;
}

.ts-media-kicker {
	align-items: center;
	color: var(--media-red);
	display: flex;
	font-size: 9px;
	font-weight: 750;
	gap: 10px;
	letter-spacing: .18em;
	margin: 0 0 14px;
	text-transform: uppercase;
}

.ts-media-kicker i {
	background: linear-gradient(90deg, var(--media-red) 0 72%, var(--media-green) 72%);
	display: inline-block;
	height: 5px;
	transform: skewX(-18deg);
	width: 34px;
}

.ts-media-hero h1 {
	font-size: clamp(58px, 7.4vw, 108px);
	font-weight: 700;
	letter-spacing: -.075em;
	line-height: .87;
	margin: 0;
}

.ts-media-hero__lead {
	color: rgba(255,255,255,.66);
	font-size: 13px;
	line-height: 1.75;
	margin: 22px 0 0;
	max-width: 650px;
}

.ts-media-hero__signal {
	align-items: center;
	backdrop-filter: blur(12px);
	background: rgba(8,9,11,.62);
	border: 1px solid rgba(255,255,255,.16);
	display: flex;
	gap: 14px;
	padding: 17px 20px;
}

.ts-media-hero__signal span { font-size: 27px; font-weight: 800; letter-spacing: -.06em; }
.ts-media-hero__signal b { color: #fff; font-size: 9px; letter-spacing: .16em; }
.ts-media-hero__signal b::before { background: var(--media-red); border-radius: 50%; box-shadow: 0 0 0 5px rgba(237,28,36,.18); content: ""; display: inline-block; height: 6px; margin-right: 10px; width: 6px; }

.ts-media-nav { background: #fff; border-bottom: 1px solid var(--media-line); }
.ts-media-nav .ts-container { display: flex; overflow-x: auto; scrollbar-width: none; }
.ts-media-nav .ts-container::-webkit-scrollbar { display: none; }
.ts-media-nav a { border-bottom: 3px solid transparent; color: #777a81; flex: 0 0 auto; font-size: 10px; font-weight: 600; padding: 20px 19px 17px; white-space: nowrap; }
.ts-media-nav a:hover, .ts-media-nav a.is-active { border-color: var(--media-red); color: var(--media-ink); }

.ts-media-intro {
	align-items: start;
	display: grid;
	gap: clamp(55px, 9vw, 145px);
	grid-template-columns: .9fr 1.1fr;
	padding-block: clamp(72px, 8vw, 120px);
}

.ts-media-intro span,
.ts-media-heading span,
.ts-media-channels span,
.ts-media-video-feature__copy > span {
	color: var(--media-red);
	font-size: 8px;
	font-weight: 750;
	letter-spacing: .18em;
	text-transform: uppercase;
}

.ts-media-intro h2,
.ts-media-heading h2,
.ts-media-channels h2,
.ts-media-video-feature__copy h2 {
	font-size: clamp(39px, 5vw, 68px);
	font-weight: 650;
	letter-spacing: -.065em;
	line-height: .96;
	margin: 12px 0 0;
}

.ts-media-intro > p {
	border-left: 1px solid var(--media-line);
	color: #676a72;
	font-size: 14px;
	line-height: 1.9;
	margin: 0;
	padding-left: clamp(28px, 4vw, 58px);
}

.ts-media-wall {
	display: grid;
	gap: 10px;
	grid-template-columns: 1.35fr .65fr .8fr;
	grid-template-rows: 300px 300px;
	padding-bottom: clamp(72px, 9vw, 125px);
}

.ts-media-frame {
	background: #151619;
	border: 0;
	cursor: zoom-in;
	margin: 0;
	overflow: hidden;
	padding: 0;
	position: relative;
	text-align: left;
}

.ts-media-frame--1 { grid-row: 1 / 3; }
.ts-media-frame--2 { grid-column: 2 / 4; }
.ts-media-frame img, .ts-media-gallery__item img { height: 100%; object-fit: cover; transition: transform .75s cubic-bezier(.22,1,.36,1); width: 100%; }
.ts-media-frame::after, .ts-media-gallery__item::after { background: linear-gradient(180deg, transparent 45%, rgba(0,0,0,.78)); content: ""; inset: 0; position: absolute; }
.ts-media-frame:hover img, .ts-media-gallery__item:hover img { transform: scale(1.04); }
.ts-media-frame > span, .ts-media-gallery__item > span { bottom: 20px; color: #fff; display: grid; font-family: "Poppins", Arial, sans-serif; font-size: 13px; font-weight: 600; gap: 5px; left: 20px; position: absolute; right: 18px; z-index: 2; }
.ts-media-frame small, .ts-media-gallery__item small { color: var(--media-red); font-size: 7px; letter-spacing: .16em; text-transform: uppercase; }

.ts-media-portals { background: var(--media-paper); padding-block: clamp(65px, 8vw, 110px); }
.ts-media-heading { align-items: end; border-bottom: 1px solid #d5d7da; display: flex; justify-content: space-between; margin-bottom: 32px; padding-bottom: 22px; }
.ts-media-heading h2 { font-size: clamp(36px, 4vw, 56px); }
.ts-media-heading > p { color: #92959b; font-size: 8px; letter-spacing: .12em; margin: 0; text-transform: uppercase; }

.ts-media-portals__grid { display: grid; gap: 18px; grid-template-columns: repeat(3, 1fr); }
.ts-media-portals__grid > a { background: #fff; border-top: 4px solid var(--media-red); min-height: 310px; padding: 32px; position: relative; transition: transform .35s ease, box-shadow .35s ease; }
.ts-media-portals__grid > a::after { color: rgba(16,17,20,.04); content: "TS"; font-size: 130px; font-weight: 800; letter-spacing: -.1em; position: absolute; right: 18px; top: 22px; }
.ts-media-portals__grid > a:hover { box-shadow: 0 24px 55px rgba(16,17,20,.1); transform: translateY(-5px); }
.ts-media-portals__grid > a.is-dark { background: var(--media-ink); color: #fff; }
.ts-media-portals__grid > a.is-dark::after { color: rgba(255,255,255,.05); }
.ts-media-portals__grid small { color: var(--media-red); font-size: 8px; font-weight: 750; letter-spacing: .15em; text-transform: uppercase; }
.ts-media-portals__grid h3 { font-size: clamp(30px, 3vw, 43px); font-weight: 620; letter-spacing: -.055em; line-height: 1.02; margin: 26px 0; position: relative; z-index: 1; }
.ts-media-portals__grid a > span { bottom: 30px; font-size: 9px; font-weight: 650; position: absolute; }

.ts-media-channels { background: var(--media-red); color: #fff; }
.ts-media-channels > .ts-container { align-items: center; display: grid; gap: 60px; grid-template-columns: 1.2fr .8fr; min-height: 310px; padding-block: 55px; }
.ts-media-channels span { color: rgba(255,255,255,.66); }
.ts-media-channels h2 { font-size: clamp(34px, 4vw, 56px); margin-top: 12px; }
.ts-media-channels__links { border-top: 1px solid rgba(255,255,255,.3); display: grid; }
.ts-media-channels__links a { align-items: center; border-bottom: 1px solid rgba(255,255,255,.3); display: flex; font-size: 14px; font-weight: 600; justify-content: space-between; padding: 18px 4px; }
.ts-media-channels__links a:hover b { transform: translate(3px,-3px); }
.ts-media-channels__links b { transition: transform .2s ease; }

/* Gallery */
.ts-media-gallery, .ts-media-press { background: var(--media-paper); padding-block: clamp(65px, 8vw, 110px); }
.ts-media-filters { display: flex; gap: 8px; margin-bottom: 26px; overflow-x: auto; padding-bottom: 4px; }
.ts-media-filters a { background: #fff; border: 1px solid #dcdfe3; color: #696c72; flex: 0 0 auto; font-size: 9px; font-weight: 600; padding: 11px 16px; transition: background-color .2s ease, border-color .2s ease, color .2s ease; }
.ts-media-filters a:hover,
.ts-media-filters a.is-active { background: var(--media-ink); border-color: var(--media-ink); color: #fff; }
.ts-media-gallery__grid { display: grid; gap: 14px; grid-auto-flow: dense; grid-template-columns: repeat(3, 1fr); }
.ts-media-gallery__item { background: #17181a; border: 0; cursor: zoom-in; height: 310px; margin: 0; overflow: hidden; padding: 0; position: relative; text-align: left; }
.ts-media-gallery__item:nth-child(1), .ts-media-gallery__item:nth-child(6) { grid-column: span 2; }
.ts-media-gallery__item strong { font-size: 13px; }
.ts-media-credit { border-top: 1px solid #d5d7da; color: #85888e; font-size: 9px; line-height: 1.7; margin: 34px 0 0; padding-top: 18px; }

.ts-media-lightbox { align-items: center; background: rgba(5,6,8,.94); display: flex; inset: 0; justify-content: center; padding: 45px; position: fixed; z-index: 2000; }
.ts-media-lightbox[hidden] { display: none; }
.ts-media-lightbox > div { max-height: 88vh; max-width: 1180px; }
.ts-media-lightbox img { display: block; max-height: 80vh; max-width: 100%; object-fit: contain; }
.ts-media-lightbox p { color: rgba(255,255,255,.75); font-size: 11px; margin: 13px 0 0; }
.ts-media-lightbox__close { background: #fff; border: 0; border-radius: 50%; color: #111; cursor: pointer; font-size: 27px; height: 44px; line-height: 1; position: absolute; right: 24px; top: 24px; width: 44px; }

/* Videos */
.ts-media-video-feature { padding-block: clamp(68px, 8vw, 115px); }
.ts-media-video-feature > .ts-container { align-items: center; display: grid; gap: clamp(45px, 8vw, 125px); grid-template-columns: 1.25fr .75fr; }
.ts-media-video-feature__visual { align-items: center; background-image: linear-gradient(rgba(7,8,10,.35), rgba(7,8,10,.75)), var(--video-cover); background-position: center; background-size: cover; color: #fff; display: flex; flex-direction: column; justify-content: center; min-height: 520px; position: relative; }
.ts-media-video-feature__visual small { bottom: 24px; font-size: 8px; left: 25px; letter-spacing: .14em; position: absolute; text-transform: uppercase; }
.ts-media-play { align-items: center; background: var(--media-red); border-radius: 50%; display: flex; font-size: 20px; height: 82px; justify-content: center; padding-left: 5px; width: 82px; }
.ts-media-video-feature__copy > p { color: #6b6e74; font-size: 12px; line-height: 1.8; margin: 24px 0 30px; }
.ts-media-video-feature__copy > a { border-bottom: 2px solid var(--media-red); font-size: 10px; font-weight: 650; padding-bottom: 6px; }
.ts-media-video-feature__copy > a b { color: var(--media-red); margin-left: 6px; }
.ts-media-video-formats { background: var(--media-ink); color: #fff; padding-block: clamp(65px, 8vw, 105px); }
.ts-media-video-formats .ts-media-heading { border-color: rgba(255,255,255,.14); }
.ts-media-video-formats__grid { display: grid; grid-template-columns: repeat(4, 1fr); }
.ts-media-video-formats__grid article { border-right: 1px solid rgba(255,255,255,.14); min-height: 235px; padding: 22px 28px; }
.ts-media-video-formats__grid article:first-child { border-left: 1px solid rgba(255,255,255,.14); }
.ts-media-video-formats__grid span { color: var(--media-red); font-size: 10px; }
.ts-media-video-formats__grid h3 { font-size: 22px; font-weight: 600; letter-spacing: -.04em; margin: 65px 0 12px; }
.ts-media-video-formats__grid p { color: rgba(255,255,255,.5); font-size: 9px; line-height: 1.7; margin: 0; }

/* Press */
.ts-media-press__list { border-top: 1px solid #d5d7da; }
.ts-media-press__list article { align-items: center; border-bottom: 1px solid #d5d7da; display: grid; gap: 35px; grid-template-columns: 190px 1fr 44px; padding: 27px 0; transition: background .2s ease, padding .2s ease; }
.ts-media-press__list article:hover { background: #fff; padding-inline: 18px; }
.ts-media-press__meta { display: grid; gap: 7px; }
.ts-media-press__meta strong { color: var(--media-red); font-size: 8px; letter-spacing: .12em; text-transform: uppercase; }
.ts-media-press__meta time { color: #93969c; font-size: 8px; }
.ts-media-press__list h3 { font-size: clamp(18px, 2vw, 27px); font-weight: 600; letter-spacing: -.04em; margin: 0; }
.ts-media-press__list p { color: #74777e; font-size: 10px; line-height: 1.65; margin: 8px 0 0; }
.ts-media-press__list article > a { align-items: center; background: #fff; border-radius: 50%; color: var(--media-red); display: flex; height: 38px; justify-content: center; width: 38px; }
.ts-media-press__list article:hover > a { background: var(--media-red); color: #fff; }

@media (max-width: 920px) {
	.ts-media-wall { grid-template-columns: 1fr 1fr; grid-template-rows: 420px 250px 250px; }
	.ts-media-frame--1 { grid-column: 1 / 3; grid-row: 1; }
	.ts-media-frame--2 { grid-column: 1 / 3; }
	.ts-media-portals__grid { grid-template-columns: 1fr 1fr; }
	.ts-media-video-feature > .ts-container { grid-template-columns: 1fr; }
	.ts-media-video-feature__copy { max-width: 700px; }
	.ts-media-video-formats__grid { grid-template-columns: 1fr 1fr; }
	.ts-media-video-formats__grid article { border-bottom: 1px solid rgba(255,255,255,.14); }
}

@media (max-width: 680px) {
	.ts-media-hero, .ts-media-hero__inner { min-height: 355px; }
	.ts-media-hero__inner { padding-block: 28px 35px; }
	.ts-media-breadcrumb { font-size: 9px; padding-inline-start: 0; }
	.ts-media-hero__content { align-items: flex-start; flex-direction: column; gap: 24px; }
	.ts-media-hero h1 { font-size: 52px; }
	.ts-media-hero__lead { font-size: 10px; margin-top: 16px; }
	.ts-media-hero__signal { display: none; }
	.ts-media-nav .ts-container { padding-inline: 4px; }
	.ts-media-intro { gap: 28px; grid-template-columns: 1fr; padding-block: 58px; }
	.ts-media-intro > p { border-left: 0; border-top: 1px solid var(--media-line); font-size: 11px; padding: 25px 0 0; }
	.ts-media-wall { gap: 7px; grid-template-columns: 1fr; grid-template-rows: 360px repeat(5, 225px); padding-inline: 12px; }
	.ts-media-frame--1, .ts-media-frame--2 { grid-column: auto; grid-row: auto; }
	.ts-media-portals__grid { grid-template-columns: 1fr; }
	.ts-media-portals__grid > a { min-height: 255px; }
	.ts-media-channels > .ts-container { gap: 35px; grid-template-columns: 1fr; padding-block: 48px; }
	.ts-media-heading { align-items: flex-start; flex-direction: column; gap: 12px; }
	.ts-media-gallery__grid { grid-template-columns: 1fr; }
	.ts-media-gallery__item, .ts-media-gallery__item:nth-child(1), .ts-media-gallery__item:nth-child(6) { grid-column: auto; height: 265px; }
	.ts-media-lightbox { padding: 22px; }
	.ts-media-lightbox__close { right: 12px; top: 12px; }
	.ts-media-video-feature__visual { min-height: 330px; }
	.ts-media-video-formats__grid { grid-template-columns: 1fr; }
	.ts-media-video-formats__grid article, .ts-media-video-formats__grid article:first-child { border-left: 0; border-right: 0; min-height: 170px; padding-inline: 10px; }
	.ts-media-video-formats__grid h3 { margin-top: 38px; }
	.ts-media-press__list article { align-items: start; gap: 15px; grid-template-columns: 1fr 38px; }
	.ts-media-press__meta { grid-column: 1 / 3; grid-row: 1; }
	.ts-media-press__list article > div:nth-child(2) { grid-column: 1; }
	.ts-media-press__list article > a { grid-column: 2; grid-row: 2; }
	.ts-media-press__list p { font-size: 9px; }
}

@media (prefers-reduced-motion: no-preference) {
	.has-media-reveal .ts-media-reveal { opacity: 0; transform: translate3d(0, 26px, 0); transition: opacity .65s ease, transform .75s cubic-bezier(.22,1,.36,1); transition-delay: var(--media-delay, 0ms); }
	.has-media-reveal .ts-media-reveal.is-visible { opacity: 1; transform: translate3d(0,0,0); }
}
