/* THEMAN Site Kit — Design V2 "Liner Notes".
   Same palette, type and boxed-grid motif as V1, laid out like a record store: sleeves, liner notes, a crate index.
   Loaded only when V2 is the active design; builds on theman.css (tokens, reveals, buttons, forms). */

:root {
	--v2-rule: 1px solid rgba(255, 255, 255, .18);
	--v2-rule-strong: 1px solid rgba(255, 255, 255, .85);
	--v2-gutter: clamp(20px, 3.4vw, 48px);
	--v2-bar: 84px;
}
@media (max-width: 1024px) { :root { --v2-bar: 76px; } }
@media (max-width: 767px) { :root { --v2-bar: 64px; } }

/* Film-grain texture over the whole site: a tiny inline SVG, fixed, never repainted on scroll. */
body.tm-design-v2::after {
	content: ""; position: fixed; inset: -50%; z-index: 9998; pointer-events: none; opacity: .055;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}

/* Scroll progress line (CSS scroll-driven animation; browsers without it simply don't show it). */
@supports (animation-timeline: scroll()) {
	body.tm-design-v2::before {
		content: ""; position: fixed; top: 0; left: 0; right: 0; height: 2px; z-index: 10000; background: var(--tm-orange);
		transform-origin: 0 50%; animation: v2-progress linear both; animation-timeline: scroll(root);
	}
	@keyframes v2-progress { from { transform: scaleX(0); } to { transform: scaleX(1); } }
}

.v2-outline { color: transparent; -webkit-text-stroke: 1.5px currentColor; }
.v2-outline-orange { color: transparent; -webkit-text-stroke: 1.5px var(--tm-orange); }
.elementor-heading-title .v2-outline, .elementor-heading-title .v2-outline-orange { -webkit-text-stroke-color: #fff; }
.elementor-heading-title .v2-outline-orange { -webkit-text-stroke-color: var(--tm-orange); }

/* ------------------------------------------------------------------ header bar */
body.tm-design-v2 .elementor-location-header { position: sticky; top: var(--wp-admin--admin-bar--height, 0px); z-index: 200; }
body.tm-design-v2.home .elementor-location-header { position: fixed; left: 0; right: 0; }
.v2-bar { position: relative; z-index: 195; transition: background-color .4s, backdrop-filter .4s; }
html.v2-menu-open .v2-bar { visibility: hidden; }
body.tm-design-v2.home:not(.tm-scrolled) .v2-bar { background: transparent !important; }
body.tm-design-v2.tm-scrolled .v2-bar { background: rgba(0, 0, 0, .82) !important; backdrop-filter: blur(10px); }
.v2-bar__tag .elementor-heading-title { letter-spacing: .18em; }
.v2-bar > .e-con { --width: auto; width: auto; flex: 0 0 auto; }
.v2-bar > .tm-logo { margin-right: auto; }
.v2-bar > .v2-bar__tag { margin-right: 32px; }

/* Boxed controls (the Wix menu cell, kept as the signature) */
.v2-box .elementor-button { position: relative; z-index: 0; overflow: hidden; border: 1px solid #fff !important; background: transparent !important; color: #fff !important; }
.v2-box .elementor-button::before { content: ""; position: absolute; inset: 0; z-index: -1; background: var(--tm-orange); transform: scaleY(0); transform-origin: 50% 100%; transition: transform .45s var(--tm-ease); }
.v2-box .elementor-button:hover::before, .v2-box .elementor-button:focus-visible::before { transform: scaleY(1); }
.v2-box--solid .elementor-button { background: #fff !important; color: #000 !important; }
.v2-box--solid .elementor-button:hover { color: #fff !important; }
.v2-menu-btn .elementor-button-text { display: inline-flex; align-items: center; gap: 12px; }
.v2-menu-btn .elementor-button-text::after {
	content: ""; width: 18px; height: 8px; border-top: 2px solid currentColor; border-bottom: 2px solid currentColor;
	transition: transform .45s var(--tm-ease), height .45s var(--tm-ease);
}
.v2-menu__close {
	position: fixed; z-index: 5; top: calc(20px + var(--wp-admin--admin-bar--height, 0px)); right: clamp(24px, 4.4vw, 80px);
	display: inline-flex; align-items: center; gap: 12px; height: 44px; padding: 0 18px; border: 1px solid #fff;
	color: #fff !important; text-decoration: none; font: 700 14px/1 "TeX Gyre Heros", Helvetica, sans-serif; letter-spacing: .12em;
	background: #000; overflow: hidden; isolation: isolate; transition: color .3s;
}
.v2-menu__close::before { content: ""; position: absolute; inset: 0; z-index: -1; background: var(--tm-orange); transform: scaleY(0); transform-origin: 50% 100%; transition: transform .45s var(--tm-ease); }
.v2-menu__close:hover::before, .v2-menu__close:focus-visible::before { transform: scaleY(1); }
.v2-menu__close i { position: relative; width: 16px; height: 16px; }
.v2-menu__close i::before, .v2-menu__close i::after { content: ""; position: absolute; left: 0; top: 7px; width: 16px; height: 2px; background: currentColor; transform: rotate(45deg); transition: transform .45s var(--tm-ease); }
.v2-menu__close i::after { transform: rotate(-45deg); }
.v2-menu__close:hover i::before { transform: rotate(135deg); }
.v2-menu__close:hover i::after { transform: rotate(45deg); }
@media (max-width: 767px) { .v2-menu__close { top: calc(8px + var(--wp-admin--admin-bar--height, 0px)); height: 40px; } }

/* ------------------------------------------------------------------ full-screen crate index (menu) */
.v2-menu {
	position: fixed !important; inset: 0; z-index: 210; padding-top: var(--v2-bar) !important;
	background: #000; overflow-y: auto; visibility: hidden; opacity: 0;
	clip-path: inset(0 0 100% 0); transition: clip-path .7s var(--tm-ease), opacity .3s, visibility 0s .7s;
}
html.v2-menu-open .v2-menu { visibility: visible; opacity: 1; clip-path: inset(0 0 0 0); transition: clip-path .7s var(--tm-ease), opacity .2s, visibility 0s; }
html.v2-menu-open, html.v2-menu-open body { overflow: hidden; }
.v2-menu .elementor-nav-menu--main > .elementor-nav-menu { counter-reset: v2nav; border-top: var(--v2-rule); }
.v2-menu .elementor-nav-menu--main > .elementor-nav-menu > li { counter-increment: v2nav; border-bottom: var(--v2-rule); display: block; }
.v2-menu .elementor-nav-menu--main > .elementor-nav-menu > li > .elementor-item {
	display: flex; align-items: flex-start; gap: .5em; padding: .16em 0 !important; color: #fff; background: none !important;
	font-size: clamp(34px, 6.4vw, 96px) !important; line-height: 1 !important; font-weight: 700 !important; letter-spacing: -.045em;
	transition: color .35s, padding .5s var(--tm-ease);
}
.v2-menu .elementor-nav-menu--main > .elementor-nav-menu > li > .elementor-item::before {
	content: "(" counter(v2nav, decimal-leading-zero) ")"; position: static !important; display: inline-block; flex: 0 0 3.4em; margin-top: .9em;
	font-size: 13px; line-height: 1; letter-spacing: .1em; font-weight: 700; color: var(--tm-orange); opacity: 1 !important; background: none !important; transform: none !important;
}
.v2-menu .elementor-nav-menu--main > .elementor-nav-menu > li > .elementor-item:hover,
.v2-menu .elementor-nav-menu--main > .elementor-nav-menu > li > .elementor-item.elementor-item-active { color: var(--tm-orange); padding-left: .25em !important; }
.v2-menu .sub-arrow { display: none !important; }
/* MUSIC's pages sit under it as bordered chips */
.v2-menu .elementor-nav-menu--main .sub-menu {
	display: flex !important; flex-wrap: wrap; gap: 8px; position: static !important; width: auto !important; min-width: 0 !important;
	margin: 0 0 .9em !important; padding: 0 !important; border: 0 !important; background: none !important; box-shadow: none !important;
}
.v2-menu .elementor-nav-menu--main .sub-menu .elementor-sub-item {
	border: 1px solid rgba(255, 255, 255, .5) !important; padding: 8px 14px !important; font-size: 13px !important; letter-spacing: .12em; text-transform: uppercase;
	background: none !important; color: #fff !important; transition: background-color .3s, color .3s, border-color .3s;
}
.v2-menu .elementor-nav-menu--main .sub-menu .elementor-sub-item:hover { background: var(--tm-orange) !important; border-color: var(--tm-orange) !important; }
.v2-menu li { opacity: 0; transform: translateY(24px); transition: opacity .5s, transform .7s var(--tm-ease); }
html.v2-menu-open .v2-menu li { opacity: 1; transform: none; }
html.v2-menu-open .v2-menu .elementor-nav-menu > li:nth-child(2) { transition-delay: .05s; }
html.v2-menu-open .v2-menu .elementor-nav-menu > li:nth-child(3) { transition-delay: .1s; }
html.v2-menu-open .v2-menu .elementor-nav-menu > li:nth-child(4) { transition-delay: .15s; }
html.v2-menu-open .v2-menu .elementor-nav-menu > li:nth-child(5) { transition-delay: .2s; }
html.v2-menu-open .v2-menu .elementor-nav-menu > li:nth-child(6) { transition-delay: .25s; }
html.v2-menu-open .v2-menu .elementor-nav-menu > li:nth-child(7) { transition-delay: .3s; }
html.v2-menu-open .v2-menu .elementor-nav-menu > li:nth-child(8) { transition-delay: .35s; }
.v2-menu__preview { position: relative; aspect-ratio: 4 / 5; overflow: hidden; background: #111; border: var(--v2-rule); }
.v2-menu__preview img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: 0; transform: scale(1.06); transition: opacity .5s, transform 1.2s var(--tm-ease); filter: grayscale(1) contrast(1.1); }
.v2-menu__preview img.is-on { opacity: 1; transform: none; }
.v2-menu__preview::after { content: ""; position: absolute; inset: 0; background: var(--tm-orange); mix-blend-mode: multiply; opacity: .9; }
@media (max-width: 1024px) { .v2-menu__aside { display: none !important; } }

/* ------------------------------------------------------------------ page head */
.v2-head__meta { border-top: var(--v2-rule-strong); border-bottom: var(--v2-rule); }
.v2-head__meta > .elementor-element { border-right: var(--v2-rule); padding: 12px 18px; }
.v2-head__meta > .elementor-element:last-child { border-right: 0; }
.v2-head__title .elementor-heading-title { overflow-wrap: anywhere; }
.v2-head__count .elementor-heading-title { font-variant-numeric: tabular-nums; }
.v2-head__bgnum { position: absolute; right: -0.04em; top: 50%; transform: translateY(-50%); font: 700 clamp(160px, 30vw, 460px)/.8 "TeX Gyre Heros", Helvetica, sans-serif; letter-spacing: -.06em; color: transparent; -webkit-text-stroke: 1px rgba(255,255,255,.08); pointer-events: none; user-select: none; }
.v2-head { position: relative; overflow: hidden; }

/* ------------------------------------------------------------------ sleeves (mixes, tracks) */
.v2-crate { display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)); border-top: var(--v2-rule); border-left: var(--v2-rule); }
.v2-crate > *, .v2-portraits > * { width: auto !important; max-width: none !important; }
.v2-crate > .v2-sleeve-card { border-right: var(--v2-rule); border-bottom: var(--v2-rule); }
.v2-sleeve-card { color: inherit; text-decoration: none; transition: background-color .4s; }
.v2-sleeve-card:hover { background: #0d0d0d; }
.v2-sleeve { position: relative; aspect-ratio: 1; isolation: isolate; }
.v2-sleeve > .elementor-widget-image { position: relative; z-index: 2; width: 100%; height: 100%; box-shadow: 0 18px 40px rgba(0,0,0,.55); transition: transform .7s var(--tm-ease); }
.v2-sleeve img { width: 100%; height: 100%; aspect-ratio: 1; object-fit: cover; display: block; }
.v2-sleeve > .elementor-widget-html, .v2-cover > .elementor-widget-html { position: absolute !important; inset: 0; z-index: 1; margin: 0 !important; }
.v2-vinyl {
	position: absolute; z-index: 1; top: 4%; right: 4%; width: 92%; aspect-ratio: 1; border-radius: 50%;
	background:
		radial-gradient(circle, var(--tm-orange) 0 15%, #111 15.5% 16.5%, transparent 17%),
		repeating-radial-gradient(circle, #0b0b0b 0 1.5px, #1d1d1d 2px 3px),
		#111;
	box-shadow: inset 0 0 0 2px #000, 0 10px 30px rgba(0,0,0,.6);
	transition: transform .9s var(--tm-ease);
}
.v2-vinyl::after { content: ""; position: absolute; inset: 47%; border-radius: 50%; background: #000; }
.v2-vinyl::before { content: ""; position: absolute; inset: 0; border-radius: 50%; background: linear-gradient(130deg, rgba(255,255,255,.12), transparent 40%, rgba(255,255,255,.06) 60%, transparent 70%); }
@media (hover: hover) {
	.v2-sleeve-card:hover .v2-sleeve > .elementor-widget-image { transform: translateX(-14%) rotate(-2deg); }
	.v2-sleeve-card:hover .v2-vinyl { transform: translateX(26%) rotate(200deg); }
}
.v2-sleeve-card .v2-no .elementor-heading-title { font-variant-numeric: tabular-nums; }
.v2-sleeve-card .tm-heading .elementor-heading-title { transition: color .3s; }
.v2-sleeve-card:hover .v2-sleeve-card__title .elementor-heading-title { color: var(--tm-orange); }
.v2-sleeve-card .v2-arrow { transition: transform .45s var(--tm-ease); }
.v2-sleeve-card:hover .v2-arrow { transform: translateX(6px); }

/* ------------------------------------------------------------------ portraits (artists) */
.v2-portraits { display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)); border-top: var(--v2-rule); border-left: var(--v2-rule); }
.v2-portraits > .v2-portrait--wide { grid-column: 1 / -1; }
.v2-portraits > .v2-portrait { border-right: var(--v2-rule); border-bottom: var(--v2-rule); }
.v2-portrait { color: inherit; text-decoration: none; }
.v2-portrait__img { position: relative; overflow: hidden; aspect-ratio: 4 / 5; background: #111; }
.v2-portrait__img img { width: 100%; height: 100%; aspect-ratio: 4 / 5; object-fit: cover; filter: grayscale(1) contrast(1.15); transition: filter .7s, transform 1.2s var(--tm-ease); }
.v2-portrait__img::after { content: ""; position: absolute; inset: 0; background: var(--tm-orange); mix-blend-mode: multiply; transition: opacity .7s; pointer-events: none; }
@media (hover: hover) {
	.v2-portrait:hover .v2-portrait__img img { filter: none; transform: scale(1.05); }
	.v2-portrait:hover .v2-portrait__img::after { opacity: 0; }
}
.v2-portrait:hover .v2-portrait__name .elementor-heading-title { color: var(--tm-orange); }
.v2-portrait__name .elementor-heading-title { transition: color .3s; }
.v2-portrait--wide .v2-portrait__img, .v2-portrait--wide .v2-portrait__img img { aspect-ratio: 16 / 9; }

/* ------------------------------------------------------------------ event rows (poster list) */
.v2-events { border-top: var(--v2-rule-strong); }
.v2-event { position: relative; color: inherit; text-decoration: none; border-bottom: var(--v2-rule); transition: background-color .45s var(--tm-ease); overflow: hidden; }
.v2-event::before { content: ""; position: absolute; inset: 0; z-index: 0; background: var(--tm-orange); transform: scaleY(0); transform-origin: 50% 100%; transition: transform .55s var(--tm-ease); }
.v2-event > * { position: relative; z-index: 1; }
@media (hover: hover) {
	.v2-event:hover::before { transform: scaleY(1); }
	.v2-event:hover .tm-heading .elementor-heading-title, .v2-event:hover .tm-text { color: #000 !important; }
	.v2-event:hover .v2-event__thumb img { transform: scale(1.06); filter: none; }
}
.v2-date { transition: color .45s; }
@media (hover: hover) { .v2-event:hover .v2-date, .v2-event:hover .v2-date small { color: #000; } }
.v2-date { font: 700 clamp(44px, 5vw, 76px)/.85 "TeX Gyre Heros", Helvetica, sans-serif; letter-spacing: -.05em; }
.v2-date small { display: block; font-size: 13px; letter-spacing: .14em; margin-top: 10px; font-weight: 700; }
.v2-event__thumb { overflow: hidden; }
.v2-event__thumb img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; filter: grayscale(.6); transition: transform 1s var(--tm-ease), filter .6s; }

/* ------------------------------------------------------------------ screening room (videos) */
.v2-screen { color: inherit; }
.v2-screen__frame { position: relative; aspect-ratio: 16 / 9; overflow: hidden; background-color: #111; border: var(--v2-rule); }
.v2-screen__frame > .tm-video-bg { opacity: 0; transition: opacity .8s; }
.v2-screen__frame > .tm-video-bg.is-playing { opacity: 1; }
.v2-screen__frame.tm-bgvideo > .v2-play, .v2-screen__frame > .v2-play { position: absolute !important; z-index: 3; left: 50%; top: 50%; transform: translate(-50%, -50%); }
.v2-screen__frame.tm-bgvideo > .v2-screen__no { position: absolute !important; }
.v2-play .elementor-button { width: 84px; height: 84px; border-radius: 50% !important; padding: 0 !important; display: grid; place-items: center; background: var(--tm-orange) !important; border: 0 !important; transition: transform .45s var(--tm-ease), background-color .3s; }
.v2-play .elementor-button-content-wrapper { display: grid; place-items: center; width: 100%; height: 100%; }
.v2-play .elementor-button-text { display: grid !important; place-items: center; gap: 0 !important; font-size: 0; line-height: 0; }
/* The play triangle's visual centre sits a little right of its box. */
.v2-play .elementor-button-text::after { width: 26px !important; height: 26px !important; margin: 0 0 0 3px !important; }
.v2-screen:hover .v2-play .elementor-button { transform: scale(1.12); background: #fff !important; color: #000 !important; }
.v2-screen__frame::after { content: ""; position: absolute; inset: 0; z-index: 1; background: linear-gradient(180deg, transparent 50%, rgba(0,0,0,.55)); pointer-events: none; }
.v2-screen__no { position: absolute; z-index: 2; left: 16px; top: 14px; }

/* ------------------------------------------------------------------ bento (music hub) */
.v2-bento { display: grid !important; grid-template-columns: repeat(4, 1fr); grid-auto-rows: minmax(250px, auto); border-top: var(--v2-rule); border-left: var(--v2-rule); }
.v2-bento > .v2-tile { border-right: var(--v2-rule); border-bottom: var(--v2-rule); }
.v2-bento > .v2-tile:nth-child(1) { grid-column: span 2; grid-row: span 2; }
.v2-bento > .v2-tile:nth-child(2) { grid-column: span 2; }
.v2-bento > .v2-tile:nth-child(5) { grid-column: 1 / -1; }
@media (max-width: 1024px) { .v2-bento { grid-template-columns: repeat(2, 1fr); } .v2-bento > .v2-tile:nth-child(1) { grid-row: span 1; } }
@media (max-width: 767px) { .v2-bento { grid-template-columns: 1fr; } .v2-bento > .v2-tile { grid-column: auto !important; } }
.v2-tile { position: relative; overflow: hidden; color: inherit; text-decoration: none; isolation: isolate; }
.v2-tile__bg { position: absolute !important; inset: 0; z-index: -2; opacity: .0; filter: grayscale(1) contrast(1.1); transform: scale(1.08); transition: opacity .6s, transform 1.4s var(--tm-ease); }
.v2-tile__bg img { width: 100%; height: 100%; object-fit: cover; }
.v2-tile::before { content: ""; position: absolute; inset: 0; z-index: -1; background: var(--tm-orange); mix-blend-mode: multiply; opacity: 0; transition: opacity .6s; }
@media (hover: hover) {
	.v2-tile:hover .v2-tile__bg { opacity: 1; transform: none; }
	.v2-tile:hover::before { opacity: 1; }
}
.v2-bento > .v2-tile:first-child .v2-tile__bg { opacity: .55; }
.v2-bento > .v2-tile:first-child::before { opacity: .85; }
.v2-tile .v2-arrow-circle { margin-top: auto; }

/* Arrow circles (shared) */
.v2-arrow-circle { display: grid; place-items: center; width: 52px; height: 52px; border: 1px solid rgba(255,255,255,.5); border-radius: 50%; color: #fff; transition: background-color .3s, border-color .3s, transform .5s var(--tm-ease); }
.v2-arrow-circle::after {
	content: ""; width: 20px; height: 20px; background: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 12h15m-6-6 6 6-6 6' fill='none' stroke='%23000' stroke-width='2'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 12h15m-6-6 6 6-6 6' fill='none' stroke='%23000' stroke-width='2'/%3E%3C/svg%3E") center / contain no-repeat;
}
a:hover .v2-arrow-circle, .v2-tile:hover .v2-arrow-circle { background: #fff; border-color: #fff; color: #000; transform: rotate(-45deg); }

/* ------------------------------------------------------------------ manifesto (about) */
.v2-manifesto .elementor-heading-title .v2-line { display: block; color: rgba(255,255,255,.14); transition: color .6s; }
.v2-manifesto .elementor-heading-title .v2-line.is-lit { color: #fff; }
.v2-manifesto .elementor-heading-title .v2-line.is-lit .tm-accent { color: var(--tm-orange); }
.v2-manifesto .elementor-heading-title .v2-line .tm-accent { color: inherit; transition: color .6s; }

/* ------------------------------------------------------------------ liner notes (detail pages) */
.v2-liner { border-top: var(--v2-rule-strong); }
.v2-liner__media { position: sticky !important; top: calc(var(--v2-bar) + 24px); align-self: flex-start; }
@media (max-width: 1024px) { .v2-liner__media { position: relative !important; top: 0; } }
.v2-cover { position: relative; isolation: isolate; }
.v2-cover > .elementor-widget-image { position: relative; z-index: 2; }
.v2-cover img { width: 100%; aspect-ratio: 1; object-fit: cover; box-shadow: 0 30px 60px rgba(0,0,0,.6); }
.v2-cover .v2-vinyl { top: 3%; right: -3%; width: 94%; animation: v2-spin 9s linear infinite; animation-play-state: paused; transform: translateX(22%); }
.v2-cover:hover .v2-vinyl, .v2-cover.is-spinning .v2-vinyl { animation-play-state: running; }
@keyframes v2-spin { from { transform: translateX(22%) rotate(0); } to { transform: translateX(22%) rotate(360deg); } }
.v2-portrait-cover img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; }
.v2-facts { border-top: var(--v2-rule); }
.v2-facts > .elementor-element { border-bottom: var(--v2-rule); padding: 14px 0; }
.v2-crumbs .elementor-heading-title a { color: rgba(255,255,255,.6); text-decoration: none; }
.v2-crumbs .elementor-heading-title a:hover { color: var(--tm-orange); }

/* Chapters (extra sections on artist pages) */
.v2-chapter { border-top: var(--v2-rule); }
.v2-chapter__no .elementor-heading-title { font-variant-numeric: tabular-nums; }
.v2-chapter__img img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; }

/* Q&A (interviews) */
.v2-qa { counter-reset: v2q; }
.v2-qa .v2-q { counter-increment: v2q; }
.v2-qa .v2-q .elementor-heading-title::before { content: "Q" counter(v2q, decimal-leading-zero); display: block; font-size: 13px; letter-spacing: .14em; color: rgba(255,255,255,.5); margin-bottom: 10px; }

/* ------------------------------------------------------------------ footer */
.v2-foot__grid { border-top: var(--v2-rule-strong); border-left: var(--v2-rule); }
.v2-foot__grid > .elementor-element { border-right: var(--v2-rule); border-bottom: var(--v2-rule); }
.v2-foot__links ul { list-style: none; margin: 0; padding: 0; }
.v2-foot__links a { display: inline-flex; align-items: center; gap: .4em; color: #fff; text-decoration: none; padding: 3px 0; transition: color .25s, transform .35s var(--tm-ease); }
.v2-foot__links a:hover { color: var(--tm-orange); transform: translateX(4px); }
.v2-foot a.v2-wordmark, a.v2-wordmark:visited { color: transparent; }
/* Sized to fill the full-width footer between the gutters (THEMAN is about 3.9em wide). */
.v2-wordmark { display: block; width: 100%; font: 700 calc((100vw - 2 * clamp(24px, 4.4vw, 80px)) / 3.95)/.78 "TeX Gyre Heros", Helvetica, sans-serif; letter-spacing: -.075em; text-align: center; color: transparent; -webkit-text-stroke: 1.5px rgba(255,255,255,.35); user-select: none; transition: color .8s, -webkit-text-stroke-color .8s; padding-top: .06em; margin-bottom: -.06em; white-space: nowrap; overflow: hidden; }
.v2-foot a.v2-wordmark:hover { color: var(--tm-orange); -webkit-text-stroke-color: var(--tm-orange); }

/* ------------------------------------------------------------------ home index strip */
/* Home: full-width index under the video — photo under a black veil, orange on hover */
.v2-explore { display: grid !important; grid-template-columns: repeat(4, minmax(0, 1fr)); border-top: 1px solid rgba(255,255,255,.35); border-bottom: 1px solid rgba(255,255,255,.35); }
.v2-explore > a { border-right: 1px solid rgba(255,255,255,.35); }
.v2-explore > a:last-child { border-right: 0; }
@media (max-width: 1024px) { .v2-explore { grid-template-columns: repeat(2, minmax(0, 1fr)); } .v2-explore > a:nth-child(2) { border-right: 0; } .v2-explore > a:nth-child(-n+2) { border-bottom: 1px solid rgba(255,255,255,.35); } }
@media (max-width: 767px) { .v2-explore { grid-template-columns: minmax(0, 1fr); } .v2-explore > a { border-right: 0; border-bottom: 1px solid rgba(255,255,255,.35); } }
.v2-explore__tile { position: relative; overflow: hidden; isolation: isolate; color: #fff; text-decoration: none; }
.v2-explore__tile .v2-tile__bg { opacity: 1 !important; transform: none !important; filter: grayscale(.35); transition: filter .7s, transform 1.4s var(--tm-ease) !important; }
.v2-explore__tile::before { content: ""; position: absolute; inset: 0; z-index: -1; background: rgba(0,0,0,.72); transition: background-color .6s; }
.v2-explore__tile::after { content: ""; position: absolute; inset: auto 0 0 0; height: 4px; background: #fff; transform: scaleX(0); transform-origin: 0 50%; transition: transform .6s var(--tm-ease); }
.v2-explore__tile > .e-con { --width: auto; width: auto; flex: 1 1 auto; }
.v2-explore__tile > .elementor-widget-html { flex: 0 0 auto; }
@media (hover: hover) {
	.v2-explore__tile:hover .v2-tile__bg { filter: grayscale(1) contrast(1.1); transform: scale(1.06) !important; }
	.v2-explore__tile:hover::before { background: var(--tm-orange); mix-blend-mode: multiply; }
	.v2-explore__tile:hover::after { transform: scaleX(1); }
}

/* ------------------------------------------------------------------ cursor */
.v2-cursor { position: fixed; z-index: 9999; left: 0; top: 0; width: 88px; height: 88px; margin: -44px 0 0 -44px; border-radius: 50%; background: var(--tm-orange); color: #000; display: grid; place-items: center; font: 700 12px/1 "TeX Gyre Heros", Helvetica, sans-serif; letter-spacing: .14em; pointer-events: none; transform: scale(0); transition: transform .35s var(--tm-ease); }
.v2-cursor.is-on { transform: scale(1); }
.v2-cursor.is-dark { background: #000; color: #fff; }
@media (hover: none), (prefers-reduced-motion: reduce) { .v2-cursor { display: none; } }

@media (prefers-reduced-motion: reduce) {
	.v2-vinyl, .v2-cover .v2-vinyl { animation: none !important; transition: none !important; }
	.v2-menu, .v2-menu li { transition: none !important; }
	body.tm-design-v2::before { animation: none; display: none; }
}

/* ------------------------------------------------------------------ small layout helpers */
.v2-head__meta > .elementor-element:last-child { margin-left: auto; }
.v2-clamp-3 .tm-text, .v2-clamp-3.tm-text { display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.v2-clamp-3 p:not(:first-child) { display: none; }
.v2-label-row { border-bottom: var(--v2-rule-strong); }
.v2-cells { border-top: var(--v2-rule); border-left: var(--v2-rule); }
.v2-cells > .elementor-element { border-right: var(--v2-rule); border-bottom: var(--v2-rule); }
.v2-poster img { width: 100%; height: auto; }
.v2-article { color: inherit; text-decoration: none; border-top: var(--v2-rule); }
.v2-article .v2-article__img { overflow: hidden; }
.v2-article .v2-article__img img { width: 100%; aspect-ratio: 3 / 2; object-fit: cover; transition: transform 1.2s var(--tm-ease); }
.v2-article:hover .v2-article__img img { transform: scale(1.04); }
.v2-article:hover .v2-article__title .elementor-heading-title { color: var(--tm-orange); }
.v2-playlist { border-left: var(--v2-rule); border-top: var(--v2-rule); }
.v2-playlist > .elementor-element { border-right: var(--v2-rule); border-bottom: var(--v2-rule); }
.v2-email .elementor-heading-title a { color: #fff; text-decoration: none; background: linear-gradient(var(--tm-orange), var(--tm-orange)) 0 100% / 0 6px no-repeat; transition: background-size .6s var(--tm-ease), color .3s; }
.v2-email .elementor-heading-title a:hover { background-size: 100% 6px; color: var(--tm-orange); }
.v2-statement-outline .elementor-heading-title { color: transparent; -webkit-text-stroke: 1.5px #fff; transition: color .6s; }
.v2-statement-outline:hover .elementor-heading-title { color: var(--tm-orange); -webkit-text-stroke-color: var(--tm-orange); }

/* ------------------------------------------------------------------ responsive grids (last, so they win over the base grid rules) */
@media (max-width: 1024px) { .v2-crate, .v2-portraits { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 767px) { .v2-crate, .v2-portraits { grid-template-columns: minmax(0, 1fr); } }
