.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 { --ink:#0E1315; --ink-2:#161E21; --ink-line:#2A3437; --ivory:#F4EEE3; --paper:#EAE1D1; --brass:#C9A46A; --brass-deep:#8E6C3A; --oxblood:#6B2626; --stone:#A39B8C; --ink-soft:#4A4F4C; --font-display:Cormorant Garamond; --font-body:Manrope; --font-mono:JetBrains Mono; --fs-hero:clamp(3.25rem, 8.4vw, 8.75rem); --fs-h2:clamp(2.5rem, 5.2vw, 5rem); --fs-h3:clamp(1.6rem, 2.3vw, 2.15rem); --section-pad:clamp(5rem, 11vw, 10rem); --gutter:clamp(1.25rem, 5vw, 5.5rem); }
/* Start custom CSS *//* =========================================================
   Enrico's Lawfirm: site-wide polish (Elementor > Site Settings > Custom CSS)
   ========================================================= */

/* ---------- Base ---------- */
html { scroll-behavior: smooth; }
html, body { overflow-x: clip; }
body {
	background-color: #0E1315;
	font-family: "Manrope", sans-serif;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	text-rendering: optimizeLegibility;
}
::selection { background: #C9A46A; color: #0E1315; }
[id] { scroll-margin-top: 96px; }

/* Inline links inside text blocks inherit their colour (overrides the theme's default link pink) */
.elementor p a { color: inherit; text-decoration: none; transition: color .25s; }
.elementor p a:hover { color: #C9A46A; }

/* Italic accents in headings */
.elementor h1 em, .elementor h2 em, .elementor h3 em { font-style: italic; color: #C9A46A; }
#firm h2 em, #approach h2 em, #team h2 em, #tech-stack h2 em { color: #8E6C3A; }
#work-with-me h2 em { color: #6B2626; }

/* Film-grain texture over the whole page */
body::after {
	content: "";
	position: fixed;
	inset: 0;
	z-index: 9998;
	pointer-events: none;
	opacity: .05;
	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>");
}

/* ---------- Header (Theme Builder) ---------- */
.elementor-location-header {
	position: fixed;
	top: 0;
	left: 0;
	right: 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 {
	border-bottom: 1px solid transparent;
	transition: background-color .4s ease, padding .4s ease, border-color .4s ease, backdrop-filter .4s ease;
}
/* Solid bar once the visitor scrolls, and always on inner pages */
body.is-scrolled #site-header > nav,
body:not(.home) #site-header > nav {
	background-color: rgba(14, 19, 21, .94);
	-webkit-backdrop-filter: blur(14px) saturate(140%);
	backdrop-filter: blur(14px) saturate(140%);
	border-bottom-color: rgba(244, 238, 227, .08);
}
body.is-scrolled #site-header > nav { padding-top: .85rem; padding-bottom: .85rem; }
body:not(.home) .site-main, body:not(.home) main#content { padding-top: 140px; }

/* Demo / portfolio bar */
#site-header p a {
	font-weight: 700;
	text-decoration: underline;
	text-underline-offset: 3px;
}
#site-header p a:hover { color: #0E1315; text-decoration-thickness: 2px; }

/* Reading-progress hairline (element injected by the WPCode snippet) */
#el-scroll-progress {
	position: absolute;
	left: 0;
	bottom: -1px;
	height: 1px;
	width: 100%;
	background: #C9A46A;
	transform-origin: 0 50%;
	transform: scaleX(0);
	pointer-events: none;
}

/* Navigation menu */
#site-header .elementor-nav-menu--main .elementor-item {
	font-family: "Manrope", sans-serif;
	font-size: .74rem;
	font-weight: 600;
	letter-spacing: .18em;
	text-transform: uppercase;
	color: #F4EEE3;
	padding: 10px 0;
	margin: 0 15px;
}
#site-header .elementor-nav-menu--main .elementor-item:hover,
#site-header .elementor-nav-menu--main .elementor-item.elementor-item-active { color: #C9A46A; }
#site-header .elementor-nav-menu--main .elementor-item:after { background-color: #C9A46A; height: 1px; }
@media (max-width: 1240px) and (min-width: 1025px) {
	#site-header .elementor-nav-menu--main .elementor-item { margin: 0 9px; letter-spacing: .12em; }
}
#site-header .elementor-menu-toggle {
	background: transparent;
	color: #F4EEE3;
	font-size: 26px;
	padding: 10px;
	border: 1px solid rgba(244, 238, 227, .25);
}
/* Tablet & mobile: dropdown spans the full header width, out of the flex flow */
@media (max-width: 1024px) {
	#site-header .elementor-widget-nav-menu { position: static; }
	#site-header .elementor-menu-toggle { 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;
		max-height: calc(100vh - 140px);
		overflow-y: auto;
		box-shadow: 0 30px 60px rgba(0, 0, 0, .35);
	}
	#site-header > nav:has(.elementor-menu-toggle.elementor-active) { background-color: #0E1315; }
}
#site-header .elementor-menu-toggle svg { fill: #F4EEE3; width: 22px; height: 22px; }
#site-header .elementor-nav-menu--dropdown {
	background-color: #0E1315;
	border-top: 1px solid #2A3437;
	border-bottom: 1px solid #2A3437;
}
#site-header .elementor-nav-menu--dropdown a {
	color: #F4EEE3;
	font-family: "Cormorant Garamond", serif;
	font-size: 1.65rem;
	font-weight: 400;
	justify-content: center;
	padding: 16px 24px;
	border-left: 0;
}
#site-header .elementor-nav-menu--dropdown a:hover,
#site-header .elementor-nav-menu--dropdown a.elementor-item-active { background-color: #161E21; color: #C9A46A; }

/* ---------- Marquee strip ---------- */
#marquee-track { animation: el-marquee 42s linear infinite; will-change: transform; }
#marquee:hover #marquee-track { animation-play-state: paused; }
#marquee p span { color: #6B2626; font-style: normal; font-size: .55em; vertical-align: .35em; margin: 0 .45em; }
@keyframes el-marquee { from { transform: translateX(0); } to { transform: translateX(-50%); } }

/* ---------- FAQ accordion: custom +/× indicator ---------- */
#faq summary { list-style: none; position: relative; }
#faq summary::-webkit-details-marker { display: none; }
#faq summary::after {
	content: "";
	position: absolute;
	right: 0;
	top: 50%;
	width: 20px;
	height: 20px;
	margin-top: -10px;
	background:
		linear-gradient(#C9A46A, #C9A46A) center / 20px 1px no-repeat,
		linear-gradient(#C9A46A, #C9A46A) center / 1px 20px no-repeat;
	transition: transform .4s cubic-bezier(.2, .7, .2, 1);
}
#faq details[open] > summary::after { transform: rotate(135deg); }
#faq summary p { transition: color .25s; }
#faq summary:hover p { color: #C9A46A; }

/* ---------- Images ---------- */
#team img { display: block; }
#firm img, #contact img { display: block; }

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

/* ---------- Accessibility ---------- */
.elementor a:focus-visible, .elementor summary:focus-visible, .elementor button:focus-visible {
	outline: 2px solid #C9A46A;
	outline-offset: 3px;
}
@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	#marquee-track { animation: none; }
}/* End custom CSS */