/*
Theme Name: Federicoletta
Theme URI: https://federicoletta.com
Author: Federico Coletta
Author URI: https://federicoletta.com
Description: Portfolio cinematografico d'autore per Federico Coletta, Direttore della Fotografia & Videomaker a Roma.
Requires at least: 6.0
Tested up to: 6.7
Requires PHP: 7.4
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: federicoletta
Tags: one-column, wide-blocks, block-patterns, block-styles, featured-images, full-site-editing, portfolio
*/

/*
 * Control the hover stylings of outline block style.
 * Unnecessary once block styles are configurable via theme.json
 * https://github.com/WordPress/gutenberg/issues/42794
 */
.wp-block-button.is-style-outline >.wp-block-button__link:not(.has-background):hover {
	background-color: var(--wp--preset--color--contrast);
	border-color: var(--wp--preset--color--contrast);
	color: var(--wp--preset--color--base);
}

/*
 * Link styles
 * https://github.com/WordPress/gutenberg/issues/42319
 */
html {
	scroll-behavior: smooth;
	scroll-padding-top: 80px;
}

a {
	text-decoration-thickness: 0.5px !important;
	text-underline-offset: .2em;
}

/*
 * Navigation Block
 * Reset the padding from List block
 * https://github.com/WordPress/gutenberg/issues/50486
 */
.wp-block-navigation ul {
	padding: unset;
}

/*
 * Pull quote Block
 * Reset the browser default margins for blockquote element
 * https://github.com/WordPress/gutenberg/issues/44129
 */
.wp-block-pullquote blockquote {
	margin: 0;
}

/* ==========================================================================
   Minimalist Cinematic Hero (4K & Ultra-Responsive)
   ========================================================================== */
html, body {
	margin: 0 !important;
	padding: 0 !important;
}

body.home .wp-site-blocks {
	padding: 0 !important;
	margin: 0 !important;
}

/* Remove default spacing that causes the dark strip at the top of the home page */
body.home .wp-site-blocks > * + * {
	margin-block-start: 0 !important;
}

body.home header.wp-block-template-part {
	margin: 0 !important;
	padding: 0 !important;
	border: none !important;
}

body.home .entry-content,
body.home .wp-block-post-content {
	margin-top: 0 !important;
	padding-top: 0 !important;
}

/* Ensure footer remains strictly at the bottom in normal flow */
footer.wp-block-template-part,
body.home footer.wp-block-template-part {
	position: relative !important;
	top: auto !important;
	left: auto !important;
	width: 100% !important;
	height: auto !important;
	min-height: auto !important;
	z-index: 1 !important;
	display: block !important;
}

.fc-hero {
	position: relative;
	width: 100%;
	height: 100vh;
	min-height: 100vh;
	max-height: 100vh;
	margin: 0 !important;
	padding: 0 24px;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	text-align: center;
	background-color: #06181B;
	overflow: hidden;
	box-sizing: border-box;
}

.fc-hero-video-wrap {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	overflow: hidden;
	z-index: 1;
	pointer-events: none;
}

.fc-hero-video-wrap iframe,
.fc-hero-video-wrap video {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 100vw;
	height: 56.25vw;
	min-height: 100vh;
	min-width: 177.78vh;
	transform: translate(-50%, -50%);
	pointer-events: none;
	border: none;
}

.fc-hero-bg {
	position: absolute;
	inset: 0;
	z-index: 0;
	background-size: cover;
	background-position: center 35%;
	background-repeat: no-repeat;
	transform: scale(1.02);
}

.fc-hero-overlay {
	position: absolute;
	inset: 0;
	z-index: 2;
	background: radial-gradient(ellipse at center, rgba(12, 78, 84, 0.3) 0%, rgba(6, 24, 27, 0.72) 100%),
	            linear-gradient(180deg, rgba(6, 24, 27, 0.25) 0%, rgba(1, 105, 111, 0.18) 50%, rgba(6, 24, 27, 0.95) 100%);
	pointer-events: none;
}

.fc-hero-overlay::before {
	content: "";
	position: absolute;
	inset: 0;
	background: rgba(1, 105, 111, 0.12);
	mix-blend-mode: color;
	pointer-events: none;
}

.fc-hero-content {
	position: relative;
	z-index: 3;
	max-width: 1400px;
	width: 100%;
	margin: 0 auto;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	text-align: center;
	transform: translateY(-20px);
}

/* Big, commanding logo for 4K and large displays */
.fc-hero-wordmark {
	max-width: clamp(540px, 42vw, 1020px);
	width: 90%;
	height: auto;
	margin-bottom: 22px;
	filter: drop-shadow(0 6px 32px rgba(0,0,0,0.8));
	transition: transform 0.4s ease;
	display: block;
	/* Optical centering compensation: the F icon has trails on the left, so we shift slightly left to center the letters */
	transform: translateX(-14px);
}

.fc-hero-wordmark:hover {
	transform: translateX(-14px) scale(1.02);
}

/* Interactive Animated Vector Logo (GSAP Component) */
.fl-hero-container {
	position: relative;
	width: 90%;
	max-width: clamp(540px, 42vw, 1020px);
	margin: 0 auto 22px auto;
	padding: 0;
	box-sizing: border-box;
	display: flex;
	justify-content: center;
	align-items: center;
	background: transparent;
	/* Optical centering compensation: identical to .fc-hero-wordmark */
	transform: translateX(-14px);
}

.fl-logo-wrapper {
	position: relative;
	width: 100%;
	cursor: pointer;
	user-select: none;
	filter: drop-shadow(0 6px 32px rgba(0,0,0,0.8));
	transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}

.fl-logo-wrapper:hover {
	transform: scale(1.02);
}

.fl-logo-svg {
	width: 100%;
	height: auto;
	display: block;
	overflow: visible;
}

.fl-cyan { fill: #00F0FF !important; }
.fl-white { fill: #FFFFFF !important; }

/* Fasci Laser Anamorfici Ciano */
.fl-laser-streak {
	position: absolute;
	left: -25%;
	width: 150%;
	transform: translateY(-50%);
	pointer-events: none;
	z-index: 5;
	mix-blend-mode: screen;
	opacity: 0;
}

#fl-streak-top {
	top: 12%;
	height: 14px;
	background: linear-gradient(90deg, transparent 0%, rgba(0,240,255,0) 15%, rgba(0,240,255,0.9) 45%, #fff 50%, rgba(0,240,255,0.9) 55%, rgba(0,240,255,0) 85%, transparent 100%);
	filter: blur(2px) drop-shadow(0 0 20px #00F0FF) drop-shadow(0 0 50px rgba(0,240,255,0.85));
}

#fl-streak-mid {
	top: 51%;
	height: 26px;
	background: linear-gradient(90deg, transparent 0%, rgba(0,240,255,0) 10%, rgba(0,240,255,0.95) 45%, #fff 50%, rgba(0,240,255,0.95) 55%, rgba(0,240,255,0) 90%, transparent 100%);
	filter: blur(2.5px) drop-shadow(0 0 25px #00F0FF) drop-shadow(0 0 75px rgba(0,240,255,0.95)) drop-shadow(0 0 150px rgba(0,240,255,0.7));
}

#fl-streak-bot {
	top: 92%;
	height: 14px;
	background: linear-gradient(90deg, transparent 0%, rgba(0,240,255,0) 15%, rgba(0,240,255,0.9) 45%, #fff 50%, rgba(0,240,255,0.9) 55%, rgba(0,240,255,0) 85%, transparent 100%);
	filter: blur(2px) drop-shadow(0 0 20px #00F0FF) drop-shadow(0 0 50px rgba(0,240,255,0.85));
}


/* Small, refined, cinematic subtitles */
.fc-hero-role {
	font-family: 'DM Sans', sans-serif;
	font-size: clamp(12px, 0.78vw, 16px);
	font-weight: 500;
	letter-spacing: 0.35em;
	text-transform: uppercase;
	color: #1BA0AB;
	margin: 0 0 10px 0;
	text-shadow: 0 2px 14px rgba(0,0,0,0.8);
}

.fc-hero-payoff {
	font-family: 'Inter', sans-serif;
	font-size: clamp(10px, 0.68vw, 13px);
	font-weight: 400;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	color: rgba(244, 243, 239, 0.75);
	margin: 0;
	max-width: 1200px;
	white-space: nowrap;
	text-shadow: 0 2px 10px rgba(0, 0, 0, 0.8);
}

@media (max-width: 768px) {
	.fc-hero-payoff {
		white-space: normal;
		font-size: 10px;
		letter-spacing: 0.1em;
		max-width: 320px;
		line-height: 1.6;
	}
}

/* Always visible scroll indicator pinned inside 100vh */
.fc-hero-scroll {
	position: absolute;
	bottom: 38px;
	left: 50%;
	transform: translateX(-50%);
	z-index: 10;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 8px;
	cursor: pointer;
	text-decoration: none;
	color: #1BA0AB;
	opacity: 0.85;
	transition: all 0.3s ease;
}

.fc-hero-scroll:hover {
	opacity: 1;
	transform: translateX(-50%) translateY(4px);
}

.fc-hero-scroll span {
	font-family: 'DM Sans', sans-serif;
	font-size: clamp(10px, 0.65vw, 12px);
	letter-spacing: 0.35em;
	text-transform: uppercase;
	font-weight: 700;
	color: #1BA0AB;
}

.fc-hero-scroll-line {
	width: 2px;
	height: 34px;
	background: linear-gradient(180deg, #1BA0AB 0%, rgba(27, 160, 171, 0) 100%);
	animation: scrollPulse 2s cubic-bezier(0.65, 0, 0.35, 1) infinite;
}

@keyframes scrollPulse {
	0% { transform: scaleY(0); transform-origin: top; }
	50% { transform: scaleY(1); transform-origin: top; }
	50.1% { transform: scaleY(1); transform-origin: bottom; }
	100% { transform: scaleY(0); transform-origin: bottom; }
}

/* ==========================================================================
   Logo Slider / Marquee Section (Below Hero)
   ========================================================================== */
.fc-marquee-section {
	background-color: #041012;
	border-top: 1px solid rgba(27, 160, 171, 0.2);
	border-bottom: 1px solid rgba(27, 160, 171, 0.2);
	padding: 36px 0;
	position: relative;
	overflow: hidden;
	z-index: 3;
}

.fc-marquee-section::before,
.fc-marquee-section::after {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	width: 120px;
	z-index: 4;
	pointer-events: none;
}

.fc-marquee-section::before {
	left: 0;
	background: linear-gradient(90deg, #041012 0%, rgba(4, 16, 18, 0) 100%);
}

.fc-marquee-section::after {
	right: 0;
	background: linear-gradient(270deg, #041012 0%, rgba(4, 16, 18, 0) 100%);
}

.fc-marquee-track {
	display: flex;
	width: max-content;
	animation: marqueeSlide 38s linear infinite;
	will-change: transform;
}

.fc-marquee-track:hover {
	animation-play-state: paused;
}

.fc-marquee-group {
	display: flex;
	align-items: center;
	gap: 72px;
	padding-right: 72px;
	flex-shrink: 0;
	min-width: 100%;
}

.fc-marquee-item {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 48px;
	flex-shrink: 0;
}

.fc-marquee-item img {
	height: 36px;
	width: auto;
	max-width: 150px;
	object-fit: contain;
	opacity: 0.72;
	transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
	display: block;
}

.fc-marquee-item:hover img {
	opacity: 1;
	transform: scale(1.08);
	filter: drop-shadow(0 0 10px rgba(27, 160, 171, 0.5));
}

@keyframes marqueeSlide {
	from {
		transform: translateX(0);
	}
	to {
		transform: translateX(-50%);
	}
}

/* ==========================================================================
   Showreel Section
   ========================================================================== */
.fc-showreel-section {
	background-color: #06181B;
	padding: 90px 5% 40px 5%;
	text-align: center;
	position: relative;
}

.fc-showreel-container {
	max-width: 1200px;
	margin: 0 auto;
}

.fc-showreel-header {
	margin-bottom: 32px;
}

.fc-showreel-title {
	font-family: 'DM Sans', sans-serif;
	font-size: clamp(32px, 4.5vw, 56px);
	font-weight: 800;
	letter-spacing: -0.02em;
	text-transform: uppercase;
	color: #ffffff;
	margin: 0;
	line-height: 1.05;
}

.fc-showreel-player {
	position: relative;
	width: 100%;
	aspect-ratio: 16 / 9;
	border-radius: 8px;
	overflow: hidden;
	background: #000000;
	border: 1px solid rgba(27, 160, 171, 0.25);
	box-shadow: 0 20px 50px rgba(0, 0, 0, 0.65), 0 0 35px rgba(27, 160, 171, 0.15);
}

.fc-showreel-player iframe {
	width: 100%;
	height: 100%;
	display: block;
}

/* ==========================================================================
   Federicoletta Cinematic Works Gallery & Lightbox
   ========================================================================== */
.fc-gallery-section {
	background-color: #06181B;
	color: #ffffff;
	padding: 100px 5%;
	position: relative;
	font-family: 'DM Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
}

.fc-gallery-container {
	max-width: 1400px;
	margin: 0 auto;
}

.fc-header {
	text-align: center;
	margin-bottom: 44px;
}

.fc-tagline {
	display: inline-block;
	font-family: 'DM Sans', sans-serif;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.25em;
	text-transform: uppercase;
	color: #1BA0AB;
	margin-bottom: 12px;
}

.fc-section-title {
	font-family: 'DM Sans', sans-serif;
	font-size: clamp(34px, 5vw, 64px);
	font-weight: 800;
	letter-spacing: -0.02em;
	text-transform: uppercase;
	color: #ffffff;
	margin: 0 0 16px 0;
	line-height: 1.05;
}

.fc-section-desc {
	font-family: 'Inter', sans-serif;
	font-size: clamp(15px, 1.2vw, 17px);
	color: #cfe0e0;
	max-width: 650px;
	margin: 0 auto 36px auto;
	line-height: 1.6;
}

/* Filter pills */
.fc-filters {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 10px;
	margin-bottom: 50px;
}

.fc-filter-btn {
	background: rgba(6, 24, 27, 0.6);
	border: 1px solid rgba(27, 160, 171, 0.25);
	border-radius: 9999px;
	padding: 9px 22px;
	font-size: 11px;
	font-family: 'DM Sans', sans-serif;
	font-weight: 600;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: #d7e7e7;
	cursor: pointer;
	transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1);
	backdrop-filter: blur(8px);
	-webkit-backdrop-filter: blur(8px);
}

.fc-filter-btn:hover {
	border-color: #1BA0AB;
	color: #ffffff;
	background: rgba(27, 160, 171, 0.15);
	transform: translateY(-1px);
}

.fc-filter-btn.is-active {
	background: #0C4E54;
	border-color: #1BA0AB;
	color: #ffffff;
	box-shadow: 0 4px 20px rgba(27, 160, 171, 0.35);
}

/* Grid */
.fc-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 32px;
}

@media (max-width: 860px) {
	.fc-grid {
		grid-template-columns: 1fr;
		gap: 24px;
	}
}

/* Card */
.fc-card {
	position: relative;
	aspect-ratio: 16 / 9;
	border-radius: 8px;
	overflow: hidden;
	background: #000000;
	border: 1px solid rgba(27, 160, 171, 0.2);
	box-shadow: 0 10px 30px rgba(0, 0, 0, 0.4);
	cursor: pointer;
	transition: transform 0.45s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.45s ease, border-color 0.45s ease, opacity 0.35s ease;
}

.fc-card.is-hidden {
	display: none;
}

.fc-card:hover {
	transform: translateY(-6px);
	box-shadow: 0 20px 45px rgba(0, 0, 0, 0.7), 0 0 30px rgba(27, 160, 171, 0.25);
	border-color: rgba(27, 160, 171, 0.55);
}

.fc-card-img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform 0.65s cubic-bezier(0.16, 1, 0.3, 1), filter 0.65s ease;
}

.fc-card:hover .fc-card-img {
	transform: scale(1.06);
	filter: brightness(1.06);
}

/* Overlay */
.fc-card-overlay {
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(6, 24, 27, 0.15) 0%, rgba(6, 24, 27, 0.3) 40%, rgba(6, 24, 27, 0.95) 100%);
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	padding: 24px;
	pointer-events: none;
	transition: background 0.4s ease;
}

.fc-card:hover .fc-card-overlay {
	background: linear-gradient(180deg, rgba(6, 24, 27, 0.25) 0%, rgba(6, 24, 27, 0.4) 35%, rgba(6, 24, 27, 0.98) 100%);
}

.fc-card-top {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
}

.fc-card-badge {
	background: rgba(6, 24, 27, 0.75);
	backdrop-filter: blur(8px);
	-webkit-backdrop-filter: blur(8px);
	border: 1px solid rgba(27, 160, 171, 0.4);
	color: #1BA0AB;
	padding: 5px 12px;
	border-radius: 4px;
	font-size: 11px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.12em;
	font-family: 'DM Sans', sans-serif;
}

.fc-card-badge.badge-gold {
	border-color: rgba(255, 185, 0, 0.45);
	color: #ffb900;
	background: rgba(25, 20, 5, 0.75);
}

/* Play button center hover */
.fc-card-center-play {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%) scale(0.85);
	width: 64px;
	height: 64px;
	border-radius: 50%;
	background: rgba(12, 78, 84, 0.85);
	backdrop-filter: blur(8px);
	-webkit-backdrop-filter: blur(8px);
	border: 2px solid #1BA0AB;
	display: flex;
	align-items: center;
	justify-content: center;
	opacity: 0;
	transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1);
	box-shadow: 0 0 25px rgba(27, 160, 171, 0.4);
}

.fc-card-center-play svg {
	width: 22px;
	height: 22px;
	fill: #ffffff;
	margin-left: 3px;
}

.fc-card:hover .fc-card-center-play {
	opacity: 1;
	transform: translate(-50%, -50%) scale(1);
}

/* Card Bottom Info */
.fc-card-bottom {
	transform: translateY(2px);
	transition: transform 0.4s ease;
}

.fc-card:hover .fc-card-bottom {
	transform: translateY(0);
}

.fc-card-title {
	font-family: 'DM Sans', sans-serif;
	font-size: clamp(20px, 2.2vw, 28px);
	font-weight: 800;
	color: #ffffff;
	text-transform: uppercase;
	margin: 0 0 6px 0;
	letter-spacing: -0.01em;
	line-height: 1.15;
}

.fc-card-sub {
	font-family: 'Inter', sans-serif;
	font-size: 13px;
	color: #1BA0AB;
	margin: 0;
	font-weight: 500;
	letter-spacing: 0.04em;
	display: flex;
	align-items: center;
	gap: 6px;
}

.fc-card-sub span {
	color: #cfe0e0;
}

/* Lightbox Modal */
.fc-lightbox {
	position: fixed;
	inset: 0;
	z-index: 999999;
	display: none;
	align-items: center;
	justify-content: center;
	padding: 24px;
}

.fc-lightbox.is-open {
	display: flex;
	animation: fcFadeIn 0.3s ease;
}

.fc-lightbox-backdrop {
	position: absolute;
	inset: 0;
	background: rgba(6, 24, 27, 0.94);
	backdrop-filter: blur(14px);
	-webkit-backdrop-filter: blur(14px);
	cursor: pointer;
}

.fc-lightbox-container {
	position: relative;
	width: 100%;
	max-width: 1080px;
	z-index: 2;
}

.fc-lightbox-close {
	position: absolute;
	top: -48px;
	right: 0;
	background: none;
	border: none;
	color: #ffffff;
	font-size: 38px;
	line-height: 1;
	cursor: pointer;
	transition: color 0.2s, transform 0.2s;
	padding: 4px;
}

.fc-lightbox-close:hover {
	color: #1BA0AB;
	transform: scale(1.15);
}

.fc-lightbox-video-wrap {
	position: relative;
	width: 100%;
	aspect-ratio: 16 / 9;
	border-radius: 8px;
	overflow: hidden;
	box-shadow: 0 25px 60px rgba(0, 0, 0, 0.8), 0 0 40px rgba(27, 160, 171, 0.3);
	border: 1px solid rgba(27, 160, 171, 0.35);
	background: #000;
}

.fc-lightbox-video-wrap iframe {
	width: 100%;
	height: 100%;
	display: block;
}

/* Toast */
.fc-toast {
	position: fixed;
	bottom: 32px;
	left: 50%;
	transform: translateX(-50%) translateY(20px);
	background: #0C4E54;
	color: #ffffff;
	border: 1px solid #1BA0AB;
	border-radius: 9999px;
	padding: 12px 28px;
	font-family: 'DM Sans', sans-serif;
	font-size: 14px;
	font-weight: 600;
	box-shadow: 0 10px 30px rgba(0, 0, 0, 0.5), 0 0 25px rgba(27, 160, 171, 0.4);
	z-index: 999999;
	opacity: 0;
	pointer-events: none;
	transition: all 0.35s cubic-bezier(0.16, 1, 0.3, 1);
}

.fc-toast.is-visible {
	opacity: 1;
	transform: translateX(-50%) translateY(0);
}

@keyframes fcFadeIn {
	from { opacity: 0; }
	to { opacity: 1; }
}

/* ==========================================================================
   Sezione Competenze & Capabilities (Stile Nox Factory / Màcula)
   ========================================================================== */
.fc-competenze-section {
	background-color: #06181B;
	padding: 120px 24px;
	position: relative;
	border-top: 1px solid rgba(27, 160, 171, 0.15);
	border-bottom: 1px solid rgba(27, 160, 171, 0.15);
}

.fc-competenze-container {
	max-width: 1280px;
	margin: 0 auto;
}

.fc-competenze-header {
	margin-bottom: 64px;
}

.fc-competenze-tagline {
	font-family: 'DM Sans', sans-serif;
	font-size: 11px;
	letter-spacing: 0.35em;
	text-transform: uppercase;
	color: #1BA0AB;
	font-weight: 700;
	display: block;
	margin-bottom: 12px;
}

.fc-competenze-title {
	font-family: 'DM Sans', sans-serif;
	font-size: clamp(36px, 4.5vw, 64px);
	font-weight: 800;
	letter-spacing: -0.02em;
	text-transform: uppercase;
	color: #ffffff;
	margin: 0 0 16px 0;
	line-height: 1.05;
}

.fc-competenze-desc {
	font-family: 'Inter', sans-serif;
	font-size: clamp(15px, 1.2vw, 18px);
	color: #9bb2b5;
	max-width: 680px;
	line-height: 1.6;
	margin: 0;
}

.fc-competenze-list {
	display: flex;
	flex-direction: column;
	border-top: 1px solid rgba(27, 160, 171, 0.2);
}

.fc-competenze-row {
	display: grid;
	grid-template-columns: 80px 1.2fr 1.6fr;
	gap: 32px;
	align-items: start;
	padding: 42px 24px;
	border-bottom: 1px solid rgba(27, 160, 171, 0.2);
	position: relative;
	transition: all 0.35s cubic-bezier(0.16, 1, 0.3, 1);
	border-left: 2px solid transparent;
}

.fc-competenze-row:hover {
	background: rgba(12, 78, 84, 0.12);
	border-left-color: #1BA0AB;
	padding-left: 32px;
}

.fc-competenze-num {
	font-family: 'DM Sans', sans-serif;
	font-size: 18px;
	font-weight: 700;
	color: #1BA0AB;
	letter-spacing: 0.15em;
	padding-top: 4px;
}

.fc-competenze-heading-block {
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.fc-competenze-row-title {
	font-family: 'DM Sans', sans-serif;
	font-size: clamp(20px, 2vw, 28px);
	font-weight: 700;
	color: #ffffff;
	letter-spacing: -0.01em;
	margin: 0;
	line-height: 1.2;
	transition: color 0.3s ease;
}

.fc-competenze-row:hover .fc-competenze-row-title {
	color: #1BA0AB;
}

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

.fc-competenze-tag {
	font-family: 'Inter', sans-serif;
	font-size: 11px;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: #8fa6a8;
	background: rgba(255, 255, 255, 0.04);
	border: 1px solid rgba(27, 160, 171, 0.15);
	padding: 4px 10px;
	border-radius: 4px;
	font-weight: 500;
	transition: all 0.3s ease;
}

.fc-competenze-row:hover .fc-competenze-tag {
	border-color: rgba(27, 160, 171, 0.4);
	color: #cfe0e0;
	background: rgba(27, 160, 171, 0.08);
}

.fc-competenze-row-desc {
	font-family: 'Inter', sans-serif;
	font-size: 15px;
	color: #cfe0e0;
	line-height: 1.7;
	margin: 0;
}

.fc-competenze-footer {
	margin-top: 60px;
	padding: 36px 40px;
	background: radial-gradient(circle at left, rgba(12, 78, 84, 0.3) 0%, rgba(6, 24, 27, 0.6) 100%), #041012;
	border: 1px solid rgba(27, 160, 171, 0.25);
	border-radius: 8px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	flex-wrap: wrap;
	box-sizing: border-box;
	max-width: 100%;
	background-clip: padding-box !important;
	overflow: hidden !important;
	-webkit-mask-image: -webkit-radial-gradient(white, black);
	transform: translateZ(0);
}

.fc-competenze-footer-text h4 {
	font-family: 'DM Sans', sans-serif;
	font-size: 20px;
	font-weight: 700;
	color: #ffffff;
	margin: 0 0 6px 0;
	letter-spacing: -0.01em;
}

.fc-competenze-footer-text p {
	font-family: 'Inter', sans-serif;
	font-size: 14px;
	color: #9bb2b5;
	margin: 0;
}

.fc-competenze-cta-btn {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	background: #1BA0AB;
	color: #06181B;
	font-family: 'DM Sans', sans-serif;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	text-decoration: none;
	padding: 14px 28px;
	border-radius: 4px;
	transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
	box-shadow: 0 4px 16px rgba(27, 160, 171, 0.3);
	box-sizing: border-box !important;
	max-width: 100% !important;
	text-align: center;
}

.fc-competenze-cta-btn:hover {
	background: #ffffff;
	color: #06181B;
	transform: translateY(-2px);
	box-shadow: 0 6px 20px rgba(255, 255, 255, 0.25);
}

@media (max-width: 900px) {
	.fc-competenze-row {
		grid-template-columns: 50px 1fr;
		gap: 20px;
	}
	.fc-competenze-row-desc {
		grid-column: 2 / -1;
	}
	.fc-competenze-footer {
		padding: 24px;
	}
}

@media (max-width: 600px) {
	.fc-competenze-row {
		grid-template-columns: 1fr;
		gap: 12px;
		padding: 28px 12px;
	}
	.fc-competenze-num {
		font-size: 14px;
	}
	.fc-competenze-footer {
		flex-direction: column;
		align-items: stretch;
		padding: 24px 18px !important;
		width: 100% !important;
		box-sizing: border-box !important;
	}
	.fc-competenze-footer-text {
		width: 100%;
	}
	.fc-competenze-cta-btn {
		width: 100% !important;
		max-width: 100% !important;
		box-sizing: border-box !important;
		justify-content: center !important;
		padding: 14px 16px !important;
		font-size: 12px !important;
		letter-spacing: 0.12em !important;
		text-align: center !important;
	}
}

/* ==========================================================================
   Sezione Chi Sono / About (Editorial Split Cinematografico)
   ========================================================================== */
.fc-about-section {
	background-color: #041012;
	padding: 130px 24px;
	position: relative;
	border-top: 1px solid rgba(27, 160, 171, 0.15);
	border-bottom: 1px solid rgba(27, 160, 171, 0.15);
}

.fc-about-container {
	max-width: 1280px;
	margin: 0 auto;
	display: grid;
	grid-template-columns: 460px 1fr;
	gap: 72px;
	align-items: center;
}

/* Colonna Immagine */
.fc-about-media-col {
	position: relative;
}

.fc-about-img-frame {
	position: relative;
	border-radius: 8px;
	overflow: hidden;
	box-shadow: 0 24px 60px rgba(0, 0, 0, 0.8), 0 0 30px rgba(27, 160, 171, 0.15);
	border: 1px solid rgba(27, 160, 171, 0.3);
	background: #06181B;
	aspect-ratio: 4 / 5;
	user-select: none;
}

.fc-about-slides-wrap {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
}

.fc-about-slide {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	opacity: 0;
	visibility: hidden;
	transition: opacity 0.85s cubic-bezier(0.4, 0, 0.2, 1), transform 1.2s cubic-bezier(0.16, 1, 0.3, 1);
	transform: scale(1.03);
	will-change: opacity, transform;
}

.fc-about-slide.is-active {
	opacity: 1;
	visibility: visible;
	transform: scale(1);
}

.fc-about-img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center 25%;
	display: block;
	filter: contrast(1.05) brightness(0.95);
	transition: filter 0.6s ease;
}

.fc-about-img-frame:hover .fc-about-slide.is-active .fc-about-img {
	filter: contrast(1.08) brightness(1);
}

.fc-about-img-overlay {
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(6, 24, 27, 0) 50%, rgba(6, 24, 27, 0.92) 100%);
	pointer-events: none;
	z-index: 2;
}

/* Nav Arrows */
.fc-about-slider-nav {
	position: absolute;
	top: 50%;
	left: 0;
	right: 0;
	display: flex;
	justify-content: space-between;
	padding: 0 14px;
	transform: translateY(-50%);
	z-index: 4;
	pointer-events: none;
	opacity: 0;
	transition: opacity 0.3s ease;
}

.fc-about-img-frame:hover .fc-about-slider-nav {
	opacity: 1;
}

.fc-slider-btn {
	background: rgba(4, 16, 18, 0.75);
	backdrop-filter: blur(8px);
	-webkit-backdrop-filter: blur(8px);
	border: 1px solid rgba(27, 160, 171, 0.35);
	color: #ffffff;
	width: 36px;
	height: 36px;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	pointer-events: auto;
	font-size: 13px;
	line-height: 1;
	transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1);
	box-shadow: 0 4px 14px rgba(0, 0, 0, 0.5);
}

.fc-slider-btn:hover {
	background: #1BA0AB;
	color: #02080A;
	border-color: #1BA0AB;
	transform: scale(1.1);
	box-shadow: 0 0 15px rgba(27, 160, 171, 0.6);
}

/* Badge Header & Dots */
.fc-about-img-badge {
	position: absolute;
	bottom: 20px;
	left: 20px;
	right: 20px;
	background: rgba(6, 24, 27, 0.88);
	backdrop-filter: blur(14px);
	-webkit-backdrop-filter: blur(14px);
	border: 1px solid rgba(27, 160, 171, 0.28);
	border-radius: 6px;
	padding: 14px 18px;
	display: flex;
	flex-direction: column;
	gap: 4px;
	z-index: 3;
}

.fc-about-badge-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
}

.fc-about-slider-dots {
	display: flex;
	align-items: center;
	gap: 5px;
}

.fc-slider-dot {
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.3);
	transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
	cursor: pointer;
}

.fc-slider-dot:hover {
	background: rgba(27, 160, 171, 0.8);
}

.fc-slider-dot.is-active {
	width: 16px;
	border-radius: 3px;
	background: #1BA0AB;
	box-shadow: 0 0 8px rgba(27, 160, 171, 0.7);
}

.fc-about-img-badge-name {
	font-family: 'DM Sans', sans-serif;
	font-size: 14px;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: #ffffff;
}

.fc-about-img-badge-role {
	font-family: 'Inter', sans-serif;
	font-size: 12px;
	color: #1BA0AB;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	font-weight: 500;
	transition: opacity 0.3s ease;
}

/* Colonna Testo */
.fc-about-content-col {
	display: flex;
	flex-direction: column;
	gap: 24px;
}

.fc-about-tagline {
	font-family: 'DM Sans', sans-serif;
	font-size: 11px;
	letter-spacing: 0.35em;
	text-transform: uppercase;
	color: #1BA0AB;
	font-weight: 700;
}

.fc-about-headline {
	font-family: 'DM Sans', sans-serif;
	font-size: clamp(26px, 2.8vw, 40px);
	font-weight: 800;
	letter-spacing: -0.02em;
	color: #ffffff;
	line-height: 1.2;
	margin: 0;
	text-wrap: balance;
}

.fc-about-bio {
	font-family: 'Inter', sans-serif;
	font-size: clamp(15px, 1.1vw, 17px);
	color: #cfe0e0;
	line-height: 1.75;
	margin: 0;
}

.fc-about-bio p {
	margin: 0 0 16px 0;
}

.fc-about-bio p:last-child {
	margin-bottom: 0;
}

/* Pillars grid */
.fc-about-pillars {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 16px;
	margin-top: 12px;
	padding-top: 24px;
	border-top: 1px solid rgba(27, 160, 171, 0.2);
}

.fc-about-pillar-item {
	display: flex;
	flex-direction: column;
	gap: 6px;
}

.fc-about-pillar-title {
	font-family: 'DM Sans', sans-serif;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: #1BA0AB;
}

.fc-about-pillar-desc {
	font-family: 'Inter', sans-serif;
	font-size: 13px;
	color: #9bb2b5;
	line-height: 1.5;
	margin: 0;
}

/* Azione / CTA */
.fc-about-actions {
	display: flex;
	align-items: center;
	gap: 20px;
	margin-top: 12px;
	flex-wrap: wrap;
}

.fc-about-btn-primary {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	background: #1BA0AB;
	color: #06181B;
	font-family: 'DM Sans', sans-serif;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	text-decoration: none;
	padding: 14px 28px;
	border-radius: 4px;
	transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
	box-shadow: 0 4px 16px rgba(27, 160, 171, 0.3);
}

.fc-about-btn-primary:hover {
	background: #ffffff;
	color: #06181B;
	transform: translateY(-2px);
	box-shadow: 0 6px 20px rgba(255, 255, 255, 0.25);
}

.fc-about-location-badge {
	font-family: 'Inter', sans-serif;
	font-size: 13px;
	color: #8fa6a8;
	display: inline-flex;
	align-items: center;
	gap: 8px;
	letter-spacing: 0.05em;
}

.fc-about-location-badge span {
	color: #1BA0AB;
}

/* Responsività */
@media (max-width: 1024px) {
	.fc-about-container {
		grid-template-columns: 1fr;
		gap: 48px;
	}
	.fc-about-img-frame {
		max-width: 480px;
		margin: 0 auto;
	}
}

@media (max-width: 680px) {
	.fc-about-pillars {
		grid-template-columns: 1fr;
		gap: 16px;
	}
	.fc-about-actions {
		flex-direction: column;
		align-items: stretch;
	}
	.fc-about-btn-primary {
		justify-content: center;
	}
}

/* ==========================================================================
   04 // fc LUXURY EDITORIAL CONTACT SECTION (#contatti)
   ========================================================================== */

.fc-contact-section {
	position: relative;
	background: radial-gradient(ellipse at 85% 20%, rgba(12, 78, 84, 0.35) 0%, transparent 65%), #06181B;
	padding: clamp(80px, 9vw, 140px) clamp(20px, 5vw, 60px);
	border-top: 1px solid rgba(27, 160, 171, 0.2);
	color: #F4F3EF;
	overflow: hidden;
}

.fc-contact-container {
	max-width: min(1320px, 92vw);
	margin: 0 auto;
}

/* Header */
.fc-contact-header {
	max-width: 860px;
	margin-bottom: clamp(48px, 6vw, 72px);
}

.fc-contact-tag {
	display: inline-block;
	font-family: 'DM Sans', sans-serif;
	font-size: 11px;
	letter-spacing: 0.35em;
	text-transform: uppercase;
	color: #1BA0AB;
	font-weight: 700;
	margin-bottom: 16px;
}

.fc-contact-headline {
	font-family: 'DM Sans', sans-serif;
	font-size: clamp(32px, 3.8vw, 56px);
	font-weight: 800;
	letter-spacing: -0.03em;
	color: #ffffff;
	line-height: 1.12;
	margin: 0 0 20px 0;
	text-wrap: balance;
}

.fc-contact-desc {
	font-family: 'Inter', sans-serif;
	font-size: clamp(15px, 1.15vw, 18px);
	color: #cfe0e0;
	line-height: 1.7;
	margin: 0;
}

/* 2-Column Grid */
.fc-contact-grid {
	display: grid;
	grid-template-columns: 1fr 1.15fr;
	gap: clamp(40px, 6vw, 84px);
	align-items: start;
}

/* LEFT COLUMN: Channels & Status */
.fc-contact-info-col {
	display: flex;
	flex-direction: column;
	gap: 28px;
}

/* Status Available Badge */
.fc-contact-status-card {
	display: flex;
	align-items: flex-start;
	gap: 16px;
	padding: 18px 22px;
	background: rgba(12, 78, 84, 0.2);
	border: 1px solid rgba(27, 160, 171, 0.25);
	border-radius: 8px;
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
	background-clip: padding-box !important;
	overflow: hidden !important;
	-webkit-mask-image: -webkit-radial-gradient(white, black);
	transform: translateZ(0);
}

.fc-status-dot {
	width: 10px;
	height: 10px;
	background: #1BA0AB;
	border-radius: 50%;
	margin-top: 6px;
	flex-shrink: 0;
	box-shadow: 0 0 10px #1BA0AB;
	animation: fcPulse 2.5s infinite;
}

@keyframes fcPulse {
	0% {
		box-shadow: 0 0 0 0 rgba(27, 160, 171, 0.7);
	}
	70% {
		box-shadow: 0 0 0 10px rgba(27, 160, 171, 0);
	}
	100% {
		box-shadow: 0 0 0 0 rgba(27, 160, 171, 0);
	}
}

.fc-status-text strong {
	display: block;
	font-family: 'DM Sans', sans-serif;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: #ffffff;
	margin-bottom: 4px;
}

.fc-status-text p {
	font-family: 'Inter', sans-serif;
	font-size: 13px;
	color: #9bb2b5;
	line-height: 1.5;
	margin: 0;
}

/* WhatsApp Direct Action */
.fc-wa-card {
	display: flex;
	align-items: center;
	gap: 20px;
	padding: 22px 26px;
	background: linear-gradient(135deg, rgba(12, 78, 84, 0.45) 0%, rgba(6, 24, 27, 0.85) 100%);
	border: 1px solid rgba(27, 160, 171, 0.4);
	border-radius: 10px;
	text-decoration: none;
	transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.25);
	background-clip: padding-box !important;
	overflow: hidden !important;
	-webkit-mask-image: -webkit-radial-gradient(white, black);
	transform: translateZ(0);
}

.fc-wa-card:hover {
	border-color: #25D366;
	background: linear-gradient(135deg, rgba(37, 211, 102, 0.18) 0%, rgba(6, 24, 27, 0.9) 100%);
	transform: translateY(-3px);
	box-shadow: 0 12px 32px rgba(37, 211, 102, 0.22);
}

.fc-wa-icon {
	width: 52px;
	height: 52px;
	background: transparent;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	filter: drop-shadow(0 4px 12px rgba(37, 211, 102, 0.4));
	transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}

.fc-wa-icon svg {
	width: 48px;
	height: 48px;
	display: block;
}

.fc-wa-card:hover .fc-wa-icon {
	transform: scale(1.1);
	filter: drop-shadow(0 6px 18px rgba(37, 211, 102, 0.65));
}

.fc-wa-content {
	display: flex;
	flex-direction: column;
}

.fc-wa-tag {
	font-family: 'DM Sans', sans-serif;
	font-size: 10px;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: #25D366;
	font-weight: 700;
	margin-bottom: 2px;
}

.fc-wa-title {
	font-family: 'DM Sans', sans-serif;
	font-size: 18px;
	font-weight: 700;
	color: #ffffff;
	letter-spacing: -0.01em;
	margin-bottom: 4px;
}

.fc-wa-sub {
	font-family: 'Inter', sans-serif;
	font-size: 13px;
	color: #cfe0e0;
}

/* Info List */
.fc-contact-info-list {
	display: flex;
	flex-direction: column;
	border-top: 1px solid rgba(27, 160, 171, 0.2);
	padding-top: 8px;
}

.fc-info-row {
	display: flex;
	flex-direction: column;
	padding: 16px 0;
	border-bottom: 1px solid rgba(27, 160, 171, 0.12);
	gap: 6px;
}

.fc-info-label {
	font-family: 'DM Sans', sans-serif;
	font-size: 10px;
	letter-spacing: 0.25em;
	text-transform: uppercase;
	color: #1BA0AB;
	font-weight: 700;
}

.fc-info-value {
	font-family: 'Inter', sans-serif;
	font-size: 15px;
	color: #ffffff;
}

.fc-info-link {
	font-family: 'DM Sans', sans-serif;
	font-size: clamp(16px, 1.3vw, 20px);
	font-weight: 700;
	color: #ffffff;
	text-decoration: none;
	transition: color 0.2s ease;
}

.fc-info-link:hover {
	color: #1BA0AB;
}

/* Social Bar */
.fc-contact-social-bar {
	display: flex;
	align-items: center;
	gap: 14px;
	flex-wrap: wrap;
	padding-top: 6px;
}

.fc-social-label {
	font-family: 'DM Sans', sans-serif;
	font-size: 11px;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: #7b9496;
	font-weight: 600;
}

.fc-social-items {
	display: flex;
	align-items: center;
	gap: 12px;
}

.fc-social-items a {
	font-family: 'DM Sans', sans-serif;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: #ffffff;
	text-decoration: none;
	transition: all 0.2s ease;
	position: relative;
}

.fc-social-items a:hover {
	color: #1BA0AB;
}

.fc-social-items span {
	color: rgba(27, 160, 171, 0.4);
	font-size: 12px;
}

/* RIGHT COLUMN: Glass Form Card */
.fc-form-card {
	background: rgba(12, 78, 84, 0.16);
	border: 1px solid rgba(27, 160, 171, 0.25);
	border-radius: 12px;
	padding: clamp(28px, 4vw, 44px);
	backdrop-filter: blur(18px);
	-webkit-backdrop-filter: blur(18px);
	box-shadow: 0 16px 40px rgba(0, 0, 0, 0.3);
	background-clip: padding-box !important;
	overflow: hidden !important;
	-webkit-mask-image: -webkit-radial-gradient(white, black);
	transform: translateZ(0);
}

.fc-form-card-top {
	margin-bottom: 28px;
}

.fc-form-tag {
	display: inline-block;
	font-family: 'DM Sans', sans-serif;
	font-size: 10px;
	letter-spacing: 0.25em;
	text-transform: uppercase;
	color: #1BA0AB;
	font-weight: 700;
	margin-bottom: 8px;
}

.fc-form-title {
	font-family: 'DM Sans', sans-serif;
	font-size: clamp(22px, 2vw, 28px);
	font-weight: 700;
	color: #ffffff;
	letter-spacing: -0.02em;
	margin: 0 0 8px 0;
}

.fc-form-subtitle {
	font-family: 'Inter', sans-serif;
	font-size: 14px;
	color: #9bb2b5;
	line-height: 1.5;
	margin: 0;
}

/* Jetpack Form Styling Overrides */
.fc-contact-section .wp-block-jetpack-contact-form {
	color: inherit !important;
}

.fc-contact-section .grunion-field-wrap {
	margin-bottom: 20px !important;
}

.fc-contact-section .grunion-field-label {
	display: block !important;
	font-family: 'DM Sans', sans-serif !important;
	font-size: 11px !important;
	font-weight: 700 !important;
	letter-spacing: 0.14em !important;
	text-transform: uppercase !important;
	color: #1BA0AB !important;
	margin-bottom: 8px !important;
}

.fc-contact-section .grunion-field-label span {
	font-size: 10px !important;
	opacity: 0.65 !important;
	font-weight: normal !important;
	text-transform: lowercase !important;
}

.fc-contact-section .wp-block-jetpack-input,
.fc-contact-section input[type="text"],
.fc-contact-section input[type="email"],
.fc-contact-section textarea {
	display: block !important;
	width: 100% !important;
	box-sizing: border-box !important;
	background: rgba(6, 24, 27, 0.75) !important;
	border: 1px solid rgba(27, 160, 171, 0.3) !important;
	border-radius: 6px !important;
	color: #ffffff !important;
	font-family: 'Inter', sans-serif !important;
	font-size: 15px !important;
	padding: 14px 18px !important;
	transition: all 0.25s ease !important;
}

.fc-contact-section .wp-block-jetpack-input:focus,
.fc-contact-section input[type="text"]:focus,
.fc-contact-section input[type="email"]:focus,
.fc-contact-section textarea:focus {
	border-color: #1BA0AB !important;
	outline: none !important;
	box-shadow: 0 0 0 3px rgba(27, 160, 171, 0.25) !important;
	background: rgba(6, 24, 27, 0.95) !important;
}

.fc-contact-section textarea {
	min-height: 130px !important;
	resize: vertical !important;
}

.fc-contact-section .wp-block-button {
	margin-top: 10px !important;
	width: 100% !important;
}

.fc-contact-section .wp-block-button button[type="submit"],
.fc-contact-section button.wp-block-button__link {
	display: block !important;
	width: 100% !important;
	background: #1BA0AB !important;
	color: #06181B !important;
	font-family: 'DM Sans', sans-serif !important;
	font-size: 13px !important;
	font-weight: 800 !important;
	letter-spacing: 0.18em !important;
	text-transform: uppercase !important;
	padding: 17px 32px !important;
	border: none !important;
	border-radius: 6px !important;
	cursor: pointer !important;
	transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1) !important;
	box-shadow: 0 6px 20px rgba(27, 160, 171, 0.35) !important;
	text-align: center !important;
}

.fc-contact-section .wp-block-button button[type="submit"]:hover,
.fc-contact-section button.wp-block-button__link:hover {
	background: #ffffff !important;
	color: #06181B !important;
	transform: translateY(-2px) !important;
	box-shadow: 0 10px 28px rgba(255, 255, 255, 0.3) !important;
}

/* Responsività Sezione Contatti */
@media (max-width: 991px) {
	.fc-contact-grid {
		grid-template-columns: 1fr;
		gap: 52px;
	}
}

@media (max-width: 600px) {
	.fc-wa-card {
		padding: 18px 20px;
		gap: 16px;
	}
	.fc-wa-icon {
		width: 44px;
		height: 44px;
	}
	.fc-form-card {
		padding: 24px 18px;
	}
}

/* ==========================================================================
   05 // NOX ARCHITECTURAL LUXURY FOOTER
   ========================================================================== */

footer.wp-block-template-part,
body.home footer.wp-block-template-part {
	background: #041012 !important;
	border-top: 1px solid rgba(27, 160, 171, 0.18) !important;
	position: relative !important;
	width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
}

.nox-footer-block {
	background: #041012;
	color: #F4F3EF;
	padding: 0 clamp(20px, 5vw, 60px);
	width: 100%;
	box-sizing: border-box;
}

.nox-footer-container {
	max-width: min(1320px, 92vw);
	margin: 0 auto;
}

/* Meta Top Bar */
.nox-footer-meta {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 20px 0;
	border-bottom: 1px solid rgba(27, 160, 171, 0.12);
	font-family: 'DM Sans', sans-serif;
	font-size: 11px;
	letter-spacing: 0.25em;
	text-transform: uppercase;
	color: #1BA0AB;
	font-weight: 700;
}

/* Main Row */
.nox-footer-main {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: clamp(38px, 4.5vw, 64px) 0;
	gap: 24px;
}

.nox-footer-brand {
	flex-shrink: 0;
}

.nox-footer-logo-link {
	display: inline-block;
	text-decoration: none;
}

.nox-footer-logo {
	width: clamp(170px, 16vw, 210px);
	height: auto;
	display: block;
	opacity: 0.95;
	transition: opacity 0.25s ease, transform 0.25s ease;
}

.nox-footer-logo:hover {
	opacity: 1;
	transform: scale(1.02);
}

.nox-footer-right-col {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	gap: 16px;
}

.nox-footer-nav {
	display: flex;
	align-items: center;
	gap: clamp(18px, 2.2vw, 36px);
	flex-wrap: wrap;
	justify-content: flex-end;
}

.nox-footer-nav a {
	font-family: 'DM Sans', sans-serif;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: #ffffff;
	text-decoration: none;
	transition: color 0.2s ease;
}

.nox-footer-nav a:hover {
	color: #1BA0AB;
}

.nox-footer-socials {
	display: flex;
	align-items: center;
	gap: 12px;
	flex-wrap: wrap;
	justify-content: flex-end;
}

.nox-footer-socials a {
	font-family: 'DM Sans', sans-serif;
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 0.15em;
	text-transform: uppercase;
	color: #7b9496;
	text-decoration: none;
	transition: color 0.2s ease;
}

.nox-footer-socials a:hover {
	color: #1BA0AB;
}

.nox-dot {
	color: rgba(27, 160, 171, 0.3);
	font-size: 10px;
}

/* Bottom Legal Bar */
.nox-footer-bottom {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 24px 0 36px 0;
	border-top: 1px solid rgba(27, 160, 171, 0.12);
	font-family: 'Inter', sans-serif;
	font-size: 11px;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: #6b8486;
	flex-wrap: wrap;
	gap: 16px;
}

.nox-bottom-left {
	display: flex;
	align-items: center;
}

.nox-bottom-right {
	display: flex;
	align-items: center;
	gap: 14px;
	flex-wrap: wrap;
}

.nox-sep {
	color: rgba(27, 160, 171, 0.3);
}

.nox-privacy-link {
	color: #6b8486;
	text-decoration: none;
	transition: color 0.2s ease;
}

.nox-privacy-link:hover {
	color: #1BA0AB;
}

/* Responsività Footer */
@media (max-width: 900px) {
	.nox-footer-main {
		flex-direction: column;
		align-items: flex-start;
		gap: 32px;
	}
	.nox-footer-right-col {
		align-items: flex-start;
	}
	.nox-footer-nav {
		justify-content: flex-start;
	}
	.nox-footer-socials {
		justify-content: flex-start;
	}
	.nox-footer-bottom {
		flex-direction: column;
		align-items: flex-start;
		gap: 12px;
	}
}

/* Privacy Modal Styles */
.nox-modal-backdrop {
	position: fixed;
	top: 0;
	left: 0;
	width: 100vw;
	height: 100vh;
	background: rgba(4, 16, 18, 0.85);
	backdrop-filter: blur(14px);
	-webkit-backdrop-filter: blur(14px);
	z-index: 999999;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 20px;
	box-sizing: border-box;
}

.nox-modal-dialog {
	background: #06181B;
	border: 1px solid rgba(27, 160, 171, 0.35);
	border-radius: 12px;
	max-width: 640px;
	width: 100%;
	max-height: 85vh;
	overflow-y: auto;
	box-shadow: 0 24px 70px rgba(0, 0, 0, 0.7);
	box-sizing: border-box;
	padding: 36px 40px;
	color: #F4F3EF;
}

.nox-modal-header {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding-bottom: 20px;
	border-bottom: 1px solid rgba(27, 160, 171, 0.2);
	margin-bottom: 24px;
}

.nox-modal-title {
	font-family: 'DM Sans', sans-serif;
	font-size: 14px;
	font-weight: 700;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: #1BA0AB;
	margin: 0;
}

.nox-modal-close {
	background: transparent;
	border: none;
	color: #9bb2b5;
	font-size: 32px;
	cursor: pointer;
	line-height: 1;
	padding: 0;
	transition: color 0.2s ease;
}

.nox-modal-close:hover {
	color: #ffffff;
}

.nox-modal-body {
	font-family: 'Inter', sans-serif;
	font-size: 14px;
	line-height: 1.7;
	color: #cfe0e0;
}

.nox-modal-body h4 {
	font-family: 'DM Sans', sans-serif;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: #ffffff;
	margin: 22px 0 8px 0;
}

.nox-modal-body p {
	margin: 0 0 12px 0;
}

.nox-modal-body ul {
	margin: 0 0 14px 20px;
	padding: 0;
}

.nox-modal-body a {
	color: #1BA0AB;
	text-decoration: underline;
}

/* ==========================================================================
   Mobile Navigation Overlay & Hamburger Fix
   ========================================================================== */

/* Desktop: hamburger MUST be hidden! */
@media (min-width: 601px) {
	.site-header-float .wp-block-navigation__responsive-container-open,
	.wp-block-navigation__responsive-container-open {
		display: none !important;
	}
	.fc-mobile-nav-cta {
		display: none !important;
	}
}

/* Mobile: Hamburger Button */
@media (max-width: 600px) {
	.site-header-float .wp-block-navigation__responsive-container-open,
	.wp-block-navigation__responsive-container-open {
		display: inline-flex !important;
		align-items: center !important;
		justify-content: center !important;
		background: rgba(12, 78, 84, 0.45) !important;
		border: 1px solid rgba(27, 160, 171, 0.5) !important;
		border-radius: 8px !important;
		padding: 8px 10px !important;
		cursor: pointer !important;
		color: #ffffff !important;
		transition: all 0.25s ease !important;
		line-height: 1 !important;
		box-shadow: 0 2px 10px rgba(0, 0, 0, 0.3) !important;
	}

	.site-header-float .wp-block-navigation__responsive-container-open:hover,
	.wp-block-navigation__responsive-container-open:hover {
		background: rgba(27, 160, 171, 0.3) !important;
		border-color: #1BA0AB !important;
		box-shadow: 0 0 14px rgba(27, 160, 171, 0.5) !important;
	}

	.site-header-float .wp-block-navigation__responsive-container-open svg,
	.wp-block-navigation__responsive-container-open svg {
		fill: #ffffff !important;
		color: #ffffff !important;
		stroke: #ffffff !important;
		width: 24px !important;
		height: 24px !important;
		display: block !important;
	}

	.site-header-float .wp-block-navigation__responsive-container-open svg path,
	.wp-block-navigation__responsive-container-open svg path {
		fill: #ffffff !important;
		stroke: #ffffff !important;
	}
}

/* Fullscreen Mobile Navigation Overlay */
.wp-block-navigation__responsive-container.is-menu-open {
	position: fixed !important;
	inset: 0 !important;
	width: 100vw !important;
	height: 100vh !important;
	background: rgba(4, 16, 18, 0.98) !important;
	backdrop-filter: blur(28px) !important;
	-webkit-backdrop-filter: blur(28px) !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	padding: 40px 24px !important;
	box-sizing: border-box !important;
	z-index: 9999999 !important;
}

.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-close,
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-dialog {
	width: 100% !important;
	max-width: 480px !important;
	display: flex !important;
	flex-direction: column !important;
	align-items: center !important;
	justify-content: center !important;
	margin: 0 auto !important;
	position: relative !important;
}

/* Close Button */
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-close {
	position: fixed !important;
	top: 24px !important;
	right: 24px !important;
	width: 46px !important;
	height: 46px !important;
	background: rgba(12, 78, 84, 0.4) !important;
	border: 1px solid rgba(27, 160, 171, 0.45) !important;
	border-radius: 50% !important;
	color: #1BA0AB !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	cursor: pointer !important;
	transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1) !important;
	z-index: 10000000 !important;
	padding: 0 !important;
}

.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-close:hover {
	background: rgba(27, 160, 171, 0.3) !important;
	color: #ffffff !important;
	border-color: #1BA0AB !important;
	transform: rotate(90deg) scale(1.08) !important;
}

.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-close svg {
	width: 24px !important;
	height: 24px !important;
	fill: currentColor !important;
	stroke: currentColor !important;
}

.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-close svg path {
	fill: currentColor !important;
	stroke: currentColor !important;
}

/* Links Container */
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content {
	width: 100% !important;
	display: flex !important;
	flex-direction: column !important;
	align-items: center !important;
	justify-content: center !important;
}

.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container {
	list-style: none !important;
	padding: 0 !important;
	margin: 0 !important;
	display: flex !important;
	flex-direction: column !important;
	align-items: center !important;
	gap: 14px !important;
	width: 100% !important;
}

.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item {
	width: 100% !important;
	text-align: center !important;
	margin: 0 !important;
}

.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item a {
	display: block !important;
	font-family: 'DM Sans', sans-serif !important;
	font-size: clamp(22px, 5.5vw, 30px) !important;
	font-weight: 700 !important;
	letter-spacing: 0.08em !important;
	text-transform: uppercase !important;
	color: #ffffff !important;
	padding: 12px 20px !important;
	border-radius: 8px !important;
	transition: all 0.25s ease !important;
	text-decoration: none !important;
	border: 1px solid transparent !important;
}

.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item a:hover,
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item a:focus {
	color: #1BA0AB !important;
	background: rgba(27, 160, 171, 0.12) !important;
	border-color: rgba(27, 160, 171, 0.3) !important;
	transform: translateY(-2px) !important;
}

.fc-mobile-nav-cta {
	display: none !important;
}

.wp-block-navigation__responsive-container.is-menu-open .fc-mobile-nav-cta {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	margin-top: 20px !important;
	background: #1BA0AB !important;
	color: #06181B !important;
	font-family: 'DM Sans', sans-serif !important;
	font-size: 13px !important;
	font-weight: 700 !important;
	letter-spacing: 0.16em !important;
	text-transform: uppercase !important;
	text-decoration: none !important;
	padding: 14px 34px !important;
	border-radius: 9999px !important;
	box-shadow: 0 4px 18px rgba(27, 160, 171, 0.4) !important;
	transition: all 0.3s ease !important;
}

.wp-block-navigation__responsive-container.is-menu-open .fc-mobile-nav-cta:hover {
	background: #ffffff !important;
	color: #06181B !important;
	transform: translateY(-2px) !important;
	box-shadow: 0 6px 24px rgba(255, 255, 255, 0.3) !important;
}

/* ==========================================================================
   Global Anti-Artifact / Sub-pixel corner fix for rounded cards
   ========================================================================== */
.fc-contact-status-card,
.fc-competenze-footer,
.fc-wa-card,
.fc-form-card,
.fc-about-img-badge,
.fc-about-img-frame,
.fc-card,
.nox-modal-dialog {
	background-clip: padding-box !important;
	overflow: hidden !important;
	-webkit-mask-image: -webkit-radial-gradient(white, black);
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
	transform: translateZ(0);
	outline: none !important;
}



/* ==========================================================================
   COMMERCIAL LANDING PAGE (/commercial) - DARK LUXURY MOBILE-FIRST
   ========================================================================== */

.fc-landing-page {
	background: #030D0F;
	color: #F4F3EF;
	font-family: 'DM Sans', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
	overflow-x: hidden;
	min-height: 100vh;
	line-height: 1.6;
}

.fc-landing-container {
	width: 100%;
	max-width: 1140px;
	margin: 0 auto;
	padding: 0 20px;
	box-sizing: border-box;
}

/* 1. Header Minimal */
.fc-landing-header {
	position: sticky;
	top: 0;
	z-index: 999;
	background: rgba(3, 13, 15, 0.88);
	backdrop-filter: blur(14px);
	-webkit-backdrop-filter: blur(14px);
	border-bottom: 1px solid rgba(27, 160, 171, 0.2);
	padding: 14px 20px;
}

.fc-landing-header-inner {
	max-width: 1140px;
	margin: 0 auto;
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.fc-landing-brand {
	display: flex;
	align-items: center;
	text-decoration: none;
	transition: opacity 0.25s ease, transform 0.25s ease;
}

.fc-landing-brand:hover {
	opacity: 0.92;
	transform: translateY(-1px);
}

.fc-landing-brand-logo-wrap {
	display: flex;
	align-items: center;
	line-height: 1;
}

.fc-landing-header-svg {
	height: 21px;
	width: auto;
	max-width: 175px;
	display: block;
	overflow: visible;
}

.fc-landing-header-svg .fc-header-dot {
	fill: #00F0FF;
	filter: drop-shadow(0 0 5px rgba(0, 240, 255, 0.75));
}

.fc-landing-header-svg .fc-header-char {
	fill: #ffffff;
}

.fc-landing-brand-name {
	font-size: 15px;
	font-weight: 700;
	letter-spacing: 0.2em;
	color: #ffffff;
}

.fc-landing-brand-role {
	font-size: 9.5px;
	letter-spacing: 0.26em;
	color: #1BA0AB;
	text-transform: uppercase;
	font-weight: 600;
	padding-left: 2px;
}

.fc-landing-btn-header {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	background: rgba(12, 78, 84, 0.4);
	border: 1px solid rgba(27, 160, 171, 0.5);
	border-radius: 999px;
	padding: 6px 14px;
	color: #ffffff;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	text-decoration: none;
	transition: all 0.25s ease;
}

.fc-landing-btn-header:hover {
	background: #1BA0AB;
	color: #030D0F;
	box-shadow: 0 0 16px rgba(27, 160, 171, 0.5);
}

.fc-landing-live-dot {
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: #00F0FF;
	box-shadow: 0 0 8px #00F0FF;
	animation: pulse 1.8s infinite;
}

/* 2. Hero Section */
.fc-landing-hero {
	padding: 28px 0 8px 0;
	text-align: center;
	position: relative;
}

.fc-landing-hero-badge-wrap {
	margin-bottom: 12px;
}

.fc-landing-tag {
	display: inline-block;
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 0.3em;
	text-transform: uppercase;
	color: #1BA0AB;
	background: rgba(12, 78, 84, 0.25);
	border: 1px solid rgba(27, 160, 171, 0.35);
	border-radius: 999px;
	padding: 6px 16px;
}

.fc-landing-logo-box {
	margin: 0 auto 16px auto;
	max-width: 680px;
}

.fc-landing-headline {
	font-size: clamp(26px, 4.2vw, 48px);
	font-weight: 800;
	line-height: 1.15;
	letter-spacing: -0.01em;
	color: #ffffff;
	max-width: 900px;
	margin: 0 auto 12px auto;
	text-wrap: balance;
}

.fc-landing-subhead {
	font-size: clamp(15px, 1.3vw, 18px);
	line-height: 1.5;
	color: #B3C0C2;
	max-width: 700px;
	margin: 0 auto 14px auto;
}

.fc-landing-subhead strong {
	color: #ffffff;
}

/* Video Showreel Section & Wrapper */
.fc-landing-video-section {
	padding: 40px 0 55px 0;
	position: relative;
}

.fc-landing-video-wrapper {
	max-width: 900px;
	margin: 0 auto;
	border-radius: 14px;
	overflow: hidden;
	background: #06181B;
	border: 1px solid rgba(27, 160, 171, 0.35);
	box-shadow: 0 16px 50px rgba(0, 0, 0, 0.7), 0 0 30px rgba(27, 160, 171, 0.15);
}

.fc-landing-video-frame {
	position: relative;
	padding-bottom: 56.25%; /* 16:9 Aspect Ratio */
	height: 0;
	overflow: hidden;
	background: #000;
}

.fc-landing-video-frame iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	border: 0;
}

.fc-landing-video-caption {
	padding: 10px 16px;
	background: rgba(4, 16, 18, 0.95);
	border-top: 1px solid rgba(27, 160, 171, 0.2);
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 0.18em;
	color: #1BA0AB;
	text-align: center;
}

/* Trust Pills */
.fc-landing-trust-pills {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 12px;
	margin-bottom: 16px;
}

.fc-landing-trust-pills.fc-trust-pills-bottom {
	margin-top: 36px;
	margin-bottom: 8px;
}

.fc-landing-pill {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	background: rgba(6, 24, 27, 0.8);
	border: 1px solid rgba(27, 160, 171, 0.25);
	border-radius: 999px;
	padding: 8px 18px;
	font-size: 13px;
	color: #DDE5E6;
}

.fc-landing-pill .fc-pill-icon {
	color: #00F0FF;
}

/* 3. Packages (Doppio Binario - Moved up) */
.fc-landing-packages {
	padding: 8px 0 40px 0;
}

.fc-landing-section-header {
	text-align: center;
	max-width: 720px;
	margin: 0 auto 28px auto;
}

/* 3. Marquee (Social Proof - Moved directly below Hero) */
.fc-landing-marquee-wrap {
	padding: 24px 0 26px 0;
	border-top: 1px solid rgba(27, 160, 171, 0.15);
	border-bottom: 1px solid rgba(27, 160, 171, 0.15);
	background: rgba(6, 24, 27, 0.4);
}

.fc-landing-marquee-title {
	text-align: center;
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 0.25em;
	color: #7A8F93;
	margin-bottom: 16px;
}

.fc-landing-marquee-wrap .fc-marquee-section {
	background: transparent;
	border-top: none;
	border-bottom: none;
	padding: 4px 0 0 0;
}

.fc-landing-marquee-wrap .fc-marquee-section::before {
	background: linear-gradient(90deg, #02080A 0%, rgba(2, 8, 10, 0) 100%);
}

.fc-landing-marquee-wrap .fc-marquee-section::after {
	background: linear-gradient(270deg, #02080A 0%, rgba(2, 8, 10, 0) 100%);
}

@media (max-width: 768px) {
	.fc-marquee-group {
		gap: 48px;
		padding-right: 48px;
	}
	.fc-marquee-item img {
		height: 30px;
	}
}

/* 4. Compact About Section (Personal Brand & Trust - Above Packages) */
.fc-landing-about {
	padding: 36px 0 30px 0;
}

.fc-landing-section-title {
	font-size: clamp(24px, 3.2vw, 38px);
	font-weight: 800;
	line-height: 1.2;
	color: #ffffff;
	letter-spacing: -0.01em;
	margin: 12px 0 14px 0;
	text-wrap: balance;
}

.fc-landing-section-desc {
	font-size: 16px;
	line-height: 1.6;
	color: #9EB0B3;
	margin: 0;
}

.fc-landing-grid-2col {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 28px;
	align-items: stretch;
}

.fc-package-card {
	background: rgba(6, 24, 27, 0.7);
	border: 1px solid rgba(27, 160, 171, 0.3);
	border-radius: 18px;
	padding: 36px 32px;
	display: flex;
	flex-direction: column;
	position: relative;
	transition: transform 0.3s ease, border-color 0.3s ease, box-shadow 0.3s ease;
}

.fc-package-card:hover {
	transform: translateY(-4px);
	border-color: #1BA0AB;
	box-shadow: 0 16px 44px rgba(0, 0, 0, 0.6), 0 0 24px rgba(27, 160, 171, 0.2);
}

.fc-package-card.is-featured {
	background: linear-gradient(180deg, rgba(12, 78, 84, 0.25) 0%, rgba(6, 24, 27, 0.8) 100%);
	border: 1px solid rgba(0, 240, 255, 0.45);
	box-shadow: 0 12px 36px rgba(0, 0, 0, 0.5), 0 0 20px rgba(0, 240, 255, 0.12);
}

.fc-package-badge {
	align-self: flex-start;
	font-size: 10px;
	font-weight: 700;
	letter-spacing: 0.2em;
	color: #00F0FF;
	background: rgba(0, 240, 255, 0.15);
	border: 1px solid rgba(0, 240, 255, 0.4);
	border-radius: 999px;
	padding: 5px 12px;
	margin-bottom: 16px;
}

.fc-package-badge.fc-badge-alt {
	color: #1BA0AB;
	background: rgba(27, 160, 171, 0.15);
	border-color: rgba(27, 160, 171, 0.4);
}

.fc-package-title {
	font-size: 24px;
	font-weight: 700;
	color: #ffffff;
	margin: 0 0 12px 0;
	line-height: 1.3;
}

.fc-package-pitch {
	font-size: 14px;
	line-height: 1.6;
	color: #9EB0B3;
	margin: 0 0 22px 0;
}

.fc-package-divider {
	height: 1px;
	background: rgba(27, 160, 171, 0.2);
	margin-bottom: 22px;
}

.fc-package-tags {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-bottom: 24px;
	flex-grow: 1;
}

.fc-pkg-tag {
	display: inline-flex;
	align-items: center;
	background: rgba(12, 78, 84, 0.28);
	border: 1px solid rgba(27, 160, 171, 0.35);
	color: #DDE5E6;
	font-size: 13px;
	font-weight: 600;
	padding: 7px 12px;
	border-radius: 8px;
	line-height: 1.3;
	letter-spacing: 0.02em;
}

.fc-package-card.is-featured .fc-pkg-tag {
	background: rgba(0, 240, 255, 0.08);
	border-color: rgba(0, 240, 255, 0.3);
	color: #E6FAF8;
}

.fc-package-checklist {
	list-style: none;
	padding: 0;
	margin: 0 0 32px 0;
	display: flex;
	flex-direction: column;
	gap: 16px;
	flex-grow: 1;
}

.fc-package-checklist li {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	font-size: 14px;
	line-height: 1.55;
	color: #DDE5E6;
}

.fc-package-checklist li strong {
	color: #ffffff;
}

.fc-check-icon {
	color: #00F0FF;
	font-weight: bold;
	font-size: 14px;
	line-height: 1.4;
	flex-shrink: 0;
}

.fc-package-bonus-item {
	background: rgba(12, 78, 84, 0.35);
	border: 1px solid rgba(0, 240, 255, 0.35);
	border-radius: 12px;
	padding: 14px 16px;
	flex-direction: column !important;
	gap: 6px !important;
}

.fc-bonus-badge {
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.12em;
	color: #00F0FF;
	text-transform: uppercase;
}

.fc-bonus-badge.fc-bonus-alt {
	color: #1BA0AB;
}

.fc-package-footer {
	margin-top: auto;
	display: flex;
	flex-direction: column;
	gap: 10px;
	text-align: center;
}

.fc-package-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	background: rgba(12, 78, 84, 0.6);
	border: 1px solid #1BA0AB;
	color: #ffffff;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	padding: 14px 22px;
	border-radius: 10px;
	text-decoration: none;
	transition: all 0.25s ease;
}

.fc-package-btn:hover {
	background: #1BA0AB;
	color: #030D0F;
	box-shadow: 0 8px 24px rgba(27, 160, 171, 0.4);
}

.fc-package-btn.fc-btn-wa {
	background: #25D366;
	border-color: #25D366;
	color: #030D0F;
	font-weight: 800;
	box-shadow: 0 6px 20px rgba(37, 211, 102, 0.3);
}

.fc-package-btn.fc-btn-wa:hover {
	background: #2ef378;
	border-color: #2ef378;
	color: #030D0F;
	transform: translateY(-2px);
	box-shadow: 0 10px 28px rgba(37, 211, 102, 0.45);
}

.fc-package-guarantee {
	font-size: 11px;
	letter-spacing: 0.05em;
	color: #7A8F93;
}

/* 5. Calendar Scarcity */
.fc-landing-scarcity {
	padding: 30px 0 50px 0;
}

.fc-scarcity-card {
	background: rgba(6, 24, 27, 0.85);
	border: 1px solid rgba(27, 160, 171, 0.35);
	border-radius: 18px;
	padding: 32px 36px;
	display: flex;
	align-items: center;
	gap: 28px;
	box-shadow: 0 12px 36px rgba(0, 0, 0, 0.5);
}

.fc-scarcity-icon-box {
	position: relative;
	width: 56px;
	height: 56px;
	border-radius: 14px;
	background: rgba(12, 78, 84, 0.4);
	border: 1px solid rgba(27, 160, 171, 0.5);
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 24px;
	flex-shrink: 0;
}

.fc-scarcity-content {
	flex-grow: 1;
}

.fc-scarcity-label {
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.2em;
	color: #00F0FF;
	text-transform: uppercase;
	display: block;
	margin-bottom: 4px;
}

.fc-scarcity-title {
	font-size: 19px;
	font-weight: 700;
	color: #ffffff;
	margin: 0 0 6px 0;
	line-height: 1.35;
}

.fc-scarcity-desc {
	font-size: 14px;
	line-height: 1.55;
	color: #9EB0B3;
	margin: 0;
}

.fc-scarcity-action {
	flex-shrink: 0;
}

.fc-scarcity-btn {
	display: inline-block;
	background: transparent;
	border: 1px solid #1BA0AB;
	color: #1BA0AB;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	padding: 12px 20px;
	border-radius: 8px;
	text-decoration: none;
	white-space: nowrap;
	transition: all 0.25s ease;
}

.fc-scarcity-btn:hover {
	background: #1BA0AB;
	color: #030D0F;
	box-shadow: 0 0 16px rgba(27, 160, 171, 0.4);
}

/* 6. Compact About Section (Personal Brand & Trust) */
.fc-landing-about {
	padding: 20px 0 50px 0;
}

.fc-about-card {
	background: linear-gradient(135deg, rgba(8, 30, 34, 0.75) 0%, rgba(4, 16, 18, 0.85) 100%);
	border: 1px solid rgba(27, 160, 171, 0.3);
	border-radius: 18px;
	padding: 36px 40px;
	display: flex;
	align-items: center;
	gap: 36px;
	box-shadow: 0 16px 40px rgba(0, 0, 0, 0.5);
	backdrop-filter: blur(12px);
	-webkit-backdrop-filter: blur(12px);
}

.fc-about-photo-wrap {
	flex-shrink: 0;
	width: 170px;
	height: 170px;
	border-radius: 50%;
	overflow: hidden;
	border: 3px solid #00F0FF;
	box-shadow: 0 0 24px rgba(0, 240, 255, 0.25);
}

.fc-about-photo {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center center;
	display: block;
}

.fc-about-content {
	flex: 1;
	display: flex;
	flex-direction: column;
	gap: 14px;
}

.fc-about-header {
	display: flex;
	flex-direction: column;
	gap: 4px;
}

.fc-about-name {
	font-size: clamp(22px, 2.5vw, 28px);
	font-weight: 800;
	color: #ffffff;
	margin: 0;
	letter-spacing: -0.01em;
}

.fc-about-role {
	font-size: 13px;
	font-weight: 600;
	letter-spacing: 0.05em;
	color: #00F0FF;
}

.fc-about-bio {
	font-size: 14px;
	line-height: 1.6;
	color: #B2C7C9;
	margin: 0;
}

.fc-about-tags {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	padding-top: 6px;
}

.fc-about-tag {
	display: inline-flex;
	align-items: center;
	background: rgba(12, 78, 84, 0.28);
	border: 1px solid rgba(27, 160, 171, 0.4);
	color: #DDE5E6;
	font-size: 13px;
	font-weight: 600;
	padding: 7px 12px;
	border-radius: 8px;
	line-height: 1.3;
	letter-spacing: 0.02em;
}

/* 7. Contact Section */
.fc-landing-contact {
	padding: 40px 0 80px 0;
}

.fc-landing-contact-card {
	background: linear-gradient(180deg, rgba(6, 24, 27, 0.95) 0%, rgba(3, 13, 15, 0.98) 100%);
	border: 1px solid rgba(27, 160, 171, 0.4);
	border-radius: 22px;
	padding: 48px 40px;
	text-align: center;
	box-shadow: 0 20px 60px rgba(0, 0, 0, 0.7), 0 0 30px rgba(27, 160, 171, 0.15);
	max-width: 860px;
	margin: 0 auto;
}

.fc-contact-main-title {
	font-size: clamp(24px, 3.5vw, 40px);
	font-weight: 800;
	color: #ffffff;
	margin: 14px 0 14px 0;
	letter-spacing: -0.01em;
}

.fc-contact-main-desc {
	font-size: 16px;
	line-height: 1.65;
	color: #B3C0C2;
	max-width: 660px;
	margin: 0 auto 36px auto;
}

/* Compact Contact Layout */
.fc-contact-wa-wrap {
	margin-bottom: 24px;
}

.fc-compact-wa-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 12px;
	background: linear-gradient(135deg, #25D366 0%, #1ebe5d 100%);
	border-radius: 12px;
	padding: 14px 28px;
	color: #030D0F;
	font-size: 15px;
	font-weight: 800;
	text-decoration: none;
	box-shadow: 0 8px 24px rgba(37, 211, 102, 0.3);
	transition: all 0.25s ease;
	max-width: 100%;
}

.fc-compact-wa-btn:hover {
	transform: translateY(-2px);
	box-shadow: 0 12px 30px rgba(37, 211, 102, 0.45);
	background: linear-gradient(135deg, #2ef378 0%, #20ce64 100%);
}

.fc-contact-divider-text {
	position: relative;
	text-align: center;
	margin: 24px auto;
	max-width: 480px;
}

.fc-contact-divider-text::before {
	content: '';
	position: absolute;
	top: 50%;
	left: 0;
	right: 0;
	height: 1px;
	background: rgba(27, 160, 171, 0.25);
	z-index: 1;
}

.fc-contact-divider-text span {
	position: relative;
	z-index: 2;
	background: #041215;
	padding: 0 14px;
	font-size: 10px;
	font-weight: 700;
	letter-spacing: 0.2em;
	color: #7A8F93;
	text-transform: uppercase;
}

/* Super-Compact Mini Email Form */
.fc-mini-form {
	max-width: 520px;
	margin: 0 auto;
	text-align: left;
}

.fc-form-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 12px;
	margin-bottom: 12px;
}

.fc-form-field {
	margin-bottom: 12px;
}

.fc-input,
.fc-textarea {
	width: 100%;
	box-sizing: border-box;
	background: rgba(12, 78, 84, 0.2);
	border: 1px solid rgba(27, 160, 171, 0.35);
	border-radius: 10px;
	padding: 12px 14px;
	color: #ffffff;
	font-family: inherit;
	font-size: 14px;
	transition: border-color 0.25s ease, background 0.25s ease;
}

.fc-input:focus,
.fc-textarea:focus {
	outline: none;
	border-color: #00F0FF;
	background: rgba(12, 78, 84, 0.35);
}

.fc-input::placeholder,
.fc-textarea::placeholder {
	color: #7A8F93;
	font-size: 13px;
}

.fc-textarea {
	resize: vertical;
	min-height: 70px;
}

.fc-form-submit-btn {
	width: 100%;
	background: transparent;
	border: 1px solid #00F0FF;
	color: #00F0FF;
	font-size: 14px;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	padding: 13px 20px;
	border-radius: 10px;
	cursor: pointer;
	transition: all 0.25s ease;
}

.fc-form-submit-btn:hover {
	background: #00F0FF;
	color: #030D0F;
	box-shadow: 0 0 20px rgba(0, 240, 255, 0.4);
}

.fc-form-response {
	margin-top: 14px;
	padding: 10px 14px;
	border-radius: 8px;
	font-size: 13px;
	text-align: center;
	font-weight: 600;
}

.fc-form-response.is-success {
	background: rgba(37, 211, 102, 0.15);
	border: 1px solid #25D366;
	color: #25D366;
}

.fc-form-response.is-error {
	background: rgba(255, 68, 68, 0.15);
	border: 1px solid #ff4444;
	color: #ff6666;
}

/* 8. Footer Minimal */
.fc-landing-footer {
	padding: 24px 0;
	border-top: 1px solid rgba(27, 160, 171, 0.15);
	background: #02080A;
	font-size: 12px;
	color: #7A8F93;
}

.fc-landing-footer-inner {
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;
	gap: 12px;
}

.fc-footer-left strong {
	color: #B3C0C2;
}

.fc-footer-right {
	display: flex;
	align-items: center;
	gap: 8px;
}

.fc-footer-right a {
	color: #7A8F93;
	text-decoration: none;
}

.fc-footer-right a:hover {
	color: #1BA0AB;
}

/* Responsive Overrides (Mobile-First Polish) */
@media (max-width: 900px) {
	.fc-landing-grid-2col {
		grid-template-columns: 1fr;
		gap: 24px;
	}

	.fc-about-card {
		flex-direction: column;
		text-align: center;
		padding: 32px 24px;
		gap: 20px;
	}

	.fc-about-photo-wrap {
		width: 140px;
		height: 140px;
		margin: 0 auto;
	}

	.fc-about-features {
		text-align: left;
	}

	.fc-scarcity-card {
		flex-direction: column;
		text-align: center;
		padding: 28px 24px;
	}

	.fc-scarcity-action {
		width: 100%;
	}

	.fc-scarcity-btn {
		display: block;
		text-align: center;
	}
}

@media (max-width: 600px) {
	.fc-landing-hero {
		padding: 24px 0 10px 0;
	}

	.fc-landing-packages {
		padding: 10px 0 32px 0;
	}

	.fc-package-card {
		padding: 22px 18px;
	}

	.fc-pkg-tag {
		font-size: 12px;
		padding: 6px 10px;
	}

	.fc-about-card {
		padding: 28px 18px;
	}

	.fc-about-photo-wrap {
		width: 120px;
		height: 120px;
	}

	.fc-about-tag {
		font-size: 12px;
		padding: 6px 10px;
	}

	.fc-landing-contact-card {
		padding: 32px 18px;
	}

	.fc-compact-wa-btn {
		width: 100%;
		padding: 14px 16px;
		font-size: 14px;
		box-sizing: border-box;
	}

	.fc-form-grid {
		grid-template-columns: 1fr;
		gap: 0;
	}

	.fc-landing-footer-inner {
		flex-direction: column;
		text-align: center;
		gap: 8px;
	}
}

/* ==========================================================================
   Legal Pages (Privacy Policy, Terms)
   ========================================================================== */
.fc-legal-page {
	background-color: #02080A;
	color: #DDE5E6;
	font-family: 'DM Sans', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
	min-height: 100vh;
	display: flex;
	flex-direction: column;
}

.fc-legal-container {
	max-width: 900px;
	margin: 0 auto;
	padding: 0 24px;
	width: 100%;
	box-sizing: border-box;
}

.fc-legal-header {
	padding: 24px 0;
	border-bottom: 1px solid rgba(27, 160, 171, 0.2);
	background: rgba(4, 16, 18, 0.85);
	backdrop-filter: blur(12px);
	-webkit-backdrop-filter: blur(12px);
}

.fc-legal-header .fc-legal-container {
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.fc-legal-header-svg {
	height: 28px;
	width: auto;
	display: block;
}

.fc-legal-back-btn {
	color: #00F0FF;
	text-decoration: none;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.05em;
	transition: color 0.2s ease;
}

.fc-legal-back-btn:hover {
	color: #ffffff;
}

.fc-legal-main {
	flex: 1;
	padding: 48px 0 80px 0;
}

.fc-legal-card {
	background: linear-gradient(180deg, rgba(6, 24, 27, 0.8) 0%, rgba(3, 13, 15, 0.95) 100%);
	border: 1px solid rgba(27, 160, 171, 0.35);
	border-radius: 18px;
	padding: 48px 44px;
	box-shadow: 0 20px 60px rgba(0, 0, 0, 0.6);
}

.fc-legal-title-wrap {
	margin-bottom: 36px;
	padding-bottom: 24px;
	border-bottom: 1px solid rgba(27, 160, 171, 0.2);
}

.fc-legal-title {
	font-size: clamp(26px, 3.5vw, 36px);
	font-weight: 800;
	color: #ffffff;
	margin: 12px 0 8px 0;
	letter-spacing: -0.01em;
}

.fc-legal-date {
	font-size: 13px;
	color: #7A8F93;
}

.fc-legal-body {
	font-size: 15px;
	line-height: 1.75;
	color: #C3D3D5;
}

.fc-legal-body h2,
.fc-legal-body h3,
.fc-legal-body h4 {
	color: #ffffff;
	font-weight: 700;
	margin-top: 32px;
	margin-bottom: 12px;
	letter-spacing: -0.01em;
}

.fc-legal-body h2 {
	font-size: 20px;
	color: #00F0FF;
	border-bottom: 1px solid rgba(27, 160, 171, 0.15);
	padding-bottom: 6px;
}

.fc-legal-body h3 {
	font-size: 17px;
}

.fc-legal-body p {
	margin-bottom: 16px;
}

.fc-legal-body ul,
.fc-legal-body ol {
	padding-left: 20px;
	margin-bottom: 18px;
}

.fc-legal-body li {
	margin-bottom: 8px;
}

.fc-legal-body a {
	color: #00F0FF;
	text-decoration: underline;
}

.fc-legal-body a:hover {
	color: #ffffff;
}

@media (max-width: 600px) {
	.fc-legal-card {
		padding: 32px 20px;
	}
	.fc-legal-main {
		padding: 28px 0 50px 0;
	}
}

/* ==========================================================================
   FEDERICOLETTA ULTRA-SLIM COOKIE BANNER
   ========================================================================== */

.fc-cookie-banner {
	position: fixed;
	bottom: 20px;
	left: 20px;
	max-width: 360px;
	width: calc(100% - 40px);
	z-index: 99998;
	opacity: 0;
	transform: translateY(16px);
	transition: opacity 0.35s cubic-bezier(0.16, 1, 0.3, 1), transform 0.35s cubic-bezier(0.16, 1, 0.3, 1);
	pointer-events: none;
}

.fc-cookie-banner.is-visible {
	opacity: 1;
	transform: translateY(0);
	pointer-events: auto;
}

.fc-cookie-card {
	background: rgba(6, 24, 27, 0.96);
	border: 1px solid rgba(27, 160, 171, 0.32);
	border-radius: 12px;
	padding: 14px 16px;
	box-shadow: 0 16px 40px rgba(0, 0, 0, 0.8), 0 0 20px rgba(27, 160, 171, 0.1);
	backdrop-filter: blur(14px);
	-webkit-backdrop-filter: blur(14px);
	position: relative;
	color: #ffffff;
}

.fc-cookie-close {
	position: absolute;
	top: 8px;
	right: 10px;
	background: transparent;
	border: none;
	color: #7d9699;
	font-size: 20px;
	line-height: 1;
	cursor: pointer;
	padding: 4px 6px;
	transition: color 0.2s ease;
}

.fc-cookie-close:hover {
	color: #ffffff;
}

.fc-cookie-text {
	font-family: 'Inter', sans-serif;
	font-size: 12px;
	line-height: 1.45;
	color: #c9dbdd;
	margin: 0 0 12px 0;
	padding-right: 18px;
}

.fc-cookie-actions {
	display: flex;
	align-items: center;
	gap: 8px;
	flex-wrap: wrap;
}

.fc-cookie-btn {
	font-family: 'DM Sans', sans-serif;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	padding: 7px 12px;
	border-radius: 6px;
	cursor: pointer;
	transition: all 0.2s ease;
	border: none;
	display: inline-flex;
	align-items: center;
	justify-content: center;
}

.fc-cookie-btn.fc-btn-primary {
	background: #1BA0AB;
	color: #041012;
}

.fc-cookie-btn.fc-btn-primary:hover {
	background: #ffffff;
	color: #041012;
	box-shadow: 0 0 12px rgba(255, 255, 255, 0.35);
}

.fc-cookie-btn.fc-btn-secondary {
	background: rgba(255, 255, 255, 0.05);
	border: 1px solid rgba(27, 160, 171, 0.3);
	color: #c4d7d9;
}

.fc-cookie-btn.fc-btn-secondary:hover {
	background: rgba(27, 160, 171, 0.15);
	border-color: #1BA0AB;
	color: #ffffff;
}

.fc-cookie-link {
	font-family: 'Inter', sans-serif;
	font-size: 11px;
	color: #8fa6a8;
	background: none;
	border: none;
	padding: 4px 6px;
	margin-left: auto;
	cursor: pointer;
	text-decoration: underline;
	text-underline-offset: 3px;
	transition: color 0.2s ease;
}

.fc-cookie-link:hover {
	color: #1BA0AB;
}

/* Preferences Panel */
.fc-cookie-prefs-panel {
	padding: 16px;
}

.fc-cookie-prefs-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding-bottom: 8px;
	margin-bottom: 10px;
	border-bottom: 1px solid rgba(27, 160, 171, 0.2);
}

.fc-cookie-prefs-title {
	font-family: 'DM Sans', sans-serif;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: #1BA0AB;
}

.fc-cookie-back-link {
	font-family: 'Inter', sans-serif;
	font-size: 11px;
	color: #8fa6a8;
	background: none;
	border: none;
	cursor: pointer;
	padding: 2px 4px;
	transition: color 0.2s ease;
}

.fc-cookie-back-link:hover {
	color: #ffffff;
}

.fc-cookie-prefs-list {
	display: flex;
	flex-direction: column;
	gap: 10px;
	margin-bottom: 12px;
}

.fc-cookie-pref-row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
}

.fc-cookie-pref-info {
	display: flex;
	flex-direction: column;
	gap: 2px;
}

.fc-cookie-pref-info strong {
	font-size: 12px;
	color: #ffffff;
	font-weight: 600;
}

.fc-cookie-pref-info span {
	font-size: 10px;
	color: #8fa6a8;
	line-height: 1.25;
}

.fc-btn-block {
	width: 100%;
	padding: 9px;
}

/* Switch */
.fc-toggle-switch {
	position: relative;
	display: inline-block;
	width: 34px;
	height: 18px;
	flex-shrink: 0;
}

.fc-toggle-switch input {
	opacity: 0;
	width: 0;
	height: 0;
}

.fc-toggle-slider {
	position: absolute;
	cursor: pointer;
	top: 0; left: 0; right: 0; bottom: 0;
	background-color: #12282c;
	transition: .25s ease;
	border-radius: 18px;
	border: 1px solid rgba(27, 160, 171, 0.35);
}

.fc-toggle-slider:before {
	position: absolute;
	content: "";
	height: 12px;
	width: 12px;
	left: 2px;
	bottom: 2px;
	background-color: #7d9699;
	transition: .25s ease;
	border-radius: 50%;
}

.fc-toggle-switch input:checked + .fc-toggle-slider {
	background-color: #1BA0AB;
	border-color: #1BA0AB;
}

.fc-toggle-switch input:checked + .fc-toggle-slider:before {
	transform: translateX(16px);
	background-color: #041012;
}

.fc-toggle-switch input:disabled + .fc-toggle-slider {
	opacity: 0.6;
	cursor: not-allowed;
}

@media (max-width: 680px) {
	.fc-cookie-banner {
		bottom: 12px;
		left: 12px;
		right: 12px;
		width: calc(100% - 24px);
		max-width: none;
	}
}

