.sh-hero{
	position:relative; height:calc(88vh - 100px); min-height:520px;
	width:100vw; margin-left:calc(50% - 50vw); /* fuerza ancho completo aunque la sección esté "contenida" en el page builder */
	margin-top:calc(-1 * var(--wp--style--block-gap, 2em)); /* cancela el espacio automático que Gutenberg mete entre bloques */
	overflow:hidden;
	display:flex; flex-direction:column; justify-content:flex-end;
	color:var(--sh-text-cream); font-family:'Inter', sans-serif;
}
.sh-hero-bg{
	position:absolute; inset:0;
	background:
		radial-gradient(ellipse 60% 50% at 70% 30%, rgba(232,179,96,.18), transparent 60%),
		linear-gradient(160deg, var(--sh-bg-warm) 0%, var(--sh-bg-dark) 65%);
	overflow:hidden;
}
.sh-hero-bg svg{ position:absolute; bottom:-4%; left:50%; transform:translateX(-50%); width:min(1400px, 140%); opacity:.5; }
.sh-hero-bg .glow{
	position:absolute; top:12%; right:14%; width:220px; height:220px;
	background:radial-gradient(circle, rgba(232,179,96,.35), transparent 70%);
	border-radius:50%; filter:blur(4px); animation:spPulse 6s ease-in-out infinite;
}
@keyframes spPulse{ 0%,100%{opacity:.6; transform:scale(1);} 50%{opacity:1; transform:scale(1.08);} }

.sh-hero video{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.sh-hero-overlay{
	position:absolute; inset:0;
	background:linear-gradient(180deg, rgba(10,12,16,.02) 0%, rgba(10,10,10,.42) 100%);
}

.sh-hero-copy{ position:relative; z-index:3; padding:0 clamp(20px,5vw,64px); max-width:680px; margin-bottom:64px; }
.sh-hero-copy h1{
	font-family:'Fraunces', serif; font-weight:500; font-size:clamp(2.1rem, 4.4vw, 3.4rem);
	line-height:1.12; letter-spacing:-.01em;
	color:var(--sh-text-cream) !important;
	text-shadow:0 2px 12px rgba(0,0,0,.45);
}
.sh-hero-copy h1 em{ font-style:italic; color:var(--sh-accent-gold) !important; font-weight:400; }
.sh-hero-copy p.sub{ margin-top:18px; font-size:1.15rem; color:var(--sh-text-cream) !important; max-width:480px; line-height:1.55; text-shadow:0 2px 10px rgba(0,0,0,.55); }

.sh-hero-cta{
	display:inline-block; margin-top:24px;
	background:var(--sh-accent-gold) !important; color:#3a2a12 !important;
	text-decoration:none; font-weight:700; font-size:.95rem;
	padding:13px 28px; border-radius:100px;
	transition:background .2s ease, transform .2s ease;
}
.sh-hero-cta:hover{ background:#f0c078 !important; transform:translateY(-1px); }

@media (max-width:760px){
	.sh-hero{ height:calc(78vh - 80px); min-height:480px; }
}
