.elementor-kit-6{--e-global-color-primary:#6EC1E4;--e-global-color-secondary:#54595F;--e-global-color-text:#7A7A7A;--e-global-color-accent:#61CE70;--e-global-typography-primary-font-family:"Roboto";--e-global-typography-primary-font-weight:600;--e-global-typography-secondary-font-family:"Roboto Slab";--e-global-typography-secondary-font-weight:400;--e-global-typography-text-font-family:"Roboto";--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Roboto";--e-global-typography-accent-font-weight:500;}.elementor-kit-6 e-page-transition{background-color:#FFBC7D;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1140px;}.e-con{--container-max-width:1140px;}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}.site-header .site-branding{flex-direction:column;align-items:stretch;}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@media(max-width:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}:root { --bg:#0B0C0E; --surface:#141518; --surface-2:#1B1D21; --line:#26282D; --text:#EDEBE6; --muted:#8E9096; --mint:#6CFFB8; --orange:#FF6A3D; --font-sans:Geist; --font-serif:Instrument Serif; --font-mono:Geist Mono; --fs-hero:clamp(3rem, 7vw, 7rem); --fs-h2:clamp(2.3rem, 4.6vw, 4.4rem); --fs-h3:clamp(1.4rem, 2vw, 1.9rem); --section-pad:clamp(4.5rem, 9vw, 8rem); --gutter:clamp(1.25rem, 4.5vw, 5rem); }
/* Start custom CSS *//* =========================================================
   Enrico Fontebasso Barbieri: portfolio site-wide polish (Elementor > Site Settings > Custom CSS)
   Design tokens (--bg, --mint, --line ...) come from the kit's global variables.
   Geist + Geist Mono are loaded by the "Geist web fonts" Custom Code snippet.
   ========================================================= */

/* ---------- Base ---------- */
html { scroll-behavior: smooth; }
html, body { overflow-x: clip; }
body {
	background-color: var(--bg, #0B0C0E);
	color: var(--text, #EDEBE6);
	font-family: "Geist", system-ui, sans-serif;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}
::selection { background: #6CFFB8; color: #0B0C0E; }
[id] { scroll-margin-top: 90px; }

/* Inline links inside text blocks inherit their colour */
.elementor p a { color: inherit; text-decoration: none; transition: color .25s; }
.elementor p a:hover { color: #6CFFB8; }
.elementor a.e-button-base { text-decoration: none; }

/* Serif italic accents in headlines */
.elementor h1 em, .elementor h2 em {
	font-family: "Instrument Serif", Georgia, serif;
	font-style: italic;
	font-weight: 400;
	letter-spacing: -.01em;
	color: #6CFFB8;
	padding-right: .04em;
}

/* Soft noise texture over the whole page */
body::after {
	content: "";
	position: fixed;
	inset: 0;
	z-index: 9998;
	pointer-events: none;
	opacity: .035;
	background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='220' height='220'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>");
}

/* ---------- Hero (inline span classes are stripped by Elementor, so target by position) ---------- */
#top [data-interaction-id="56c28307"] span { color: #6CFFB8; font-weight: 600; margin-right: .3em; }
#top [data-interaction-id="56c28307"]::after {
	content: ""; display: inline-block; width: .55em; height: 1.05em; margin-left: .25em;
	background: #6CFFB8; vertical-align: text-bottom; animation: ef-caret 1.1s steps(1) infinite;
}
@keyframes ef-caret { 50% { opacity: 0; } }
#top img { display: block; }

/* ---------- Project cards ---------- */
/* Browser-window bar above each screenshot */
[data-interaction-id="29ae207f"]::before,
[data-interaction-id="46e7b15c"]::before,
[data-interaction-id="18e84b7e"]::before,
[data-interaction-id="3c611bbc"]::before {
	content: "";
	display: inline-block;
	width: 8px; height: 8px; border-radius: 50%;
	margin-right: 34px; vertical-align: middle;
	background: #FF6A3D;
	box-shadow: 13px 0 0 #3A3C42, 26px 0 0 #3A3C42;
}
#work img { display: block; transition: transform .8s cubic-bezier(.2, .7, .2, 1); }
#work [data-interaction-id="14cb967c"],
#work [data-interaction-id="6fdd9e43"],
#work [data-interaction-id="1b4ed4cf"],
#work [data-interaction-id="292d9cff"] { overflow: hidden; }
#work .e-grid:hover img { transform: scale(1.025); }

/* Tech chips (#work, #skills) */
[data-interaction-id="3fee2b4c"] span, [data-interaction-id="5cbc14d6"] span,
[data-interaction-id="6e52d1a4"] span, [data-interaction-id="13196cb0"] span,
#skills p span {
	display: inline-block;
	font-family: "Geist Mono", ui-monospace, monospace;
	font-size: .72rem;
	letter-spacing: .02em;
	line-height: 1.4;
	color: #EDEBE6;
	padding: .3rem .65rem;
	margin: 0 .25rem .45rem 0;
	border: 1px solid #26282D;
	border-radius: 999px;
	background: rgba(255, 255, 255, .02);
	transition: border-color .25s, color .25s;
}
[data-interaction-id="3fee2b4c"] span:hover, [data-interaction-id="5cbc14d6"] span:hover,
[data-interaction-id="6e52d1a4"] span:hover, [data-interaction-id="13196cb0"] span:hover,
#skills p span:hover { border-color: #6CFFB8; color: #6CFFB8; }

/* ---------- Header (Theme Builder) ---------- */
.elementor-location-header { position: sticky; top: 0; z-index: 1000; }
.admin-bar .elementor-location-header { top: 32px; }
@media (max-width: 782px) { .admin-bar .elementor-location-header { top: 46px; } }
@media (max-width: 600px) { .admin-bar .elementor-location-header { top: 0; } }
#site-header > nav {
	background-color: rgba(11, 12, 14, .72);
	-webkit-backdrop-filter: blur(16px) saturate(140%);
	backdrop-filter: blur(16px) saturate(140%);
	border-bottom: 1px solid rgba(237, 235, 230, .07);
}
#site-header [data-interaction-id="7ab4170c"] span { color: #6CFFB8; }
#site-header [data-interaction-id="7ab4170c"] a { color: inherit; }

/* Navigation menu */
#site-header .elementor-nav-menu--main .elementor-item {
	font-family: "Geist Mono", ui-monospace, monospace;
	font-size: .78rem;
	font-weight: 500;
	letter-spacing: .06em;
	text-transform: uppercase;
	color: #8E9096;
	padding: 8px 0;
	margin: 0 16px;
	transition: color .25s;
}
#site-header .elementor-nav-menu--main .elementor-item:hover,
#site-header .elementor-nav-menu--main .elementor-item:focus { color: #EDEBE6; }
#site-header .elementor-nav-menu--main .elementor-item::before {
	content: "/"; color: #6CFFB8; margin-right: .35em; opacity: 0; transition: opacity .25s;
}
#site-header .elementor-nav-menu--main .elementor-item:hover::before { opacity: 1; }
#site-header .elementor-menu-toggle {
	background: transparent;
	color: #EDEBE6;
	border: 1px solid #26282D;
	border-radius: 10px;
	padding: 9px;
}
#site-header .elementor-menu-toggle svg { fill: #EDEBE6; width: 20px; height: 20px; }
/* Mobile: dropdown spans the full header width, out of the flex flow */
@media (max-width: 767px) {
	#site-header .elementor-widget-nav-menu { position: static; margin-left: auto; }
	#site-header .elementor-nav-menu--dropdown.elementor-nav-menu__container {
		position: absolute !important;
		top: 100% !important;
		left: 0 !important;
		right: 0 !important;
		width: 100% !important;
		margin-top: 0 !important;
		background: #0B0C0E;
		border-top: 1px solid #26282D;
		border-bottom: 1px solid #26282D;
		box-shadow: 0 30px 60px rgba(0, 0, 0, .5);
	}
	#site-header .elementor-nav-menu--dropdown a {
		font-family: "Geist", sans-serif;
		font-size: 1.5rem;
		font-weight: 500;
		letter-spacing: -.02em;
		color: #EDEBE6;
		background: transparent;
		justify-content: center;
		padding: 16px 24px;
	}
	#site-header .elementor-nav-menu--dropdown a:hover,
	#site-header .elementor-nav-menu--dropdown a.elementor-item-active { background: #141518; color: #6CFFB8; }
}

/* ---------- Footer ---------- */
#site-footer p a:hover { color: #6CFFB8; }

/* ---------- Accessibility ---------- */
.elementor a:focus-visible, .elementor button:focus-visible {
	outline: 2px solid #6CFFB8;
	outline-offset: 3px;
}
@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	#top [data-interaction-id="56c28307"]::after { animation: none; }
	#work img { transition: none; }
}/* End custom CSS */