:root{--hm-navy:#171796;--hm-blue:#008DD2;--hm-cyan:#15DBDC;--hm-line:#dfe5ec;--hm-soft:#f4f7fa}
.shs-hm-block{font-family:"Space Grotesk",sans-serif;width:100%}
.shs-hm-head{display:flex;align-items:flex-end;justify-content:space-between;gap:28px;margin:0 0 24px}
.shs-hm-head h2{margin:6px 0 0;max-width:850px;font-size:clamp(31px,3.7vw,50px);line-height:1.04;letter-spacing:-.045em;color:#090b10}
.shs-hm-kicker{display:block;font-size:10px;font-weight:800;letter-spacing:.17em;text-transform:uppercase;color:var(--hm-navy)}
.shs-hm-arrows,.shs-inline-arrows{display:flex;gap:8px}
.shs-hm-arrows button,.shs-inline-arrows button{width:43px;height:43px;display:grid;place-items:center;padding:0;border:1px solid var(--hm-line);border-radius:50%;background:#fff;color:var(--hm-navy);cursor:pointer;transition:.2s}
.shs-hm-arrows svg,.shs-inline-arrows svg{width:20px;height:20px}
.shs-hm-arrows button:hover,.shs-inline-arrows button:hover{background:var(--hm-navy);color:#fff;border-color:var(--hm-navy);transform:translateY(-1px)}
.shs-hm-carousel{overflow:hidden;width:100%}
.shs-hm-track{display:flex;gap:16px;transform:translate3d(0,0,0);transition:transform .58s cubic-bezier(.2,.7,.2,1);will-change:transform}
.shs-hm-slide{flex:0 0 auto}

/* team */
.shs-team-card{width:calc((100% - 48px)/4);padding:20px 15px 19px;border:1px solid var(--hm-line);border-radius:24px;background:#fff;text-align:center;transition:.26s}
.shs-team-card:hover{transform:translateY(-5px);box-shadow:0 18px 44px rgba(17,28,72,.09)}
.shs-team-avatar{width:112px;height:112px;margin:0 auto 16px;border-radius:50%;overflow:hidden;background:linear-gradient(135deg,#eef8ff,#e8ffff);border:5px solid #fff;box-shadow:0 0 0 1px var(--hm-line);display:grid;place-items:center;color:var(--hm-navy);font-size:38px;font-weight:700}
.shs-team-avatar img{width:100%;height:100%;object-fit:cover;object-position:center top}
.shs-team-avatar--placeholder{background:linear-gradient(145deg,#10284b 0%,#006fae 58%,#21b9cf 100%);color:#fff;border-color:#fff;box-shadow:0 0 0 1px rgba(16,40,75,.12),0 12px 28px rgba(0,111,174,.18)}
.shs-team-placeholder-icon{width:72%;height:72%;filter:drop-shadow(0 5px 12px rgba(2,22,45,.18));opacity:.94}
.shs-team-group{display:block;margin-bottom:5px;font-size:8px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--hm-blue)}
.shs-team-card h3{margin:0 0 4px;font-size:17px;line-height:1.2}
.shs-team-role{min-height:35px;margin:0 0 10px;font-size:11px;line-height:1.4;color:#67717b}
.shs-team-links{display:flex;flex-direction:column;gap:3px}
.shs-team-links a{font-size:10px;font-weight:650;color:var(--hm-navy);text-decoration:none;overflow-wrap:anywhere}

/* logo carousels */
.shs-logo-card{width:calc((100% - 64px)/5);min-width:155px;min-height:132px;padding:16px 18px;border:1px solid var(--hm-line);border-radius:18px;background:#fff;text-align:center;transition:.23s}
.shs-logo-card a{text-decoration:none;color:inherit}
.shs-logo-card:hover{transform:translateY(-3px);box-shadow:0 14px 34px rgba(17,28,72,.07)}
.shs-logo-box{height:75px;display:grid;place-items:center}
.shs-logo-box img{max-width:100%;max-height:70px;width:auto;height:auto;object-fit:contain;filter:grayscale(1);opacity:.72;transition:.25s}
.shs-logo-card:hover .shs-logo-box img{filter:none;opacity:1}
.shs-logo-name{display:block;margin-top:8px;font-size:11px;font-weight:650;color:#4f5863}

/* testimonial */
.shs-testimonial-module>.shs-hm-kicker{color:var(--hm-cyan);margin-bottom:14px}
.shs-testimonial-carousel{border:1px solid rgba(255,255,255,.10);background:#151922}
.shs-testimonial-card{width:100%;display:grid;grid-template-columns:42% 58%;min-height:470px;background:#151922;color:#fff}
.shs-testimonial-media{min-height:470px;overflow:hidden;background:linear-gradient(135deg,#1c2c50,#171796)}
.shs-testimonial-media img{width:100%;height:100%;min-height:470px;object-fit:cover}
.shs-testimonial-placeholder{width:100%;height:100%;min-height:470px;display:grid;place-items:center;background:linear-gradient(135deg,#171796,#008DD2);position:relative;overflow:hidden}
.shs-testimonial-placeholder:after{content:"";position:absolute;width:330px;height:330px;border:1px solid rgba(21,219,220,.35);transform:rotate(45deg)}
.shs-testimonial-placeholder span{font-size:78px;font-weight:800;letter-spacing:-.08em;color:rgba(255,255,255,.15)}
.shs-testimonial-copy{padding:54px 58px;display:flex;flex-direction:column;justify-content:center;position:relative}
.shs-big-quote{position:absolute;right:36px;top:15px;font-size:130px;line-height:1;color:rgba(21,219,220,.14);font-family:Georgia,serif}
.shs-testimonial-copy blockquote{position:relative;z-index:1;margin:0 0 28px;font-size:clamp(25px,3.2vw,43px);line-height:1.16;letter-spacing:-.035em;font-weight:550}
.shs-testimonial-person strong{display:block;font-size:16px}
.shs-testimonial-person span{display:block;margin-top:4px;color:rgba(255,255,255,.58);font-size:12px}
.shs-inline-arrows{margin-top:30px}
.shs-inline-arrows button{background:transparent;border-color:rgba(255,255,255,.25);color:#fff}
.shs-inline-arrows button:hover{background:var(--hm-cyan);color:var(--hm-navy);border-color:var(--hm-cyan)}

/* tabs */
.shs-reference-tabs{margin-top:34px}
.shs-ref-tab-nav{display:flex;flex-wrap:wrap;gap:0;border-bottom:1px solid rgba(255,255,255,.14)}
.shs-ref-tab-nav button{appearance:none;border:0;border-top:1px solid rgba(255,255,255,.12);border-left:1px solid rgba(255,255,255,.12);background:transparent;color:rgba(255,255,255,.62);padding:14px 21px;font:700 12px/1.2 "Space Grotesk",sans-serif;cursor:pointer;transition:.22s}
.shs-ref-tab-nav button:last-child{border-right:1px solid rgba(255,255,255,.12)}
.shs-ref-tab-nav button:hover{color:#fff;background:rgba(255,255,255,.04)}
.shs-ref-tab-nav button.is-active{background:var(--hm-cyan);color:var(--hm-navy);border-color:var(--hm-cyan)}
.shs-ref-pane{display:none;padding-top:22px}
.shs-ref-pane.is-active{display:block;animation:shsPaneIn .45s ease}
.shs-ref-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.shs-ref-modern-card{background:#fff;color:#13171b;overflow:hidden;min-height:100%;transition:.28s}
.shs-ref-modern-card:hover{transform:translateY(-5px);box-shadow:0 22px 50px rgba(0,0,0,.20)}
.shs-ref-media{height:230px;overflow:hidden;background:#20272a}
.shs-ref-media img{width:100%;height:100%;object-fit:cover;transition:transform .65s}
.shs-ref-modern-card:hover .shs-ref-media img{transform:scale(1.045)}
.shs-ref-body{padding:21px}
.shs-ref-body>span{display:block;margin-bottom:7px;font-size:9px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--hm-blue)}
.shs-ref-body h3{margin:0 0 9px;font-size:21px;line-height:1.16}
.shs-ref-body p{margin:0 0 15px;font-size:12px;line-height:1.55;color:#65707a}
.shs-ref-body a{font-size:12px;font-weight:750;color:var(--hm-navy);text-decoration:none;border-bottom:1px solid var(--hm-cyan)}

.shs-module-empty{padding:20px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12)}
@keyframes shsPaneIn{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}

@media(max-width:1050px){
 .shs-team-card{width:calc((100% - 32px)/3)}
 .shs-logo-card{width:calc((100% - 48px)/4)}
 .shs-testimonial-card{grid-template-columns:40% 60%}
}
@media(max-width:800px){
 .shs-team-card{width:calc((100% - 16px)/2)}
 .shs-logo-card{width:calc((100% - 32px)/3)}
 .shs-ref-grid{grid-template-columns:1fr 1fr}
 .shs-testimonial-card{grid-template-columns:1fr}
 .shs-testimonial-media,.shs-testimonial-media img,.shs-testimonial-placeholder{min-height:320px;height:320px}
 .shs-testimonial-copy{padding:38px 30px}
}
@media(max-width:560px){
 .shs-hm-head{align-items:flex-end}
 .shs-hm-head h2{font-size:30px}
 .shs-team-card{width:82%}
 .shs-logo-card{width:46%;min-width:140px}
 .shs-ref-grid{grid-template-columns:1fr}
 .shs-ref-tab-nav{display:grid;grid-template-columns:1fr 1fr}
 .shs-ref-tab-nav button{border-right:1px solid rgba(255,255,255,.12)}
 .shs-testimonial-copy blockquote{font-size:26px}
}


/* Gutenberg editor preview */
.block-editor-block-list__block .shs-block-editor-preview{
	width:100%;
	pointer-events:none;
}
.block-editor-block-list__block .shs-block-editor-preview .shs-hm-block,
.block-editor-block-list__block .shs-block-editor-preview .shs-reference-tabs{
	pointer-events:none;
}
.block-editor-block-list__block .shs-block-editor-preview .shs-hm-carousel{
	overflow:hidden;
}
.editor-styles-wrapper .shs-hm-block{
	max-width:1240px;
	margin-left:auto;
	margin-right:auto;
}


/* ===== Unified reference system v2.2 ===== */
.shs-ref-modern-card{display:block;text-decoration:none}.shs-ref-home-link{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:10px;color:var(--hm-navy);font-size:11px;font-weight:750}.shs-ref-home-link b{color:var(--hm-blue);font-size:14px}
.shs-ref-placeholder{width:100%;height:100%;display:grid;place-items:center;background:linear-gradient(135deg,#171796,#0e486f);color:rgba(255,255,255,.18);font-size:44px;font-weight:800}
.shs-ref-gallery-module{font-family:"Space Grotesk",sans-serif;width:100%;position:relative}.shs-rg-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:1px solid rgba(255,255,255,.16);margin-bottom:26px}.shs-rg-tab{min-height:68px;display:flex;align-items:center;justify-content:center;gap:10px;padding:13px 14px;border:0;border-right:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.035);color:rgba(255,255,255,.68);font:700 12px/1.2 "Space Grotesk",sans-serif;cursor:pointer;transition:.22s}.shs-rg-tab:last-child{border-right:0}.shs-rg-tab span{font-size:9px;letter-spacing:.08em;opacity:.75}.shs-rg-tab:hover{background:rgba(255,255,255,.08);color:#fff}.shs-rg-tab.is-active{background:var(--hm-cyan);color:var(--hm-navy)}.shs-rg-panel{display:none}.shs-rg-panel.is-active{display:block;animation:shsPaneIn .42s ease}.shs-rg-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.shs-rg-card{background:#fff;border:1px solid var(--hm-line);overflow:hidden;cursor:pointer;transition:.25s}.shs-rg-card:not(.is-empty):hover,.shs-rg-card:not(.is-empty):focus{transform:translateY(-5px);box-shadow:0 18px 44px rgba(0,0,0,.13);border-color:rgba(21,219,220,.55);outline:none}.shs-rg-card.is-empty{cursor:default;opacity:.62}.shs-rg-media{position:relative;height:165px;overflow:hidden;background:#20272a}.shs-rg-media img{width:100%;height:100%;object-fit:cover;transition:transform .65s}.shs-rg-card:hover .shs-rg-media img{transform:scale(1.045)}.shs-rg-count{position:absolute;top:9px;right:9px;padding:4px 8px;background:rgba(8,16,29,.78);color:#fff;font-size:9px;font-weight:750}.shs-rg-body{padding:15px 15px 16px}.shs-rg-body h3{margin:0 0 11px;font-size:16px;line-height:1.2;color:#151a20}.shs-rg-open{display:flex;justify-content:space-between;gap:10px;color:var(--hm-navy);font-size:10px;font-weight:750}.shs-rg-open b{color:var(--hm-blue);font-size:14px}.shs-rg-lightbox{position:fixed;inset:0;z-index:999999;display:none;align-items:center;justify-content:center;padding:24px}.shs-rg-lightbox.is-open{display:flex}.shs-rg-backdrop{position:absolute;inset:0;background:rgba(5,10,18,.92);backdrop-filter:blur(8px)}.shs-rg-shell{position:relative;z-index:2;width:min(1180px,100%);max-height:calc(100vh - 48px);display:grid;grid-template-rows:auto minmax(0,1fr) auto;background:#111720;border:1px solid rgba(255,255,255,.12);color:#fff;overflow:hidden}.shs-rg-head{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:17px 20px;border-bottom:1px solid rgba(255,255,255,.10)}.shs-rg-head span{display:block;margin-bottom:3px;color:var(--hm-cyan);font-size:8px;font-weight:800;letter-spacing:.16em}.shs-rg-head h3{margin:0;font-size:18px}.shs-rg-head button{width:38px;height:38px;border:1px solid rgba(255,255,255,.2);border-radius:50%;background:rgba(255,255,255,.04);color:#fff;font-size:24px;cursor:pointer}.shs-rg-stage{position:relative;min-height:0;display:grid;place-items:center;padding:18px 66px;background:#080c12}.shs-rg-stage img{display:block;max-width:100%;max-height:68vh;width:auto;height:auto;object-fit:contain;transition:opacity .12s}.shs-rg-prev,.shs-rg-next{position:absolute;top:50%;z-index:3;width:42px;height:42px;transform:translateY(-50%);border:1px solid rgba(255,255,255,.2);border-radius:50%;background:rgba(255,255,255,.05);color:#fff;font-size:27px;cursor:pointer}.shs-rg-prev{left:14px}.shs-rg-next{right:14px}.shs-rg-prev:hover,.shs-rg-next:hover,.shs-rg-head button:hover{background:var(--hm-cyan);color:var(--hm-navy);border-color:var(--hm-cyan)}.shs-rg-foot{display:flex;align-items:center;gap:16px;padding:12px 16px;border-top:1px solid rgba(255,255,255,.10)}.shs-rg-foot>span{color:rgba(255,255,255,.58);font-size:10px}.shs-rg-thumbs{display:flex;gap:6px;overflow-x:auto}.shs-rg-thumb{width:52px;height:36px;flex:0 0 52px;padding:0;border:1px solid transparent;background:#222;opacity:.5;cursor:pointer;overflow:hidden}.shs-rg-thumb img{width:100%;height:100%;object-fit:cover}.shs-rg-thumb.is-active{border-color:var(--hm-cyan);opacity:1}body.shs-rg-no-scroll{overflow:hidden}
@media(max-width:1024px){.shs-rg-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:800px){.shs-rg-tabs{grid-template-columns:1fr 1fr}.shs-rg-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.shs-rg-tabs{display:block}.shs-rg-tab{width:100%;min-height:50px;justify-content:flex-start;border-right:0;border-bottom:1px solid rgba(255,255,255,.16)}.shs-rg-grid{grid-template-columns:1fr}.shs-rg-media{height:205px}.shs-rg-lightbox{padding:0}.shs-rg-shell{width:100%;height:100%;max-height:none;border:0}.shs-rg-stage{padding:12px 44px}.shs-rg-prev{left:4px}.shs-rg-next{right:4px}.shs-rg-foot{display:block}.shs-rg-foot>span{display:block;margin-bottom:7px}}


/* PhotoSwipe adapter – projektkártya teljes felülete kattintható */
.shs-rg-card-link{display:block;color:inherit;text-decoration:none}
.shs-rg-card-link:hover{color:inherit;text-decoration:none}
.shs-rg-photoswipe-links{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;white-space:nowrap!important;clip-path:inset(50%)!important}
.shs-rg-photoswipe-links img{width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important}


/* =========================================================
   V2.4 – FŐOLDALI REFERENCIÁK
   kompakt editorial kártyák + közvetlen PhotoSwipe
   ========================================================= */

.shs-reference-tabs-home{
	margin-top:28px;
}

.shs-reference-tabs-home .shs-ref-tab-nav{
	display:flex;
	flex-wrap:wrap;
	gap:0;
	margin:0 0 22px;
	border:0;
	border-bottom:1px solid rgba(255,255,255,.15);
}

.shs-reference-tabs-home .shs-ref-tab-nav button{
	position:relative;
	display:inline-flex;
	align-items:center;
	gap:8px;
	min-height:44px;
	padding:10px 17px;
	border:0;
	border-right:1px solid rgba(255,255,255,.09);
	background:transparent;
	color:rgba(255,255,255,.58);
	font:650 11px/1.2 "Space Grotesk",sans-serif;
	cursor:pointer;
	transition:.22s ease;
}

.shs-reference-tabs-home .shs-ref-tab-nav button:first-child{
	border-left:1px solid rgba(255,255,255,.09);
}

.shs-reference-tabs-home .shs-ref-tab-nav button::after{
	content:"";
	position:absolute;
	left:0;
	right:0;
	bottom:-1px;
	height:2px;
	background:transparent;
	transition:.22s ease;
}

.shs-reference-tabs-home .shs-ref-tab-nav button:hover{
	color:#fff;
	background:rgba(255,255,255,.035);
}

.shs-reference-tabs-home .shs-ref-tab-nav button.is-active{
	background:transparent;
	color:#fff;
}

.shs-reference-tabs-home .shs-ref-tab-nav button.is-active::after{
	background:var(--hm-cyan);
}

.shs-reference-tabs-home .shs-ref-home-tab-num{
	color:var(--hm-cyan);
	font-size:8px;
	font-weight:800;
	letter-spacing:.08em;
	opacity:.85;
}

.shs-reference-tabs-home .shs-ref-pane{
	display:none;
}

.shs-reference-tabs-home .shs-ref-pane.is-active{
	display:block;
	animation:shsHomeRefIn .38s ease;
}

@keyframes shsHomeRefIn{
	from{
		opacity:0;
		transform:translateY(8px);
	}
	to{
		opacity:1;
		transform:none;
	}
}

.shs-reference-tabs-home .shs-ref-grid{
	display:grid;
	grid-template-columns:repeat(3,minmax(0,1fr));
	gap:15px;
	align-items:stretch;
}

.shs-reference-tabs-home .shs-ref-modern-card{
	position:relative;
	display:block;
	min-height:0 !important;
	height:auto !important;
	overflow:hidden;
	background:#fff;
	border:1px solid rgba(255,255,255,.09);
	border-radius:0 !important;
	box-shadow:none;
	color:#111820;
	transition:
		transform .26s ease,
		box-shadow .26s ease,
		border-color .26s ease;
}

.shs-reference-tabs-home .shs-ref-modern-card:not(.is-empty):hover{
	transform:translateY(-4px);
	border-color:rgba(21,219,220,.34);
	box-shadow:0 18px 42px rgba(0,0,0,.16);
}

.shs-reference-tabs-home .shs-ref-home-card-link{
	display:flex;
	flex-direction:column;
	height:100%;
	color:inherit;
	text-decoration:none;
}

.shs-reference-tabs-home .shs-ref-media{
	position:relative;
	height:190px !important;
	overflow:hidden;
	background:#1d272c;
}

.shs-reference-tabs-home .shs-ref-media img{
	display:block;
	width:100%;
	height:100%;
	object-fit:cover;
	transition:transform .6s cubic-bezier(.2,.7,.2,1);
}

.shs-reference-tabs-home .shs-ref-modern-card:hover .shs-ref-media img{
	transform:scale(1.035);
}

.shs-reference-tabs-home .shs-ref-home-count{
	position:absolute;
	top:10px;
	right:10px;
	display:inline-flex;
	align-items:center;
	min-height:24px;
	padding:4px 8px;
	background:rgba(6,18,35,.78);
	color:#fff;
	font-size:8px;
	font-weight:750;
	letter-spacing:.04em;
	backdrop-filter:blur(5px);
	-webkit-backdrop-filter:blur(5px);
}

.shs-reference-tabs-home .shs-ref-body{
	display:flex;
	flex-direction:column;
	flex:1;
	min-height:132px !important;
	padding:17px 18px 16px !important;
}

.shs-reference-tabs-home .shs-ref-home-meta{
	display:block !important;
	margin:0 0 8px !important;
	color:var(--hm-blue) !important;
	font-size:8px !important;
	line-height:1.2 !important;
	font-weight:800 !important;
	letter-spacing:.14em !important;
	text-transform:uppercase !important;
}

.shs-reference-tabs-home .shs-ref-body h3{
	display:block !important;
	min-height:0 !important;
	margin:0 0 18px !important;
	color:#111820 !important;
	font-size:17px !important;
	line-height:1.18 !important;
	font-weight:650 !important;
	letter-spacing:-.018em !important;
	opacity:1 !important;
	visibility:visible !important;
}

.shs-reference-tabs-home .shs-ref-home-link{
	display:flex !important;
	align-items:center;
	justify-content:space-between;
	gap:12px;
	margin:auto 0 0 !important;
	padding-top:12px;
	border-top:1px solid #e7ebef;
	color:var(--hm-navy) !important;
	font-size:9px !important;
	line-height:1.2 !important;
	font-weight:750 !important;
	letter-spacing:.055em !important;
	text-transform:uppercase;
}

.shs-reference-tabs-home .shs-ref-home-link svg{
	width:15px;
	height:15px;
	flex:none;
	color:var(--hm-blue);
	transition:transform .2s ease;
}

.shs-reference-tabs-home .shs-ref-modern-card:hover .shs-ref-home-link svg{
	transform:translate(2px,-2px);
}

@media(max-width:900px){
	.shs-reference-tabs-home .shs-ref-grid{
		grid-template-columns:repeat(2,minmax(0,1fr));
	}
}

@media(max-width:620px){
	.shs-reference-tabs-home .shs-ref-tab-nav{
		display:grid;
		grid-template-columns:1fr 1fr;
	}

	.shs-reference-tabs-home .shs-ref-tab-nav button{
		justify-content:flex-start;
		border:1px solid rgba(255,255,255,.09);
		margin:-1px 0 0 -1px;
	}

	.shs-reference-tabs-home .shs-ref-grid{
		grid-template-columns:1fr;
	}

	.shs-reference-tabs-home .shs-ref-media{
		height:210px !important;
	}

	.shs-reference-tabs-home .shs-ref-body{
		min-height:118px !important;
	}
}
