/* ==========================================================================
   0. Design Tokens & Responsive Grid Variables
   ========================================================================== */
:root {
	--gasta-font-sans: 'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, sans-serif;
	--gasta-font-display: 'Bricolage Grotesque', -apple-system, BlinkMacSystemFont, sans-serif;
	--gasta-side-pad: 48px;
	--gasta-grid-gap: 12px;
}
@media screen and (max-width: 991px) {
	:root {
		--gasta-side-pad: 28px;
		--gasta-grid-gap: 10px;
	}
}
@media screen and (max-width: 767px) {
	:root {
		--gasta-side-pad: 20px;
		--gasta-grid-gap: 8px;
	}
}

/* ==========================================================================
   1. Global Body & UI Typography: Plus Jakarta Sans
   ========================================================================== */
body, p, li, td, th, input, textarea, button, .font-3,
.section-title p, .page-heading__description p,
.single-portfolio-holder .details .project-description p,
.post-formatting p, .post-formatting li,
.main-header .menu > li > a, .product-filter ul li a,
.portfolio-holder .item-box .info p, .portfolio-holder .item-box .info p a {
	font-family: var(--gasta-font-sans) !important;
	font-weight: 400;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

b, strong, p strong, li strong,
.page-heading__description p strong, .post-formatting strong, .post-formatting b { font-family: var(--gasta-font-sans) !important; font-weight: 700 !important; }

.main-header .menu > li > a {
	font-size: 15px !important;
	font-weight: 500 !important;
	letter-spacing: -0.01em !important;
}

/* ==========================================================================
   2. Brand Wordmark ('gasta'): Bricolage Grotesque 800 + 60fps Hover Morph
   ========================================================================== */
.header-logo.logo-text,
.header-logo.logo-text .logo-text {
	font-family: var(--gasta-font-display) !important;
	font-weight: 800 !important;
	font-size: 38px !important;
	line-height: 1 !important;
	letter-spacing: -0.04em !important;
	color: #111111 !important;
	text-decoration: none !important;
	font-variation-settings: "opsz" 96, "wdth" 100, "wght" 800;
	transition: font-variation-settings 0.35s cubic-bezier(0.22, 1, 0.36, 1), letter-spacing 0.35s cubic-bezier(0.22, 1, 0.36, 1), opacity 0.2s ease !important;
	display: inline-block;
}
.header-logo.logo-text:hover,
.header-logo.logo-text:hover .logo-text { font-variation-settings: "opsz" 12, "wdth" 85, "wght" 500; letter-spacing: -0.01em !important; }

/* ==========================================================================
   3. Headings (H1-H4), Portfolio Project Titles & Pill Buttons
   ========================================================================== */
h1, h2, h3, h4, .font-2,
.section-title h1, .section-title h2, .section-title h3,
.page-heading__title, .single-portfolio-holder .title h1,
.portfolio-holder .item-box .info h3, .portfolio-holder .item-box .info h3 a,
.blog-posts .post-item .post-details .post-title a,
.wpb_wrapper h1, .wpb_wrapper h2, .wpb_wrapper h3, .wpb_wrapper h4 {
	font-family: var(--gasta-font-display) !important;
	font-weight: 600 !important;
	letter-spacing: -0.025em !important;
	line-height: 1.15 !important;
	color: #111111;
}

.portfolio-holder .item-box .info h3,
.portfolio-holder .item-box .info h3 a {
	font-size: 20px !important;
	font-weight: 600 !important;
	letter-spacing: -0.02em !important;
}

.single-portfolio-holder .title h1,
.wpb_wrapper h1,
.page-heading__title {
	font-size: clamp(32px, 3.6vw, 48px) !important;
	font-weight: 700 !important;
	letter-spacing: -0.03em !important;
	line-height: 1.08 !important;
}
.wpb_wrapper h1:first-child { margin-top: 0 !important; margin-bottom: 18px !important; }
.wpb_wrapper h2 {
	font-size: clamp(22px, 2.2vw, 30px) !important;
	font-weight: 600 !important;
	letter-spacing: -0.025em !important;
	margin-top: 1.2em;
	margin-bottom: 0.5em;
}
.wpb_wrapper h3 {
	font-size: clamp(18px, 1.6vw, 22px) !important;
	font-weight: 600 !important;
	letter-spacing: -0.02em !important;
}

/* Clean Pill Buttons for Interactive Launches & Downloads */
.gasta-btn-group {
	display: flex !important;
	flex-wrap: wrap !important;
	gap: 10px !important;
	align-items: center !important;
	margin: 12px 0 14px 0 !important;
}
a.gasta-pill-btn,
:is(.wpb_text_column, #content .wpb_text_column, .post-formatting) a.gasta-pill-btn:is(*, :last-child) {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 8px !important;
	font-family: var(--gasta-font-sans) !important;
	font-size: 14px !important;
	font-weight: 600 !important;
	line-height: 1.2 !important;
	letter-spacing: -0.01em !important;
	color: #ffffff !important;
	background-color: #111111 !important;
	padding: 10px 20px !important;
	border-radius: 999px !important;
	text-decoration: none !important;
	vertical-align: middle !important;
	transition: transform 0.2s cubic-bezier(0.22, 1, 0.36, 1), background-color 0.2s ease !important;
	margin: 8px 0 12px 0 !important;
}
:is(.gasta-btn-group, p, #content .wpb_text_column .gasta-btn-group, #content .wpb_text_column p) a.gasta-pill-btn:is(*, :last-child) { margin-top: 0 !important; margin-bottom: 0 !important; }
a.gasta-pill-btn::before,
a.gasta-pill-btn::after,
:is(.wrapper, .post-formatting) a.gasta-pill-btn:is(*, :hover, :active, .link-hover)::after {
	display: none !important;
	content: none !important;
	width: 0 !important;
	height: 0 !important;
	background: transparent !important;
}
a.gasta-pill-btn:hover,
:is(.wpb_text_column, #content .wpb_text_column, .post-formatting) a.gasta-pill-btn:hover {
	background-color: #333333 !important;
	color: #ffffff !important;
	transform: translateY(-1px);
}
a.gasta-pill-btn.gasta-pill-btn--secondary,
:is(.wpb_text_column, #content .wpb_text_column, .post-formatting) a.gasta-pill-btn.gasta-pill-btn--secondary:is(*, :last-child) { background-color: #f2f2f2 !important; color: #111111 !important; }
a.gasta-pill-btn.gasta-pill-btn--secondary:hover,
:is(.wpb_text_column, #content .wpb_text_column, .post-formatting) a.gasta-pill-btn.gasta-pill-btn--secondary:is(:hover, :last-child:hover) { background-color: #e4e4e4 !important; color: #111111 !important; }

/* ==========================================================================
   4. Global Full-Width Layout System (Consistent 48px Outer Margins Everywhere)
   ========================================================================== */
body:not(.page-id-8269) :is(
	header.site-header .header-block__row-container.container,
	.wrapper > .container,
	.vc-container > .container,
	.single-portfolio-holder.container,
	section.page-heading > .container,
	.page-container > .container,
	footer.site-footer > .container
) {
	width: 100% !important;
	max-width: 100% !important;
	padding-left: var(--gasta-side-pad) !important;
	padding-right: var(--gasta-side-pad) !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
}

header.site-header .container-fluid,
header.main-header .full-width-menu.container-fluid { padding-left: var(--gasta-side-pad) !important; padding-right: var(--gasta-side-pad) !important; }

section.page-heading {
	margin-top: 4px !important;
	margin-bottom: 28px !important;
	padding-top: 0 !important;
	padding-bottom: 0 !important;
}
section.page-heading > .container > .row { margin-left: 0 !important; margin-right: 0 !important; }
section.page-heading :is(.page-heading__title-section, .page-heading__description, [class*="col-"]) {
	padding-left: 0 !important;
	padding-right: 0 !important;
	margin-top: 0 !important;
	margin-bottom: 0 !important;
}
section.page-heading .page-heading__description p {
	margin: 0 !important;
	max-width: none !important;
	font-size: 20px !important;
	line-height: 1.45 !important;
	color: #222222;
}

.single-portfolio-holder .project-description p,
.wpb_text_column .wpb_wrapper > p,
.wpb_text_column .wpb_wrapper > ul {
	max-width: 720px;
}

.single-portfolio-holder .social-links-plain,
.single-portfolio-holder .share-social,
.post-share-networks,
.gasta-tech-tags,
.gasta-role-meta {
	display: none !important;
}

/* ==========================================================================
   5. Single Portfolio Gallery, Filter Bar & Media Grids
   ========================================================================== */
.single-portfolio-holder.portfolio-type-2 .gallery.full-width-container {
	margin-left: 0 !important;
	margin-right: 0 !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
}
.single-portfolio-holder .gallery > .row { margin-left: calc(-1 * var(--gasta-grid-gap)) !important; margin-right: calc(-1 * var(--gasta-grid-gap)) !important; }
.single-portfolio-holder .gallery > .row > [class*="col-"] {
	padding-left: var(--gasta-grid-gap) !important;
	padding-right: var(--gasta-grid-gap) !important;
	margin-bottom: calc(2 * var(--gasta-grid-gap)) !important;
}
.single-portfolio-holder .gallery .photo {
	margin-bottom: 0 !important;
}

/* Full-Width Series Divider Headers inside Kalium Portfolio Gallery */
.gasta-series-header {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	gap: 32px;
	padding: 48px 0 16px 0;
	border-top: 1px solid #e6e6e6;
	margin-top: 28px;
}
.gasta-series-header--first { margin-top: 8px; padding-top: 28px; }
.gasta-series-header-left {
	flex: 0 0 auto;
}
.gasta-series-header .gasta-chapter-kicker {
	display: block;
	font-family: var(--gasta-font-sans);
	font-size: 12px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	color: #888888;
	margin-bottom: 6px;
}
.gasta-series-header h3 {
	font-family: var(--gasta-font-display) !important;
	font-size: 28px !important;
	font-weight: 600 !important;
	line-height: 1.15 !important;
	letter-spacing: -0.025em !important;
	color: #111111 !important;
	margin: 0 !important;
}
.gasta-series-header p {
	font-family: var(--gasta-font-sans) !important;
	font-size: 16px !important;
	line-height: 1.55 !important;
	color: #555555 !important;
	margin: 0 !important;
	max-width: 580px !important;
}
@media screen and (max-width: 768px) {
	.gasta-series-header {
		flex-direction: column;
		gap: 10px;
		padding: 32px 0 12px 0;
	}
}

/* Portfolio Filter Bar & Grid */
.portfolio-container-and-title.container-fullwidth { padding-left: var(--gasta-side-pad) !important; padding-right: var(--gasta-side-pad) !important; }
.portfolio-container-and-title.container-fullwidth .portfolio-title-holder {
	display: flex !important;
	flex-direction: row !important;
	flex-wrap: wrap !important;
	align-items: baseline !important;
	justify-content: space-between !important;
	gap: 12px 24px !important;
	width: 100% !important;
	padding: 0 !important;
	margin: 0 0 20px 0 !important;
}
.portfolio-container-and-title.container-fullwidth .portfolio-title-holder :is(.pt-column, .pt-filters) { padding: 0 !important; margin: 0 !important; }
.portfolio-container-and-title.container-fullwidth .product-filter {
	text-align: left !important;
}
.portfolio-container-and-title.container-fullwidth .product-filter ul {
	display: flex !important;
	flex-wrap: wrap !important;
	align-items: baseline !important;
	gap: 8px 20px !important;
	margin: 0 !important;
	padding: 0 !important;
}
.portfolio-container-and-title.container-fullwidth .product-filter ul li {
	margin: 0 !important;
	padding: 0 !important;
	display: inline-block !important;
}
.gasta-sort-toggle {
	display: inline-flex !important;
	align-items: baseline !important;
	background: transparent !important;
	padding: 0 !important;
	border-radius: 0 !important;
	gap: 20px !important;
	margin-left: auto !important;
}
.product-filter ul li a,
.gasta-sort-btn,
.wrapper a.gasta-sort-btn {
	font-family: var(--gasta-font-sans) !important;
	font-size: 14px !important;
	font-weight: 400 !important;
	letter-spacing: -0.01em !important;
	color: #666666 !important;
	background: transparent !important;
	padding: 0 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	text-decoration: none !important;
	line-height: 1.4 !important;
	position: relative;
	display: inline-block;
	cursor: pointer;
	transition: color 0.18s ease !important;
}
:is(.product-filter ul li a, .gasta-sort-btn, .wrapper a.gasta-sort-btn):hover {
	color: #111111 !important;
}
.product-filter ul li.active a,
.gasta-sort-btn.is-active,
.wrapper a.gasta-sort-btn.is-active {
	font-weight: 700 !important;
	color: #111111 !important;
	background: transparent !important;
	box-shadow: none !important;
}
:is(.product-filter ul li.active a, .gasta-sort-btn.is-active, .wrapper a.gasta-sort-btn.is-active):after {
	width: 100% !important;
}
.portfolio-container-and-title.container-fullwidth > .page-container > .row { margin-left: 0 !important; margin-right: 0 !important; }
.portfolio-container-and-title.container-fullwidth .portfolio-holder { margin-left: calc(-1 * var(--gasta-grid-gap)) !important; margin-right: calc(-1 * var(--gasta-grid-gap)) !important; }
.portfolio-container-and-title.container-fullwidth .portfolio-holder .portfolio-item.has-padding {
	padding: var(--gasta-grid-gap) !important;
}
.gasta-photo-caption {
	font-family: var(--gasta-font-sans) !important;
	font-size: 13px !important;
	line-height: 1.45 !important;
	color: #666666 !important;
	margin: 8px 0 20px 0 !important;
}

/* Equal-height 16:9 alignment for Sphere 2025 & England Fan Mural Grids */
.gasta-sphere-equal-row .vc_single_image-wrapper {
	display: block !important;
	width: 100% !important;
	aspect-ratio: 16 / 9;
	overflow: hidden;
	border-radius: 4px;
}
.gasta-sphere-equal-row .vc_single_image-wrapper img {
	width: 100% !important;
	height: 100% !important;
	object-fit: cover !important;
	display: block !important;
}
.gasta-sphere-equal-vid-row video {
	width: 100% !important;
	aspect-ratio: 16 / 9 !important;
	height: auto !important;
	object-fit: contain !important;
	background: #000000 !important;
	border-radius: 4px !important;
	display: block !important;
}
.gasta-mural-2up,
.gasta-mural-4up-mixed {
	display: grid;
	gap: 20px;
	margin: 8px 0 28px 0;
	width: 100%;
}
.gasta-mural-2up {
	grid-template-columns: repeat(2, 1fr);
}
.gasta-mural-4up-mixed { grid-template-columns: 4fr 4fr 5fr 5fr; align-items: start; }
.gasta-mural-card { display: flex; flex-direction: column; }
.gasta-mural-card-media {
	display: block;
	width: 100%;
	overflow: hidden;
	border-radius: 4px;
	background: #0c1014;
}
.gasta-mural-card-media img {
	width: 100% !important;
	height: auto !important;
	display: block !important;
	margin: 0 !important;
	transition: transform 0.25s cubic-bezier(0.22, 1, 0.36, 1);
}
.gasta-mural-card-media:hover img {
	transform: scale(1.02);
}
@media screen and (max-width: 991px) {
	.gasta-mural-2up { grid-template-columns: 1fr; }
	.gasta-mural-4up-mixed { grid-template-columns: repeat(2, 1fr); }
}
@media screen and (max-width: 600px) {
	.gasta-mural-4up-mixed { grid-template-columns: 1fr; }
}

/* Seamless looping MP4 inside portfolio grid card image-placeholder */
.image-placeholder > video.gasta-loop-thumb-video {
	position: absolute;
	top: 0;
	left: 0;
	width: 100% !important;
	height: 100% !important;
	object-fit: cover;
	display: block;
	z-index: 2;
	pointer-events: none;
}

/* Balanced Portrait Video + Stacked Side Images Grid */
.gasta-media-split {
	display: grid;
	grid-template-columns: 46.8% 1fr;
	gap: 20px;
	align-items: stretch;
	width: 100%;
}
.gasta-media-split-video {
	position: relative;
	width: 100%;
	aspect-ratio: 9 / 16;
	background: #0a0a0a;
	border-radius: 4px;
	overflow: hidden;
}
.gasta-media-split-video :is(iframe, video) {
	position: absolute;
	top: 0;
	left: 0;
	width: 100% !important;
	height: 100% !important;
	border: none !important;
}
.gasta-media-split-stack {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	gap: 16px;
	height: 100%;
}
.gasta-media-split-stack img {
	width: 100%;
	height: auto;
	display: block;
	border-radius: 4px;
	margin: 0 !important;
}
.gasta-media-split-stack--crop .gasta-media-split-card {
	flex: 1 1 0;
	display: flex;
	flex-direction: column;
	min-height: 0;
}
.gasta-media-split-stack--crop .gasta-media-split-card img {
	flex: 1 1 0;
	width: 100%;
	height: 100%;
	min-height: 0;
	object-fit: cover;
	border-radius: 4px;
}
.gasta-media-split-stack--crop .gasta-photo-caption { margin: 6px 0 0 0 !important; font-size: 12.5px !important; }
@media screen and (max-width: 767px) {
	.gasta-media-split { grid-template-columns: 1fr; }
}

/* Gastaloops & Out Of The Loop Responsive 4-Column Loop Grid */
.gasta-loops-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 16px;
	margin: 24px 0 36px 0;
	width: 100%;
}
@media screen and (max-width: 1199px) {
	.gasta-loops-grid { grid-template-columns: repeat(3, 1fr); }
}
@media screen and (max-width: 767px) {
	.gasta-loops-grid { grid-template-columns: repeat(2, 1fr); gap: 10px; }
}
.gasta-loops-card {
	position: relative;
	background: #fff6ff;
	border-radius: 4px;
	overflow: hidden;
	aspect-ratio: 4 / 3;
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.06);
}
.gasta-loops-card--square { aspect-ratio: 1 / 1; background: #141414; }
.gasta-loops-card :is(img, video) {
	width: 100% !important;
	height: 100% !important;
	object-fit: cover;
	display: block;
	margin: 0 !important;
}
.gasta-loops-badge {
	position: absolute;
	bottom: 8px;
	right: 10px;
	font-family: var(--gasta-font-sans);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.03em;
	color: rgba(17, 17, 17, 0.55);
	background: rgba(255, 255, 255, 0.78);
	backdrop-filter: blur(4px);
	-webkit-backdrop-filter: blur(4px);
	padding: 2px 7px;
	border-radius: 999px;
	pointer-events: none;
	line-height: 1.3;
}

/* Smooth Anchor Jumping & Play Page (/play/) Rows */
html { scroll-behavior: smooth; }
h2[id], h3[id], .gasta-anchor-target { scroll-margin-top: 48px; }

.gasta-play-list {
	display: flex;
	flex-direction: column;
	border-top: 1px solid #e6e6e6;
	margin: 4px 0 24px 0;
}
.gasta-play-row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	padding: 18px 0;
	border-bottom: 1px solid #e6e6e6;
}
.gasta-play-row > div:first-child {
	flex: 1 1 auto;
	min-width: 0;
	line-height: 1.55;
}
.gasta-play-row > div:first-child strong {
	font-family: var(--gasta-font-display);
	font-size: 17px;
	font-weight: 600;
	letter-spacing: -0.015em;
	color: #111111;
	display: inline-block;
	margin-bottom: 4px;
}
.gasta-play-row > div:first-child span {
	font-family: var(--gasta-font-sans);
	font-size: 14.5px;
	color: #555555;
	display: block;
	line-height: 1.55;
}
.gasta-play-row > div:last-child {
	flex: 0 0 auto;
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	align-items: center;
	justify-content: flex-end;
}
.gasta-play-row .gasta-pill-btn { margin: 0 !important; white-space: nowrap; }
@media screen and (max-width: 640px) {
	.gasta-play-row {
		flex-direction: column;
		align-items: flex-start;
		gap: 12px;
		padding: 16px 0;
	}
	.gasta-play-row > div:last-child { justify-content: flex-start; }
}

/* Contact Form (/about-me/#contact) */
.lab-contact-form.contact-form .form-group {
	position: relative;
	margin-bottom: 20px !important;
	padding: 0 !important;
	border: none !important;
	background: transparent !important;
}
.lab-contact-form.contact-form .form-group::after,
.lab-contact-form.contact-form .form-group label::after { display: none !important; content: none !important; }
.lab-contact-form.contact-form .form-group label {
	position: static !important;
	display: block !important;
	width: auto !important;
	font-family: var(--gasta-font-sans) !important;
	font-size: 13.5px !important;
	font-weight: 600 !important;
	letter-spacing: -0.01em !important;
	color: #222222 !important;
	margin: 0 0 7px 0 !important;
	padding: 0 !important;
	border: none !important;
	background: transparent !important;
	line-height: 1.3 !important;
}
.lab-contact-form.contact-form .form-group :is(input[type="text"], input[type="email"], textarea) {
	display: block !important;
	width: 100% !important;
	font-family: var(--gasta-font-sans) !important;
	font-size: 15px !important;
	line-height: 1.5 !important;
	color: #111111 !important;
	background-color: #f4f4f1 !important;
	border: 1px solid #e0e0dc !important;
	border-radius: 6px !important;
	padding: 12px 15px !important;
	margin: 0 !important;
	box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.03) !important;
	transition: background-color 0.18s ease, border-color 0.18s ease, box-shadow 0.18s ease !important;
}
.lab-contact-form.contact-form .form-group :is(input[type="text"], input[type="email"]) {
	height: 46px !important;
}
.lab-contact-form.contact-form .form-group textarea {
	min-height: 140px !important;
	resize: vertical !important;
	background-image: none !important;
}
.lab-contact-form.contact-form .form-group :is(input[type="text"], input[type="email"], textarea):focus {
	background-color: #ffffff !important;
	border-color: #111111 !important;
	box-shadow: 0 0 0 3px rgba(17, 17, 17, 0.08) !important;
	outline: none !important;
}
.lab-contact-form.contact-form button.button {
	float: none !important;
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	font-family: var(--gasta-font-sans) !important;
	font-size: 14px !important;
	font-weight: 600 !important;
	letter-spacing: -0.01em !important;
	color: #ffffff !important;
	background: #111111 !important;
	padding: 11px 24px !important;
	border-radius: 999px !important;
	border: none !important;
	margin-top: 4px !important;
	cursor: pointer;
	transition: background-color 0.2s cubic-bezier(0.22, 1, 0.36, 1), transform 0.2s cubic-bezier(0.22, 1, 0.36, 1) !important;
}
.lab-contact-form.contact-form button.button:hover {
	background: #d97706 !important;
	color: #ffffff !important;
	transform: translateY(-1px);
}

/* ==========================================================================
   6. Chronological Index Table (/index/), Lightbox & Overrides
   ========================================================================== */
.gasta-index-controls {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	margin: 28px 0 20px 0;
	padding-bottom: 16px;
	border-bottom: 1px solid #e6e6e6;
}
.gasta-index-filters {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}
.gasta-idx-filter-btn {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-family: var(--gasta-font-sans);
	font-size: 13.5px;
	font-weight: 600;
	letter-spacing: -0.01em;
	color: #444444;
	background: #f3f3f3;
	border: 1px solid transparent;
	padding: 7px 15px;
	border-radius: 999px;
	cursor: pointer;
	transition: background-color 0.18s ease, color 0.18s ease, transform 0.18s ease;
	line-height: 1.2;
}
.gasta-idx-filter-btn:hover { background: #e6e6e6; color: #111111; }
.gasta-idx-filter-btn.is-active { background: #111111; color: #ffffff; }
.gasta-idx-count { font-size: 11.5px; font-weight: 600; opacity: 0.65; }
.gasta-index-search-wrap { flex: 0 1 260px; }
.gasta-idx-search {
	width: 100%;
	font-family: var(--gasta-font-sans);
	font-size: 13.5px;
	color: #111111;
	background: #f7f7f7;
	border: 1px solid #e2e2e2;
	border-radius: 999px;
	padding: 7px 16px;
	outline: none;
	transition: border-color 0.18s ease, background-color 0.18s ease;
}
.gasta-idx-search:focus { background: #ffffff; border-color: #111111; }
.gasta-index-table-wrap { width: 100%; overflow-x: auto; margin-bottom: 32px; }
.gasta-index-table { width: 100%; border-collapse: collapse; table-layout: auto; }
.gasta-index-table thead th {
	font-family: var(--gasta-font-sans);
	font-size: 11.5px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	color: #888888;
	text-align: left;
	padding: 10px 16px 12px 16px;
	border-bottom: 1px solid #dddddd;
}
.gasta-index-table :is(thead th, tbody td):first-child { padding-left: 4px; }
.gasta-index-table :is(thead th, tbody td):last-child { padding-right: 4px; text-align: right; }
.gasta-index-table tbody tr.gasta-idx-row { border-bottom: 1px solid #eeeeee; transition: background-color 0.15s ease; }
.gasta-index-table tbody tr.gasta-idx-row:hover { background-color: #fafafa; }
.gasta-index-table tbody td {
	padding: 11px 16px;
	vertical-align: middle;
	line-height: 1.4;
}
.gasta-idx-year {
	width: 68px;
	white-space: nowrap;
	font-variant-numeric: tabular-nums;
	font-size: 14px;
	font-weight: 500;
	color: #777777;
}
.gasta-idx-thumb-cell { width: 60px; padding-right: 8px !important; }
.gasta-idx-thumb {
	width: 46px !important;
	height: 32px !important;
	object-fit: cover;
	border-radius: 4px;
	display: block;
	background: #f0f0f0;
	box-shadow: 0 1px 2px rgba(0, 0, 0, 0.08);
	transition: transform 0.2s cubic-bezier(0.22, 1, 0.36, 1);
	margin: 0 !important;
}
tr.gasta-idx-row:hover .gasta-idx-thumb { transform: scale(1.14); }
.gasta-idx-title { font-size: 15.5px; font-weight: 600; min-width: 220px; }
.gasta-idx-title a {
	color: #111111 !important;
	text-decoration: none !important;
	transition: color 0.15s ease;
}
.gasta-idx-title a:hover { color: #d97706 !important; }
.gasta-idx-cat { min-width: 180px; }
.gasta-idx-pills { display: flex; flex-wrap: wrap; gap: 6px; }
.gasta-idx-pill {
	font-family: var(--gasta-font-sans);
	font-size: 12px;
	font-weight: 500;
	color: #555555;
	background: #f2f2f2;
	padding: 3px 10px;
	border-radius: 999px;
	cursor: pointer;
	white-space: nowrap;
	transition: background-color 0.15s ease, color 0.15s ease;
}
.gasta-idx-pill:hover { background: #e2e2e2; color: #111111; }
.gasta-idx-link { width: 84px; white-space: nowrap; font-size: 13.5px; font-weight: 600; }
.gasta-idx-link a { color: #666666 !important; text-decoration: none !important; }
tr.gasta-idx-row:hover .gasta-idx-link a { color: #111111 !important; }
@media screen and (max-width: 767px) {
	.gasta-index-table :is(thead th.gasta-idx-cat-th, tbody td.gasta-idx-cat) { display: none; }
	.gasta-index-table tbody td { padding: 9px 8px; }
	.gasta-index-search-wrap { flex: 1 1 100%; }
}

.single-portfolio-holder .portfolio-video :is(
	video[autoplay][loop] ~ .vjs-big-play-button,
	.video-js-el[autoplay][loop] .vjs-big-play-button,
	.video-js-el[autoplay][loop] .vjs-control-bar
) {
	display: none !important;
}
.single-portfolio-holder .portfolio-video { cursor: pointer; }
#gasta-video-lightbox {
	position: fixed;
	inset: 0;
	z-index: 999999;
	background: rgba(0, 0, 0, 0.9);
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 32px;
	opacity: 0;
	pointer-events: none;
	transition: opacity 0.2s ease;
}
#gasta-video-lightbox.is-open { opacity: 1; pointer-events: auto; }
#gasta-video-lightbox video {
	max-width: min(1080px, 92vw);
	max-height: 86vh;
	width: auto;
	height: auto;
	border-radius: 4px;
	box-shadow: 0 16px 48px rgba(0, 0, 0, 0.55);
	background: #000;
	display: block;
}
#gasta-video-lightbox-close {
	position: absolute;
	top: 20px;
	right: 26px;
	width: 40px;
	height: 40px;
	border-radius: 999px;
	border: none;
	background: rgba(255, 255, 255, 0.14);
	color: #ffffff;
	font-size: 24px;
	line-height: 1;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
}
#gasta-video-lightbox-close:hover { background: rgba(255, 255, 255, 0.26); }

/* Deduplicated Kalium portfolio card spinner rule */
.ball-clip-rotate > span { border-color: #ffffff; border-bottom-color: transparent; }

/* Berlusclock (page-id-8269) clean standalone canvas overrides */
body.page-id-8269 :is(header.site-header, footer.site-footer, .mobile-menu-wrapper, .mobile-menu-overlay) {
	display: none !important;
}
body.page-id-8269,
body.page-id-8269 :is(.wrapper, .vc-container, .container) {
	margin: 0 !important;
	padding: 0 !important;
	width: 100vw !important;
	max-width: 100vw !important;
	background: #050505 !important;
}
