/*
Theme Name: Tango Topics 2026
Theme URI: https://tangotopics.com
Description: Layout and look for Tango Topics. Child theme of Twenty Twenty-Five.
Author: Miles
Template: twentytwentyfive
Version: 0.1.38
Requires at least: 6.7
Requires PHP: 8.1
Text Domain: tangotopics-2026
*/

/* ---------- Tokens ---------- */
:root {
	--tt-paper: #F7F5F1;
	--tt-sand: #EFE9E1;
	--tt-line: #DDD7CF;
	--tt-line-strong: #CFC8BF;
	--tt-ph: #E4DED6;
	--tt-muted: #6B6461;
	--tt-body: #3A3533;
	--tt-soft: #4A4442;
	--tt-ink: #191716;
	--tt-wine: #7A1F2B;
	--tt-wine-dark: #5A1520;
	--tt-wine-tint: #EFE4E3;
	--tt-blush: #D9A3AB;
	--tt-night: #141211;
	--tt-serif: Newsreader, Georgia, serif;
	--tt-sans: Inter, system-ui, -apple-system, "Segoe UI", sans-serif;
	--tt-wrap: 1180px;
	--tt-gutter: 24px;
}

/* ---------- Base ---------- */
.tt .wp-site-blocks > * + * {
	margin-block-start: 0;
}

.tt .tt-wrap {
	max-width: var(--tt-wrap);
	margin-left: auto;
	margin-right: auto;
	padding-left: var(--tt-gutter);
	padding-right: var(--tt-gutter);
	box-sizing: border-box;
}

.tt .tt-main {
	margin: 0;
	padding: 0;
}

.tt .tt-main > * + * {
	margin-block-start: 0;
}

.tt .screen-reader-text {
	border: 0;
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute;
	width: 1px;
	word-wrap: normal;
}

.tt .tt-ph {
	display: block;
	background: var(--tt-ph);
}

.tt .tt-eyebrow {
	display: block;
	margin: 0;
	font-family: var(--tt-sans);
	font-size: 13px;
	font-weight: 600;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--tt-muted);
}

.tt .tt-eyebrow.is-wine {
	color: var(--tt-wine);
}

.tt .tt-btn {
	display: inline-block;
	padding: 13px 20px;
	border-radius: 4px;
	font-family: var(--tt-sans);
	font-size: 15px;
	font-weight: 600;
	line-height: 1.2;
	text-decoration: none;
	border: 1px solid transparent;
}

.tt .tt-btn.is-primary {
	background: var(--tt-wine);
	color: #FFFFFF;
}

.tt .tt-btn.is-primary:hover {
	background: var(--tt-wine-dark);
	color: #FFFFFF;
}

.tt .tt-btn.is-outline {
	border-color: var(--tt-ink);
	color: var(--tt-ink);
	background: transparent;
}

.tt .tt-btn.is-light {
	background: var(--tt-paper);
	color: var(--tt-ink);
}

.tt .tt-section-head {
	display: flex;
	flex-wrap: wrap;
	gap: 8px 24px;
	justify-content: space-between;
	align-items: baseline;
	border-top: 1px solid var(--tt-ink);
	padding-top: 16px;
	margin: 0 0 28px;
}

.tt .tt-section-title {
	margin: 0;
	font-family: var(--tt-serif);
	font-weight: 400;
	font-size: 32px;
	line-height: 1.15;
	color: var(--tt-ink);
}

.tt a.tt-more {
	font-family: var(--tt-sans);
	font-size: 15px;
	font-weight: 600;
	color: var(--tt-wine);
	text-decoration: none;
}

/* ---------- Header ---------- */
.tt .tt-site-header {
	position: relative;
	z-index: 50;
	background: var(--tt-paper);
	border-bottom: 1px solid var(--tt-line);
	font-family: var(--tt-sans);
}

.tt .tt-header-row {
	display: flex;
	flex-wrap: wrap;
	gap: 16px 28px;
	align-items: center;
	justify-content: space-between;
	padding-top: 20px;
	padding-bottom: 20px;
}

.tt a.tt-brand {
	display: block;
	flex: none;
	line-height: 0;
	text-decoration: none;
}

/* The logo keeps its own red: it appears nowhere else on the site. */

.tt .tt-brand-logo {
	display: block;
	width: auto;
	height: 50px;
}

@media (max-width: 600px) {
	.tt .tt-brand-logo {
		height: 38px;
	}
}

.tt .tt-nav {
	display: flex;
	flex-wrap: wrap;
	gap: 4px 22px;
	align-items: center;
}

.tt .tt-nav-link {
	display: inline-flex;
	gap: 6px;
	align-items: center;
	padding: 8px 0;
	font-size: 15px;
	color: var(--tt-body);
	text-decoration: none;
	cursor: pointer;
	list-style: none;
	border-bottom: 2px solid transparent;
}

.tt .tt-nav-link::-webkit-details-marker {
	display: none;
}

.tt .tt-nav-link:hover,
.tt .tt-dd[open] > .tt-nav-link {
	color: var(--tt-wine);
}

.tt .tt-dd[open] > .tt-nav-link {
	font-weight: 600;
	border-bottom-color: var(--tt-wine);
}

.tt .tt-dd[open] .tt-chevron {
	transform: rotate(180deg);
}

.tt .tt-panel {
	position: absolute;
	left: 0;
	right: 0;
	top: 100%;
	background: #FFFFFF;
	border-top: 1px solid var(--tt-line);
	border-bottom: 1px solid var(--tt-line);
	box-shadow: 0 18px 40px rgba(25, 23, 22, 0.08);
}

.tt .tt-panel-inner {
	display: flex;
	flex-wrap: wrap;
	gap: 32px 40px;
	padding-top: 32px;
	padding-bottom: 36px;
}

.tt .tt-panel-cols {
	flex: 999 1 560px;
	min-width: 0;
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 28px;
}

.tt .tt-panel-heading {
	margin: 0 0 12px;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--tt-muted);
}

.tt .tt-panel-col ul {
	margin: 0;
	padding: 0;
	list-style: none;
	display: flex;
	flex-direction: column;
	gap: 9px;
}

.tt .tt-panel-col a {
	font-size: 15px;
	color: var(--tt-ink);
	text-decoration: none;
}

.tt .tt-panel-col a:hover {
	color: var(--tt-wine);
	text-decoration: underline;
}

.tt a.tt-panel-feature {
	flex: 1 1 240px;
	min-width: 0;
	max-width: 320px;
	display: flex;
	flex-direction: column;
	gap: 10px;
	padding: 18px;
	background: var(--tt-paper);
	color: var(--tt-ink);
	text-decoration: none;
}

.tt .tt-panel-feature-img {
	width: 100%;
	aspect-ratio: 16 / 10;
	object-fit: cover;
}

.tt .tt-panel-feature-title {
	font-family: var(--tt-serif);
	font-size: 21px;
	line-height: 1.2;
}

.tt .tt-panel-feature-text {
	font-size: 14px;
	line-height: 1.5;
	color: var(--tt-soft);
}

.tt .tt-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 12px 16px;
	align-items: center;
}

.tt .tt-search input {
	width: 170px;
	padding: 10px 12px;
	border: 1px solid var(--tt-line-strong);
	border-radius: 4px;
	background: #FFFFFF;
	font: inherit;
	font-size: 14px;
	color: var(--tt-ink);
}

.tt a.tt-action-link {
	font-size: 15px;
	color: var(--tt-body);
	text-decoration: none;
}

.tt .tt-actions .tt-btn {
	padding: 11px 18px;
}

.tt .tt-menu-toggle {
	display: none;
	padding: 10px 16px;
	border: 1px solid var(--tt-ink);
	border-radius: 4px;
	background: transparent;
	font: inherit;
	font-size: 15px;
	font-weight: 600;
	color: var(--tt-ink);
	cursor: pointer;
}

/* ---------- Tip bar ---------- */
.tt .tt-tipbar {
	background: var(--tt-sand);
	border-bottom: 1px solid var(--tt-line);
}

.tt .tt-tip-row {
	display: flex;
	flex-wrap: wrap;
	gap: 10px 14px;
	align-items: center;
	justify-content: center;
	padding-top: 14px;
	padding-bottom: 14px;
}

.tt .tt-tip-label {
	font-family: var(--tt-sans);
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--tt-wine);
}

.tt .tt-tips {
	display: grid;
	justify-items: center;
	align-items: center;
	min-width: 0;
	max-width: 100%;
}

.tt .tt-tip {
	grid-area: 1 / 1;
	opacity: 0;
	visibility: hidden;
	transition: opacity 0.4s ease, visibility 0s linear 0.4s;
	margin: 0;
	font-family: var(--tt-serif);
	font-style: italic;
	font-size: 20px;
	line-height: 1.4;
	text-align: center;
	color: var(--tt-ink);
}

.tt .tt-tip.is-on {
	opacity: 1;
	visibility: visible;
	transition: opacity 0.4s ease, visibility 0s;
}

@media (prefers-reduced-motion: reduce) {
	.tt .tt-tip {
		transition: none;
	}
}

.tt .tt-tip a {
	color: var(--tt-wine);
	font-style: normal;
	font-weight: 500;
}

/* ---------- Homepage ---------- */
.tt .tt-hero {
	display: flex;
	flex-wrap: wrap;
	gap: 40px 56px;
	align-items: end;
	padding-top: 80px;
	padding-bottom: 64px;
}

.tt .tt-hero-main {
	flex: 1 1 560px;
	min-width: 0;
}

.tt .tt-hero-side {
	flex: 1 1 320px;
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 24px;
}

.tt .tt-hero-title {
	margin: 16px 0 0;
	font-family: var(--tt-serif);
	font-weight: 400;
	font-size: clamp(40px, 5vw, 64px);
	line-height: 1.05;
	letter-spacing: -0.02em;
	color: var(--tt-ink);
}

.tt .tt-hero-text {
	margin: 0;
	font-size: 18px;
	line-height: 1.65;
	color: var(--tt-body);
}

.tt .tt-btn-row {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
}

/* Hero with background video */
.tt .tt-hero-band {
	position: relative;
	overflow: hidden;
	min-height: clamp(560px, 41vw, 820px);
	display: flex;
	align-items: flex-end;
	background: var(--tt-night);
}

.tt .tt-hero-video {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	/* Keep the dancers' heads in frame on wide screens. */
	object-position: center 15%;
}

.tt .tt-hero-shade {
	display: none;
}

/* No dark layer over the video: a soft shadow keeps the text readable. */
.tt .tt-hero-band .tt-hero {
	text-shadow: 0 1px 2px rgba(20, 18, 17, 0.55), 0 2px 18px rgba(20, 18, 17, 0.45);
}

.tt .tt-hero-band .tt-hero {
	position: relative;
	width: 100%;
	padding-top: 120px;
}

.tt .tt-hero-band .tt-hero-title {
	color: #FFFFFF;
}

.tt .tt-hero-band .tt-eyebrow.is-wine {
	color: #E3B5BC;
}

.tt .tt-hero-band .tt-hero-text {
	color: #E9E3DC;
}

.tt .tt-hero-band .tt-btn.is-outline {
	color: #FFFFFF;
	border-color: rgba(255, 255, 255, 0.8);
}

.tt .tt-hero-toggle {
	position: absolute;
	right: 20px;
	bottom: 20px;
	width: 44px;
	height: 44px;
	border-radius: 50%;
	border: 1px solid rgba(255, 255, 255, 0.6);
	background: rgba(20, 18, 17, 0.5);
	color: #FFFFFF;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
}

.tt .tt-hero-toggle[hidden],
.tt .tt-hero-toggle .tt-icon-play,
.tt .tt-hero-toggle.is-paused .tt-icon-pause {
	display: none;
}

.tt .tt-hero-toggle.is-paused .tt-icon-play {
	display: block;
}

.tt .tt-explore {
	display: flex;
	flex-wrap: wrap;
	gap: 40px;
	padding-bottom: 80px;
}

.tt .tt-explore-main {
	flex: 999 1 640px;
	min-width: 0;
}

.tt .tt-topic-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 32px 24px;
}

.tt a.tt-topic {
	display: flex;
	flex-direction: column;
	gap: 10px;
	color: inherit;
	text-decoration: none;
}

.tt .tt-topic-img {
	width: 100%;
	aspect-ratio: 16 / 10;
	object-fit: cover;
}

.tt .tt-topic-title {
	margin: 0;
	font-family: var(--tt-serif);
	font-weight: 400;
	font-size: 23px;
	line-height: 1.2;
	color: var(--tt-ink);
}

.tt a.tt-topic:hover .tt-topic-title {
	color: var(--tt-wine);
}

.tt .tt-topic-text {
	margin: 0;
	font-size: 14px;
	line-height: 1.55;
	color: var(--tt-soft);
}

/* Sidebar: Go deeper and tags */
.tt .tt-aside {
	flex: 1 1 260px;
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 22px;
}

.tt .tt-aside-head {
	border-top: 1px solid var(--tt-ink);
	padding-top: 16px;
}

.tt a.tt-feature {
	display: flex;
	flex-direction: column;
	gap: 8px;
	color: inherit;
	text-decoration: none;
}

.tt .tt-feature-img {
	width: 100%;
	aspect-ratio: 16 / 10;
	object-fit: cover;
}

.tt .tt-feature-title {
	font-family: var(--tt-serif);
	font-size: 20px;
	line-height: 1.2;
	color: var(--tt-ink);
}

.tt a.tt-feature:hover .tt-feature-title {
	color: var(--tt-wine);
}

.tt .tt-feature-list {
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.tt a.tt-feature-row {
	display: flex;
	gap: 12px;
	align-items: center;
	color: var(--tt-ink);
	text-decoration: none;
}

.tt .tt-feature-row-img {
	width: 72px;
	height: 48px;
	flex-shrink: 0;
	object-fit: cover;
}

.tt .tt-feature-row-title {
	font-size: 15px;
	font-weight: 500;
}

.tt a.tt-feature-row:hover .tt-feature-row-title {
	color: var(--tt-wine);
}

.tt .tt-tags {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.tt a.tt-tag {
	padding: 7px 12px;
	border: 1px solid var(--tt-line-strong);
	border-radius: 999px;
	font-size: 13px;
	line-height: 1.2;
	color: var(--tt-body);
	text-decoration: none;
}

.tt a.tt-tag:hover {
	border-color: var(--tt-wine);
	color: var(--tt-wine);
}

/* Music band */
.tt .tt-music {
	background: var(--tt-ink);
	color: #F1ECE6;
}

.tt .tt-music-row {
	display: flex;
	flex-wrap: wrap;
	gap: 48px;
	align-items: center;
	padding-top: 72px;
	padding-bottom: 72px;
}

.tt .tt-music-text {
	flex: 1 1 420px;
	min-width: 0;
}

.tt .tt-music-art {
	flex: 1 1 480px;
	min-width: 0;
}

.tt .tt-music .tt-eyebrow {
	color: var(--tt-blush);
}

.tt .tt-music-title {
	margin: 14px 0 16px;
	font-family: var(--tt-serif);
	font-weight: 400;
	font-size: 40px;
	line-height: 1.1;
	color: #F1ECE6;
}

.tt .tt-music-copy {
	margin: 0 0 24px;
	font-size: 17px;
	line-height: 1.65;
	color: #CFC7C0;
}

.tt .tt-music a {
	color: #F1ECE6;
	font-weight: 600;
}

.tt .tt-music-links {
	display: flex;
	flex-wrap: wrap;
	gap: 12px 28px;
}

/* Latest list */
.tt .tt-latest {
	padding-top: 72px;
	padding-bottom: 88px;
}

.tt a.tt-latest-row {
	display: flex;
	flex-wrap: wrap;
	gap: 8px 32px;
	align-items: baseline;
	padding: 22px 0;
	border-bottom: 1px solid var(--tt-line);
	color: inherit;
	text-decoration: none;
}

.tt .tt-latest-date {
	width: 120px;
	font-size: 13px;
	color: var(--tt-muted);
}

.tt .tt-latest-title {
	flex: 1 1 300px;
	font-family: var(--tt-serif);
	font-size: 24px;
	line-height: 1.25;
	color: var(--tt-ink);
}

.tt a.tt-latest-row:hover .tt-latest-title {
	color: var(--tt-wine);
}

.tt .tt-latest-kind {
	font-size: 14px;
	color: var(--tt-muted);
}

/* ---------- Single: video page ---------- */
.tt .tt-single-head {
	padding-top: 28px;
	padding-bottom: 24px;
}

.tt .tt-chips {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	align-items: center;
	margin-bottom: 16px;
}

.tt .tt-chips-label {
	font-size: 13px;
	color: var(--tt-muted);
	margin-right: 4px;
}

.tt a.tt-chip {
	padding: 7px 14px;
	background: var(--tt-wine-tint);
	border-radius: 999px;
	font-size: 13px;
	font-weight: 600;
	line-height: 1.2;
	color: var(--tt-wine);
	text-decoration: none;
}

.tt .tt-single-title {
	margin: 0;
	max-width: 900px;
	font-family: var(--tt-serif);
	font-weight: 400;
	font-size: clamp(36px, 4.6vw, 58px);
	line-height: 1.04;
	letter-spacing: -0.02em;
	color: var(--tt-ink);
}

.tt .tt-video-band {
	background: var(--tt-night);
}

.tt .tt-video-inner {
	max-width: 1080px;
	margin: 0 auto;
	padding: 0;
}

.tt .tt-video-inner .flowplayer,
.tt .tt-video-inner iframe,
.tt .tt-video-inner video {
	width: 100% !important;
	max-width: 100% !important;
	margin-left: auto !important;
	margin-right: auto !important;
}

/* FV Player's always-visible control bar sits below the video and needs
   the bottom margin the player reserves for it. */
.tt .tt-video-inner .flowplayer:not(.fixed-controls) {
	margin-bottom: 0 !important;
}

.tt .tt-video-inner .flowplayer.fixed-controls {
	margin-bottom: 2.8em !important;
}

.tt .tt-video-inner p {
	margin: 0;
}

.tt .tt-video-poster {
	display: block;
	width: 100%;
	aspect-ratio: 16 / 9;
	object-fit: cover;
}

.tt .tt-member-strip {
	background: rgba(20, 18, 17, 0.96);
	border-top: 1px solid #2C2826;
}

.tt .tt-member-row {
	display: flex;
	flex-wrap: wrap;
	gap: 16px;
	align-items: center;
	justify-content: space-between;
	padding-top: 20px;
	padding-bottom: 20px;
}

.tt .tt-member-title {
	margin: 0 0 4px;
	font-family: var(--tt-serif);
	font-size: 24px;
	line-height: 1.2;
	color: var(--tt-paper);
}

.tt .tt-member-text {
	margin: 0;
	font-size: 15px;
	color: #CFC7C0;
}

.tt .tt-member-text a {
	color: var(--tt-paper);
}

.tt .tt-split {
	display: flex;
	flex-wrap: wrap;
	gap: 48px;
	padding-top: 48px;
	padding-bottom: 88px;
}

.tt .tt-article {
	flex: 999 1 560px;
	min-width: 0;
	max-width: 720px;
}

.tt .tt-article .entry-content > * {
	max-width: 100%;
}

.tt .tt-article .entry-content p,
.tt .tt-article .entry-content li {
	font-family: var(--tt-serif);
	font-size: 20px;
	line-height: 1.7;
	color: #2B2725;
}

.tt .tt-article .entry-content > p:first-child {
	font-size: 21px;
	color: var(--tt-ink);
}

.tt .tt-article .entry-content h2,
.tt .tt-article .entry-content h3,
.tt .tt-article .entry-content h4 {
	font-family: var(--tt-serif);
	font-weight: 500;
	color: var(--tt-ink);
	line-height: 1.2;
	margin-top: 1.6em;
}

.tt .tt-article .entry-content a {
	color: inherit;
	text-decoration: underline dotted var(--tt-wine);
	text-underline-offset: 4px;
}

.tt .tt-article .entry-content a:hover {
	color: var(--tt-wine);
}

.tt .tt-article .entry-content img,
.tt .tt-article .entry-content iframe,
.tt .tt-article .entry-content .flowplayer {
	max-width: 100% !important;
	height: auto;
}

.tt .tt-article .entry-content iframe {
	aspect-ratio: 16 / 9;
	width: 100%;
}

.tt .tt-side {
	flex: 1 1 280px;
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 28px;
}

.tt .tt-side-title {
	margin: 0 0 12px;
	font-family: var(--tt-sans);
	font-size: 13px;
	font-weight: 600;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--tt-muted);
}

.tt .tt-related {
	display: flex;
	flex-direction: column;
	gap: 14px;
}

.tt a.tt-related-item {
	display: flex;
	gap: 12px;
	align-items: center;
	color: var(--tt-ink);
	text-decoration: none;
}

.tt .tt-related-img {
	width: 104px;
	aspect-ratio: 16 / 9;
	flex-shrink: 0;
	object-fit: cover;
}

.tt .tt-related-title {
	font-family: var(--tt-serif);
	font-size: 18px;
	line-height: 1.25;
}

.tt a.tt-related-item:hover .tt-related-title {
	color: var(--tt-wine);
}

/* ---------- Pages ---------- */
.tt .tt-page {
	padding-top: 40px;
	padding-bottom: 80px;
}

.tt .tt-page-title {
	margin: 0 0 32px;
	font-family: var(--tt-serif);
	font-weight: 400;
	font-size: clamp(36px, 4.6vw, 52px);
	line-height: 1.05;
	letter-spacing: -0.02em;
	color: var(--tt-ink);
}

/* ---------- Footer ---------- */
.tt .tt-site-footer {
	border-top: 1px solid var(--tt-line);
	background: var(--tt-paper);
	font-family: var(--tt-sans);
}

.tt .tt-footer-row {
	display: flex;
	flex-wrap: wrap;
	gap: 16px 32px;
	align-items: center;
	justify-content: space-between;
	padding-top: 28px;
	padding-bottom: 28px;
	font-size: 14px;
	color: var(--tt-muted);
}

.tt .tt-footer-brand {
	font-family: var(--tt-serif);
	font-size: 20px;
	color: var(--tt-ink);
}

.tt .tt-footer-links {
	display: flex;
	flex-wrap: wrap;
	gap: 8px 20px;
}

.tt .tt-footer-links a {
	color: var(--tt-muted);
	text-decoration: none;
}

.tt .tt-footer-links a:hover {
	color: var(--tt-wine);
}

.tt .tt-footer-legal {
	display: flex;
	flex-wrap: wrap;
	gap: 8px 16px;
	font-size: 13px;
}

.tt .tt-footer-legal a {
	color: var(--tt-muted);
	text-decoration: underline;
	text-underline-offset: 3px;
}

.tt .tt-footer-legal a:hover {
	color: var(--tt-wine);
}

/* ---------- Responsive ---------- */
@media (max-width: 1080px) {
	.tt .tt-search input {
		width: 180px;
	}
}

@media (max-width: 960px) {
	.tt .tt-menu-toggle {
		display: inline-block;
	}

	.tt .tt-nav {
		display: none;
		order: 4;
		width: 100%;
		flex-direction: column;
		align-items: stretch;
		gap: 0;
		border-top: 1px solid var(--tt-line);
	}

	.tt .tt-nav.is-open {
		display: flex;
	}

	.tt .tt-nav-link {
		padding: 14px 0;
		border-bottom: 1px solid var(--tt-line);
		justify-content: space-between;
		width: 100%;
	}

	.tt .tt-panel {
		position: static;
		box-shadow: none;
		border: 0;
		background: transparent;
	}

	.tt .tt-panel-inner {
		padding: 8px 0 20px;
	}

	.tt .tt-panel-cols {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.tt a.tt-panel-feature {
		display: none;
	}

	.tt .tt-actions {
		order: 3;
		width: 100%;
	}

	.tt .tt-search {
		flex: 1 1 200px;
	}

	.tt .tt-search input {
		width: 100%;
	}

	.tt .tt-topic-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 600px) {
	:root {
		--tt-gutter: 16px;
	}

	.tt .tt-hero {
		padding-top: 48px;
		padding-bottom: 48px;
	}

	.tt .tt-hero-band {
		min-height: 0;
	}

	.tt .tt-hero-band .tt-hero {
		padding-top: 96px;
	}

	.tt .tt-topic-grid,
	.tt .tt-panel-cols {
		grid-template-columns: minmax(0, 1fr);
	}

	.tt .tt-tip {
		font-size: 18px;
	}

	.tt .tt-latest-date {
		width: auto;
	}
}

/* ---------- Member landing page ---------- */
.tt .tt-member-head {
	display: flex;
	flex-wrap: wrap;
	gap: 16px 24px;
	align-items: end;
	justify-content: space-between;
	padding-top: 48px;
	padding-bottom: 32px;
}

.tt .tt-member-hello {
	margin: 0;
	font-family: var(--tt-serif);
	font-weight: 400;
	font-size: clamp(36px, 4.4vw, 52px);
	line-height: 1.05;
	letter-spacing: -0.02em;
	color: var(--tt-ink);
}

.tt .tt-member-sub {
	margin: 8px 0 0;
	font-size: 16px;
	color: var(--tt-soft);
}

.tt .tt-member-status {
	display: flex;
	flex-wrap: wrap;
	gap: 10px 20px;
	align-items: center;
	font-size: 14px;
}

.tt .tt-member-status a {
	font-weight: 600;
	color: var(--tt-wine);
}

.tt .tt-badge {
	padding: 7px 14px;
	background: var(--tt-wine-tint);
	border-radius: 999px;
	font-weight: 600;
	color: var(--tt-wine);
}

.tt .tt-member-body {
	display: flex;
	flex-wrap: wrap;
	gap: 40px;
	padding-bottom: 88px;
}

.tt .tt-member-main {
	flex: 999 1 640px;
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 56px;
}

.tt .tt-card {
	background: #FFFFFF;
	border: 1px solid var(--tt-line);
	padding: 22px;
}

.tt .tt-login-card {
	max-width: 640px;
	display: flex;
	flex-direction: column;
	gap: 14px;
}

.tt .tt-card-title {
	margin: 0;
	font-family: var(--tt-serif);
	font-size: 28px;
	line-height: 1.2;
}

.tt .tt-card-text {
	margin: 0;
	font-size: 16px;
	color: var(--tt-soft);
}

.tt .tt-new-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 24px;
}

.tt a.tt-new-item {
	display: flex;
	flex-direction: column;
	gap: 8px;
	color: inherit;
	text-decoration: none;
}

.tt .tt-new-img {
	width: 100%;
	aspect-ratio: 16 / 9;
	object-fit: cover;
}

.tt .tt-new-meta {
	font-size: 12px;
	color: var(--tt-muted);
}

.tt .tt-new-title {
	font-family: var(--tt-serif);
	font-size: 21px;
	line-height: 1.2;
	color: var(--tt-ink);
}

.tt a.tt-new-item:hover .tt-new-title {
	color: var(--tt-wine);
}

.tt .tt-downloads {
	background: var(--tt-ink);
	color: #F1ECE6;
	padding: 28px;
}

.tt .tt-downloads-head {
	display: flex;
	flex-wrap: wrap;
	gap: 8px 24px;
	justify-content: space-between;
	align-items: baseline;
	margin-bottom: 20px;
}

.tt .tt-downloads-title {
	margin: 0;
	font-family: var(--tt-serif);
	font-weight: 400;
	font-size: 30px;
	color: #F1ECE6;
}

.tt .tt-downloads-note {
	font-size: 13px;
	color: #CFC7C0;
}

.tt .tt-downloads-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 16px;
}

.tt a.tt-download {
	display: flex;
	flex-direction: column;
	gap: 8px;
	color: #F1ECE6;
	text-decoration: none;
}

.tt .tt-download-thumb {
	position: relative;
	display: block;
}

.tt .tt-download-img {
	width: 100%;
	aspect-ratio: 16 / 10;
	object-fit: cover;
	background: #3A3533;
}

.tt .tt-download-icon {
	position: absolute;
	right: 8px;
	bottom: 8px;
	padding: 5px;
	border-radius: 50%;
	background: rgba(20, 18, 17, 0.75);
	color: #FFFFFF;
}

.tt .tt-download-title {
	font-size: 15px;
}

.tt .tt-library-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 20px;
}

.tt .tt-library-title {
	margin: 0 0 14px;
	font-family: var(--tt-serif);
	font-weight: 400;
	font-size: 24px;
	color: var(--tt-ink);
}

.tt .tt-library-links {
	display: flex;
	flex-wrap: wrap;
	gap: 8px 18px;
	font-size: 15px;
}

.tt .tt-library-links a {
	color: var(--tt-wine);
}

.tt .tt-upgrade {
	margin-top: 20px;
	background: var(--tt-wine);
	color: #FFFFFF;
	padding: 24px;
	display: flex;
	flex-wrap: wrap;
	gap: 16px;
	align-items: center;
	justify-content: space-between;
}

.tt .tt-upgrade-title {
	margin: 0 0 4px;
	font-family: var(--tt-serif);
	font-size: 26px;
}

.tt .tt-upgrade-text {
	margin: 0;
	font-size: 15px;
	color: #F3DCDF;
}

.tt .tt-help {
	border-top: 1px solid var(--tt-line);
	padding-top: 16px;
}

.tt .tt-help-title {
	margin: 0 0 8px;
	font-family: var(--tt-sans);
	font-size: 15px;
	font-weight: 600;
	color: var(--tt-ink);
}

.tt .tt-help-text {
	margin: 0 0 8px;
	font-size: 14px;
	line-height: 1.55;
	color: var(--tt-soft);
}

@media (max-width: 960px) {
	.tt .tt-new-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.tt .tt-downloads-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 600px) {
	.tt .tt-new-grid,
	.tt .tt-library-grid {
		grid-template-columns: minmax(0, 1fr);
	}
}

/* ---------- Subscribe page ---------- */
.tt .tt-sub-hero {
	background: var(--tt-sand);
	border-bottom: 1px solid var(--tt-line);
	padding: 56px 0 48px;
}

.tt .tt-sub-notice {
	margin: 0 0 20px;
	padding: 12px 16px;
	max-width: 60ch;
	background: var(--tt-wine-tint);
	border-left: 3px solid var(--tt-wine);
	color: var(--tt-wine-dark);
	font-size: 15px;
	line-height: 1.5;
}

.tt .tt-sub-title {
	margin: 0 0 12px;
	font-family: var(--tt-serif);
	font-size: clamp(34px, 4.6vw, 52px);
	line-height: 1.08;
	color: var(--tt-ink);
	max-width: 18ch;
}

.tt .tt-sub-lede {
	margin: 0;
	max-width: 60ch;
	font-size: 18px;
	color: var(--tt-soft);
}

.tt .tt-sub {
	padding-top: 32px;
	padding-bottom: 72px;
}

.tt .tt-tabs {
	display: none;
	gap: 4px;
	border-bottom: 1px solid var(--tt-line);
	margin-bottom: 32px;
	overflow-x: auto;
}

.tt .tt-sub.has-tabs .tt-tabs {
	display: flex;
}

.tt .tt-tab {
	appearance: none;
	background: none;
	border: 0;
	border-bottom: 2px solid transparent;
	margin-bottom: -1px;
	padding: 12px 16px;
	font: 500 15px/1.2 var(--tt-sans);
	color: var(--tt-muted);
	cursor: pointer;
	white-space: nowrap;
}

.tt .tt-tab:hover {
	color: var(--tt-ink);
}

.tt .tt-tab[aria-selected="true"] {
	color: var(--tt-wine);
	border-bottom-color: var(--tt-wine);
}

.tt .tt-tab:focus-visible {
	outline: 2px solid var(--tt-wine);
	outline-offset: -2px;
}

.tt .tt-pane + .tt-pane {
	margin-top: 56px;
}

.tt .tt-sub.has-tabs .tt-pane + .tt-pane {
	margin-top: 0;
}

.tt .tt-pane-title {
	margin: 0 0 8px;
	font-family: var(--tt-serif);
	font-size: 30px;
	color: var(--tt-ink);
}

.tt .tt-sub.has-tabs .tt-pane-title {
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(0 0 0 0);
	white-space: nowrap;
}

.tt .tt-pane-lede {
	margin: 0 0 24px;
	max-width: 64ch;
	color: var(--tt-soft);
}

.tt .tt-plans {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 16px;
	align-items: stretch;
}

.tt .tt-plans.is-two {
	grid-template-columns: repeat(2, minmax(0, 1fr));
	max-width: 840px;
}

.tt .tt-plan {
	position: relative;
	display: flex;
	flex-direction: column;
	background: #FFFFFF;
	border: 1px solid var(--tt-line);
	padding: 24px;
}

.tt .tt-plan.is-featured {
	border: 2px solid var(--tt-wine);
	padding: 23px;
}

.tt .tt-plan-flag {
	position: absolute;
	top: -12px;
	left: 22px;
	background: var(--tt-wine);
	color: #FFFFFF;
	font: 600 12px/1 var(--tt-sans);
	letter-spacing: 0.04em;
	text-transform: uppercase;
	padding: 6px 10px;
}

.tt .tt-plan-name {
	margin: 0 0 4px;
	font-family: var(--tt-serif);
	font-size: 26px;
	color: var(--tt-ink);
}

.tt .tt-plan-tagline {
	margin: 0 0 16px;
	font-size: 15px;
	color: var(--tt-muted);
	min-height: 2.8em;
}

.tt .tt-plan-price {
	margin: 0;
	display: flex;
	align-items: baseline;
	gap: 6px;
}

.tt .tt-plan-amount {
	font-family: var(--tt-serif);
	font-size: 40px;
	line-height: 1;
	color: var(--tt-ink);
}

.tt .tt-plan-per {
	font-size: 14px;
	color: var(--tt-muted);
}

.tt .tt-plan-note {
	margin: 8px 0 16px;
	min-height: 2.9em;
	font-size: 13px;
	line-height: 1.45;
	color: var(--tt-muted);
}

.tt .tt-plan-cta {
	display: block;
	box-sizing: border-box;
	width: 100%;
	text-align: center;
}

.tt .tt-plan-list {
	list-style: none;
	margin: 20px 0 0;
	padding: 20px 0 0;
	border-top: 1px solid var(--tt-line);
	display: grid;
	gap: 10px;
	font-size: 14px;
	line-height: 1.45;
	color: var(--tt-body);
}

.tt .tt-plan-list li {
	display: flex;
	gap: 8px;
	align-items: flex-start;
}

.tt .tt-check {
	flex: none;
	margin-top: 2px;
	color: var(--tt-wine);
}

.tt .tt-try {
	margin-top: 24px;
	background: var(--tt-wine);
	color: #FFFFFF;
	padding: 24px;
	display: flex;
	flex-wrap: wrap;
	gap: 16px;
	align-items: center;
	justify-content: space-between;
}

.tt .tt-try-title {
	margin: 0 0 4px;
	font-family: var(--tt-serif);
	font-size: 24px;
}

.tt .tt-try-text {
	margin: 0;
	font-size: 15px;
	color: #F3DCDF;
}

.tt .tt-sample {
	margin-top: 56px;
	display: grid;
	grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
	gap: 32px;
	align-items: center;
}

.tt .tt-sample-copy p {
	color: var(--tt-soft);
}

.tt .tt-sample-video {
	background: var(--tt-night);
	aspect-ratio: 16 / 9;
	overflow: hidden;
}

.tt .tt-sample-video > * {
	width: 100%;
	height: 100%;
}

.tt .tt-sample-img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.tt .tt-bundles {
	border-top: 1px solid var(--tt-line);
}

.tt .tt-bundle {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 220px;
	gap: 24px;
	padding: 24px 0;
	border-bottom: 1px solid var(--tt-line);
}

.tt .tt-bundle-name {
	margin: 0 0 4px;
	font-family: var(--tt-serif);
	font-size: 24px;
	color: var(--tt-ink);
}

.tt .tt-bundle-text {
	margin: 0 0 8px;
	color: var(--tt-soft);
	max-width: 60ch;
}

.tt .tt-bundle-list summary {
	cursor: pointer;
	font-size: 14px;
	font-weight: 500;
	color: var(--tt-wine);
}

.tt .tt-bundle-list ul {
	margin: 12px 0 0;
	padding: 0;
	list-style: none;
	columns: 2;
	column-gap: 24px;
	font-size: 14px;
	line-height: 1.5;
	color: var(--tt-body);
}

.tt .tt-bundle-list li {
	break-inside: avoid;
	padding: 2px 0;
}

.tt .tt-bundle-buy {
	display: flex;
	flex-direction: column;
	gap: 12px;
	align-items: flex-start;
}

.tt .tt-faq {
	margin-top: 64px;
	max-width: 760px;
}

.tt .tt-faq details {
	border-bottom: 1px solid var(--tt-line);
	padding: 16px 0;
}

.tt .tt-faq summary {
	cursor: pointer;
	font-weight: 500;
	color: var(--tt-ink);
}

.tt .tt-faq details p {
	margin: 8px 0 0;
	color: var(--tt-soft);
}

/* ---------- Sign-up (MemberPress membership page) ---------- */
.tt .tt-signup {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 340px;
	gap: 48px;
	align-items: start;
	padding-top: 40px;
	padding-bottom: 72px;
}

.tt .tt-signup-title {
	margin: 0 0 16px;
	font-family: var(--tt-serif);
	font-size: clamp(30px, 4vw, 42px);
	line-height: 1.1;
}

.tt .tt-signup-main {
	min-width: 0;
}

.tt .tt-signup-card {
	position: sticky;
	top: 24px;
	background: #FFFFFF;
	border: 1px solid var(--tt-line);
	border-top: 3px solid var(--tt-wine);
	padding: 24px;
}

.tt .tt-signup-name {
	margin: 0 0 12px;
	font-family: var(--tt-serif);
	font-size: 26px;
	color: var(--tt-ink);
}

.tt .tt-signup-text {
	margin: 12px 0;
	font-size: 14px;
	line-height: 1.5;
	color: var(--tt-soft);
}

.tt .tt-signup-points {
	margin: 0 0 16px;
	padding: 12px 0 0 18px;
	border-top: 1px solid var(--tt-line);
	font-size: 14px;
	color: var(--tt-body);
}

.tt .tt-signup-change {
	margin: 0;
	font-size: 14px;
}

/* ---------- Thank you ---------- */
.tt .tt-thanks {
	padding-top: 56px;
	padding-bottom: 72px;
	max-width: 860px;
}

.tt .tt-thanks .tt-sub-lede {
	margin-bottom: 40px;
}

.tt .tt-steps {
	list-style: none;
	margin: 16px 0 0;
	padding: 0;
	display: grid;
	gap: 0;
	border-top: 1px solid var(--tt-line);
}

.tt .tt-step {
	display: grid;
	grid-template-columns: 48px minmax(0, 1fr);
	gap: 16px;
	padding: 20px 0;
	border-bottom: 1px solid var(--tt-line);
}

.tt .tt-step-num {
	font-family: var(--tt-serif);
	font-size: 34px;
	line-height: 1;
	color: var(--tt-wine);
}

.tt .tt-step-title {
	margin: 0 0 4px;
	font-weight: 600;
	color: var(--tt-ink);
}

.tt .tt-step-text {
	margin: 0 0 6px;
	color: var(--tt-soft);
}

.tt .tt-thanks-foot {
	margin-top: 32px;
	font-size: 14px;
	color: var(--tt-muted);
}

@media (max-width: 900px) {
	.tt .tt-plans {
		grid-template-columns: minmax(0, 1fr);
		max-width: 520px;
		row-gap: 28px;
	}
}

@media (max-width: 960px) {
	.tt .tt-sample,
	.tt .tt-signup {
		grid-template-columns: minmax(0, 1fr);
		gap: 24px;
	}

	.tt .tt-signup-card {
		position: static;
		order: -1;
	}
}

@media (max-width: 600px) {
	.tt .tt-sub-hero {
		padding: 36px 0 32px;
	}

	.tt .tt-plans,
	.tt .tt-plans.is-two {
		grid-template-columns: minmax(0, 1fr);
	}

	.tt .tt-plan-tagline,
	.tt .tt-plan-note {
		min-height: 0;
	}

	.tt .tt-bundle {
		grid-template-columns: minmax(0, 1fr);
		gap: 12px;
	}

	.tt .tt-bundle-list ul {
		columns: 1;
	}
}

.tt .tt-action-link.is-wine {
	color: var(--tt-wine);
	font-weight: 600;
}

/* ---------- Pages saved in Elementor, drawn by the theme ---------- */
.tt .tt-el {
	display: grid;
	gap: 32px;
}

.tt .tt-el-box {
	display: grid;
	gap: 20px;
	min-width: 0;
}

.tt .tt-el-box.is-row {
	display: flex;
	flex-wrap: wrap;
	gap: 24px;
	align-items: flex-start;
}

.tt .tt-el-box.is-row > * {
	flex: 1 1 260px;
	min-width: 0;
}

.tt .tt-el-box.is-grid {
	grid-template-columns: repeat(var(--tt-el-cols, 2), minmax(0, 1fr));
	gap: 24px;
}

.tt .tt-el-widget {
	min-width: 0;
}

.tt .tt-el-title {
	margin: 0;
	font-family: var(--tt-serif);
	font-weight: 400;
	font-size: clamp(36px, 4.6vw, 52px);
	line-height: 1.05;
	letter-spacing: -0.02em;
	color: var(--tt-ink);
}

.tt .tt-el-heading {
	margin: 8px 0 0;
	font-family: var(--tt-serif);
	font-weight: 400;
	font-size: clamp(26px, 3vw, 34px);
	line-height: 1.15;
	color: var(--tt-ink);
}

.tt h5.tt-el-heading,
.tt h6.tt-el-heading {
	font-family: var(--tt-sans);
	font-size: 15px;
	font-weight: 500;
	color: var(--tt-muted);
}

.tt .tt-el-text {
	max-width: 72ch;
	font-size: 17px;
	line-height: 1.65;
	color: var(--tt-body);
}

.tt .tt-el-text > :first-child {
	margin-top: 0;
}

.tt .tt-el-text > :last-child {
	margin-bottom: 0;
}

.tt .tt-el-text [style*="text-align"] {
	text-align: inherit !important;
}

.tt .tt-el-img {
	display: block;
	width: 100%;
	height: auto;
}

.tt .tt-el-badge {
	display: inline-block;
	padding: 8px 14px;
	background: var(--tt-wine-tint);
	color: var(--tt-wine);
	font-size: 14px;
	font-weight: 600;
}

.tt .tt-el-divider {
	border: 0;
	border-top: 1px solid var(--tt-line);
	margin: 0;
}

.tt .tt-el-video {
	position: relative;
	aspect-ratio: 16 / 9;
	background: var(--tt-night);
}

.tt .tt-el-video iframe,
.tt .tt-el-video video {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	border: 0;
}

.tt .tt-el-list {
	margin: 0;
	padding-left: 20px;
}

.tt .tt-el-tags ul {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.tt .tt-el-tags a {
	display: inline-block;
	padding: 6px 10px;
	border: 1px solid var(--tt-line);
	background: #FFFFFF;
	color: var(--tt-body);
	text-decoration: none;
	font-size: 13px !important;
}

.tt .tt-el-tags a:hover {
	border-color: var(--tt-wine);
	color: var(--tt-wine);
}

.tt .tt-el-search {
	display: flex;
	gap: 8px;
	max-width: 560px;
}

.tt .tt-el-search input[type="search"] {
	flex: 1;
	min-width: 0;
	padding: 11px 14px;
	border: 1px solid var(--tt-line-strong);
	background: #FFFFFF;
	font: 400 16px/1.2 var(--tt-sans);
}

.tt .tt-el-cards {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
	gap: 28px 20px;
}

.tt .tt-el-card {
	display: flex;
	flex-direction: column;
	gap: 8px;
	min-width: 0;
}

.tt .tt-el-card-link {
	display: grid;
	gap: 10px;
	text-decoration: none;
	color: inherit;
}

.tt .tt-el-card-img {
	display: block;
	width: 100%;
	aspect-ratio: 16 / 9;
	object-fit: cover;
	background: var(--tt-ph);
}

.tt .tt-el-card-title {
	font-family: var(--tt-serif);
	font-size: 21px;
	line-height: 1.2;
	color: var(--tt-ink);
}

.tt .tt-el-card-link:hover .tt-el-card-title {
	color: var(--tt-wine);
}

.tt .tt-el-card-text {
	margin: 0;
	font-size: 14px;
	line-height: 1.5;
	color: var(--tt-soft);
}

.tt .tt-el-empty {
	color: var(--tt-muted);
}

.tt .tt-el-pages {
	margin-top: 28px;
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
}

.tt .tt-el-pages .page-numbers {
	min-width: 40px;
	padding: 9px 12px;
	border: 1px solid var(--tt-line);
	background: #FFFFFF;
	text-align: center;
	text-decoration: none;
	color: var(--tt-body);
	font-size: 15px;
}

.tt .tt-el-pages .page-numbers.current {
	background: var(--tt-wine);
	border-color: var(--tt-wine);
	color: #FFFFFF;
}

.tt .tt-el-pages .page-numbers.dots {
	border-color: transparent;
	background: none;
}

.tt .tt-el-tabs .tt-tabs {
	display: none;
}

.tt .tt-el-tabs.has-tabs .tt-tabs {
	display: flex;
}

.tt .tt-el-tabs.has-tabs .tt-pane-title {
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(0 0 0 0);
	white-space: nowrap;
}

.tt .tt-el-price-table .tt-plan {
	height: 100%;
}

.tt .tt-el-form {
	display: grid;
	gap: 16px;
	max-width: 620px;
	padding: 24px;
	background: #FFFFFF;
	border: 1px solid var(--tt-line);
}

.tt .tt-el-field {
	display: grid;
	gap: 6px;
}

.tt .tt-el-field > label,
.tt .tt-el-field legend {
	font-size: 14px;
	font-weight: 600;
	color: var(--tt-ink);
}

.tt .tt-el-field fieldset {
	border: 0;
	margin: 0;
	padding: 0;
	display: grid;
	gap: 6px;
}

.tt .tt-el-field input:not([type="radio"]):not([type="checkbox"]),
.tt .tt-el-field textarea,
.tt .tt-el-field select {
	width: 100%;
	padding: 11px 12px;
	border: 1px solid var(--tt-line-strong);
	background: var(--tt-paper);
	font: 400 16px/1.4 var(--tt-sans);
	color: var(--tt-ink);
}

.tt .tt-el-field input:focus,
.tt .tt-el-field textarea:focus,
.tt .tt-el-field select:focus {
	outline: 2px solid var(--tt-wine);
	outline-offset: 0;
}

.tt .tt-el-choice {
	display: flex;
	gap: 8px;
	align-items: center;
	font-size: 15px;
	font-weight: 400;
}

.tt .tt-el-form .tt-btn {
	justify-self: start;
}

.tt .tt-el-hp {
	position: absolute;
	left: -9999px;
	width: 1px;
	height: 1px;
	overflow: hidden;
}

.tt .tt-el-notice {
	margin: 0;
	padding: 14px 16px;
	font-weight: 500;
}

.tt .tt-el-notice.is-ok {
	background: #E7F1E4;
	color: #24521B;
}

.tt .tt-el-notice.is-error {
	background: var(--tt-wine-tint);
	color: var(--tt-wine);
}

@media (max-width: 760px) {
	.tt .tt-el-box.is-grid {
		grid-template-columns: minmax(0, 1fr);
	}
}

@media (max-width: 600px) {
	.tt .tt-el {
		gap: 24px;
	}

	.tt .tt-el-search {
		flex-direction: column;
	}
}

/* ---------- Musical Pause Library ---------- */
.tt .tt-pause-song {
	padding-top: 40px;
	padding-bottom: 80px;
}

.tt .tt-pause-song .tt-page-title {
	margin-bottom: 12px;
}

.tt .tt-pause-intro {
	margin: 0 0 4px;
	max-width: 64ch;
	font-size: 18px;
	color: var(--tt-soft);
}

.tt .tt-pause-how {
	margin: 0 0 28px;
	font-size: 15px;
	color: var(--tt-muted);
}

.tt .pause-trainer .orchestral-info {
	background: var(--tt-sand);
	font-family: var(--tt-serif);
	color: var(--tt-ink);
}

.tt .pause-trainer .orchestral-info strong {
	font-weight: 500;
}

.tt .pause-trainer-label {
	font-family: var(--tt-sans);
	color: var(--tt-muted);
}

.tt .active-paragraph-heading,
.tt .pause-type-label {
	font-family: var(--tt-serif);
	font-weight: 400;
	color: var(--tt-ink);
}

.tt .pause-type-number {
	font-family: var(--tt-serif);
	font-weight: 500;
	color: var(--tt-wine);
}

.tt .pause-trainer-right {
	background: #FFFFFF;
	border: 1px solid var(--tt-line);
	padding: 20px;
}

.tt .tt-pause-cards {
	grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
}

.tt .tt-pause-card-band {
	margin: 0;
	font-size: 15px;
	font-weight: 500;
	color: var(--tt-body);
}

.tt .tt-pause-play {
	justify-self: start;
	align-self: flex-start;
	margin-top: 4px;
	padding: 8px 14px;
	font-size: 14px;
}

/* Header: room for the logo on narrower desktops. */
@media (min-width: 1101px) {
	.tt .tt-header-row {
		column-gap: 16px;
		flex-wrap: nowrap;
		justify-content: flex-start;
	}

	/* Logo and menu on the left; search, account and language on the right. */
	.tt .tt-header-row .tt-actions {
		margin-left: auto;
	}

	.tt .tt-nav {
		gap: 4px 12px;
		flex-wrap: nowrap;
		white-space: nowrap;
	}

	.tt .tt-actions {
		flex-wrap: nowrap;
		flex: none;
		column-gap: 10px;
	}

	.tt .tt-search input {
		width: 96px !important;
	}

	.tt .tt-brand-logo {
		height: 44px;
	}
}

@media (max-width: 1240px) and (min-width: 1101px) {
	.tt .tt-brand-logo {
		height: 40px;
	}

	.tt .tt-nav {
		gap: 4px 12px;
		font-size: 14px;
	}

	.tt .tt-search input {
		width: 90px !important;
	}
}

@media (max-width: 1100px) and (min-width: 961px) {
	.tt .tt-actions {
		margin-left: auto;
	}
}

/* Language switcher (GTranslate, inline) at the end of the menu row. */
.tt .tt-lang {
	position: relative;
	flex: none;
}

.tt .tt-lang .gtranslate_wrapper,
.tt .tt-lang #gt_float_wrapper {
	position: relative;
}

.tt .tt-lang .gt_float_switcher {
	display: block;
	font-family: var(--tt-sans);
	font-size: 14px;
	line-height: 20px;
	color: var(--tt-body);
	background: transparent;
	box-shadow: none;
	border-radius: 0;
	overflow: visible;
}

.tt .tt-lang .gt_float_switcher .gt-selected {
	background: transparent;
}

.tt .tt-lang .gt_float_switcher .gt-selected .gt-current-lang {
	display: flex;
	align-items: center;
	gap: 6px;
	padding: 8px 6px;
	font-weight: 500;
	color: var(--tt-body);
}

.tt .tt-lang .gt_float_switcher .gt-selected .gt-current-lang:hover {
	color: var(--tt-wine);
}

.tt .tt-lang .gt_float_switcher img {
	width: 22px;
	margin: 0;
	border-radius: 2px;
}

.tt .tt-lang .gt_float_switcher .gt-selected .gt-current-lang span.gt-lang-code {
	top: 0;
}

.tt .tt-lang .gt_float_switcher .gt-selected .gt-current-lang span.gt_float_switcher-arrow {
	width: 11px;
	height: 16px;
}

/* The language list drops down under the switcher, like the menu panels. */
.tt .tt-lang .gt_float_switcher .gt_options {
	position: absolute;
	top: calc(100% + 6px);
	right: 0;
	z-index: 60;
	min-width: 200px;
	max-width: none !important;
	max-height: 360px;
	background: #FFFFFF;
	border: 1px solid var(--tt-line);
	box-shadow: 0 12px 30px rgba(25, 23, 22, 0.12);
	transform: translateY(-6px);
	float: none;
	white-space: normal;
}

.tt .tt-lang .gt_float_switcher .gt_options.gt-open {
	transform: translateY(0);
}

.tt .tt-lang .gt_float_switcher .gt_options a {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 9px 14px;
	font-size: 14px;
	color: var(--tt-body);
}

.tt .tt-lang .gt_float_switcher .gt_options a:hover {
	background: var(--tt-wine-tint);
	color: var(--tt-wine);
}

@media (max-width: 960px) {
	.tt .tt-lang {
		order: 1;
		margin-left: auto;
	}

	.tt .tt-menu-toggle {
		order: 2;
	}
}

@media (max-width: 600px) {
	.tt .tt-lang .gt_float_switcher .gt-selected .gt-current-lang span.gt-lang-code {
		display: none;
	}
}

/* ---------- Listing pages (title, centred intro, Query Forge grid) ---------- */
.tt .tt-listing {
	padding-top: 48px;
	padding-bottom: 80px;
}

.tt .tt-listing-title {
	margin: 0 auto 20px;
	max-width: 20ch;
	text-align: center;
	font-family: var(--tt-serif);
	font-weight: 400;
	font-size: clamp(36px, 4.6vw, 56px);
	line-height: 1.05;
	letter-spacing: -0.02em;
	color: var(--tt-ink);
}

/* Intro text: a centred block, justified, with its last line centred.
   A paragraph set to left or right in the editor keeps that. */
.tt .tt-listing-body > p,
.tt .tt-listing-body > .wp-block-paragraph {
	max-width: 68ch;
	margin: 0 auto 16px;
	text-align: justify;
	text-align-last: center;
	hyphens: auto;
	-webkit-hyphens: auto;
	font-size: 18px;
	line-height: 1.65;
	color: var(--tt-soft);
}

.tt .tt-listing-body > p [style*="text-align"] {
	text-align: inherit !important;
}

.tt .tt-listing-body > p.has-text-align-left,
.tt .tt-listing-body > p.has-text-align-right {
	text-align-last: auto;
	hyphens: manual;
	-webkit-hyphens: manual;
}

.tt .tt-listing-body > p.has-text-align-left {
	text-align: left;
}

.tt .tt-listing-body > p.has-text-align-right {
	text-align: right;
}

.tt .tt-listing-body > .wp-block-query-forge-builder,
.tt .tt-listing-body > .qf-query-forge-root,
.tt .tt-listing-body > [data-qf-instance-id] {
	margin-top: 40px;
}

/* Query Forge cards in the site's style (any page). */
.tt .qf-grid {
	gap: 32px 24px;
}

.tt .qf-card,
.tt .qf-card:hover {
	background: transparent;
	border-radius: 0;
	box-shadow: none !important;
	transform: none;
}

.tt .qf-card-vertical .qf-card-image {
	aspect-ratio: 16 / 9;
	background: var(--tt-ph);
}

.tt .qf-card-image img {
	display: block;
	transition: opacity 0.2s ease;
}

.tt .qf-card:hover .qf-card-image img {
	opacity: 0.88;
}

.tt .qf-card-vertical .qf-card-content,
.tt .qf-card-horizontal .qf-card-content,
.tt .qf-card-minimal .qf-card-content,
.tt .qf-card-grid .qf-card-content {
	padding: 14px 0 0;
}

.tt .qf-card-title {
	margin: 0 0 8px;
	font-family: var(--tt-serif);
	font-weight: 400;
	font-size: 22px;
	line-height: 1.2;
	color: var(--tt-ink);
}

.tt .qf-card-title a:hover {
	color: var(--tt-wine);
}

.tt .qf-card-excerpt {
	margin: 0 0 8px;
	font-size: 15px;
	line-height: 1.55;
	color: var(--tt-soft);
}

.tt .qf-card-meta {
	font-size: 13px;
	color: var(--tt-muted);
}

.tt .qf-card-button-wrapper {
	margin-top: 4px;
}

.tt .qf-card-button,
.tt .qf-card-button:hover {
	padding: 0;
	border-radius: 0;
	background: none;
	box-shadow: none;
	transform: none;
	color: var(--tt-wine);
	font-size: 14px;
	font-weight: 600;
	text-decoration: underline;
	text-underline-offset: 3px;
}

.tt .qf-pagination {
	margin-top: 48px;
}

.tt .qf-pagination .page-numbers {
	min-width: 40px;
	margin: 0 3px;
	padding: 9px 12px;
	border: 1px solid var(--tt-line);
	border-radius: 0;
	background: #FFFFFF;
	color: var(--tt-body);
	font-size: 15px;
}

.tt .qf-pagination .page-numbers:hover,
.tt .qf-pagination .page-numbers.current {
	background: var(--tt-wine);
	border-color: var(--tt-wine);
	color: #FFFFFF;
}

.tt .qf-results-summary {
	font-size: 14px;
	color: var(--tt-muted);
}

@media (max-width: 960px) {
	.tt .qf-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}
}

@media (max-width: 600px) {
	.tt .qf-grid {
		grid-template-columns: minmax(0, 1fr) !important;
	}

	.tt .tt-listing {
		padding-top: 32px;
	}

	.tt .tt-listing-body > p {
		font-size: 17px;
	}
}

/* Listing pages: section headings between grids, search box, tag cloud. */
.tt .tt-listing-body > h2.wp-block-heading {
	margin: 64px auto 8px;
	text-align: center;
	font-family: var(--tt-serif);
	font-weight: 400;
	font-size: clamp(26px, 3vw, 34px);
	line-height: 1.15;
	color: var(--tt-ink);
}

.tt .tt-listing-body .qf-search-bar {
	margin: 0 auto 28px;
}

.tt .tt-listing-body .qf-search-input {
	max-width: 480px;
	padding: 11px 14px;
	border: 1px solid var(--tt-line-strong);
	border-radius: 0;
	background: #FFFFFF;
	font: 400 16px/1.3 var(--tt-sans);
	color: var(--tt-ink);
}

.tt .tt-listing-body .qf-search-input:focus {
	outline: 2px solid var(--tt-wine);
	outline-offset: 0;
}

.tt .tt-listing-body > .wp-block-tag-cloud {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 8px;
	max-width: 860px;
	margin: 48px auto 0;
}

.tt .tt-listing-body > .wp-block-tag-cloud a {
	display: inline-block;
	padding: 6px 10px;
	border: 1px solid var(--tt-line);
	background: #FFFFFF;
	color: var(--tt-body);
	text-decoration: none;
	font-size: 13px !important;
}

.tt .tt-listing-body > .wp-block-tag-cloud a:hover {
	border-color: var(--tt-wine);
	color: var(--tt-wine);
}

/* ---------- Learning paths (Tango Topics Paths plugin) ---------- */
.tt .tt-path-page {
	max-width: 820px;
	padding-top: 48px;
	padding-bottom: 80px;
}

.tt .tt-path-title {
	margin: 0 0 8px;
	font-family: var(--tt-serif);
	font-weight: 400;
	font-size: clamp(34px, 4.4vw, 52px);
	line-height: 1.05;
	letter-spacing: -0.02em;
	color: var(--tt-ink);
}

.tt .tt-path-track {
	display: flex;
	align-items: center;
	gap: 10px;
	margin: 0 0 16px;
	font-size: 13px;
	font-weight: 600;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--tt-muted);
}

/* The path's own colour is a swatch and a border, never text, so any
   colour chosen in the editor stays readable. */
.tt .tt-path-track::before {
	content: "";
	flex: none;
	width: 12px;
	height: 12px;
	background: var(--tt-path-color, var(--tt-wine));
}

.tt .tt-path-desc {
	margin: 0 0 24px;
	font-size: 18px;
	line-height: 1.6;
	color: var(--tt-soft);
}

.tt .tt-path-progress {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 12px 20px;
	margin: 0 0 32px;
	padding: 18px 20px;
	background: #FFFFFF;
	border: 1px solid var(--tt-line);
	border-top: 3px solid var(--tt-path-color, var(--tt-wine));
}

.tt .tt-path-bar {
	flex: 1 1 200px;
	height: 6px;
	background: var(--tt-sand);
}

.tt .tt-path-bar > span {
	display: block;
	height: 6px;
	background: var(--tt-wine);
}

.tt .tt-path-count {
	font-size: 14px;
	color: var(--tt-muted);
}

.tt .tt-path-list {
	list-style: none;
	margin: 0;
	padding: 0;
	border-top: 1px solid var(--tt-line);
}

.tt .tt-path-item {
	display: flex;
	align-items: center;
	gap: 16px;
	padding: 14px 0;
	border-bottom: 1px solid var(--tt-line);
}

.tt .tt-path-num {
	flex: none;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 32px;
	height: 32px;
	border: 1px solid var(--tt-line-strong);
	border-radius: 50%;
	font-size: 14px;
	font-weight: 600;
	color: var(--tt-muted);
}

.tt .tt-path-item.is-watched .tt-path-num {
	border-color: var(--tt-wine);
	background: var(--tt-wine);
	color: #FFFFFF;
}

.tt .tt-path-item.is-started .tt-path-num {
	border-color: var(--tt-wine);
	color: var(--tt-wine);
}

.tt a.tt-path-link {
	flex: 1;
	font-family: var(--tt-serif);
	font-size: 20px;
	line-height: 1.25;
	color: var(--tt-ink);
	text-decoration: none;
}

.tt a.tt-path-link:hover {
	color: var(--tt-wine);
}

.tt .tt-path-item.is-watched a.tt-path-link {
	color: var(--tt-muted);
}

.tt .tt-path-status {
	font-size: 13px;
	color: var(--tt-muted);
}

.tt .tt-paths-clear p {
	color: var(--tt-soft);
}

/* ---------- Member landing page ---------- */
.tt .tt-mh {
	padding-bottom: 24px;
}

.tt .tt-mh-head {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	justify-content: space-between;
	gap: 16px 32px;
	padding-top: 40px;
}

.tt .tt-mh-plan {
	margin: 0 0 6px;
	font-size: 13px;
	font-weight: 600;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--tt-muted);
}

.tt .tt-mh-plan a {
	text-transform: none;
	letter-spacing: 0;
}

.tt .tt-mh-hello {
	margin: 0;
	font-family: var(--tt-serif);
	font-weight: 400;
	font-size: clamp(36px, 4.4vw, 50px);
	line-height: 1.05;
	letter-spacing: -0.02em;
	color: var(--tt-ink);
}

.tt .tt-mh-role {
	display: flex;
	align-items: center;
	gap: 10px;
	font-size: 14px;
	color: var(--tt-soft);
}

.tt .tt-mh-role-group {
	display: flex;
	border: 1px solid var(--tt-line-strong);
	background: #FFFFFF;
}

.tt .tt-mh-role-group button {
	appearance: none;
	border: 0;
	border-left: 1px solid var(--tt-line-strong);
	background: #FFFFFF;
	padding: 9px 14px;
	font: 500 14px/1.2 var(--tt-sans);
	color: var(--tt-body);
	cursor: pointer;
}

.tt .tt-mh-role-group button:first-child {
	border-left: 0;
}

.tt .tt-mh-role-group button.is-on {
	background: var(--tt-wine);
	color: #FFFFFF;
}

.tt .tt-mh-role-group button:focus-visible {
	outline: 2px solid var(--tt-wine);
	outline-offset: 2px;
}

.tt .tt-mh-section {
	padding-top: 56px;
}

.tt .tt-mh-note {
	font-size: 14px;
	color: var(--tt-muted);
}

.tt .tt-mh-kicker {
	margin: 0;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--tt-muted);
}

.tt .tt-mh-kicker.is-light {
	color: var(--tt-blush);
}

/* Continue */
.tt .tt-mh-continue {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 20px;
}

.tt a.tt-mh-cont {
	display: flex;
	align-items: center;
	gap: 14px;
	padding: 12px;
	background: #FFFFFF;
	border: 1px solid var(--tt-line);
	color: var(--tt-ink);
	text-decoration: none;
}

.tt a.tt-mh-cont:hover {
	border-color: var(--tt-wine);
}

.tt .tt-mh-cont-img {
	position: relative;
	flex: none;
	width: 128px;
	aspect-ratio: 16 / 9;
	background: var(--tt-ph);
	overflow: hidden;
}

.tt .tt-mh-cont-pic {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.tt .tt-mh-play {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}

.tt .tt-mh-cont-text {
	display: flex;
	flex-direction: column;
	gap: 3px;
	min-width: 0;
}

.tt .tt-mh-cont-title {
	font-family: var(--tt-serif);
	font-size: 18px;
	line-height: 1.2;
}

.tt .tt-mh-cont-meta {
	font-size: 13px;
	color: var(--tt-muted);
}

.tt .tt-mh-cont-meta.is-watched {
	color: var(--tt-wine);
	font-weight: 600;
}

/* Focus */
.tt .tt-mh-focus {
	display: grid;
	grid-template-columns: minmax(0, 2fr) minmax(0, 1fr);
	gap: 24px;
}

.tt a.tt-mh-feature {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	min-height: 340px;
	background: var(--tt-night);
	color: #FFFFFF;
	text-decoration: none;
}

.tt .tt-mh-feature-img {
	display: block;
	background: var(--tt-ph);
	overflow: hidden;
}

.tt .tt-mh-feature-pic {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.tt .tt-mh-feature-text {
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	gap: 12px;
	padding: 30px;
}

.tt .tt-mh-feature-title {
	font-family: var(--tt-serif);
	font-size: 32px;
	line-height: 1.1;
}

.tt .tt-mh-feature-desc {
	font-size: 15px;
	line-height: 1.6;
	color: #E6DED8;
}

.tt .tt-mh-feature-btn {
	align-self: flex-start;
	margin-top: 6px;
}

.tt .tt-mh-related {
	display: flex;
	flex-direction: column;
	gap: 16px;
}

.tt a.tt-mh-rel {
	display: flex;
	align-items: center;
	gap: 14px;
	color: var(--tt-ink);
	text-decoration: none;
}

.tt .tt-mh-rel-pic {
	flex: none;
	display: block;
	width: 120px;
	aspect-ratio: 16 / 9;
	object-fit: cover;
	background: var(--tt-ph);
}

.tt .tt-mh-rel-title {
	display: block;
	font-family: var(--tt-serif);
	font-size: 18px;
	line-height: 1.2;
}

.tt a.tt-mh-rel:hover .tt-mh-rel-title {
	color: var(--tt-wine);
}

.tt .tt-mh-rel-meta {
	font-size: 13px;
	color: var(--tt-muted);
}

/* Search */
.tt .tt-mh-search {
	margin-top: 64px;
	background: var(--tt-sand);
	border-top: 1px solid var(--tt-line);
	border-bottom: 1px solid var(--tt-line);
}

.tt .tt-mh-search-inner {
	max-width: 808px;
	padding-top: 48px;
	padding-bottom: 48px;
	text-align: center;
}

.tt .tt-mh-search-title {
	margin: 0 0 18px;
	font-family: var(--tt-serif);
	font-weight: 400;
	font-size: clamp(28px, 3.4vw, 36px);
	color: var(--tt-ink);
}

.tt .tt-mh-search-form {
	display: flex;
	gap: 8px;
}

.tt .tt-mh-search-form input {
	flex: 1;
	min-width: 0;
	padding: 15px 16px;
	border: 1px solid var(--tt-line-strong);
	background: #FFFFFF;
	font: 400 17px/1.3 var(--tt-sans);
	color: var(--tt-ink);
}

.tt .tt-mh-search-form input:focus {
	outline: 2px solid var(--tt-wine);
	outline-offset: 0;
}

.tt .tt-mh-chips {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 8px;
	margin-top: 18px;
}

.tt a.tt-mh-chip {
	padding: 7px 12px;
	border: 1px solid var(--tt-line-strong);
	background: #FFFFFF;
	color: var(--tt-body);
	text-decoration: none;
	font-size: 14px;
}

.tt a.tt-mh-chip:hover {
	border-color: var(--tt-wine);
	color: var(--tt-wine);
}

/* Paths */
/* Paths: one row. Five fit across; with more, the row scrolls sideways. */
.tt .tt-mh-paths {
	display: grid;
	grid-auto-flow: column;
	grid-auto-columns: minmax(200px, 1fr);
	gap: 16px;
	overflow-x: auto;
	overscroll-behavior-x: contain;
	scroll-snap-type: x proximity;
	padding-bottom: 8px;
}
.tt .tt-mh-paths > * {
	scroll-snap-align: start;
}

.tt a.tt-mh-path {
	display: flex;
	flex-direction: column;
	gap: 10px;
	min-height: 220px;
	padding: 20px;
	background: #FFFFFF;
	border: 1px solid var(--tt-line);
	border-top: 4px solid var(--tt-path-color, var(--tt-wine));
	color: var(--tt-ink);
	text-decoration: none;
}

.tt a.tt-mh-path:hover {
	border-color: var(--tt-path-color, var(--tt-wine));
}

.tt .tt-mh-path-title {
	font-family: var(--tt-serif);
	font-size: 23px;
	line-height: 1.15;
}

.tt .tt-mh-path-desc {
	font-size: 14px;
	line-height: 1.5;
	color: var(--tt-soft);
}

.tt .tt-mh-path-foot {
	margin-top: auto;
	display: flex;
	flex-direction: column;
	gap: 6px;
}

.tt .tt-mh-path-count {
	font-size: 13px;
	color: var(--tt-muted);
}

/* Song of the day */
.tt .tt-mh-song {
	display: grid;
	grid-template-columns: minmax(0, 5fr) minmax(0, 5fr) minmax(0, 2fr);
	gap: 24px;
	align-items: center;
	padding: 30px 34px;
	background: var(--tt-night);
	color: #FFFFFF;
}

.tt .tt-mh-song-main {
	display: flex;
	align-items: center;
	gap: 20px;
}

.tt a.tt-mh-song-play {
	flex: none;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 64px;
	height: 64px;
	border-radius: 50%;
	background: #FFFFFF;
	color: var(--tt-wine);
}

.tt a.tt-mh-song-play:hover {
	background: var(--tt-blush);
}

.tt .tt-mh-song-title {
	margin: 2px 0 0;
	font-family: var(--tt-serif);
	font-size: 28px;
	line-height: 1.1;
}

.tt .tt-mh-song-meta {
	margin: 4px 0 0;
	font-size: 14px;
	color: #CFC6BF;
}

.tt .tt-mh-wave {
	display: flex;
	align-items: center;
	gap: 3px;
	height: 56px;
}

.tt .tt-mh-wave span {
	flex: 1;
	min-height: 4px;
	background: rgba(255, 255, 255, 0.34);
}

.tt .tt-mh-song-side {
	text-align: right;
	font-size: 14px;
}

.tt .tt-mh-song-count {
	margin: 0 0 8px;
	font-size: 13px;
	color: #CFC6BF;
}

.tt .tt-mh-song-side a {
	color: #FFFFFF;
	font-weight: 600;
}

/* Topic tiles */
.tt .tt-mh-tiles {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 20px;
}

.tt a.tt-mh-tile {
	position: relative;
	display: flex;
	align-items: flex-end;
	height: 170px;
	padding: 18px;
	overflow: hidden;
	color: #FFFFFF;
	text-decoration: none;
}

.tt .tt-mh-tile-pic {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.4s ease;
}

.tt a.tt-mh-tile::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(to top, rgba(20, 18, 17, 0.82), rgba(20, 18, 17, 0.08) 65%);
}

.tt a.tt-mh-tile:hover .tt-mh-tile-pic {
	transform: scale(1.04);
}

.tt .tt-mh-tile-name {
	position: relative;
	z-index: 1;
	font-family: var(--tt-serif);
	font-size: 24px;
	line-height: 1.1;
}

/* A to Z */
.tt .tt-mh-az-title {
	margin: 0 0 16px;
	font-family: var(--tt-serif);
	font-weight: 400;
	font-size: 24px;
	color: var(--tt-ink);
}

.tt .tt-mh-az {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 24px;
	padding-top: 16px;
	border-top: 1px solid var(--tt-line);
}

.tt .tt-mh-az-col {
	display: flex;
	flex-direction: column;
	gap: 7px;
}

.tt .tt-mh-az-col .tt-mh-kicker {
	margin-bottom: 4px;
}

.tt .tt-mh-az-col a {
	font-size: 15px;
	color: var(--tt-body);
	text-decoration: none;
}

.tt .tt-mh-az-col a:hover {
	color: var(--tt-wine);
}

.tt .tt-mh-last {
	padding-bottom: 56px;
}

.tt .tt-mh-help {
	margin: 0;
	padding: 16px 20px;
	border: 1px solid var(--tt-line);
	font-size: 14px;
	color: var(--tt-soft);
}

.tt .tt-mh-help strong {
	color: var(--tt-ink);
}

@media (max-width: 1080px) {
	.tt .tt-mh-continue {
		grid-template-columns: minmax(0, 1fr);
	}

	.tt .tt-mh-focus {
		grid-template-columns: minmax(0, 1fr);
	}

	.tt .tt-mh-tiles {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.tt .tt-mh-az {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.tt .tt-mh-song {
		grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	}

	.tt .tt-mh-song-side {
		grid-column: 1 / -1;
		text-align: left;
	}
}

@media (max-width: 760px) {
	.tt a.tt-mh-feature {
		grid-template-columns: minmax(0, 1fr);
	}

	.tt .tt-mh-feature-img {
		aspect-ratio: 16 / 9;
	}

	.tt .tt-mh-song {
		grid-template-columns: minmax(0, 1fr);
		padding: 22px;
	}

	.tt .tt-mh-wave {
		display: none;
	}

	.tt .tt-mh-az {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 600px) {
	.tt .tt-mh-head {
		padding-top: 28px;
	}

	.tt .tt-mh-section {
		padding-top: 40px;
	}

	.tt .tt-mh-search {
		margin-top: 40px;
	}

	.tt .tt-mh-search-inner {
		padding-top: 32px;
		padding-bottom: 32px;
	}

	.tt .tt-mh-chips {
		flex-wrap: nowrap;
		justify-content: flex-start;
		overflow-x: auto;
		padding-bottom: 4px;
	}

	.tt a.tt-mh-chip {
		flex: none;
	}

	.tt .tt-mh-tiles {
		gap: 10px;
	}

	.tt a.tt-mh-tile {
		height: 110px;
		padding: 12px;
	}

	.tt .tt-mh-tile-name {
		font-size: 19px;
	}

	.tt .tt-mh-feature-title {
		font-size: 26px;
	}
}

.tt .tt-mh-path-foot .tt-path-bar {
	flex: none;
	display: block;
	height: 6px;
}

/* ---------- MemberPress account page ---------- */
.tt #mepr-account-nav {
	display: flex;
	flex-wrap: wrap;
	gap: 4px;
	margin: 0 0 28px;
	padding: 0;
	border-bottom: 1px solid var(--tt-line);
}

.tt #mepr-account-nav .mepr-nav-item {
	display: inline-block;
	margin: 0;
}

.tt #mepr-account-nav .mepr-nav-item a {
	display: inline-block;
	margin-bottom: -1px;
	padding: 12px 16px;
	border-bottom: 2px solid transparent;
	font-size: 15px;
	font-weight: 500;
	color: var(--tt-muted);
	text-decoration: none;
}

.tt #mepr-account-nav .mepr-nav-item a:hover,
.tt #mepr-account-nav .mepr-active-nav-tab a {
	color: var(--tt-wine);
	border-bottom-color: var(--tt-wine);
}

.tt .mp_wrapper input[type="text"],
.tt .mp_wrapper input[type="email"],
.tt .mp_wrapper input[type="password"],
.tt .mp_wrapper select,
.tt .mp_wrapper textarea {
	box-sizing: border-box;
	width: 100%;
	max-width: 480px;
	padding: 11px 12px;
	border: 1px solid var(--tt-line-strong);
	border-radius: 0;
	background: #FFFFFF;
	font: 400 16px/1.4 var(--tt-sans);
	color: var(--tt-ink);
}

.tt .mp_wrapper label {
	font-size: 14px;
	font-weight: 600;
	color: var(--tt-ink);
}

.tt .mp_wrapper input[type="submit"],
.tt .mp_wrapper .mepr-submit,
.tt .mp_wrapper button[type="submit"] {
	padding: 12px 20px;
	border: 0;
	border-radius: 4px;
	background: var(--tt-wine);
	color: #FFFFFF;
	font: 600 15px/1.2 var(--tt-sans);
	cursor: pointer;
}

.tt .mp_wrapper table {
	width: 100%;
	border-collapse: collapse;
	font-size: 15px;
}

.tt .mp_wrapper th,
.tt .mp_wrapper td {
	padding: 10px 12px;
	border-bottom: 1px solid var(--tt-line);
	text-align: left;
}

.tt .mp_wrapper th {
	font-size: 13px;
	font-weight: 600;
	color: var(--tt-muted);
}

.tt .tt-paths-history {
	margin-top: 48px;
	padding-top: 28px;
	border-top: 1px solid var(--tt-line);
	max-width: 640px;
}

.tt .tt-paths-history h2 {
	margin: 0 0 8px;
	font-family: var(--tt-serif);
	font-weight: 400;
	font-size: 26px;
	color: var(--tt-ink);
}

.tt .tt-paths-cleared {
	color: #24521B;
	font-weight: 500;
}

/* YouTube click-to-play */
.tt .tt-yt {
	position: relative;
	width: 100%;
	max-width: 100%;
	aspect-ratio: 16 / 9;
	margin: 0 0 1.25em;
	background: #1b1715 center / cover no-repeat;
	border-radius: 10px;
	overflow: hidden;
	color: #fff;
}
.tt .tt-yt.has-poster::before {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(0,0,0,.05) 40%, rgba(0,0,0,.6));
	pointer-events: none;
}
.tt .tt-yt-play {
	position: absolute;
	inset: 0;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 12px;
	width: 100%;
	padding: 16px 16px 48px;
	border: 0;
	background: transparent;
	color: #fff;
	cursor: pointer;
	font: 500 16px/1.3 var(--tt-sans);
	text-align: center;
}
.tt .tt-yt-icon svg { display: block; transition: transform .15s ease; }
.tt .tt-yt-play:hover .tt-yt-icon svg,
.tt .tt-yt-play:focus-visible .tt-yt-icon svg { transform: scale(1.08); }
.tt .tt-yt-play:focus-visible { outline: 3px solid #fff; outline-offset: -6px; }
.tt .tt-yt-title { max-width: 32em; text-shadow: 0 1px 3px rgba(0,0,0,.6); }
.tt .tt-yt-note {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	margin: 0;
	padding: 8px 12px;
	font: 400 12px/1.4 var(--tt-sans);
	color: rgba(255,255,255,.85);
	text-align: center;
	background: rgba(0,0,0,.45);
}
.tt .tt-yt-note a { color: #fff; text-decoration: underline; }
.tt .tt-yt iframe {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	border: 0;
}
.tt .tt-el-video .tt-yt { position: absolute; inset: 0; margin: 0; aspect-ratio: auto; border-radius: 0; }
.tt .wp-block-embed.is-type-video .wp-block-embed__wrapper::before { display: none; }
.tt .wp-block-embed__wrapper .tt-yt { margin: 0; }
/* Sign-up and account forms: fields side by side instead of one per line.
   First + Last name | Address 1 | Address 2 | City + State + Zip | Country.
   MemberPress prints Country before State and Zip, so Country and everything
   after Zip move to a second "order" group; their own order stays the same. */
.tt .mepr-signup-form,
.tt .mepr-account-form {
	display: grid;
	grid-template-columns: repeat(6, minmax(0, 1fr));
	column-gap: 16px;
	max-width: 640px;
}
.tt .mepr-signup-form > *,
.tt .mepr-account-form > * {
	grid-column: 1 / -1;
	min-width: 0;
}
.tt .mepr-signup-form > .mepr_first_name,
.tt .mepr-signup-form > .mepr_last_name,
.tt .mepr-account-form > .mepr_first_name,
.tt .mepr-account-form > .mepr_last_name {
	grid-column: span 3;
}
.tt .mepr-signup-form > .mepr_mepr-address-city,
.tt .mepr-signup-form > .mepr_mepr-address-state,
.tt .mepr-signup-form > .mepr_mepr-address-zip,
.tt .mepr-account-form > .mepr_mepr-address-city,
.tt .mepr-account-form > .mepr_mepr-address-state,
.tt .mepr-account-form > .mepr_mepr-address-zip {
	grid-column: span 2;
}
.tt .mepr-signup-form > .mepr_mepr-address-country,
.tt .mepr-signup-form > .mepr_mepr-address-zip ~ *,
.tt .mepr-account-form > .mepr_mepr-address-country,
.tt .mepr-account-form > .mepr_mepr-address-zip ~ * {
	order: 1;
}
.tt .mepr-signup-form .mp-form-row input[type="text"],
.tt .mepr-signup-form .mp-form-row input[type="email"],
.tt .mepr-signup-form .mp-form-row input[type="password"],
.tt .mepr-signup-form .mp-form-row select,
.tt .mepr-account-form .mp-form-row input[type="text"],
.tt .mepr-account-form .mp-form-row input[type="email"],
.tt .mepr-account-form .mp-form-row select {
	max-width: none;
}
.tt .mepr-signup-form .mp-form-label,
.tt .mepr-account-form .mp-form-label {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 0 8px;
}
.tt .mepr-account-form > .mepr-submit {
	justify-self: start;
}
@media (max-width: 560px) {
	.tt .mepr-signup-form > .mepr_mepr-address-city,
	.tt .mepr-account-form > .mepr_mepr-address-city {
		grid-column: 1 / -1;
	}
	.tt .mepr-signup-form > .mepr_mepr-address-state,
	.tt .mepr-signup-form > .mepr_mepr-address-zip,
	.tt .mepr-account-form > .mepr_mepr-address-state,
	.tt .mepr-account-form > .mepr_mepr-address-zip {
		grid-column: span 3;
	}
}

/* ---------- Search results ---------- */
.tt .tt-sr-band {
	border-bottom: 1px solid var(--tt-line);
}
.tt .tt-sr-head {
	display: flex;
	flex-direction: column;
	gap: 18px;
	padding-top: 40px;
	padding-bottom: 28px;
}
.tt .tt-sr-kicker {
	margin: 0;
	font-family: var(--tt-sans);
	font-size: 13px;
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--tt-muted);
}
.tt .tt-sr-title {
	margin: -10px 0 0;
	font-family: var(--tt-serif);
	font-weight: 400;
	font-size: clamp(32px, 4vw, 48px);
	line-height: 1.05;
	letter-spacing: -0.02em;
	color: var(--tt-ink);
}
.tt .tt-sr-lede {
	margin: 0;
	max-width: 640px;
	font-size: 17px;
	color: var(--tt-ink-soft, #3A3533);
}
.tt .tt-sr-form {
	display: flex;
	gap: 10px;
	max-width: 640px;
}
.tt .tt-sr-form input[type="search"] {
	flex: 1;
	min-width: 0;
	box-sizing: border-box;
	height: 48px;
	padding: 0 14px;
	border: 1px solid var(--tt-line-strong);
	border-radius: 0;
	background: #FFFFFF;
	font: 400 17px/1.2 var(--tt-sans);
	color: var(--tt-ink);
}
.tt .tt-sr-form .tt-btn {
	height: 48px;
	padding: 0 22px;
}
.tt .tt-sr-chips {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}
.tt .tt-sr-chip {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	min-height: 40px;
	padding: 0 14px;
	border: 1px solid var(--tt-line-strong);
	background: #FFFFFF;
	color: #3A3533;
	font: 600 14px/1.2 var(--tt-sans);
	text-decoration: none;
}
.tt .tt-sr-chip span {
	font-weight: 500;
	color: var(--tt-muted);
}
.tt .tt-sr-chip:hover {
	border-color: var(--tt-wine);
	color: var(--tt-wine);
}
.tt .tt-sr-chip.is-on {
	border-color: var(--tt-wine);
	background: var(--tt-wine);
	color: #FFFFFF;
}
.tt .tt-sr-chip.is-on span {
	color: #FFFFFF;
}
.tt .tt-sr-body {
	display: flex;
	flex-wrap: wrap;
	gap: 40px;
	padding-top: 32px;
	padding-bottom: 64px;
}
.tt .tt-sr-main {
	flex: 999 1 560px;
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 16px;
}
.tt .tt-sr-bar {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 8px 16px;
	font: 400 14px/1.4 var(--tt-sans);
	color: var(--tt-muted);
}
.tt .tt-sr-sort {
	display: flex;
	align-items: center;
	gap: 8px;
}
.tt .tt-sr-sort select {
	height: 36px;
	padding: 0 8px;
	border: 1px solid var(--tt-line-strong);
	background: #FFFFFF;
	font: 500 14px var(--tt-sans);
	color: var(--tt-ink);
}
.tt .tt-sr-lex {
	display: flex;
	flex-direction: column;
	gap: 10px;
	padding: 24px 28px;
	background: #FFFFFF;
	border: 1px solid var(--tt-line);
	border-top: 4px solid var(--tt-wine);
}
.tt .tt-sr-lex-kicker {
	margin: 0;
	font: 600 12px/1.2 var(--tt-sans);
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--tt-wine);
}
.tt .tt-sr-lex-title {
	margin: 0;
	font-family: var(--tt-serif);
	font-weight: 400;
	font-size: 32px;
	line-height: 1.1;
}
.tt .tt-sr-lex-title a {
	color: var(--tt-ink);
	text-decoration: none;
}
.tt .tt-sr-lex-text {
	margin: 0;
	max-width: 68ch;
	font-size: 16px;
	color: #3A3533;
}
.tt .tt-sr-lex-links {
	display: flex;
	flex-wrap: wrap;
	gap: 8px 20px;
	margin: 0;
	font: 600 14px/1.4 var(--tt-sans);
}
.tt .tt-sr-list {
	display: flex;
	flex-direction: column;
	gap: 16px;
	margin: 0;
	padding: 0;
	list-style: none;
}
.tt .tt-sr-card {
	display: flex;
	gap: 20px;
	align-items: flex-start;
	padding: 16px;
	background: #FFFFFF;
	border: 1px solid var(--tt-line);
	color: var(--tt-ink);
	text-decoration: none;
}
.tt .tt-sr-card:hover {
	border-color: var(--tt-line-strong);
}
.tt .tt-sr-card:hover .tt-sr-name {
	color: var(--tt-wine);
}
.tt .tt-sr-thumb {
	position: relative;
	flex: none;
	width: 176px;
	aspect-ratio: 16 / 9;
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
}
.tt .tt-sr-thumb img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center 20%;
}
.tt .tt-sr-thumb svg {
	position: relative;
}
.tt .tt-sr-text {
	display: flex;
	flex-direction: column;
	gap: 6px;
	min-width: 0;
}
.tt .tt-sr-type {
	font: 600 12px/1.2 var(--tt-sans);
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--tt-muted);
}
.tt .tt-sr-name {
	font-family: var(--tt-serif);
	font-size: 22px;
	line-height: 1.2;
}
.tt .tt-sr-snip {
	font: 400 15px/1.5 var(--tt-sans);
	color: #4A4442;
}
.tt .tt-sr-snip mark,
.tt .tt-sr-lex mark {
	padding: 0 2px;
	background: var(--tt-wine-tint);
	color: var(--tt-ink);
}
.tt .tt-sr-members {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 16px 32px;
	padding: 24px 28px;
	background: var(--tt-ink);
	color: #FFFFFF;
}
.tt .tt-sr-members-title {
	margin: 0;
	font-family: var(--tt-serif);
	font-size: 24px;
	line-height: 1.2;
}
.tt .tt-sr-members-text {
	margin: 4px 0 0;
	font-size: 15px;
	color: #D9D3CC;
}
.tt .tt-sr-pages {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 6px;
	padding-top: 16px;
	font: 400 15px/1 var(--tt-sans);
}
.tt .tt-sr-pages .page-numbers {
	min-width: 44px;
	height: 44px;
	box-sizing: border-box;
	padding: 0 14px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border: 1px solid var(--tt-line);
	background: #FFFFFF;
	color: var(--tt-ink);
	text-decoration: none;
}
.tt .tt-sr-pages .page-numbers.current {
	border-color: var(--tt-wine);
	background: var(--tt-wine);
	color: #FFFFFF;
	font-weight: 600;
}
.tt .tt-sr-pages .page-numbers.dots {
	border: 0;
	background: none;
}
.tt .tt-sr-pages .prev,
.tt .tt-sr-pages .next {
	font-weight: 600;
}
.tt .tt-sr-side {
	flex: 1 1 260px;
	display: flex;
	flex-direction: column;
	gap: 12px;
}
.tt .tt-sr-side-title {
	margin: 12px 0 0;
	font-family: var(--tt-serif);
	font-weight: 400;
	font-size: 22px;
}
.tt .tt-sr-side-title:first-child {
	margin-top: 0;
}
.tt .tt-sr-side-list {
	display: flex;
	flex-direction: column;
	gap: 8px;
}
.tt .tt-sr-side-item {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 10px;
	background: #FFFFFF;
	border: 1px solid var(--tt-line);
	color: var(--tt-ink);
	font: 500 15px/1.3 var(--tt-sans);
	text-decoration: none;
}
.tt .tt-sr-side-item:hover {
	color: var(--tt-wine);
}
.tt .tt-sr-dot {
	flex: none;
	width: 36px;
	height: 36px;
}
.tt .tt-sr-path {
	display: flex;
	flex-direction: column;
	gap: 8px;
	padding: 14px;
	background: #FFFFFF;
	border: 1px solid var(--tt-line);
	color: var(--tt-ink);
	text-decoration: none;
}
.tt .tt-sr-path-track {
	display: flex;
	align-items: center;
	gap: 8px;
	font: 600 12px/1.2 var(--tt-sans);
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--tt-muted);
}
.tt .tt-sr-swatch {
	width: 10px;
	height: 10px;
}
.tt .tt-sr-path-name {
	font-family: var(--tt-serif);
	font-size: 19px;
}
.tt .tt-sr-path-bar {
	display: block;
	height: 6px;
	background: #EDE8E1;
}
.tt .tt-sr-path-bar span {
	display: block;
	height: 6px;
	background: var(--tt-wine);
}
.tt .tt-sr-path-count {
	font-size: 13px;
	color: var(--tt-muted);
}
.tt .tt-sr-browse {
	display: flex;
	flex-direction: column;
	gap: 16px;
	padding-bottom: 64px;
}
.tt .tt-sr-tiles {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 16px;
}
.tt .tt-sr-tile {
	display: flex;
	align-items: flex-end;
	min-height: 120px;
	padding: 16px;
	color: #FFFFFF;
	font-family: var(--tt-serif);
	font-size: 22px;
	line-height: 1.15;
	text-decoration: none;
}
.tt .tt-sr-lexlink {
	margin: 8px 0 0;
}
@media (max-width: 700px) {
	.tt .tt-sr-card {
		flex-direction: column;
		gap: 12px;
		padding: 0 0 16px;
	}
	.tt .tt-sr-thumb {
		width: 100%;
	}
	.tt .tt-sr-text {
		padding: 0 16px;
	}
	.tt .tt-sr-chips {
		flex-wrap: nowrap;
		overflow-x: auto;
		padding-bottom: 4px;
	}
	.tt .tt-sr-chip {
		flex: none;
		min-height: 44px;
	}
	.tt .tt-sr-tiles {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
	.tt .tt-sr-lex {
		padding: 18px;
	}
}

.tt .tt-sr-aud {
	display: inline-block;
	margin-left: 8px;
	padding: 2px 7px;
	border-radius: 3px;
	font: 600 11px/1.4 var(--tt-sans);
	letter-spacing: 0.04em;
	vertical-align: 1px;
}
.tt .tt-sr-aud.is-free {
	background: #E3EEF5;
	color: #1F4E6B;
}
.tt .tt-sr-aud.is-members {
	background: var(--tt-wine);
	color: #FFFFFF;
}
.tt .tt-sr-aud.is-everyone {
	background: #EDE8E1;
	color: #4A4442;
}

/* LIMITED teaser: card under the video and a short pop-up */
.tt .tt-teaser {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 16px 24px;
	margin-top: 24px;
	padding: 20px 24px;
	background: #FFFFFF;
	border: 1px solid var(--tt-line);
	border-top: 3px solid var(--tt-wine);
	font-family: var(--tt-sans);
}
.tt .tt-teaser-copy {
	flex: 1 1 420px;
	min-width: 0;
}
.tt .tt-teaser-title {
	margin: 0 0 4px;
	font-family: var(--tt-serif);
	font-size: 23px;
	line-height: 1.2;
	color: var(--tt-ink);
}
.tt .tt-teaser-text {
	margin: 0;
	font-size: 15px;
	line-height: 1.5;
	color: #3A3533;
}
.tt .tt-teaser-actions {
	flex: none;
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	gap: 8px;
}
.tt .tt-teaser-login {
	font-size: 14px;
	color: var(--tt-muted);
}
.tt .tt-teaser-login a {
	font-weight: 600;
}
.tt .tt-teaser-pop {
	position: fixed;
	right: 24px;
	bottom: 24px;
	z-index: 9990;
	width: 400px;
	max-width: calc(100vw - 32px);
	box-sizing: border-box;
	background: var(--tt-ink);
	color: #FFFFFF;
	box-shadow: 0 12px 40px rgba(25, 23, 22, 0.35);
	font-family: var(--tt-sans);
	opacity: 0;
	transform: translateY(12px);
	transition: opacity 0.35s ease, transform 0.35s ease;
}
.tt .tt-teaser-pop.is-open {
	opacity: 1;
	transform: none;
}
.tt .tt-teaser-pop[hidden] {
	display: none;
}
.tt .tt-teaser-pop-body {
	display: flex;
	flex-direction: column;
	gap: 10px;
	padding: 22px 22px 18px;
}
.tt .tt-teaser-pop-head {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 12px;
}
.tt .tt-teaser-pop-title {
	margin: 0;
	font-family: var(--tt-serif);
	font-size: 24px;
	line-height: 1.15;
}
.tt .tt-teaser-pop-close {
	flex: none;
	width: 44px;
	height: 44px;
	margin: -10px -10px 0 0;
	padding: 0;
	border: 0;
	background: transparent;
	color: #FFFFFF;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
}
.tt .tt-teaser-pop-text {
	margin: 0;
	font-size: 15px;
	line-height: 1.5;
	color: #D9D3CC;
}
.tt .tt-teaser-pop-actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 12px 16px;
	padding-top: 6px;
}
.tt .tt-teaser-pop-actions .tt-btn.is-light {
	background: #FFFFFF;
	color: var(--tt-wine);
}
.tt .tt-teaser-pop-skip {
	padding: 10px 0;
	border: 0;
	background: none;
	color: #FFFFFF;
	font: 600 14px/1.2 var(--tt-sans);
	text-decoration: underline;
	text-underline-offset: 3px;
	cursor: pointer;
}
.tt .tt-teaser-pop-timer {
	display: block;
	height: 4px;
	background: rgba(255, 255, 255, 0.15);
}
.tt .tt-teaser-pop-timer span {
	display: block;
	height: 4px;
	width: 100%;
	background: #C9A3A8;
	transform-origin: left center;
}
.tt .tt-teaser-pop.is-open .tt-teaser-pop-timer span {
	animation: tt-teaser-timer 10s linear forwards;
}
.tt .tt-teaser-pop:hover .tt-teaser-pop-timer span,
.tt .tt-teaser-pop:focus-within .tt-teaser-pop-timer span {
	animation-play-state: paused;
}
@keyframes tt-teaser-timer {
	from { transform: scaleX(1); }
	to { transform: scaleX(0); }
}
@media (max-width: 700px) {
	.tt .tt-teaser {
		padding: 18px;
	}
	.tt .tt-teaser-actions {
		align-items: flex-start;
	}
	.tt .tt-teaser-pop {
		left: 0;
		right: 0;
		bottom: 0;
		width: auto;
		max-width: none;
	}
	.tt .tt-teaser-pop-body {
		padding: 18px 16px 20px;
	}
}

/* Search result tags for free users and visitors: LIMITED, FREE, OPEN */
.tt .tt-sr-tag {
	position: absolute;
	right: 6px;
	bottom: 6px;
	padding: 3px 7px;
	font: 700 10px/1.2 var(--tt-sans);
	letter-spacing: 0.08em;
}
.tt .tt-sr-tag.is-limited {
	background: var(--tt-ink);
	color: #FFFFFF;
}
.tt .tt-sr-tag.is-free {
	background: #FFFFFF;
	color: var(--tt-wine);
}
.tt .tt-sr-tag.is-open {
	background: #2F6B4F;
	color: #FFFFFF;
}
@media (max-width: 700px) {
	.tt .tt-sr-tag {
		right: 8px;
		bottom: 8px;
		font-size: 11px;
	}
}

@media (max-width: 700px) {
	.tt .tt-mh-paths {
		grid-auto-columns: minmax(78%, 1fr);
	}
}

/* ---------- Member home, at a glance (three columns) ---------- */
.tt .tt-mh2 {
	font-family: var(--tt-sans);
	color: var(--tt-ink);
}
.tt .tt-mh2-wrap {
	max-width: 1400px;
	margin-left: auto;
	margin-right: auto;
	padding-left: var(--tt-gutter);
	padding-right: var(--tt-gutter);
	box-sizing: border-box;
}
.tt .tt-mh2-h {
	margin: 0;
	font-family: var(--tt-serif);
	font-weight: 400;
	font-size: 22px;
	line-height: 1.2;
}
.tt .tt-mh2-strip {
	background: #FFFFFF;
	border-bottom: 1px solid var(--tt-line);
}
.tt .tt-mh2-strip-row {
	display: flex;
	align-items: center;
	gap: 14px 22px;
	min-height: 76px;
	padding-top: 10px;
	padding-bottom: 10px;
}
.tt .tt-mh2-hello {
	flex: none;
	max-width: 230px;
}
.tt .tt-mh2-hello-name {
	margin: 0;
	font-family: var(--tt-serif);
	font-weight: 400;
	font-size: 21px;
	line-height: 1.1;
}
.tt .tt-mh2-hello-plan {
	margin: 3px 0 0;
	font-size: 12px;
	color: var(--tt-muted);
}
.tt .tt-mh2-strip-label {
	flex: none;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--tt-muted);
}
.tt .tt-mh2-cont-list {
	flex: 1;
	min-width: 0;
	display: flex;
	gap: 18px;
}
.tt a.tt-mh2-cont {
	flex: 1 1 0;
	min-width: 0;
	display: flex;
	align-items: center;
	gap: 10px;
	color: var(--tt-ink);
	text-decoration: none;
}
.tt a.tt-mh2-cont:hover .tt-mh2-cont-title {
	color: var(--tt-wine);
}
.tt .tt-mh2-cont-img {
	position: relative;
	flex: none;
	width: 72px;
	height: 40px;
	background: var(--tt-sand);
	overflow: hidden;
}
.tt .tt-mh2-cont-pic {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.tt .tt-mh2-cont-state {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	height: 3px;
}
.tt .tt-mh2-cont-state.is-watched {
	background: var(--tt-wine);
}
.tt .tt-mh2-cont-state.is-started {
	right: 50%;
	background: var(--tt-wine);
}
.tt .tt-mh2-cont-text {
	min-width: 0;
	display: flex;
	flex-direction: column;
}
.tt .tt-mh2-cont-title {
	font-size: 14px;
	font-weight: 600;
	line-height: 1.3;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
.tt .tt-mh2-cont-meta {
	font-size: 12px;
	color: var(--tt-muted);
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
.tt a.tt-mh2-history {
	flex: none;
	font-size: 13px;
	font-weight: 600;
}
.tt .tt-mh2-search {
	flex: none;
	width: 240px;
	margin-left: auto;
}
.tt .tt-mh2-search input {
	width: 100%;
	height: 40px;
	box-sizing: border-box;
	padding: 0 12px;
	border: 1px solid var(--tt-line-strong);
	border-radius: 0;
	background: var(--tt-paper);
	font: 400 14px/1.2 var(--tt-sans);
	color: var(--tt-ink);
}
.tt .tt-mh2-grid {
	display: grid;
	grid-template-columns: 220px minmax(0, 1fr) 320px;
	gap: 28px;
	align-items: start;
	padding-top: 24px;
	padding-bottom: 32px;
}
.tt .tt-mh2-lib {
	display: flex;
	flex-direction: column;
	gap: 14px;
}
.tt .tt-mh2-lib-group .tt-mh-kicker {
	font-size: 11px;
	margin-bottom: 4px;
}
.tt .tt-mh2-lib-links {
	margin: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 2px 12px;
	font-size: 13.5px;
	line-height: 1.6;
}
.tt .tt-mh2-lib-links a {
	color: #3A3533;
	text-decoration: none;
}
.tt .tt-mh2-lib-links a:hover {
	color: var(--tt-wine);
	text-decoration: underline;
}
.tt .tt-mh2-main {
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 22px;
}
.tt a.tt-mh2-focus {
	display: grid;
	grid-template-columns: minmax(0, 300px) minmax(0, 1fr);
	min-height: 190px;
	background: var(--tt-night);
	color: #FFFFFF;
	text-decoration: none;
}
.tt .tt-mh2-focus-img {
	position: relative;
	overflow: hidden;
	background: #2A2624;
}
.tt .tt-mh2-focus-pic {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center 20%;
}
.tt .tt-mh2-focus-text {
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 8px;
	padding: 22px 26px;
}
.tt .tt-mh2-focus-title {
	font-family: var(--tt-serif);
	font-size: 28px;
	line-height: 1.1;
}
.tt a.tt-mh2-focus:hover .tt-mh2-focus-title {
	text-decoration: underline;
	text-underline-offset: 4px;
}
.tt .tt-mh2-focus-note {
	font-size: 13px;
	color: #D9D3CC;
}
.tt .tt-mh2-paths {
	display: flex;
	flex-direction: column;
	gap: 8px;
}
.tt .tt-mh2-paths-head {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	justify-content: space-between;
	gap: 6px 16px;
	margin-bottom: 4px;
}
.tt .tt-mh2-role {
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: 12px;
	color: var(--tt-muted);
}
.tt .tt-mh2-role-group {
	display: inline-flex;
	border: 1px solid var(--tt-line-strong);
	background: #FFFFFF;
}
.tt .tt-mh2-role-group button {
	min-height: 30px;
	padding: 0 10px;
	border: 0;
	border-left: 1px solid var(--tt-line-strong);
	background: transparent;
	font: 500 12px/1 var(--tt-sans);
	color: #3A3533;
	cursor: pointer;
}
.tt .tt-mh2-role-group button:first-child {
	border-left: 0;
}
.tt .tt-mh2-role-group button.is-on {
	background: var(--tt-wine);
	color: #FFFFFF;
}
.tt .tt-mh2-path {
	display: grid;
	grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr) minmax(0, 1.35fr);
	align-items: center;
	gap: 16px;
	min-height: 64px;
	padding: 10px 16px 10px 18px;
	box-sizing: border-box;
	background: #FFFFFF;
	border: 1px solid var(--tt-line);
	border-left: 6px solid var(--tt-path-color, var(--tt-wine));
}
.tt a.tt-mh2-path-name {
	min-width: 0;
	display: flex;
	flex-direction: column;
	color: var(--tt-ink);
	text-decoration: none;
}
.tt .tt-mh2-path-title {
	font-family: var(--tt-serif);
	font-size: 19px;
	line-height: 1.15;
}
.tt a.tt-mh2-path-name:hover .tt-mh2-path-title {
	color: var(--tt-wine);
}
.tt .tt-mh2-path-name .tt-mh-kicker {
	font-size: 11px;
}
.tt .tt-mh2-path-prog {
	display: flex;
	flex-direction: column;
	gap: 4px;
}
.tt .tt-mh2-path-prog .tt-path-bar {
	flex: none;
	height: 6px;
}
.tt .tt-mh2-path-count {
	font-size: 12px;
	color: var(--tt-muted);
}
.tt .tt-mh2-path-next {
	min-width: 0;
	font-size: 13.5px;
	line-height: 1.35;
	color: var(--tt-ink);
	text-decoration: none;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}
.tt a.tt-mh2-path-next span {
	color: var(--tt-muted);
}
.tt a.tt-mh2-path-next:hover {
	color: var(--tt-wine);
}
.tt .tt-mh2-path-next.is-done {
	color: var(--tt-muted);
}
.tt .tt-mh2-side {
	display: flex;
	flex-direction: column;
	gap: 22px;
}
.tt a.tt-mh2-song {
	display: flex;
	flex-direction: column;
	gap: 8px;
	padding: 18px;
	background: var(--tt-ink);
	color: #FFFFFF;
	text-decoration: none;
}
.tt .tt-mh2-song-title {
	font-family: var(--tt-serif);
	font-size: 22px;
	line-height: 1.15;
}
.tt .tt-mh2-song-meta {
	font-size: 13px;
	color: #D9D3CC;
}
.tt .tt-mh2-wave {
	display: flex;
	align-items: center;
	gap: 2px;
	height: 40px;
}
.tt .tt-mh2-wave span {
	flex: 1;
	min-height: 3px;
	background: rgba(255, 255, 255, 0.35);
}
.tt .tt-mh2-wave span:nth-child(-n+18) {
	background: var(--tt-blush, #D9A3AB);
}
.tt a.tt-mh2-more {
	font-size: 13px;
	font-weight: 600;
}
.tt .tt-mh2-tiles {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 8px;
}
.tt a.tt-mh2-tile {
	position: relative;
	display: flex;
	align-items: flex-end;
	height: 68px;
	padding: 10px;
	box-sizing: border-box;
	overflow: hidden;
	color: #FFFFFF;
	text-decoration: none;
}
.tt .tt-mh2-tile-pic {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	opacity: 0.55;
	transition: opacity 0.2s ease;
}
.tt a.tt-mh2-tile:hover .tt-mh2-tile-pic {
	opacity: 0.4;
}
.tt .tt-mh2-tile-name {
	position: relative;
	font-family: var(--tt-serif);
	font-size: 16px;
	line-height: 1.1;
	text-shadow: 0 1px 3px rgba(0, 0, 0, 0.5);
}
/* Free accounts: free collections, locks and the upgrade card. */
.tt .tt-lock {
	flex: none;
	vertical-align: -1px;
	margin-left: 4px;
	color: var(--tt-muted);
}
.tt .tt-mh2-lib-links a.is-locked {
	color: var(--tt-muted);
}
.tt .tt-mh2-lib-links a.is-locked:hover {
	color: var(--tt-wine);
}
.tt .tt-mh2-fl .tt-mh2-h {
	margin-bottom: 12px;
}
.tt .tt-mh2-fl-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(170px, 1fr));
	gap: 16px;
}
.tt a.tt-mh2-fl-card {
	display: flex;
	flex-direction: column;
	gap: 4px;
	color: var(--tt-ink);
	text-decoration: none;
}
.tt .tt-mh2-fl-img {
	display: block;
	aspect-ratio: 16 / 10;
	margin-bottom: 6px;
	overflow: hidden;
}
.tt .tt-mh2-fl-img img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.3s ease;
}
.tt a.tt-mh2-fl-card:hover .tt-mh2-fl-img img {
	transform: scale(1.04);
}
.tt .tt-mh2-fl-title {
	font-family: var(--tt-serif);
	font-size: 18px;
	line-height: 1.15;
}
.tt a.tt-mh2-fl-card:hover .tt-mh2-fl-title {
	color: var(--tt-wine);
}
.tt .tt-mh2-fl-text {
	font-size: 13px;
	line-height: 1.4;
	color: var(--tt-muted);
}
.tt .tt-mh2-path-title .tt-lock {
	margin-left: 6px;
}
.tt a.tt-mh2-path-next.is-locked {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	color: var(--tt-muted);
}
.tt a.tt-mh2-path-next.is-locked .tt-lock {
	margin-left: 0;
}
.tt a.tt-mh2-path-next.is-locked:hover {
	color: var(--tt-wine);
}
.tt .tt-mh2-tile-lock {
	position: absolute;
	top: 8px;
	right: 8px;
	z-index: 1;
	display: flex;
}
.tt .tt-mh2-tile-lock .tt-lock {
	margin: 0;
	color: #FFFFFF;
}
.tt a.tt-mh2-tile.is-locked .tt-mh2-tile-pic {
	opacity: 0.3;
	filter: grayscale(0.6);
}
.tt .tt-mh2-up {
	padding: 18px;
	background: var(--tt-wine-tint);
	border-left: 3px solid var(--tt-wine);
}
.tt .tt-mh2-up .tt-mh-kicker {
	margin: 0 0 4px;
}
.tt .tt-mh2-up-title {
	margin: 0 0 6px;
	font-family: var(--tt-serif);
	font-size: 22px;
	line-height: 1.15;
	color: var(--tt-ink);
}
.tt .tt-mh2-up-text {
	margin: 0 0 14px;
	font-size: 14px;
	line-height: 1.5;
	color: var(--tt-soft);
}
.tt .tt-mh2-help {
	margin: 0 auto;
	padding-top: 8px;
	padding-bottom: 48px;
	font-size: 13px;
	color: var(--tt-muted);
}
@media (max-width: 1240px) {
	.tt .tt-mh2-grid {
		grid-template-columns: 200px minmax(0, 1fr) 280px;
		gap: 22px;
	}
	.tt .tt-mh2-path {
		grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	}
	.tt .tt-mh2-path-next {
		grid-column: 1 / -1;
	}
}
@media (max-width: 1100px) {
	.tt .tt-mh2-strip-row {
		flex-wrap: wrap;
	}
	.tt .tt-mh2-cont-list {
		order: 3;
		flex-basis: 100%;
	}
	.tt .tt-mh2-strip-label,
	.tt a.tt-mh2-history {
		display: none;
	}
	.tt .tt-mh2-grid {
		grid-template-columns: minmax(0, 1fr) 300px;
	}
	.tt .tt-mh2-lib {
		grid-column: 1 / -1;
		order: 3;
		display: grid;
		grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
		gap: 16px 24px;
	}
	.tt .tt-mh2-lib > .tt-mh2-h {
		grid-column: 1 / -1;
	}
}
@media (max-width: 760px) {
	.tt .tt-mh2-search {
		width: 100%;
		margin-left: 0;
		order: 2;
	}
	.tt .tt-mh2-cont-list {
		flex-direction: column;
		gap: 10px;
	}
	.tt .tt-mh2-grid {
		grid-template-columns: minmax(0, 1fr);
	}
	.tt a.tt-mh2-focus {
		grid-template-columns: minmax(0, 1fr);
	}
	.tt .tt-mh2-focus-img {
		aspect-ratio: 16 / 9;
	}
	.tt .tt-mh2-path {
		grid-template-columns: minmax(0, 1fr);
		gap: 8px;
	}
}

.tt .tt-hero-tagline {
	margin: 8px 0 0;
	font-family: var(--tt-serif);
	font-style: italic;
	font-size: clamp(18px, 1.6vw, 22px);
	line-height: 1.3;
	color: #FFFFFF;
}

/* ---------- Homepage: this month's release in the hero ---------- */
.tt .tt-hero-band.has-release .tt-hero-shade {
	display: block;
	position: absolute;
	inset: 0;
	background: linear-gradient(90deg, rgba(20, 18, 17, 0.88) 0%, rgba(20, 18, 17, 0.62) 50%, rgba(20, 18, 17, 0.4) 100%);
}
.tt .tt-hero-band.has-release {
	align-items: center;
}
.tt .tt-hero-band.has-release .tt-hero {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 440px);
	grid-template-areas: "main box" "side box";
	gap: 24px 56px;
	align-items: center;
	padding-top: 72px;
	padding-bottom: 72px;
}
.tt .tt-hero-band.has-release .tt-hero-main {
	grid-area: main;
	align-self: end;
}
.tt .tt-hero-band.has-release .tt-hero-side {
	grid-area: side;
	align-self: start;
	max-width: 560px;
}
.tt .tt-hero-band.has-release .tt-hero-title {
	font-size: clamp(36px, 4.2vw, 56px);
}
.tt a.tt-release {
	grid-area: box;
	display: flex;
	flex-direction: column;
	background: #FFFFFF;
	color: var(--tt-ink);
	text-decoration: none;
	text-shadow: none;
	box-shadow: 18px 22px 36px rgba(10, 8, 7, 0.55);
}
.tt .tt-release-media {
	position: relative;
	display: block;
	aspect-ratio: 16 / 9;
	background: #2A2624;
	overflow: hidden;
}
.tt .tt-release-video {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.tt .tt-release-play {
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
	transition: transform 0.2s ease;
}
.tt a.tt-release:hover .tt-release-play {
	transform: translate(-50%, -50%) scale(1.08);
}
.tt .tt-release-tag {
	position: absolute;
	left: 12px;
	top: 12px;
	padding: 4px 9px;
	background: var(--tt-wine);
	color: #FFFFFF;
	font: 700 11px/1.2 var(--tt-sans);
	letter-spacing: 0.08em;
	text-transform: uppercase;
}
.tt .tt-release-bar {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	height: 4px;
	background: rgba(255, 255, 255, 0.3);
}
.tt .tt-release-bar span {
	display: block;
	height: 4px;
	width: 0;
	background: #FFFFFF;
}
.tt .tt-release-body {
	display: flex;
	flex-direction: column;
	gap: 8px;
	padding: 20px 22px 22px;
}
.tt .tt-release-kicker {
	font: 600 12px/1.3 var(--tt-sans);
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--tt-muted);
}
.tt .tt-release-title {
	font-family: var(--tt-serif);
	font-size: 28px;
	line-height: 1.1;
}
.tt .tt-release-text {
	font: 400 15px/1.5 var(--tt-sans);
	color: #3A3533;
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
}
.tt .tt-release-more {
	align-self: flex-start;
	margin-top: 6px;
	padding: 11px 18px;
	border-radius: 4px;
	background: var(--tt-ink);
	color: #FFFFFF;
	font: 600 15px/1.2 var(--tt-sans);
}
.tt a.tt-release:hover .tt-release-more {
	background: var(--tt-wine);
}
@media (max-width: 900px) {
	.tt .tt-hero-band.has-release .tt-hero-shade {
		background: rgba(20, 18, 17, 0.6);
	}
	.tt .tt-hero-band.has-release .tt-hero {
		grid-template-columns: minmax(0, 1fr);
		grid-template-areas: "main" "side" "box";
		padding-top: 56px;
		padding-bottom: 40px;
	}
	.tt a.tt-release {
		max-width: 520px;
		box-shadow: 10px 14px 26px rgba(10, 8, 7, 0.5);
	}
}

/* Account and Log out: in the header row on wide screens, in the menu drawer on narrow ones. */
.tt .tt-nav-link.tt-nav-acct {
	display: none;
}
@media (max-width: 960px) {
	.tt a.tt-action-link.is-acct {
		display: none;
	}
	.tt .tt-nav-link.tt-nav-acct {
		display: block;
	}
}

/* Homepage rotation: the Featured box stays hidden until the script fills it. */
.tt a.tt-release[hidden],
.tt .tt-release-media[hidden] {
	display: none;
}
