		:root {
			--cream: #f7f5f0;
			--charcoal: #1a1a1a;
			--mid: #6b6560;
			--gold: #b89b6e;
			--white: #ffffff;
			--border: rgba(26, 26, 26, 0.12);
		}

		*,
		*::before,
		*::after {
			box-sizing: border-box;
			margin: 0;
			padding: 0;
		}

		html {
			scroll-behavior: smooth;
		}

		body {
			margin: 0;
			padding: 0;
			font-family: 'Jost', sans-serif;
			background: var(--white);
			color: var(--charcoal);
			overflow-x: hidden;
		}

		/* ── TYPOGRAPHY ── */
		.display-serif {
			font-family: 'Cormorant Garamond', serif;
			font-weight: 300;
			letter-spacing: 0.02em;
		}

		.label-track {
			font-family: 'Jost', sans-serif;
			font-size: 0.7rem;
			font-weight: 500;
			letter-spacing: 0.22em;
			text-transform: uppercase;
			color: var(--mid);
		}

		/* ── NAVBAR ── */
		#mainNav {
			position: fixed;
			top: 0;
			left: 0;
			right: 0;
			z-index: 1000;
			padding: 0 2.5rem;
			height: 72px;
			display: flex;
			align-items: center;
			justify-content: space-between;
			transition: background 0.35s, backdrop-filter 0.35s;
		}

		#mainNav.scrolled {
			background: rgba(255, 255, 255, 0.96);
			backdrop-filter: blur(8px);
			border-bottom: 1px solid var(--border);
		}

		.nav-logo {
			display: flex;
			align-items: center;
		}

		.nav-logo img {
			height: 48px;
			display: block;
			transition: filter 0.3s;
		}

		#mainNav:not(.scrolled) .nav-logo img {
			filter: brightness(0) invert(1);
		}

		.nav-links {
			display: flex;
			gap: 2.5rem;
			align-items: center;
			gap: 2.5rem;
			list-style: none;
			margin: 0;
		}

		.nav-links li {
			display: flex;
			align-items: center;
		}

		.nav-links a {
			font-size: 0.75rem;
			font-weight: 500;
			letter-spacing: 0.18em;
			text-transform: uppercase;
			color: var(--white);
			text-decoration: none;
			line-height: 1;
			transition: color 0.2s;
		}

		#mainNav.scrolled .nav-links a {
			color: var(--charcoal);
		}

		.nav-links a:hover {
			color: var(--gold);
		}

		.nav-cta {
			font-size: 0.7rem;
			font-weight: 500;
			letter-spacing: 0.18em;
			text-transform: uppercase;
			line-height: 1;
			border: 1px solid rgba(255, 255, 255, 0.6);
			color: var(--white);
			padding: 0.5rem 1.25rem;
			text-decoration: none;
			display: inline-flex;
			align-items: center;
			transition: background 0.2s, color 0.2s, border-color 0.2s;
		}

		#mainNav.scrolled .nav-cta {
			border-color: var(--charcoal);
			color: var(--charcoal);
		}

		.nav-cta:hover {
			background: var(--gold);
			border-color: var(--gold);
			color: #fff;
		}

		/* hamburger */
		.hamburger {
			display: none;
			flex-direction: column;
			gap: 5px;
			cursor: pointer;
			background: none;
			border: none;
			padding: 4px;
		}

		.hamburger span {
			display: block;
			width: 24px;
			height: 1.5px;
			background: var(--white);
			transition: background 0.3s;
		}

		#mainNav.scrolled .hamburger span {
			background: var(--charcoal);
		}

		/* mobile menu */
		.mobile-menu {
			display: none;
			position: fixed;
			inset: 0;
			background: var(--charcoal);
			z-index: 999;
			flex-direction: column;
			align-items: center;
			justify-content: center;
			gap: 2.5rem;
		}

		.mobile-menu.open {
			display: flex;
		}

		.mobile-menu a {
			font-family: 'Cormorant Garamond', serif;
			font-size: 2.5rem;
			font-weight: 300;
			color: var(--white);
			text-decoration: none;
			letter-spacing: 0.06em;
		}

		.mobile-menu a:hover {
			color: var(--gold);
		}

		.mobile-close {
			position: absolute;
			top: 1.5rem;
			right: 2rem;
			background: none;
			border: none;
			color: var(--white);
			font-size: 1.8rem;
			cursor: pointer;
		}

		/* ── HERO ── */
		.hero {
			margin-top: 0;
			padding-top: 0;
			position: relative;
			height: 100vh;
			min-height: 600px;
			overflow: hidden;
		}

		.hero-slide {
			position: absolute;
			inset: 0;
			background-size: cover;
			background-position: center center;
			opacity: 0;
			transition: opacity 1.2s ease;
		}

		.hero-slide.active {
			opacity: 1;
		}

		.hero-overlay {
			position: absolute;
			inset: 0;
			background: linear-gradient(to bottom, rgba(0, 0, 0, 0.3) 0%, rgba(0, 0, 0, 0.15) 50%, rgba(0, 0, 0, 0.45) 100%);
		}

		.hero-content {
			position: absolute;
			bottom: 12%;
			left: 50%;
			transform: translateX(-50%);
			text-align: center;
			color: #fff;
			width: 90%;
		}

		.hero-content .label-track {
			color: rgba(255, 255, 255, 0.75);
			margin-bottom: 1rem;
		}

		.hero-headline {
			font-family: 'Cormorant Garamond', serif;
			font-size: clamp(3rem, 8vw, 7rem);
			font-weight: 300;
			line-height: 1;
			letter-spacing: 0.02em;
			color: #fff;
		}

		.hero-sub {
			font-size: 0.82rem;
			letter-spacing: 0.2em;
			text-transform: uppercase;
			color: rgba(255, 255, 255, 0.7);
			margin-top: 1.2rem;
		}

		.hero-dots {
			position: absolute;
			bottom: 2rem;
			left: 50%;
			transform: translateX(-50%);
			display: flex;
			gap: 0.5rem;
		}

		.hero-dot {
			width: 28px;
			height: 1.5px;
			background: rgba(255, 255, 255, 0.4);
			cursor: pointer;
			transition: background 0.3s;
		}

		.hero-dot.active {
			background: #fff;
		}

		/* scroll cue */
		.scroll-cue {
			position: absolute;
			bottom: 2rem;
			right: 2.5rem;
			display: flex;
			flex-direction: column;
			align-items: center;
			gap: 6px;
			color: rgba(255, 255, 255, 0.6);
			font-size: 0.62rem;
			letter-spacing: 0.18em;
			text-transform: uppercase;
		}

		.scroll-cue-line {
			width: 1px;
			height: 40px;
			background: rgba(255, 255, 255, 0.4);
			animation: scrollPulse 2s infinite;
		}

		@keyframes scrollPulse {

			0%,
			100% {
				opacity: 0.3;
				transform: scaleY(1)
			}

			50% {
				opacity: 1;
				transform: scaleY(0.6)
			}
		}

		/* ── SECTIONS ── */
		section {
			padding: 6rem 0;
		}

		/* intro strip */
		.intro-strip {
			background: var(--cream);
			padding: 5rem 0;
		}

		.intro-strip .section-eyebrow {
			margin-bottom: 1.5rem;
		}

		.intro-strip p {
			font-family: 'Cormorant Garamond', serif;
			font-size: clamp(1.25rem, 2.5vw, 1.7rem);
			font-weight: 300;
			line-height: 1.7;
			color: var(--mid);
			max-width: 750px;
		}

		.intro-strip .stat-row {
			display: flex;
			gap: 3rem;
			margin-top: 3rem;
			flex-wrap: wrap;
		}

		.stat-item .stat-num {
			font-family: 'Cormorant Garamond', serif;
			font-size: 3.5rem;
			font-weight: 300;
			line-height: 1;
			color: var(--charcoal);
		}

		.stat-item .stat-label {
			font-size: 0.7rem;
			letter-spacing: 0.16em;
			text-transform: uppercase;
			color: var(--mid);
			margin-top: 0.3rem;
		}

		/* ── PORTFOLIO GRID ── */
		.portfolio-grid {
			background: var(--white);
		}

		.grid-filter {
			display: flex;
			gap: 1rem;
			flex-wrap: wrap;
			margin-bottom: 2.5rem;
		}

		.filter-btn {
			font-size: 0.68rem;
			letter-spacing: 0.18em;
			text-transform: uppercase;
			font-family: 'Jost', sans-serif;
			font-weight: 500;
			padding: 0.5rem 1.2rem;
			border: 1px solid var(--border);
			background: none;
			color: var(--mid);
			cursor: pointer;
			transition: all 0.2s;
		}

		.filter-btn.active,
		.filter-btn:hover {
			background: var(--charcoal);
			color: #fff;
			border-color: var(--charcoal);
		}

		.mosaic {
			display: grid;
			grid-template-columns: repeat(12, 1fr);
			gap: 12px;
		}

		.mosaic-item {
			overflow: hidden;
			position: relative;
			cursor: pointer;
		}

		.mosaic-item:nth-child(1) {
			grid-column: span 8;
			grid-row: span 2;
		}

		.mosaic-item:nth-child(2) {
			grid-column: span 4;
		}

		.mosaic-item:nth-child(3) {
			grid-column: span 4;
		}

		.mosaic-item:nth-child(4) {
			grid-column: span 4;
		}

		.mosaic-item:nth-child(5) {
			grid-column: span 4;
		}

		.mosaic-item:nth-child(6) {
			grid-column: span 4;
		}

		.mosaic-item:nth-child(7) {
			grid-column: span 4;
		}

		.mosaic-item:nth-child(8) {
			grid-column: span 4;
		}

		.mosaic-item:nth-child(9) {
			grid-column: span 4;
		}

		.mosaic-item img {
			width: 100%;
			height: 100%;
			object-fit: cover;
			display: block;
			transition: transform 0.7s cubic-bezier(.16, 1, .3, 1);
			min-height: 220px;
		}

		.mosaic-item:hover img {
			transform: scale(1.06);
		}

		.mosaic-caption {
			position: absolute;
			bottom: 0;
			left: 0;
			right: 0;
			padding: 1.5rem 1rem 1rem;
			background: linear-gradient(transparent, rgba(0, 0, 0, 0.55));
			color: #fff;
			opacity: 0;
			transition: opacity 0.3s;
			font-size: 0.8rem;
			letter-spacing: 0.12em;
			text-transform: uppercase;
		}

		.mosaic-item:hover .mosaic-caption {
			opacity: 1;
		}

		/* ── SERVICES ── */
		.services-section {
			background: var(--charcoal);
			color: #fff;
		}

		.services-section .section-eyebrow {
			color: var(--gold);
		}

		.services-section h2 {
			color: #fff;
		}

		.service-card {
			border: 1px solid rgba(255, 255, 255, 0.1);
			padding: 2.5rem 2rem;
			height: 100%;
			transition: border-color 0.3s, background 0.3s;
			position: relative;
			overflow: hidden;
		}

		.service-card::before {
			content: '';
			position: absolute;
			inset: 0;
			background: var(--gold);
			opacity: 0;
			transition: opacity 0.3s;
		}

		.service-card:hover {
			border-color: var(--gold);
		}

		.service-card:hover::before {
			opacity: 0.05;
		}

		.service-card>* {
			position: relative;
			z-index: 1;
		}

		.service-icon {
			font-size: 1.5rem;
			color: var(--gold);
			margin-bottom: 1.5rem;
		}

		.service-card h5 {
			font-family: 'Cormorant Garamond', serif;
			font-size: 1.5rem;
			font-weight: 400;
			color: #fff;
			margin-bottom: 0.75rem;
		}

		.service-card p {
			font-size: 0.85rem;
			line-height: 1.75;
			color: rgba(255, 255, 255, 0.55);
		}

		/* ── STORIES ── */
		.stories-section {
			background: var(--cream);
		}

		.story-card {
			background: #fff;
			overflow: hidden;
			display: flex;
			flex-direction: column;
			height: 100%;
			transition: transform 0.4s;
		}

		.story-card:hover {
			transform: translateY(-6px);
		}

		.story-img-wrap {
			overflow: hidden;
			height: 320px;
		}

		.story-img-wrap img {
			width: 100%;
			height: 100%;
			object-fit: cover;
			transition: transform 0.7s cubic-bezier(.16, 1, .3, 1);
		}

		.story-card:hover .story-img-wrap img {
			transform: scale(1.07);
		}

		.story-body {
			padding: 2rem 1.75rem 2rem;
			flex: 1;
			display: flex;
			flex-direction: column;
		}

		.story-names {
			font-family: 'Cormorant Garamond', serif;
			font-size: 1.6rem;
			font-weight: 400;
			color: var(--charcoal);
			margin-bottom: 0.5rem;
		}

		.story-body p {
			font-size: 0.85rem;
			line-height: 1.8;
			color: var(--mid);
			flex: 1;
			margin-bottom: 1.5rem;
		}

		.story-link {
			font-size: 0.68rem;
			letter-spacing: 0.2em;
			text-transform: uppercase;
			color: var(--charcoal);
			text-decoration: none;
			border-bottom: 1px solid var(--charcoal);
			padding-bottom: 2px;
			transition: color 0.2s, border-color 0.2s;
		}

		.story-link:hover {
			color: var(--gold);
			border-color: var(--gold);
		}

		/* ── FILMS ── */
		.films-section {
			background: #fff;
		}

		.film-row {
			display: grid;
			grid-template-columns: 1fr 1fr;
			gap: 0;
			margin-bottom: 4rem;
		}

		.film-row.reverse .film-visual {
			order: 2;
		}

		.film-row.reverse .film-text {
			order: 1;
		}

		.film-visual {
			position: relative;
			min-height: 420px;
			overflow: hidden;
			cursor: pointer;
		}

		.film-visual iframe {
			width: 100%;
			height: 100%;
			border: 0;
			display: block;
		}

		.film-visual img {
			width: 100%;
			height: 100%;
			object-fit: cover;
			transition: transform 0.7s cubic-bezier(.16, 1, .3, 1);
		}

		.film-visual:hover img {
			transform: scale(1.05);
		}

		.play-btn {
			position: absolute;
			inset: 0;
			display: flex;
			align-items: center;
			justify-content: center;
			background: rgba(0, 0, 0, 0.18);
			transition: background 0.3s;
			pointer-events: auto;
			text-decoration: none;
		}

		.film-visual:hover .play-btn {
			background: rgba(0, 0, 0, 0.3);
		}

		.play-circle {
			width: 70px;
			height: 70px;
			border: 1.5px solid rgba(255, 255, 255, 0.85);
			border-radius: 50%;
			display: flex;
			align-items: center;
			justify-content: center;
			color: #fff;
			font-size: 1.2rem;
			padding-left: 4px;
			transition: background 0.3s;
		}

		.film-visual:hover .play-circle {
			background: rgba(255, 255, 255, 0.15);
		}

		.film-text {
			background: var(--cream);
			padding: 4rem;
			display: flex;
			flex-direction: column;
			justify-content: center;
		}

		.film-text .label-track {
			margin-bottom: 1rem;
		}

		.film-text h3 {
			font-family: 'Cormorant Garamond', serif;
			font-size: clamp(1.8rem, 3vw, 2.5rem);
			font-weight: 300;
			color: var(--charcoal);
			margin-bottom: 1.25rem;
		}

		.film-text p {
			font-size: 0.88rem;
			line-height: 1.85;
			color: var(--mid);
			margin-bottom: 2rem;
		}

		/* ── SECTION SHARED ── */
		.section-eyebrow {
			display: block;
			font-family: 'Jost', sans-serif;
			font-size: 0.68rem;
			font-weight: 500;
			letter-spacing: 0.22em;
			text-transform: uppercase;
			color: var(--gold);
			margin-bottom: 1rem;
		}

		h2.section-title {
			font-family: 'Cormorant Garamond', serif;
			font-size: clamp(2.2rem, 5vw, 3.8rem);
			font-weight: 300;
			line-height: 1.1;
			color: var(--charcoal);
			margin-bottom: 1.5rem;
		}

		/* ── BTN ── */
		.btn-outline-dark-custom {
			display: inline-block;
			font-size: 0.68rem;
			font-weight: 500;
			letter-spacing: 0.2em;
			text-transform: uppercase;
			text-decoration: none;
			color: var(--charcoal);
			border: 1px solid var(--charcoal);
			padding: 0.75rem 2rem;
			transition: background 0.25s, color 0.25s;
		}

		.btn-outline-dark-custom:hover {
			background: var(--charcoal);
			color: #fff;
		}

		.btn-gold {
			display: inline-block;
			font-size: 0.68rem;
			font-weight: 500;
			letter-spacing: 0.2em;
			text-transform: uppercase;
			text-decoration: none;
			color: #fff;
			background: var(--gold);
			padding: 0.85rem 2.5rem;
			border: 1px solid var(--gold);
			transition: background 0.25s, color 0.25s;
		}

		.btn-gold:hover {
			background: transparent;
			color: var(--gold);
		}

		.btn-white-outline {
			display: inline-block;
			font-size: 0.68rem;
			font-weight: 500;
			letter-spacing: 0.2em;
			text-transform: uppercase;
			text-decoration: none;
			color: #fff;
			border: 1px solid rgba(255, 255, 255, 0.6);
			padding: 0.75rem 2rem;
			transition: background 0.25s;
		}

		.btn-white-outline:hover {
			background: rgba(255, 255, 255, 0.1);
		}

		/* ── AWARDS STRIP ── */
		.awards-strip {
			background: var(--cream);
			padding: 4rem 0;
			border-top: 1px solid var(--border);
			border-bottom: 1px solid var(--border);
		}

		.award-badge {
			display: flex;
			flex-direction: column;
			align-items: center;
			text-align: center;
		}

		.award-badge i {
			font-size: 2rem;
			color: var(--gold);
			margin-bottom: 0.75rem;
		}

		.award-badge .award-title {
			font-family: 'Cormorant Garamond', serif;
			font-size: 1.05rem;
			font-weight: 400;
			color: var(--charcoal);
			margin-bottom: 0.2rem;
		}

		.award-badge .award-sub {
			font-size: 0.7rem;
			letter-spacing: 0.1em;
			color: var(--mid);
		}

		/* ── TESTIMONIALS ── */
		.testimonials-section {
			background: var(--charcoal);
			padding: 6rem 0;
		}

		.testimonials-section .section-eyebrow {
			color: var(--gold);
		}

		.testimonials-section h2 {
			color: #fff;
		}

		.testimonial-card {
			padding: 2.5rem;
			border: 1px solid rgba(255, 255, 255, 0.1);
			height: 100%;
		}

		.testimonial-stars {
			color: var(--gold);
			letter-spacing: 3px;
			font-size: 0.9rem;
			margin-bottom: 1.25rem;
		}

		.testimonial-quote {
			font-family: 'Cormorant Garamond', serif;
			font-size: 1.2rem;
			font-weight: 300;
			line-height: 1.75;
			color: rgba(255, 255, 255, 0.85);
			margin-bottom: 2rem;
		}

		.testimonial-name {
			font-size: 0.75rem;
			letter-spacing: 0.18em;
			text-transform: uppercase;
			color: var(--gold);
		}

		.testimonial-event {
			font-size: 0.72rem;
			color: rgba(255, 255, 255, 0.4);
			margin-top: 0.25rem;
		}

		/* ── CTA BANNER ── */
		.cta-banner {
			position: relative;
			padding: 7rem 0;
			background: center/cover no-repeat;
			text-align: center;
		}

		.cta-banner::before {
			content: '';
			position: absolute;
			inset: 0;
			background: rgba(0, 0, 0, 0.58);
		}

		.cta-banner>.container {
			position: relative;
			z-index: 1;
		}

		.cta-banner h2 {
			font-family: 'Cormorant Garamond', serif;
			font-size: clamp(2.5rem, 6vw, 5rem);
			font-weight: 300;
			color: #fff;
			margin-bottom: 0.75rem;
		}

		.cta-banner p {
			font-size: 0.85rem;
			letter-spacing: 0.18em;
			text-transform: uppercase;
			color: rgba(255, 255, 255, 0.6);
			margin-bottom: 2.5rem;
		}

		/* ── CONTACT ── */
		.contact-form {
			margin-top: 40px;
		}

		.contact-section {
			background: var(--cream);
		}

		.contact-form input,
		.contact-form select,
		.contact-form textarea {
			width: 100%;
			background: transparent;
			border: none;
			border-bottom: 1px solid rgba(26, 26, 26, 0.25);
			padding: 0.85rem 0;
			font-family: 'Jost', sans-serif;
			font-size: 0.85rem;
			color: var(--charcoal);
			outline: none;
			transition: border-color 0.2s;
		}

		.contact-form input:focus,
		.contact-form select:focus,
		.contact-form textarea:focus {
			border-color: var(--gold);
		}

		.contact-form label {
			font-size: 0.65rem;
			letter-spacing: 0.18em;
			text-transform: uppercase;
			color: var(--mid);
			display: block;
			margin-bottom: 0.25rem;
			margin-top: 1.5rem;
		}

		.contact-form textarea {
			resize: none;
		}

		.contact-info h5 {
			font-family: 'Cormorant Garamond', serif;
			font-size: 1.35rem;
			font-weight: 400;
			color: var(--charcoal);
			margin-bottom: 0.5rem;
			margin-top: 2rem;
		}

		.contact-info p,
		.contact-info a {
			font-size: 0.85rem;
			color: var(--mid);
			line-height: 1.7;
			text-decoration: none;
		}

		.contact-info a:hover {
			color: var(--gold);
		}

		/* ── FOOTER ── */
		footer {
			background: var(--charcoal);
			color: rgba(255, 255, 255, 0.5);
			padding: 3.5rem 0 2rem;
		}

		.footer-logo img {
			height: 100px;
			width: 115px;
			filter: brightness(0) invert(1);
			margin-bottom: 1.25rem;
		}

		.footer-tagline {
			font-family: 'Cormorant Garamond', serif;
			font-size: 1rem;
			font-weight: 300;
			color: rgba(255, 255, 255, 0.4);
			letter-spacing: 0.06em;
		}

		.footer-nav-title {
			font-size: 0.65rem;
			letter-spacing: 0.2em;
			text-transform: uppercase;
			color: rgba(255, 255, 255, 0.3);
			margin-bottom: 1rem;
		}

		.footer-nav-links {
			list-style: none;
			padding: 0;
		}

		.footer-nav-links li {
			margin-bottom: 0.6rem;
		}

		.footer-nav-links a {
			font-size: 0.82rem;
			color: rgba(255, 255, 255, 0.55);
			text-decoration: none;
			transition: color 0.2s;
		}

		.footer-nav-links a:hover {
			color: var(--gold);
		}

		.social-row {
			display: flex;
			gap: 1.25rem;
			margin-top: 0.5rem;
		}

		.social-row a {
			color: var(--gold);
			font-size: 1rem;
			transition: color 0.2s;
		}

		.social-row a:hover {
			color: var(--gold);
		}

		.footer-bottom {
			border-top: 1px solid rgba(255, 255, 255, 0.07);
			margin-top: 3rem;
			padding-top: 1.5rem;
			font-size: 0.72rem;
		}

		/* ── LIGHTBOX ── */
		.lightbox-overlay {
			display: none;
			position: fixed;
			inset: 0;
			background: rgba(0, 0, 0, 0.92);
			z-index: 2000;
			align-items: center;
			justify-content: center;
		}

		.lightbox-overlay.open {
			display: flex;
		}

		.lightbox-img {
			max-width: 90vw;
			max-height: 90vh;
			object-fit: contain;
		}

		.lightbox-close {
			position: absolute;
			top: 1.5rem;
			right: 2rem;
			background: none;
			border: none;
			color: #fff;
			font-size: 2rem;
			cursor: pointer;
			line-height: 1;
		}

		/* ── FLOATING WHATSAPP ── */
		.wa-float {
			position: fixed;
			bottom: 2rem;
			right: 2rem;
			z-index: 999;
			width: 52px;
			height: 52px;
			background: #25d366;
			border-radius: 50%;
			display: flex;
			align-items: center;
			justify-content: center;
			color: #fff;
			font-size: 1.4rem;
			text-decoration: none;
			box-shadow: 0 4px 16px rgba(0, 0, 0, 0.2);
			transition: transform 0.2s;
		}

		.wa-float:hover {
			transform: scale(1.1);
			color: #fff;
		}

		/* ── FADE-IN ── */
		.fade-up {
			opacity: 0;
			transform: translateY(28px);
			transition: opacity 0.7s ease, transform 0.7s ease;
		}

		.fade-up.visible {
			opacity: 1;
			transform: translateY(0);
		}

		.fade-up-delay-1 {
			transition-delay: 0.1s;
		}

		.fade-up-delay-2 {
			transition-delay: 0.2s;
		}

		.fade-up-delay-3 {
			transition-delay: 0.3s;
		}

		/* ── RESPONSIVE ── */
		@media (max-width: 991px) {

			.nav-links,
			.nav-cta {
				display: none;
			}

			.hamburger {
				display: flex;
			}

			.film-row {
				grid-template-columns: 1fr;
			}

			.film-row.reverse .film-visual {
				order: 0;
			}

			.film-row.reverse .film-text {
				order: 0;
			}

			.film-text {
				padding: 2.5rem 2rem;
			}

			.film-visual {
				min-height: 300px;
			}
		}

		@media (max-width: 767px) {
			.mosaic {
				grid-template-columns: 1fr 1fr;
				gap: 8px;
			}

			.mosaic-item {
				grid-column: span 1 !important;
				grid-row: span 1 !important;
			}

			.mosaic-item img {
				min-height: 180px;
			}

			#mainNav {
				padding: 0 1.25rem;
			}

			.hero-headline {
				font-size: 3rem;
			}

			.intro-strip .stat-row {
				gap: 2rem;
			}

			.hero-slide:nth-child(1) {
				background-position: 70% center;
			}

			.hero-slide:nth-child(2) {
				background-position: 30% center;
			}

			.hero {
				height: 100vh;
				min-height: 580px;
				margin-top: 0 !important;
				padding-top: 0 !important;
			}

			.hero-slide {
				top: 0 !important;
			}
		}