:root {
	--fellini-bg: #fcf8f3;
	--fellini-surface: #ffffff;
	--fellini-card: #fffdf9;
	--fellini-primary: #7d241b;
	--fellini-primary-strong: #a43c31;
	--fellini-accent: #c6a46a;
	--fellini-accent-soft: #efe3cf;
	--fellini-text: #241d18;
	--fellini-muted: #76695f;
	--fellini-border: rgba(150, 110, 63, 0.18);
	--fellini-shadow: 0 18px 50px rgba(87, 58, 31, 0.08);
	--fellini-radius: 28px;
	--fellini-shell: min(1200px, calc(100% - 32px));
}

*,
*::before,
*::after {
	box-sizing: border-box;
}

html {
	scroll-behavior: smooth;
}

body {
	margin: 0;
	font-family: "Poppins", sans-serif;
	background:
		radial-gradient(circle at top right, rgba(198, 164, 106, 0.16), transparent 28%),
		radial-gradient(circle at top left, rgba(125, 36, 27, 0.08), transparent 24%),
		linear-gradient(180deg, #fffdfb 0%, #f7efe6 100%);
	color: var(--fellini-text);
}

img {
	max-width: 100%;
	height: auto;
	display: block;
}

a {
	color: var(--fellini-accent);
	text-decoration: none;
}

a:hover,
a:focus {
	color: var(--fellini-primary);
}

input,
button,
textarea,
select {
	font: inherit;
}

.site-shell {
	width: var(--fellini-shell);
	margin: 0 auto;
}

.site-main {
	padding: 40px 0 80px;
}

.site-main--fullwidth,
.fellini-front-page .site-main {
	padding-top: 0;
}

.skip-link {
	position: absolute;
	left: -9999px;
}

.skip-link:focus {
	left: 16px;
	top: 16px;
	z-index: 999;
	background: #fff;
	color: #000;
	padding: 10px 14px;
}

.fallback-header {
	position: sticky;
	top: 0;
	z-index: 30;
	background: rgba(255, 252, 248, 0.9);
	backdrop-filter: blur(18px);
	border-bottom: 1px solid var(--fellini-border);
	box-shadow: 0 10px 30px rgba(87, 58, 31, 0.04);
}

.site-header__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	padding: 18px 0;
}

.site-title {
	font-size: 1.2rem;
	font-weight: 800;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--fellini-text);
}

.site-tagline {
	margin: 6px 0 0;
	color: var(--fellini-muted);
	font-size: 0.95rem;
}

.menu {
	display: flex;
	flex-wrap: wrap;
	gap: 18px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.menu a {
	color: var(--fellini-text);
	font-weight: 600;
	letter-spacing: 0.03em;
}

.menu a:hover,
.menu a:focus {
	color: var(--fellini-accent);
}

.hero-block,
.services-block,
.cta-block {
	padding: 88px 0;
	position: relative;
}

.hero-block__grid,
.cta-block__inner,
.archive-layout {
	display: grid;
	gap: 32px;
}

.hero-block__grid {
	grid-template-columns: minmax(0, 1.4fr) minmax(300px, 0.8fr);
	align-items: center;
}

.hero-block__content h1,
.section-heading h2,
.cta-block__inner h2,
.entry-title,
.archive-title {
	margin: 0 0 18px;
	line-height: 1.1;
}

.hero-block__content h1 {
	font-size: clamp(2.6rem, 6vw, 5rem);
	max-width: 12ch;
	letter-spacing: -0.03em;
}

.hero-block__content p,
.section-heading p,
.card p,
.entry-content,
.entry-excerpt,
.archive-description,
.site-footer p {
	color: var(--fellini-muted);
}

.hero-block__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
	margin-top: 28px;
}

.eyebrow {
	display: inline-block;
	margin-bottom: 16px;
	color: var(--fellini-accent);
	font-size: 0.82rem;
	font-weight: 700;
	letter-spacing: 0.18em;
	text-transform: uppercase;
}

.hero-card,
.card,
.entry-card,
.widget {
	background:
		linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(255, 251, 246, 0.98));
	border: 1px solid var(--fellini-border);
	border-radius: var(--fellini-radius);
	box-shadow: var(--fellini-shadow);
}

.hero-card {
	padding: 32px;
	position: relative;
	overflow: hidden;
}

.hero-card::before,
.card::before,
.entry-card::before,
.widget::before {
	content: "";
	display: block;
	width: 72px;
	height: 1px;
	background: linear-gradient(90deg, transparent 0%, var(--fellini-accent) 50%, transparent 100%);
	margin-bottom: 20px;
}

.hero-card__label {
	margin: 0 0 18px;
	color: var(--fellini-primary);
	font-weight: 700;
}

.hero-card__list {
	display: grid;
	gap: 14px;
	padding: 0;
	margin: 0;
	list-style: none;
}

.hero-card__list li {
	padding: 14px 16px;
	border-radius: 16px;
	background: linear-gradient(180deg, rgba(198, 164, 106, 0.08), rgba(198, 164, 106, 0.03));
	border: 1px solid rgba(198, 164, 106, 0.16);
	color: var(--fellini-text);
}

.section-heading {
	max-width: 780px;
	margin-bottom: 28px;
}

.section-heading h2,
.cta-block__inner h2,
.archive-title {
	max-width: 18ch;
}

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

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

.card,
.entry-card,
.widget {
	padding: 28px;
}

.card h3,
.entry-title a {
	color: var(--fellini-text);
}

.card h3,
.entry-title,
.entry-title a,
.site-footer__title,
.site-footer__subtitle {
	letter-spacing: -0.02em;
}

.entry-card {
	padding: 0;
	overflow: hidden;
}

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

.entry-card__body {
	padding: 24px;
}

.entry-meta {
	margin-bottom: 12px;
	color: var(--fellini-accent);
	font-size: 0.9rem;
}

.entry-card--page {
	padding: 40px;
}

.entry-content > *:first-child {
	margin-top: 0;
}

.button,
button,
input[type="submit"] {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 14px 24px;
	border-radius: 999px;
	border: 1px solid transparent;
	font-weight: 700;
	line-height: 1;
	cursor: pointer;
	transition: transform 0.2s ease, background 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}

.button:hover,
button:hover,
input[type="submit"]:hover {
	transform: translateY(-1px);
}

.button--primary,
button,
input[type="submit"] {
	background: linear-gradient(135deg, var(--fellini-primary) 0%, var(--fellini-primary-strong) 100%);
	color: #fff;
	box-shadow: 0 14px 28px rgba(125, 36, 27, 0.16);
}

.button--ghost {
	background: rgba(255, 255, 255, 0.86);
	border-color: var(--fellini-border);
	color: var(--fellini-text);
}

.button--ghost:hover {
	border-color: var(--fellini-accent);
	background: #fff;
}

.archive-layout {
	grid-template-columns: minmax(0, 1fr) minmax(280px, 320px);
	align-items: start;
}

.content-area {
	display: grid;
	gap: 24px;
}

.page-shell {
	max-width: 1000px;
}

.archive-header {
	padding: 28px 32px;
}

.not-found {
	padding: 96px 0;
}

.card--empty {
	text-align: center;
	padding: 48px 32px;
}

.sidebar-area {
	display: grid;
	gap: 20px;
}

.widget-title {
	margin-top: 0;
}

.fallback-footer {
	padding: 32px 0 48px;
	border-top: 1px solid var(--fellini-border);
	background:
		linear-gradient(180deg, rgba(255, 252, 248, 0.96), rgba(247, 239, 230, 0.96));
}

.site-footer__grid {
	display: grid;
        grid-template-columns: minmax(0, 4fr) minmax(0, 3fr) minmax(0, 3fr);
        align-items: start;
	gap: 24px;
}

.site-footer__column {
        min-width: 0;
}

.site-footer__title,
.site-footer__subtitle {
	margin-top: 0;
	color: var(--fellini-text);
}

.site-footer__title {
	text-transform: uppercase;
	letter-spacing: 0.12em;
}

.site-footer .menu {
	display: grid;
	gap: 10px;
}

.site-footer__widget + .site-footer__widget {
        margin-top: 20px;
}

.site-footer__column > :last-child,
.site-footer__widget > :last-child {
        margin-bottom: 0;
}

.site-subfooter {
        background: #191919;
        color: #f2f2f2;
        padding: 30px 0;
}

.site-subfooter__grid {
        display: grid;
        grid-template-columns: minmax(0, 7fr) minmax(0, 3fr);
        align-items: center;
        gap: 24px;
}

.site-subfooter__column {
        min-width: 0;
}

.site-subfooter__column--right {
        text-align: right;
}

.site-subfooter__widget {
        padding: 0;
        margin: 0;
        background: transparent;
        border: 0;
        border-radius: 0;
        box-shadow: none;
}

.site-subfooter__widget::before {
        display: none;
}

.site-subfooter p,
.site-subfooter a {
        margin: 0;
        color: rgba(242, 242, 242, 0.8);
}

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

.fellini-elementor-section {
	position: relative;
	padding: 110px 0;
}

.fellini-elementor-section--tight {
	padding: 72px 0;
}

.fellini-elementor-section--hero {
	padding: 140px 0 110px;
}

.fellini-elementor-shell {
	width: min(1200px, calc(100% - 32px));
	margin: 0 auto;
}

.fellini-panel {
	background: linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(255, 251, 246, 0.98));
	border: 1px solid var(--fellini-border);
	border-radius: var(--fellini-radius);
	box-shadow: var(--fellini-shadow);
	padding: 36px;
}

.fellini-panel--soft {
	background: linear-gradient(180deg, rgba(255, 255, 255, 0.92), rgba(239, 227, 207, 0.24));
}

.fellini-panel--outlined {
	box-shadow: none;
	border-color: rgba(198, 164, 106, 0.26);
}

.fellini-divider {
	display: inline-block;
	width: 84px;
	height: 1px;
	background: linear-gradient(90deg, transparent 0%, var(--fellini-accent) 50%, transparent 100%);
}

.fellini-kicker {
	display: inline-block;
	margin-bottom: 14px;
	color: var(--fellini-accent);
	font-size: 0.82rem;
	font-weight: 700;
	letter-spacing: 0.22em;
	text-transform: uppercase;
}

.fellini-heading-xl {
	font-size: clamp(2.8rem, 6vw, 5.4rem);
	line-height: 1.02;
	letter-spacing: -0.04em;
	color: var(--fellini-text);
}

.fellini-heading-lg {
	font-size: clamp(2rem, 4vw, 3.6rem);
	line-height: 1.08;
	letter-spacing: -0.03em;
	color: var(--fellini-text);
}

.fellini-text-lead {
	font-size: 1.08rem;
	line-height: 1.8;
	color: var(--fellini-muted);
}

.fellini-badge {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	padding: 10px 18px;
	border: 1px solid rgba(198, 164, 106, 0.24);
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.86);
	color: var(--fellini-primary);
	font-size: 0.84rem;
	font-weight: 600;
}

.fellini-badge::before {
	content: "";
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: var(--fellini-accent);
}

.fellini-button-primary,
.fellini-button-secondary {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 15px 26px;
	border-radius: 999px;
	font-weight: 700;
	line-height: 1;
	transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}

.fellini-button-primary {
	background: linear-gradient(135deg, var(--fellini-primary) 0%, var(--fellini-primary-strong) 100%);
	color: #fff;
	box-shadow: 0 14px 28px rgba(125, 36, 27, 0.16);
}

.fellini-button-secondary {
	background: rgba(255, 255, 255, 0.92);
	border: 1px solid var(--fellini-border);
	color: var(--fellini-text);
}

.fellini-button-primary:hover,
.fellini-button-secondary:hover {
	transform: translateY(-1px);
}

.fellini-button-secondary:hover {
	border-color: var(--fellini-accent);
	color: var(--fellini-primary);
}

.fellini-grid-2,
.fellini-grid-3,
.fellini-grid-4 {
	display: grid;
	gap: 24px;
}

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

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

.fellini-grid-4 {
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.fellini-list-clean {
	margin: 0;
	padding: 0;
	list-style: none;
}

.fellini-list-clean li + li {
	margin-top: 12px;
}

.fellini-nav-cta .elementor-button,
.fellini-nav-cta a {
	border-radius: 999px !important;
	background: linear-gradient(135deg, var(--fellini-primary) 0%, var(--fellini-primary-strong) 100%) !important;
	color: #fff !important;
	box-shadow: 0 14px 28px rgba(125, 36, 27, 0.16);
}

.fellini-floating-card {
	background: rgba(255, 255, 255, 0.88);
	backdrop-filter: blur(18px);
	border: 1px solid rgba(198, 164, 106, 0.22);
	border-radius: 24px;
	box-shadow: 0 18px 44px rgba(87, 58, 31, 0.1);
	padding: 24px;
}

.fellini-overlay-top::before {
	content: "";
	position: absolute;
	inset: 0;
	background:
		radial-gradient(circle at top right, rgba(198, 164, 106, 0.18), transparent 30%),
		radial-gradient(circle at top left, rgba(125, 36, 27, 0.08), transparent 24%);
	pointer-events: none;
}

.fellini-hero-split {
	display: grid;
	grid-template-columns: minmax(0, 1.2fr) minmax(340px, 0.8fr);
	gap: 32px;
	align-items: center;
}

.fellini-service-card,
.fellini-metric-card,
.fellini-testimonial-card,
.fellini-gallery-frame {
	background: linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(255, 251, 246, 0.98));
	border: 1px solid var(--fellini-border);
	border-radius: var(--fellini-radius);
	box-shadow: var(--fellini-shadow);
}

.fellini-service-card,
.fellini-metric-card,
.fellini-testimonial-card {
	padding: 30px;
}

.fellini-service-card h3,
.fellini-metric-card h3,
.fellini-testimonial-card h3 {
	margin-top: 0;
	margin-bottom: 12px;
	color: var(--fellini-text);
	letter-spacing: -0.02em;
}

.fellini-service-card p,
.fellini-metric-card p,
.fellini-testimonial-card p {
	margin-bottom: 0;
	color: var(--fellini-muted);
}

.fellini-service-card__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 56px;
	height: 56px;
	margin-bottom: 18px;
	border-radius: 18px;
	background: linear-gradient(180deg, rgba(198, 164, 106, 0.14), rgba(198, 164, 106, 0.06));
	color: var(--fellini-primary);
	font-size: 1.2rem;
}

.fellini-metric-card__number {
	display: block;
	margin-bottom: 10px;
	color: var(--fellini-primary);
	font-size: clamp(2rem, 4vw, 3rem);
	font-weight: 800;
	line-height: 1;
	letter-spacing: -0.04em;
}

.fellini-testimonial-card {
	position: relative;
}

.fellini-testimonial-card::before {
	content: "\201C";
	position: absolute;
	top: 18px;
	right: 20px;
	color: rgba(198, 164, 106, 0.22);
	font-size: 4rem;
	line-height: 1;
	font-family: Georgia, serif;
}

.fellini-testimonial-card__name {
	display: block;
	margin-top: 16px;
	color: var(--fellini-primary);
	font-size: 0.95rem;
	font-weight: 700;
}

.fellini-gallery-frame {
	overflow: hidden;
	padding: 12px;
}

.fellini-gallery-frame img {
	width: 100%;
	border-radius: calc(var(--fellini-radius) - 10px);
}

.fellini-cta-band {
	padding: 34px;
	background: linear-gradient(135deg, rgba(125, 36, 27, 0.96), rgba(164, 60, 49, 0.96));
	border-radius: calc(var(--fellini-radius) + 4px);
	box-shadow: 0 20px 44px rgba(125, 36, 27, 0.16);
	color: #fff;
}

.fellini-cta-band h2,
.fellini-cta-band p,
.fellini-cta-band a {
	color: #fff;
}

.fellini-cta-band p {
	opacity: 0.88;
}

.fellini-cta-band .fellini-button-secondary {
	background: rgba(255, 255, 255, 0.14);
	border-color: rgba(255, 255, 255, 0.24);
	color: #fff;
}

.fellini-stack-sm > * + * {
	margin-top: 14px;
}

.fellini-stack-md > * + * {
	margin-top: 22px;
}

.fellini-stack-lg > * + * {
	margin-top: 32px;
}

.fellini-process-step,
.fellini-offer-card,
.fellini-faq-card {
	background: linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(255, 251, 246, 0.98));
	border: 1px solid var(--fellini-border);
	border-radius: var(--fellini-radius);
	box-shadow: var(--fellini-shadow);
	padding: 30px;
}

.fellini-process-step {
	position: relative;
	padding-top: 78px;
}

.fellini-process-step__number {
	position: absolute;
	top: 24px;
	left: 24px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 38px;
	height: 38px;
	border-radius: 50%;
	background: linear-gradient(135deg, var(--fellini-primary) 0%, var(--fellini-primary-strong) 100%);
	color: #fff;
	font-size: 0.95rem;
	font-weight: 700;
	box-shadow: 0 12px 24px rgba(125, 36, 27, 0.16);
}

.fellini-process-step h3,
.fellini-offer-card h3,
.fellini-faq-card h3 {
	margin-top: 0;
	margin-bottom: 12px;
	color: var(--fellini-text);
	letter-spacing: -0.02em;
}

.fellini-process-step p,
.fellini-offer-card p,
.fellini-faq-card p {
	margin-bottom: 0;
	color: var(--fellini-muted);
}

.fellini-offer-card--featured {
	background: linear-gradient(180deg, rgba(255, 255, 255, 1), rgba(239, 227, 207, 0.3));
	border-color: rgba(198, 164, 106, 0.28);
}

.fellini-offer-card__price {
	display: block;
	margin-bottom: 12px;
	color: var(--fellini-primary);
	font-size: 1.8rem;
	font-weight: 800;
	letter-spacing: -0.03em;
}

.fellini-check-list {
	margin: 0;
	padding: 0;
	list-style: none;
}

.fellini-check-list li {
	position: relative;
	padding-left: 28px;
	color: var(--fellini-muted);
}

.fellini-check-list li + li {
	margin-top: 12px;
}

.fellini-check-list li::before {
	content: "";
	position: absolute;
	top: 9px;
	left: 0;
	width: 12px;
	height: 12px;
	border-radius: 50%;
	background: var(--fellini-accent);
	box-shadow: 0 0 0 5px rgba(198, 164, 106, 0.12);
}

.fellini-quote-band {
	padding: 42px;
	border-radius: calc(var(--fellini-radius) + 4px);
	background: linear-gradient(180deg, rgba(239, 227, 207, 0.42), rgba(255, 255, 255, 0.92));
	border: 1px solid rgba(198, 164, 106, 0.24);
	box-shadow: var(--fellini-shadow);
}

.fellini-quote-band p:last-child {
	margin-bottom: 0;
}

@media (max-width: 1024px) {
	.hero-block__grid,
	.archive-layout,
	.site-footer__grid,
        .site-subfooter__grid,
	.cards-grid,
	.cards-grid--posts,
	.fellini-hero-split,
	.fellini-grid-3,
	.fellini-grid-4 {
		grid-template-columns: 1fr 1fr;
	}

	.site-header__inner {
		flex-direction: column;
		align-items: flex-start;
	}
}

@media (max-width: 767px) {
	:root {
		--fellini-shell: min(100% - 24px, 1200px);
		--fellini-radius: 20px;
	}

	.site-main {
		padding: 24px 0 56px;
	}

	.hero-block,
	.services-block,
	.cta-block {
		padding: 56px 0;
	}

	.hero-block__grid,
	.archive-layout,
	.site-footer__grid,
        .site-subfooter__grid,
	.cards-grid,
	.cards-grid--posts,
	.fellini-hero-split,
	.fellini-grid-2,
	.fellini-grid-3,
	.fellini-grid-4,
	.cta-block__inner {
		grid-template-columns: 1fr;
	}

	.hero-block__content h1 {
		max-width: none;
	}

	.entry-card--page,
	.card,
	.widget,
	.hero-card {
		padding: 22px;
	}

	.hero-block__actions {
		flex-direction: column;
		align-items: stretch;
	}

	.button,
	button,
	input[type="submit"] {
		width: 100%;
	}

	.fellini-elementor-section {
		padding: 72px 0;
	}

	.fellini-elementor-section--hero {
		padding: 108px 0 72px;
	}

	.fellini-panel {
		padding: 24px;
	}

        .site-subfooter__column--right {
                text-align: left;
        }

	.fellini-service-card,
	.fellini-metric-card,
	.fellini-testimonial-card,
	.fellini-cta-band,
	.fellini-process-step,
	.fellini-offer-card,
	.fellini-faq-card,
	.fellini-quote-band {
		padding: 22px;
	}
}

/*
 * Editorial event planner redesign inspired by ibizaeventplanner.com
 * The goal is to provide the same visual language while keeping content editable in Elementor.
 */

:root {
	--fellini-bg: #f4f1ea;
	--fellini-surface: #f4f1ea;
	--fellini-card: #ffffff;
	--fellini-primary: #111111;
	--fellini-primary-strong: #000000;
	--fellini-accent: #111111;
	--fellini-accent-soft: rgba(255, 255, 255, 0.08);
	--fellini-text: #0d0d0d;
	--fellini-muted: rgba(13, 13, 13, 0.7);
	--fellini-border: rgba(13, 13, 13, 0.18);
	--fellini-shadow: none;
	--fellini-radius: 0;
	--fellini-shell: min(1440px, calc(100% - 52px));
}

body {
	font-family: "Plus Jakarta Sans", sans-serif;
	background: var(--fellini-bg);
	color: var(--fellini-text);
}

a {
	color: var(--fellini-text);
}

a:hover,
a:focus {
	color: rgba(13, 13, 13, 0.72);
}

.site-main {
	padding: 0 0 96px;
}

.site-title {
	font-size: 1.35rem;
	letter-spacing: -0.03em;
	text-transform: none;
}

.site-tagline {
	font-size: 0.82rem;
	letter-spacing: 0.18em;
	text-transform: uppercase;
}

.fallback-header {
	position: sticky;
	top: 0;
	background: rgba(244, 241, 234, 0.96);
	border-bottom: 1px solid var(--fellini-border);
	box-shadow: none;
}

.site-header__inner {
	padding: 24px 0;
	align-items: flex-start;
	position: relative;
	z-index: 40;
}

.site-header__actions {
	display: flex;
	align-items: center;
	gap: 26px;
}

.site-header__toggle {
	display: none;
	position: relative;
	width: 52px;
	height: 52px;
	padding: 0;
	border: 1px solid currentColor;
	border-radius: 0;
	background: transparent;
	color: inherit;
	appearance: none;
	-webkit-appearance: none;
	box-shadow: none;
	overflow: hidden;
}

.site-header__toggle-line {
	position: absolute;
	left: 50%;
	width: 24px;
	height: 2.5px;
	background: currentColor;
	transform: translateX(-50%);
	transition: transform 0.25s ease, opacity 0.2s ease, top 0.25s ease;
	transform-origin: center;
}

.site-header__toggle-line:nth-child(1) {
	top: 16px;
}

.site-header__toggle-line:nth-child(2) {
	top: 24px;
}

.site-header__toggle-line:nth-child(3) {
	top: 32px;
}

.site-header.menu-open .site-header__toggle-line:nth-child(1) {
	top: 24px;
	transform: translateX(-50%) rotate(45deg);
}

.site-header.menu-open .site-header__toggle-line:nth-child(2) {
	opacity: 0;
}

.site-header.menu-open .site-header__toggle-line:nth-child(3) {
	top: 24px;
	transform: translateX(-50%) rotate(-45deg);
}

.menu {
	gap: 26px;
}

.menu a {
	font-size: 0.76rem;
	font-weight: 600;
	letter-spacing: 0.22em;
	text-transform: uppercase;
}

.menu li.current-menu-item > a,
.menu li.current_page_item > a,
.menu li.current-menu-ancestor > a,
.menu li.current_page_ancestor > a,
.elementor-nav-menu .menu-item.current-menu-item > a,
.elementor-nav-menu .menu-item.current_page_item > a,
.elementor-nav-menu .menu-item.current-menu-ancestor > a,
.elementor-nav-menu .menu-item.current_page_ancestor > a,
.elementor-nav-menu--main .elementor-item.elementor-item-active,
.elementor-nav-menu--main .elementor-item.highlighted {
	position: relative;
	color: #ffffff !important;
	text-decoration: underline !important;
	text-decoration-color: #D5FD00 !important;
	text-decoration-thickness: 3px !important;
	text-underline-offset: 4px !important;
}

.site-nav {
	width: 100%;
}

body.mobile-menu-open {
	overflow: hidden;
}

@media (min-width: 768px) {
	.site-header__toggle {
		display: none !important;
	}

	.site-header__actions {
		position: static !important;
		inset: auto !important;
		display: flex !important;
		flex-direction: row !important;
		align-items: center !important;
		justify-content: flex-start !important;
		gap: 26px !important;
		padding: 0 !important;
		background: transparent !important;
		backdrop-filter: none !important;
		opacity: 1 !important;
		visibility: visible !important;
		pointer-events: auto !important;
		z-index: auto !important;
	}

	.menu.menu--primary {
		display: flex !important;
		flex-direction: row !important;
		align-items: center !important;
		gap: 26px !important;
		width: auto !important;
	}

	.menu.menu--primary li {
		display: list-item !important;
		width: auto !important;
	}

	.menu.menu--primary li::before {
		content: none !important;
	}
}

.site-header__cta {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 13px 18px;
	border: 1px solid currentColor;
	font-size: 0.72rem;
	font-weight: 600;
	letter-spacing: 0.22em;
	text-transform: uppercase;
}

.home .fallback-header,
.page-template-homepage-luxury-wedding .fallback-header,
.page-template-page-templates-homepage-luxury-wedding-php .fallback-header {
	position: absolute;
	left: 0;
	right: 0;
	background: transparent;
	border-bottom: 0;
}

.home .fallback-header .site-title,
.home .fallback-header .site-tagline,
.home .fallback-header .menu a,
.home .fallback-header .site-header__cta,
.page-template-homepage-luxury-wedding .fallback-header .site-title,
.page-template-homepage-luxury-wedding .fallback-header .site-tagline,
.page-template-homepage-luxury-wedding .fallback-header .menu a,
.page-template-homepage-luxury-wedding .fallback-header .site-header__cta,
.page-template-page-templates-homepage-luxury-wedding-php .fallback-header .site-title,
.page-template-page-templates-homepage-luxury-wedding-php .fallback-header .site-tagline,
.page-template-page-templates-homepage-luxury-wedding-php .fallback-header .menu a,
.page-template-page-templates-homepage-luxury-wedding-php .fallback-header .site-header__cta {
	color: #f2f2f2;
}

.fellini-editorial-home {
	background: var(--fellini-bg);
}

.fellini-editorial-hero {
	position: relative;
	min-height: 100vh;
	padding: 160px 0 72px;
	background:
		linear-gradient(180deg, rgba(0, 0, 0, 0.28) 0%, rgba(0, 0, 0, 0.62) 100%),
		radial-gradient(circle at top left, rgba(255, 255, 255, 0.1), transparent 24%),
		linear-gradient(135deg, #202020 0%, #090909 100%);
	color: #f2f2f2;
	overflow: hidden;
}

.fellini-editorial-hero::before,
.fellini-editorial-hero::after {
	content: "";
	position: absolute;
	inset: auto;
	border-radius: 999px;
	filter: blur(0);
	opacity: 0.24;
}

.fellini-editorial-hero::before {
	top: 14%;
	right: -8%;
	width: 42vw;
	height: 42vw;
	background: radial-gradient(circle, rgba(255, 255, 255, 0.18) 0%, transparent 70%);
}

.fellini-editorial-hero::after {
	bottom: -10%;
	left: -4%;
	width: 36vw;
	height: 36vw;
	background: radial-gradient(circle, rgba(255, 255, 255, 0.12) 0%, transparent 70%);
}

.fellini-editorial-hero__inner {
	position: relative;
	z-index: 2;
	display: grid;
	grid-template-columns: minmax(0, 1.3fr) minmax(300px, 0.7fr);
	align-items: end;
	gap: 48px;
	min-height: calc(100vh - 220px);
}

.fellini-editorial-marquee {
	position: absolute;
	left: 0;
	right: 0;
	top: 22%;
	z-index: 1;
	overflow: hidden;
	pointer-events: none;
}

.fellini-editorial-marquee span {
	display: block;
	white-space: nowrap;
	font-size: clamp(4.6rem, 13vw, 12rem);
	font-weight: 800;
	line-height: 0.92;
	letter-spacing: -0.06em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, 0.14);
}

.fellini-editorial-kicker,
.fellini-editorial-eyebrow {
	display: inline-block;
	font-size: 0.76rem;
	font-weight: 600;
	letter-spacing: 0.24em;
	text-transform: uppercase;
}

.fellini-editorial-kicker {
	margin-bottom: 18px;
	color: rgba(242, 242, 242, 0.74);
}

.elementor-widget.fellini-editorial-kicker .elementor-heading-title,
.elementor-widget.fellini-editorial-kicker .elementor-widget-container {
	display: inline-block;
	font-size: 0.76rem;
	font-weight: 600;
	letter-spacing: 0.24em;
	text-transform: uppercase;
	color: rgba(242, 242, 242, 0.74);
}

.fellini-editorial-title {
	max-width: 10ch;
	margin: 0;
	font-size: clamp(3.25rem, 8vw, 7rem);
	font-weight: 800;
	line-height: 0.94;
	letter-spacing: -0.07em;
	text-transform: uppercase;
}

.elementor-widget.fellini-editorial-title .elementor-heading-title {
	max-width: 10ch;
	margin: 0;
	font-size: clamp(3.25rem, 8vw, 7rem);
	font-weight: 800;
	line-height: 0.94;
	letter-spacing: -0.07em;
	text-transform: uppercase;
	color: #f2f2f2;
}

.fellini-editorial-text {
	max-width: 34rem;
	margin: 24px 0 0;
	font-size: clamp(1.05rem, 2.1vw, 1.55rem);
	line-height: 1.45;
	color: rgba(242, 242, 242, 0.88);
}

.elementor-widget.fellini-editorial-text .elementor-widget-container,
.elementor-widget.fellini-editorial-text .elementor-widget-container p {
	max-width: 34rem;
	margin: 24px 0 0;
	font-size: clamp(1.05rem, 2.1vw, 1.55rem);
	line-height: 1.45;
	color: rgba(242, 242, 242, 0.88);
}

.elementor-widget.fellini-editorial-text .elementor-widget-container p {
	margin-bottom: 0;
}

.fellini-editorial-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
	margin-top: 34px;
}

.fellini-editorial-button,
.fellini-editorial-button--ghost {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 14px 22px;
	border: 1px solid rgba(255, 255, 255, 0.32);
	border-radius: 0;
	font-size: 0.74rem;
	font-weight: 600;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}

.elementor-widget.fellini-editorial-button .elementor-button,
.elementor-widget.fellini-editorial-button--ghost .elementor-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 14px 22px;
	border: 1px solid rgba(255, 255, 255, 0.32);
	border-radius: 0;
	font-size: 0.74rem;
	font-weight: 600;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	box-shadow: none;
}

.fellini-editorial-button {
	background: #f2f2f2;
	border-color: #f2f2f2;
	color: #111111;
}

.elementor-widget.fellini-editorial-button .elementor-button {
	background: #f2f2f2;
	border-color: #f2f2f2;
	color: #111111;
}

.fellini-editorial-button--ghost {
	background: transparent;
	color: #f2f2f2;
}

.elementor-widget.fellini-editorial-button--ghost .elementor-button {
	background: transparent;
	color: #f2f2f2;
}

.fellini-editorial-button:hover,
.fellini-editorial-button--ghost:hover {
	background: rgba(255, 255, 255, 0.08);
	color: #f2f2f2;
}

.elementor-widget.fellini-editorial-button .elementor-button:hover,
.elementor-widget.fellini-editorial-button--ghost .elementor-button:hover {
	background: rgba(255, 255, 255, 0.08);
	border-color: rgba(255, 255, 255, 0.32);
	color: #f2f2f2;
}

.fellini-editorial-button:hover {
	border-color: rgba(255, 255, 255, 0.32);
}

.fellini-editorial-aside {
	align-self: end;
	max-width: 23rem;
	margin-left: auto;
	padding-top: 56px;
	border-top: 1px solid rgba(255, 255, 255, 0.18);
	color: rgba(242, 242, 242, 0.78);
}

.fellini-editorial-aside p {
	margin: 0;
	font-size: 1rem;
	line-height: 1.6;
}

.elementor-widget.fellini-editorial-aside-text .elementor-widget-container,
.elementor-widget.fellini-editorial-aside-text .elementor-widget-container p {
	margin: 0;
	font-size: 1rem;
	line-height: 1.6;
	color: rgba(242, 242, 242, 0.78);
}

.fellini-editorial-section {
	padding: 96px 0;
}

.fellini-editorial-featured {
	padding: 26px 0;
	background: var(--fellini-bg);
	border-bottom: 1px solid var(--fellini-border);
}

.fellini-editorial-featured__inner {
	display: grid;
	grid-template-columns: minmax(220px, 0.45fr) minmax(0, 1fr);
	gap: 24px;
	align-items: center;
}

.fellini-editorial-logo-list {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 18px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.fellini-editorial-logo-list li {
	font-size: clamp(1rem, 2vw, 1.4rem);
	font-weight: 700;
	letter-spacing: -0.04em;
	text-transform: uppercase;
}

.fellini-editorial-section--dark {
	background: #111111;
	color: #f2f2f2;
}

.fellini-editorial-section--dark .fellini-editorial-heading,
.fellini-editorial-section--dark h3,
.fellini-editorial-section--dark a {
	color: #f2f2f2;
}

.fellini-editorial-section--dark p,
.fellini-editorial-section--dark .fellini-editorial-meta {
	color: rgba(242, 242, 242, 0.72);
}

.fellini-editorial-intro {
	display: grid;
	grid-template-columns: minmax(0, 1.1fr) minmax(280px, 0.9fr);
	gap: 42px;
	align-items: start;
}

.fellini-editorial-intro-visual {
	display: grid;
	grid-template-columns: minmax(0, 1.05fr) minmax(280px, 0.95fr);
	gap: 36px;
	margin-top: 56px;
	align-items: end;
}

.fellini-editorial-intro-visual__media {
	min-height: 560px;
	background:
		linear-gradient(180deg, rgba(0, 0, 0, 0.04) 0%, rgba(0, 0, 0, 0.12) 100%),
		linear-gradient(135deg, #d6d1c8 0%, #8e867b 100%);
}

.fellini-editorial-intro-visual__text {
	padding-bottom: 28px;
}

.fellini-editorial-heading {
	margin: 0;
	font-size: clamp(2.8rem, 6vw, 5rem);
	font-weight: 800;
	line-height: 0.96;
	letter-spacing: -0.06em;
	text-transform: uppercase;
}

.fellini-editorial-heading--massive {
	max-width: 11ch;
	font-size: clamp(3.6rem, 8vw, 7rem);
}

.elementor-widget.fellini-editorial-heading .elementor-heading-title {
	margin: 0;
	font-size: clamp(2.8rem, 6vw, 5rem);
	font-weight: 800;
	line-height: 0.96;
	letter-spacing: -0.06em;
	text-transform: uppercase;
	color: inherit;
}

.elementor-widget.fellini-editorial-heading--massive .elementor-heading-title {
	max-width: 11ch;
	font-size: clamp(3.6rem, 8vw, 7rem);
}

.fellini-editorial-meta {
	font-size: 0.82rem;
	font-weight: 600;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: rgba(13, 13, 13, 0.56);
}

.elementor-widget.fellini-editorial-meta .elementor-heading-title,
.elementor-widget.fellini-editorial-meta .elementor-widget-container {
	font-size: 0.82rem;
	font-weight: 600;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: rgba(13, 13, 13, 0.56);
}

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

.fellini-editorial-section--statement {
	padding-top: 110px;
	padding-bottom: 110px;
}

.fellini-editorial-card,
.fellini-editorial-stat,
.fellini-editorial-faq {
	border-top: 1px solid var(--fellini-border);
	padding-top: 18px;
}

.fellini-editorial-card {
	min-height: 420px;
	padding: 26px;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	background:
		linear-gradient(180deg, rgba(0, 0, 0, 0.12) 0%, rgba(0, 0, 0, 0.78) 100%),
		linear-gradient(135deg, #303030 0%, #111111 100%);
	color: #f2f2f2;
}

.fellini-editorial-card h3,
.fellini-editorial-card p {
	color: #f2f2f2;
}

.fellini-editorial-card h3 {
	margin: 0 0 12px;
	font-size: 1.7rem;
	font-weight: 700;
	line-height: 1.05;
	letter-spacing: -0.04em;
	text-transform: uppercase;
}

.fellini-editorial-card p {
	margin: 0;
	font-size: 1rem;
	line-height: 1.5;
}

.elementor-widget.fellini-editorial-card-title .elementor-heading-title {
	margin: 0 0 12px;
	font-size: 1.7rem;
	font-weight: 700;
	line-height: 1.05;
	letter-spacing: -0.04em;
	text-transform: uppercase;
	color: #f2f2f2;
}

.elementor-widget.fellini-editorial-card-text .elementor-widget-container,
.elementor-widget.fellini-editorial-card-text .elementor-widget-container p {
	margin: 0;
	font-size: 1rem;
	line-height: 1.5;
	color: #f2f2f2;
}

.fellini-editorial-showcase {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(320px, 0.75fr);
	gap: 36px;
	align-items: stretch;
}

.fellini-editorial-image {
	min-height: 620px;
	background:
		linear-gradient(180deg, rgba(0, 0, 0, 0.08) 0%, rgba(0, 0, 0, 0.55) 100%),
		linear-gradient(135deg, #b7b0a6 0%, #5c5854 100%);
}

.fellini-editorial-panel {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	gap: 24px;
	padding: 28px 0;
}

.fellini-editorial-list {
	margin: 0;
	padding: 0;
	list-style: none;
}

.fellini-editorial-list li {
	padding: 18px 0;
	border-top: 1px solid var(--fellini-border);
	font-size: 1.05rem;
	line-height: 1.5;
}

.fellini-editorial-list li:last-child {
	border-bottom: 1px solid var(--fellini-border);
}

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

.fellini-editorial-occasion-list {
	border-top: 1px solid var(--fellini-border);
}

.fellini-editorial-occasion {
	display: grid;
	grid-template-columns: 72px minmax(0, 0.8fr) minmax(0, 1fr);
	gap: 24px;
	padding: 26px 0;
	border-bottom: 1px solid var(--fellini-border);
	align-items: start;
}

.fellini-editorial-occasion span {
	font-size: 0.82rem;
	font-weight: 600;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	color: rgba(13, 13, 13, 0.5);
}

.fellini-editorial-occasion h3 {
	margin: 0;
	font-size: clamp(1.4rem, 3vw, 2.2rem);
	font-weight: 700;
	line-height: 1;
	letter-spacing: -0.05em;
	text-transform: uppercase;
}

.fellini-editorial-occasion p {
	margin: 0;
	line-height: 1.6;
	color: var(--fellini-muted);
}

.fellini-editorial-stat strong {
	display: block;
	margin-bottom: 10px;
	font-size: clamp(2rem, 4vw, 3.2rem);
	font-weight: 800;
	line-height: 1;
	letter-spacing: -0.06em;
}

.elementor-widget.fellini-editorial-stat-number .elementor-heading-title {
	display: block;
	margin-bottom: 10px;
	font-size: clamp(2rem, 4vw, 3.2rem);
	font-weight: 800;
	line-height: 1;
	letter-spacing: -0.06em;
	text-transform: uppercase;
	color: inherit;
}

.fellini-editorial-stat p {
	margin: 0;
	color: inherit;
}

.fellini-editorial-faq-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 24px;
}

.fellini-editorial-faq h3 {
	margin: 0 0 10px;
	font-size: 1.2rem;
	font-weight: 700;
	letter-spacing: -0.03em;
	text-transform: uppercase;
}

.fellini-editorial-faq p {
	margin: 0;
	line-height: 1.6;
	color: var(--fellini-muted);
}

.fellini-editorial-contact {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(280px, 0.8fr);
	gap: 36px;
	align-items: end;
}

.fellini-editorial-contact .fellini-editorial-heading {
	max-width: 9ch;
}

.fellini-editorial-divider {
	display: block;
	width: 100%;
	height: 1px;
	margin: 0 0 26px;
	background: var(--fellini-border);
}

.elementor-widget.fellini-editorial-logo-item .elementor-heading-title {
	margin: 0;
	font-size: clamp(1rem, 2vw, 1.4rem);
	font-weight: 700;
	letter-spacing: -0.04em;
	text-transform: uppercase;
	color: inherit;
}

.elementor-widget.fellini-editorial-body .elementor-widget-container,
.elementor-widget.fellini-editorial-body .elementor-widget-container p {
	margin: 0;
	line-height: 1.6;
	color: var(--fellini-muted);
}

.fellini-editorial-section--dark .elementor-widget.fellini-editorial-meta .elementor-heading-title,
.fellini-editorial-section--dark .elementor-widget.fellini-editorial-meta .elementor-widget-container,
.fellini-editorial-section--dark .elementor-widget.fellini-editorial-body .elementor-widget-container,
.fellini-editorial-section--dark .elementor-widget.fellini-editorial-body .elementor-widget-container p,
.fellini-editorial-section--dark .elementor-widget.fellini-editorial-heading .elementor-heading-title,
.fellini-editorial-section--dark .elementor-widget.fellini-editorial-logo-item .elementor-heading-title,
.fellini-editorial-section--dark .elementor-widget.fellini-editorial-stat-number .elementor-heading-title {
	color: #f2f2f2;
}

.fellini-editorial-section--dark .elementor-widget.fellini-editorial-meta .elementor-heading-title,
.fellini-editorial-section--dark .elementor-widget.fellini-editorial-meta .elementor-widget-container,
.fellini-editorial-section--dark .elementor-widget.fellini-editorial-body .elementor-widget-container,
.fellini-editorial-section--dark .elementor-widget.fellini-editorial-body .elementor-widget-container p {
	color: rgba(242, 242, 242, 0.72);
}

.button,
button,
input[type="submit"],
.fellini-button-primary,
.fellini-button-secondary {
	border-radius: 0;
	text-transform: uppercase;
	letter-spacing: 0.18em;
	font-size: 0.74rem;
	font-weight: 600;
	box-shadow: none;
}

.button--primary,
button,
input[type="submit"],
.fellini-button-primary {
	background: #111111;
	color: #f2f2f2;
	border-color: #111111;
}

.button--ghost,
.fellini-button-secondary {
	background: transparent;
	color: #111111;
	border: 1px solid var(--fellini-border);
}

.hero-card,
.card,
.entry-card,
.widget,
.fellini-panel,
.fellini-panel--soft,
.fellini-panel--outlined,
.fellini-service-card,
.fellini-metric-card,
.fellini-testimonial-card,
.fellini-gallery-frame,
.fellini-process-step,
.fellini-offer-card,
.fellini-faq-card,
.fellini-quote-band {
	border-radius: 0;
	box-shadow: none;
}

.hero-card::before,
.card::before,
.entry-card::before,
.widget::before {
	display: none;
}

.fallback-footer {
	background: #111111;
	border-top: 0;
	color: #f2f2f2;
}

.fallback-footer .site-footer__title,
.fallback-footer .site-footer__subtitle,
.fallback-footer a {
	color: #f2f2f2;
}

.fallback-footer a:hover,
.fallback-footer a:focus,
.site-subfooter a:hover,
.site-subfooter a:focus {
        color: #D5FD00 !important;
}

.fallback-footer .site-footer__widget {
        padding: 0;
        background: transparent;
        border: 0;
        border-radius: 0;
        box-shadow: none;
}

.fallback-footer .site-footer__widget::before {
        display: none;
}

.fallback-footer .widget-title {
        margin: 0 0 18px;
}

.fallback-footer p {
	color: rgba(242, 242, 242, 0.72);
}

.fallback-footer ul {
        list-style: none;
        margin: 0;
        padding: 0;
}

@media (max-width: 1024px) {
	:root {
		--fellini-shell: min(100% - 40px, 1440px);
	}

	.fellini-editorial-hero__inner,
	.fellini-editorial-featured__inner,
	.fellini-editorial-intro,
	.fellini-editorial-intro-visual,
	.fellini-editorial-showcase,
	.fellini-editorial-contact,
	.fellini-editorial-card-grid,
	.fellini-editorial-stats,
	.fellini-editorial-faq-grid {
		grid-template-columns: 1fr;
	}

	.fellini-editorial-logo-list,
	.fellini-editorial-occasion {
		grid-template-columns: 1fr 1fr;
	}

	.fellini-editorial-card {
		min-height: 320px;
	}
}

@media (max-width: 767px) {
	:root {
		--fellini-shell: min(100% - 24px, 1440px);
	}

	.site-header__inner {
		padding: 20px 0;
		display: grid;
		grid-template-columns: minmax(0, 1fr) auto;
		align-items: start;
		gap: 16px;
	}

	.site-header__toggle {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		width: 54px;
		height: 54px;
		border: 0;
		background: transparent;
		z-index: 60;
	}

	.site-header__actions {
		position: fixed;
		inset: 0;
		display: flex;
		flex-direction: column;
		align-items: flex-start;
		justify-content: flex-start;
		gap: 28px;
		width: 100vw;
		min-height: 100dvh;
		padding: 132px 24px 40px;
		background: rgba(8, 8, 8, 0.86);
		backdrop-filter: blur(12px);
		opacity: 0;
		visibility: hidden;
		pointer-events: none;
		transition: opacity 0.28s ease, visibility 0.28s ease;
		z-index: 45;
	}

	.site-header.menu-open .site-header__actions {
		opacity: 1;
		visibility: visible;
		pointer-events: auto;
	}

	.home .fallback-header .site-header__actions,
	.page-template-homepage-luxury-wedding .fallback-header .site-header__actions,
	.page-template-page-templates-homepage-luxury-wedding-php .fallback-header .site-header__actions {
		background: rgba(8, 8, 8, 0.82);
	}

	.menu.menu--primary {
		display: flex;
		flex-direction: column;
		align-items: flex-start;
		gap: 10px;
		width: 100%;
		counter-reset: fellini-mobile-nav;
	}

	.menu.menu--primary li {
		counter-increment: fellini-mobile-nav;
		display: flex;
		align-items: baseline;
		gap: 12px;
		width: 100%;
	}

	.menu.menu--primary li::before {
		content: counter(fellini-mobile-nav, decimal-leading-zero);
		min-width: 2ch;
		font-size: 0.9rem;
		font-weight: 500;
		letter-spacing: 0.04em;
		color: rgba(255, 255, 255, 0.52);
	}

	.menu.menu--primary a {
		font-size: clamp(2.05rem, 8vw, 3.35rem);
		font-weight: 800;
		line-height: 0.96;
		letter-spacing: -0.06em;
		text-transform: uppercase;
		color: #f2f2f2;
	}

	.menu.menu--primary a:hover,
	.menu.menu--primary a:focus {
		color: rgba(255, 255, 255, 0.76);
	}

	.site-header__cta {
		display: none;
	}

	.home .fallback-header .site-header__toggle,
	.page-template-homepage-luxury-wedding .fallback-header .site-header__toggle,
	.page-template-page-templates-homepage-luxury-wedding-php .fallback-header .site-header__toggle {
		color: #f2f2f2;
	}

	.site-header.menu-open .site-header__toggle {
		width: 56px;
		height: 56px;
		border-radius: 999px;
		background: #f2f2f2;
		color: #111111;
	}

	.site-header.menu-open .site-header__toggle-line {
		width: 22px;
		height: 2.5px;
	}

	.site-header.menu-open .site-header__toggle-line:nth-child(1),
	.site-header.menu-open .site-header__toggle-line:nth-child(3) {
		top: 26px;
	}

	.site-branding {
		position: relative;
		z-index: 60;
		max-width: calc(100% - 90px);
	}

	.site-tagline {
		display: none;
	}

	.site-title {
		font-size: 1.8rem;
		letter-spacing: -0.04em;
		text-transform: none;
	}

	.site-header.menu-open .site-title {
		color: #f2f2f2;
	}

	.fellini-editorial-hero {
		padding: 132px 0 54px;
	}

	.fellini-editorial-title {
		max-width: none;
	}

	.fellini-editorial-text {
		font-size: 1rem;
	}

	.fellini-editorial-section {
		padding: 72px 0;
	}

	.fellini-editorial-card {
		min-height: 260px;
		padding: 20px;
	}

	.fellini-editorial-logo-list,
	.fellini-editorial-occasion {
		grid-template-columns: 1fr;
	}
}
