/* Hamsa Mega Menu 4.0 — Pertecnica visual system
   Palette: graphite / warm white / controlled engineering gold.
   Typography intentionally uses local/system fonts: no external dependency. */
.hmm-final{
	--hmm-gold:#c9a227;
	--hmm-gold-dark:#a98213;
	--hmm-ink:#171717;
	--hmm-text:#343434;
	--hmm-muted:#6d6d6d;
	--hmm-line:#e7e3da;
	--hmm-surface:#ffffff;
	--hmm-soft:#f7f6f3;
	--hmm-shadow:0 18px 50px rgba(23,23,23,.13);
	position:relative;
	z-index:999999;
	width:100%;
	font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;
	color:var(--hmm-ink);
	-webkit-font-smoothing:antialiased;
}
.hmm-final *{box-sizing:border-box}
.hmm-final-root{
	display:flex;
	align-items:center;
	justify-content:flex-end;
	gap:2px;
}
.hmm-final-item{position:static;margin:0;padding:0}
.hmm-final-root-link{
	position:relative;
	display:flex!important;
	align-items:center;
	gap:9px;
	padding:13px 16px!important;
	margin:0!important;
	color:var(--hmm-ink)!important;
	background:transparent!important;
	border:0!important;
	border-radius:0!important;
	text-decoration:none!important;
	font-size:15px!important;
	font-weight:600!important;
	letter-spacing:.005em!important;
	line-height:1.25!important;
	white-space:nowrap;
	transition:color .18s ease,background-color .18s ease!important;
}
.hmm-final-root-link:after{
	content:"";
	position:absolute;
	left:16px;
	right:16px;
	bottom:4px;
	height:2px;
	background:var(--hmm-gold);
	transform:scaleX(0);
	transform-origin:center;
	transition:transform .18s ease;
}
.hmm-final-root:hover>.hmm-final-root-link,
.hmm-final-root-link:focus{
	color:var(--hmm-ink)!important;
	background:transparent!important;
}
.hmm-final-item:hover>.hmm-final-root-link:after,
.hmm-final-item.is-open>.hmm-final-root-link:after,
.hmm-final-root-link:focus-visible:after{transform:scaleX(1)}
.hmm-final-chevron{
	width:7px;
	height:7px;
	flex:0 0 7px;
	border-right:1.5px solid currentColor;
	border-bottom:1.5px solid currentColor;
	transform:rotate(45deg);
	margin-top:-4px;
	transition:transform .18s ease,margin-top .18s ease;
}
.hmm-final-item:hover>.hmm-final-root-link .hmm-final-chevron,
.hmm-final-item.is-open>.hmm-final-root-link .hmm-final-chevron{
	transform:rotate(225deg);
	margin-top:4px;
}

/* Desktop mega panel */
.hmm-final-panel{
	position:fixed!important;
	top:var(--hmm-final-panel-top,0px);
	left:50%!important;
	right:auto!important;
	width:min(var(--hmm-final-width,1220px),calc(100vw - 48px))!important;
	max-width:calc(100vw - 48px)!important;
	min-width:0!important;
	margin:0!important;
	padding:27px 30px 30px!important;
	background:var(--hmm-surface)!important;
	color:var(--hmm-text)!important;
	border:1px solid var(--hmm-line)!important;
	border-top:3px solid var(--hmm-gold)!important;
	border-radius:0 0 6px 6px!important;
	box-shadow:var(--hmm-shadow)!important;
	transform:translate(-50%,8px)!important;
	opacity:0!important;
	visibility:hidden!important;
	pointer-events:none!important;
	transition:opacity .17s ease,transform .17s ease,visibility .17s ease!important;
}
.hmm-final-item:hover>.hmm-final-panel,
.hmm-final-item.is-open>.hmm-final-panel{
	opacity:1!important;
	visibility:visible!important;
	pointer-events:auto!important;
	transform:translate(-50%,0)!important;
}
.hmm-final-panel-accent{
	width:42px;
	height:2px;
	background:var(--hmm-gold);
	margin:0 0 22px;
}
.hmm-final-grid{
	display:grid!important;
	width:100%!important;
	gap:0!important;
	align-items:start;
}
.hmm-final-grid-1{grid-template-columns:1fr!important}
.hmm-final-grid-2{grid-template-columns:repeat(2,minmax(0,1fr))!important}
.hmm-final-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))!important}
.hmm-final-grid-4{grid-template-columns:repeat(4,minmax(0,1fr))!important}
.hmm-final-grid-5{grid-template-columns:repeat(5,minmax(0,1fr))!important}
.hmm-final-grid-6{grid-template-columns:repeat(6,minmax(0,1fr))!important}

.hmm-final-column{
	min-width:0!important;
	padding:0 22px!important;
	border-right:1px solid var(--hmm-line)!important;
}
.hmm-final-column:first-child{padding-left:0!important}
.hmm-final-column:last-child{padding-right:0!important;border-right:0!important}
.hmm-final-column-title{
	position:relative;
	display:block!important;
	padding:0 0 12px!important;
	margin:0 0 6px!important;
	color:var(--hmm-ink)!important;
	background:transparent!important;
	text-decoration:none!important;
	font-size:13px!important;
	font-weight:700!important;
	letter-spacing:.055em!important;
	line-height:1.35!important;
	text-transform:uppercase!important;
	white-space:normal!important;
}
.hmm-final-column-title:after{
	content:"";
	display:block;
	width:26px;
	height:2px;
	margin-top:9px;
	background:var(--hmm-gold);
}
.hmm-final-column-title:hover{color:var(--hmm-ink)!important}
.hmm-final-links{display:flex!important;flex-direction:column!important;gap:1px}
.hmm-final-sub-link{
	display:flex!important;
	align-items:center;
	justify-content:space-between;
	gap:12px;
	width:100%!important;
	padding:6px 0!important;
	margin:0!important;
	color:#505050!important;
	background:transparent!important;
	border:0!important;
	text-decoration:none!important;
	font-size:13.5px!important;
	font-weight:400!important;
	line-height:1.45!important;
	white-space:normal!important;
	overflow-wrap:anywhere!important;
	transition:color .15s ease,padding-left .15s ease!important;
}
.hmm-final-sub-link:hover,
.hmm-final-sub-link:focus{
	color:var(--hmm-ink)!important;
	background:transparent!important;
	padding-left:4px!important;
}
.hmm-final-link-arrow{
	flex:0 0 auto;
	color:var(--hmm-gold-dark);
	font-style:normal;
	font-size:14px;
	opacity:0;
	transform:translateX(-4px);
	transition:opacity .15s ease,transform .15s ease;
}
.hmm-final-sub-link:hover .hmm-final-link-arrow,
.hmm-final-sub-link:focus .hmm-final-link-arrow{opacity:1;transform:translateX(0)}

.hmm-final a:focus-visible{
	outline:2px solid var(--hmm-gold)!important;
	outline-offset:3px;
}
.hmm-final-mobile-bar{display:none}
.hmm-final-mobile-toggle{
	border:0;
	background:transparent;
	cursor:pointer;
	font:inherit;
	color:var(--hmm-ink);
}
.hmm-final-hamburger{display:inline-flex;flex-direction:column;gap:4px}
.hmm-final-hamburger i{display:block;width:19px;height:2px;background:currentColor}

/* Medium desktop: retain hierarchy without making the menu visually dense. */
@media (max-width:1100px) and (min-width:901px){
	.hmm-final-root-link{padding-left:10px!important;padding-right:10px!important;font-size:14px!important}
	.hmm-final-panel{padding-left:22px!important;padding-right:22px!important}
	.hmm-final-column{padding-left:13px!important;padding-right:13px!important}
	.hmm-final-sub-link{font-size:12.5px!important}
}

