body
{
	background-color: #0a0a0a !important;
}

#site-header {
    width: 100%;
    max-width: 100%;
    position: absolute;
    z-index: 1000;
    top: 8px;
    background: transparent !important;
    box-shadow: none !important;
}

.site-header .site-branding
{
	margin:auto;
}

@media (max-width: 767px) {
	#site-header {
		position: fixed;
		top: calc(env(safe-area-inset-top, 0px) + 8px);
		left: 0;
		right: 0;
		padding-left: 25px;
		padding-right: 25px;
	}

	.site-header .site-branding {
		margin: 0;
	}

	.site-header .custom-logo-link {
		display: inline-flex;
		align-items: center;
	}

	.site-header .custom-logo {
		width: 145px;
		height: auto;
	}
}

@media (min-width: 768px) {
	.site-header .site-branding
	{
		margin-left: 150px;
	}
}

.elementor-container,
.elementor-widget-wrap {
  padding: 0 !important;
}

.elementor-section.elementor-section-boxed > .elementor-container {
  max-width: 100%;
}

.elementor-element {
  max-width: 100%;
}

.elementor-top-section,
.elementor-top-container {
  padding: 0 !important;
}

.al-hero__content {
  width: min(96vw, 1800px);
  margin: 0 auto;
  min-height: calc(100svh - var(--al-nav-height, 0px));
  padding: clamp(2.75rem, 8vh, 6rem) clamp(0.5rem, 2vw, 2rem);
  display: flex;
  justify-content: center;
  align-items: center;
}

@media (min-width: 768px) {
  .al-hero__content {
    width: min(96vw, 1800px);
  }
}

.al-hero__title
{
	font-family: 'Be Vietnam Pro';
	font-style: normal;
	font-weight: 900;
	line-height: 88%;
	text-align: center;
	white-space: normal;
	font-size: clamp(3.2rem, min(14vw, 20vh), 12.5rem);
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 0.02em;
}

.al-hero__line
{
	display: block;
	width: 100%;
	text-align: center;
	white-space: nowrap;
}

@media (max-width: 1024px) {
  .al-hero__content {
    width: min(96vw, 1200px);
    padding-block: clamp(2.5rem, 7vh, 5rem);
  }

  .al-hero__title {
    text-align: center;
    font-size: clamp(2.9rem, min(14vw, 18vh), 9.5rem);
    line-height: 0.9;
  }
}

@media (max-width: 767px) {
  .al-hero__content {
    width: 100%;
    /* dvh: sincroniza la altura con el viewport dinámico (con/sin barra del navegador).
       Evita que el cálculo de scroll del pin quede desfasado cuando la barra
       de Safari/Chrome aparece o desaparece al deslizar el dedo. */
    min-height: 100dvh;
    padding: clamp(1.5rem, 4vh, 2.5rem) clamp(0.65rem, 4vw, 1.2rem);
  }

  .al-hero__title {
    font-size: clamp(3.4rem, 18vw, 7.8rem);
    line-height: 0.86;
    letter-spacing: -0.03em;
  }
}

body.admin-bar .al-hero__content {
  min-height: calc(100svh - var(--al-nav-height, 0px) - 32px);
}

@media screen and (max-width: 782px) {
  body.admin-bar .al-hero__content {
    min-height: calc(100svh - var(--al-nav-height, 0px) - 46px);
  }
}

.al-cinematic-card {
  width: 100vw;
  max-width: 100vw;
}

@media (min-width: 768px) {
	.al-cinematic-card {
	  width: 100vw;
	  max-width: 100vw;
	}
}

@media (max-width: 768px) {
	.al-cinematic-card {
		margin-bottom: 18px;
	}

	.al-cinematic-card__media {
		height: 80vh;
		height: 80dvh;
		max-height: 80dvh;
	}
}

/* Mobile cinematic cards: closer to top + taller media area (Android/iOS parity) */
@media (max-width: 767px) {
	.al-cinematic-pin-wrap {
		align-items: flex-start;
		min-height: 100dvh;
		padding-top: clamp(4.2rem, 10vh, 6rem);
	}

	.al-cinematic-card {
		width: calc(100vw - 1rem);
		max-width: calc(100vw - 1rem);
		margin-bottom: 14px;
	}

	.al-cinematic-card__media {
		height: 86svh;
		height: 86dvh;
		max-height: 86dvh;
	}

	.al-cinematic-card__cta {
		bottom: 10px;
	}
}

.al-cinematic-card__desc
{
	font-family: 'Be Vietnam Pro', sans-serif;
  width: min(88vw, 560px);
  margin: auto;
  font-style: normal;
  font-weight: 300;
  font-size: 16px;
  line-height: 142%;
  letter-spacing: 0;
  text-align: center;
}

@media (min-width: 768px) {
  .al-cinematic-card__desc {
    width: min(88vw, 560px);
  }
}

.al-cinematic-card__desc::after {
	content: "";
	display: block;
	width: 62px;
	border-bottom: 2px solid #F8F32B;
	margin: 8% auto 0%;
}

.al-cinematic-card__cta {
    position: absolute;
    bottom: 20px;
    left: 50%;
    transform: translate(-50%, 100%);
    z-index: 3;
    width: 100%;
}

@media (min-width: 768px) {
	.al-cinematic-card__cta {
	    bottom: -20px;
	}
}

.al-heading-xl
{
	font-family: 'Be Vietnam Pro', sans-serif;
	font-style: normal;
	font-weight: 800;
	font-size: 48px;
	line-height: 125%;
}

@media (min-width: 768px) {
	.al-heading-xl {
		font-size: 128px;
	}
}

.al-heading-lg
{
	font-family: 'Be Vietnam Pro', sans-serif;
	color: #FFF;
}

.al-heading-md
{
	font-family: 'Be Vietnam Pro', sans-serif;	
	font-style: normal;
	font-weight: 300;
	font-size: 16px;
	line-height: 150%;
	text-align: center;

	color: #F5F5F5;
}

@media (min-width: 768px) {
	.al-heading-md {
		font-size: 24px;
	}
}

/* Animated Lines section (scoped) */
.al-animated-lines__container {
  display: flex;
  justify-content: center;
}

.al-animated-lines__inner {
  width: min(100%, 980px);
  margin-inline: auto;
}

.al-animated-lines__text {
  max-width: 980px;
  margin-inline: auto;
  font-family: 'Be Vietnam Pro', sans-serif;
  font-style: normal;
  font-weight: 300;
  font-size: 24px;
  line-height: 150%;
  letter-spacing: 0;
  text-align: center;
}

@media (max-width: 1280px) {
  .al-animated-lines__inner {
    width: min(100%, 860px);
  }

  .al-animated-lines__text {
    max-width: 860px;
    font-size: 22px;
  }
}

@media (max-width: 767px) {
  .al-animated-lines__inner {
    width: min(100%, 94vw);
  }

  .al-animated-lines__text {
    max-width: 94vw;
    font-size: 16px;
  }
}


.al-cinematic-pin-wrap
{
	.al-text-md
	{
		font-family: 'Be Vietnam Pro', sans-serif;		
		font-style: normal;
		font-weight: 300;
		font-size: 16px;
		line-height: 142%;
		text-align: center;
		color: #FFFFFF;
    	width: 46%;
    	margin: auto;		
	}

	.al-cinematic-card__title
	{
		transform: translate(-50%, -62%);
	}

	@media (min-width: 768px) {
		.al-cinematic-card__title
		{
			transform: translate(-50%, -55%);
		}
	}

	.al-cinematic-card__cta{
		text-align:center;
	}

	.al-cinematic-card__cta a{
		font-family: 'Be Vietnam Pro', sans-serif;		
		text-decoration:none;
		font-style: normal;
		font-weight: 400;
		font-size: 16px;
		line-height: 50%;
		text-align: center;
    padding: 1rem 3.2rem;
    min-width: 243px;
    display: inline-block;

		color: #1E1E1E;
	}	
}

.al-outline-accordion[data-scroll-story="true"] {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100vw;
	max-width: 100vw;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
	height: 100svh;
	/* dvh fallback para el cálculo de altura del pin en mobile */
	min-height: 100dvh;
	padding-block: clamp(2.2rem, 5vw, 4.5rem);
	padding-inline: 0;
	box-sizing: border-box;
	background: transparent;
}

.al-outline-accordion[data-scroll-story="true"] .al-outline-accordion__track {
	position: relative;
	width: min(96vw, 1800px);
	margin-inline: auto;
	will-change: transform;
}

.al-outline-accordion[data-scroll-story="true"] .al-outline-item {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: clamp(110px, 12vh, 165px);
	border: none;
	padding: 0;
	overflow: visible;
}

.al-outline-accordion[data-scroll-story="true"] .al-outline-item:first-child {
	border-top: none;
}

.al-outline-accordion[data-scroll-story="true"] .al-outline-item__title {
	font-family: 'Be Vietnam Pro', sans-serif;
	font-style: normal;
	font-weight: 800;
	font-size: clamp(38px, 7vw, 80px);
	line-height: 1.05;
	letter-spacing: 0.01em;
	text-align: center;
	-webkit-text-fill-color: transparent;
	-webkit-text-stroke: 1px rgba(255, 255, 255, 0.25);
	color: transparent;
	margin: 0;
	padding: 0;
	transition: color 0.28s ease, -webkit-text-stroke 0.28s ease, -webkit-text-fill-color 0.28s ease;
	will-change: opacity, filter, transform;
}

.al-outline-accordion[data-scroll-story="true"] .al-outline-item.is-active .al-outline-item__title {
	-webkit-text-fill-color: #FFD400;
	-webkit-text-stroke: 0px transparent;
	color: #FFD400;
}

.al-outline-accordion[data-scroll-story="true"] .al-outline-item__desc {
	position: absolute;
	top: 50%;
	left: 50%;
	width: min(1200px, 94%);
	font-family: 'Inter', 'Inter Fallback', sans-serif;
	font-style: normal;
	font-weight: 700;
	font-size: clamp(22px, 3.2vw, 36px);
	line-height: 1.22;
	letter-spacing: -0.02em;
	text-align: center;
	color: rgba(255, 255, 255, 0.96);
	opacity: 0;
	height: auto;
	max-height: none;
	overflow: visible;
	pointer-events: none;
	z-index: 4;
	will-change: opacity, filter, transform;
}

.al-outline-accordion[data-scroll-story="true"] .al-outline-item__arrow {
	display: none;
}

.al-outline-accordion[data-scroll-story="true"] .al-outline-progress {
	position: absolute;
	right: clamp(2px, 0.5vw, 8px);
	top: 0;
	transform: none;
	width: 3px;
	height: 100%;
	background: rgba(255, 255, 255, 0.22);
	overflow: hidden;
}

.al-outline-accordion[data-scroll-story="true"] .al-outline-progress__fill {
	display: block;
	width: 100%;
	height: 100%;
	background: #F8F32B;
;
	transform-origin: center top;
	transform: scaleY(0);
}

.al-section--cinematic-cards {
	padding-bottom: clamp(0.35rem, 1vw, 0.75rem);
}

.al-section--services-scroll {
	padding-top: clamp(0.35rem, 1vw, 0.75rem);
}

.al-section--cinematic-cards .al-cinematic-card:last-child {
	margin-bottom: 0 !important;
}

@media (max-width: 768px) {
	.al-section--cinematic-cards .al-cinematic-card:last-child {
		margin-bottom: 0 !important;
	}
}

@media (max-width: 767px) {
	.al-outline-accordion[data-scroll-story="true"] {
		/* svh: Chrome/Safari redimensionan el vh cuando la barra aparece/desaparece;
		   dvh la sigue, pero produce reflow. Usamos ambos como fallback progresivo:
		   `88svh` es el tamaño estable mínimo, dvh se ajusta al vuelo. */
		height: 88svh;
		height: 88dvh;
		min-height: 88dvh;
		width: 100vw;
		max-width: 100vw;
		margin-left: calc(50% - 50vw);
		margin-right: calc(50% - 50vw);
		padding-inline: 0;
	}

	.al-outline-accordion[data-scroll-story="true"] .al-outline-accordion__track {
		width: calc(100vw - 2rem);
	}

	.al-outline-accordion[data-scroll-story="true"] .al-outline-item {
		min-height: clamp(95px, 11vh, 130px);
	}

	.al-outline-accordion[data-scroll-story="true"] .al-outline-item__title {
		font-size: clamp(26px, 8vw, 44px);
	}

	.al-outline-accordion[data-scroll-story="true"] .al-outline-item__desc {
		font-style: normal;
		font-weight: 300;
		font-size: clamp(16px, 4.2vw, 20px);
		line-height: 120%;
		letter-spacing: -0.03em;
		text-align: center;
		width: min(640px, 90%);
	}

	.al-outline-accordion[data-scroll-story="true"] .al-outline-progress {
		right: 2px;
		height: 100%;
	}
}

@media (min-width: 768px) {
	.al-outline-accordion[data-scroll-story="true"] .al-outline-item__desc {
		font-style: normal;
		font-weight: 700;
		font-size: 36px;
		line-height: 120%;
		letter-spacing: -0.03em;
		text-align: center;
		width: min(1200px, 94%);
	}
}

.al-founder__name
{
	font-family: 'Be Vietnam Pro';
	font-style: normal;
	font-weight: 700;
	font-size: 24px;
	line-height: 125%;
	text-align: center;
	color: #FFFFFF;
}

.al-founder__role
{
	font-family: 'Be Vietnam Pro';
	font-style: normal;
	font-weight: 300;
	font-size: 16px;
	line-height: 125%;
	text-align: center;
	letter-spacing: 0.25em;
	color: #F8F32B;
}

.al-founder__label
{
	font-family: 'Be Vietnam Pro';
	font-style: normal;
	font-weight: 700;
	font-size: 24px;
	line-height: 125%;
	color: #FFFFFF;
}

.al-founder__desc
{
	font-family: 'Be Vietnam Pro';
	font-style: normal;
	font-weight: 300;
	font-size: 16px;
	line-height: 142%;
	color: #FFFFFF;
}

.al-founder__cta-link {
  display: inline-block;
  padding: 0.8rem 2.2rem;
  background: #F8F32B;
  color: #0a0a0a;
  font-weight: 700;
  font-size: 0.95rem;
  border-radius: 100px;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.al-founder__cta-link:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 30px rgba(248, 243, 43, 0.3);
}

.al-founder__cta-link:focus-visible {
  transform: translateY(-2px);
  box-shadow: 0 8px 30px rgba(248, 243, 43, 0.3);
  outline: 2px solid #F8F32B;
  outline-offset: 3px;
}

.al-founder__cta a{
	font-family: 'Be Vietnam Pro', sans-serif;		
	text-decoration:none;
	font-style: normal;
	font-weight: 400;
	font-size: 16px;
	line-height: 50%;
	text-align: center;

	color: #1E1E1E;
}	

.al-cf7-form {
  display: flex;
  align-items: center;
  justify-content: center;
  max-width: 900px;
  margin: 0 auto;
  flex-direction: column;
  
  .al-heading-lg
  {
		font-family: 'Be Vietnam Pro';
		font-style: normal;
		font-weight: 900;
		font-size: 64px;
		line-height: 125%;
		text-align: center;
		color: #FFFFFF;
  }

	@media (min-width: 768px) {
		.al-heading-lg
		{
			font-size: 96px;
		}
	}

	.al-cf7-row input::placeholder,
	.al-cf7-row textarea::placeholder{
	  font-family: 'Be Vietnam Pro', sans-serif;
	  font-weight: 300;
	  font-size: 14px;
	  line-height: 20px;
	  color: #FFFFFF;
	}

	.al-cf7-row input::-webkit-input-placeholder,
	.al-cf7-row textarea::-webkit-input-placeholder{
	  font-family: 'Be Vietnam Pro', sans-serif;
	  font-weight: 300;
	  font-size: 14px;
	  line-height: 20px;
	  color: #FFFFFF;
	}

	.al-cf7-row input::-moz-placeholder,
	.al-cf7-row textarea::-moz-placeholder{
	  font-family: 'Be Vietnam Pro', sans-serif;
	  font-weight: 300;
	  font-size: 14px;
	  line-height: 20px;
	  color: #FFFFFF;
	}

	/* botón submit CF7 */
	.al-submit input[type="submit"]{
		width: auto;
		min-width: 243px;
		margin: 0 auto;

	  display: inline-block;
	  padding: 0.8rem 3.2rem;
	  background: #F8F32B;
		font-family: 'Be Vietnam Pro', sans-serif;		
		text-decoration:none;
		font-style: normal;
		font-weight: 700;
		font-size: 0.95rem;
		line-height: 1.2;
		text-align: center;

		color: #1E1E1E;

	  border-radius: 999px;
	  border: none;
	  cursor: pointer;

	  transition:transform 0.3s ease, box-shadow 0.3s ease;
	}

	/* hover */
	.al-submit input[type="submit"]:hover{
	  transform:translateY(-2px);
	  box-shadow:0 8px 30px rgba(248,243,43,0.3);
	}

	.al-submit input[type="submit"]:focus-visible{
	  transform:translateY(-2px);
	  box-shadow:0 8px 30px rgba(248,243,43,0.3);
	  outline:2px solid #F8F32B;
	  outline-offset:3px;
	}
	.al-submit p{
	  display:flex;
	  flex-direction: column;
	  justify-content:center;
	}	
}

/* iOS/Safari compatibility: explicit non-nested selectors */
.al-cinematic-pin-wrap .al-cinematic-card__cta {
	text-align: center;
	left: 50%;
	transform: translate(-50%, 100%);
	width: 100%;
}

.al-cinematic-pin-wrap .al-cinematic-card__cta a {
	font-family: 'Be Vietnam Pro', sans-serif;
	text-decoration: none;
	font-style: normal;
	font-weight: 400;
	font-size: 16px;
	line-height: 50%;
	text-align: center;
	padding: 1rem 3.2rem;
	min-width: 243px;
	display: inline-block;
	color: #1E1E1E;
}

.al-cf7-form .al-heading-lg {
	font-family: 'Be Vietnam Pro';
	font-style: normal;
	font-weight: 900;
	font-size: 64px;
	line-height: 125%;
	text-align: center;
	color: #FFFFFF;
}

@media (min-width: 768px) {
	.al-cf7-form .al-heading-lg {
		font-size: 96px;
	}
}

.al-cf7-form .al-cf7-row p {
	display: flex;
	gap: 20px;
	margin: 0;
}

.al-cf7-form .al-cf7-row br {
	display: none;
}

.al-cf7-form .al-cf7-row .wpcf7-form-control-wrap {
	flex: 1;
}

.al-cf7-form .al-cf7-row input,
.al-cf7-form .al-cf7-row textarea {
	width: 100%;
	padding: 14px 16px;
	font-size: 14px;
	box-sizing: border-box;
	background: rgba(255, 255, 255, 0.15);
	border: 1px solid rgba(255, 255, 255, 0.18);
	color: #FFFFFF;
}

.al-cf7-form .al-cf7-row textarea {
	min-height: 140px;
}

.al-cf7-form .al-cf7-row input::placeholder,
.al-cf7-form .al-cf7-row textarea::placeholder,
.al-cf7-form .al-cf7-row input::-webkit-input-placeholder,
.al-cf7-form .al-cf7-row textarea::-webkit-input-placeholder,
.al-cf7-form .al-cf7-row input::-moz-placeholder,
.al-cf7-form .al-cf7-row textarea::-moz-placeholder {
	font-family: 'Be Vietnam Pro', sans-serif;
	font-weight: 300;
	font-size: 14px;
	line-height: 20px;
	color: #FFFFFF;
}

.al-cf7-form .al-submit p {
	display: flex;
	flex-direction: column;
	justify-content: center;
}

/* CF7 submit button — explicit Safari/iOS-safe override */
.al-cf7-form .al-submit input[type="submit"],
.al-cf7-form .al-submit .wpcf7-submit {
	-webkit-appearance: none;
	appearance: none;
	background-color: #F8F32B !important;
	color: #1E1E1E !important;
	-webkit-text-fill-color: #1E1E1E;
	border: 0;
	border-radius: 999px;
	font-family: 'Be Vietnam Pro', sans-serif;
	font-weight: 700;
	font-size: 0.95rem;
	line-height: 1.2;
	text-align: center;
	opacity: 1;
}

@media (max-width: 767px) {
	.al-cf7-form .al-submit p {
		align-items: center;
		text-align: center;
	}

	.al-cf7-form .al-submit input[type="submit"],
	.al-cf7-form .al-submit .wpcf7-submit {
		display: block;
		width: min(240px, 68vw) !important;
		max-width: min(240px, 68vw);
		min-width: 0;
		margin-inline: auto;
		padding: 0.8rem 1.8rem;
	}
}

@media (max-width: 768px) {
	.al-cf7-form .al-cf7-row p {
		flex-direction: column;
	}
}


/* Footer */

.footer-builder{
	display:flex;
	flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
	border-top:1px solid #454545;
	padding: 50px 32px;
	gap:10px;
	width: 90%;
	margin: auto;
}

@media (min-width: 768px) {
	.footer-builder{
	  padding: 50px 92px;
  	width: 100%;
		margin: initial;
	}
}

.footer-social a{
	text-decoration:none;
}

.footer-location, .footer-social {
	font-family: 'Be Vietnam Pro';
	font-style: normal;
	font-weight: 400;
	font-size: 14px;
	line-height: 139%;
	color: #FFFFFF;
	max-width: 235px;
	display:flex;
	align-items:center;
	gap:12px;
}

.footer-social a{
	font-family: 'Be Vietnam Pro';
	font-style: normal;
	font-weight: 400;
	font-size: 14px;
	line-height: 139%;
	color: #FFFFFF;
}

.footer-location a,
.footer-location a:visited {
	color: #FFFFFF;
	text-decoration: none;
	transition: color 0.2s ease;
}

.footer-location a:hover,
.footer-location a:focus,
.footer-location a:focus-visible,
.footer-location a:active {
	color: #E5E510;
}


.footer-location::before{
	content:"";
	width:22px;
	height:30px;
	background:url('/wp-content/themes/hello-elementor-child/assets/img/location.png') no-repeat center;
	background-size:100% 100%;
	display:inline-block;
	flex-shrink:0;
}

.footer_linkedin
{
  display: flex;
  align-items: center;
  gap: 12px;
}

.footer_linkedin::before{
	content:"";
	width:25px;
	height:25px;
	background:url('/wp-content/themes/hello-elementor-child/assets/img/linkedin.png') no-repeat center;
	background-size:100% 100%;
	display:inline-block;
	flex-shrink:0;
}

.footer_linkedin a,
.footer_linkedin a:visited {
	color: #FFFFFF;
	text-decoration: none;
	transition: color 0.2s ease;
}

.footer_linkedin a:hover,
.footer_linkedin a:focus,
.footer_linkedin a:focus-visible,
.footer_linkedin a:active {
	color: #E5E510;
}
