/* Neutralise Elementor wrappers around the theme's section widgets so the original
   Webflow CSS (sticky, pin, 100vh, direct-child selectors) behaves exactly like the source. */
.main-wrapper .e-con.aha-wrap,
.main-wrapper .e-con.aha-wrap > .e-con-inner {
	--display: block; --flex-direction: column;
	--padding-top: 0px; --padding-right: 0px; --padding-bottom: 0px; --padding-left: 0px;
	--margin-top: 0px; --margin-bottom: 0px; --gap: 0px; --row-gap: 0px; --column-gap: 0px;
	--content-width: 100%; --width: 100%;
	display: block; width: 100%; max-width: none; padding: 0; margin: 0; gap: 0; min-height: 0;
}
.main-wrapper [class*="elementor-widget-aha_"],
.main-wrapper [class*="elementor-widget-aha_"].elementor-widget:not(:last-child) {
	margin: 0; width: 100%; max-width: none;
}
.main-wrapper [class*="elementor-widget-aha_"] > .elementor-widget-container { display: contents; }
.elementor-page .main-wrapper { overflow: visible; }
/* Admin bar offset for the fixed nav */
.admin-bar .header { top: 32px; }
@media (max-width: 782px) { .admin-bar .header { top: 46px; } }


/* ---- Protect theme buttons/links from Elementor Kit (Site Settings) button & link styles ---- */
html body button.brand, html body button.brand:hover, html body button.brand:focus, html body button.brand:active,
html body .footer__links-list-item button, html body .footer__links-list-item button:hover, html body .footer__links-list-item button:focus {
	font: inherit; letter-spacing: inherit; line-height: inherit; text-transform: none; text-shadow: none; box-shadow: none;
	padding: 0; border: 0; border-radius: 0; background: transparent; color: inherit; box-sizing: border-box;
}
html body button.brand { max-width: 100%; }
html body button.portfolio-orbit__btn, html body button.portfolio-orbit__btn:hover, html body button.portfolio-orbit__btn:focus {
	font: inherit; text-shadow: none; box-shadow: none;
	padding: 0; background: transparent; color: var(--dark-blue);
	border: 1px solid #2a409333; border-left-color: #2a409399; border-radius: .4em;
}
html body a.button-007, html body a.button-007:hover { font-weight: inherit; letter-spacing: inherit; text-decoration: none; }
html, body { overflow-x: clip; }

/* ---- Mobile: compact hero (labels right under the photo) + shorter services intro ---- */
@media (max-width: 767px) {
	.hero {
		height: auto; min-height: 0;
		flex-direction: column; align-items: stretch; justify-content: flex-start;
		padding: 6.25em 1em 1.5em; /* room so the big name sits above the photo, not on it */
	}
	.hero-bg-wrap {
		position: relative; inset: auto;
		width: calc(100% + 2em); height: auto;
		margin: 0 -1em 1.25em;
		transform: none !important;
	}
	.hero-bg-wrap img {
		display: block; width: 100%; height: auto;
		aspect-ratio: 1 / 1; max-height: 80svh; object-fit: cover; object-position: top center;
	}
	.scroll-draw-transition { min-height: 0; }
	.services-header__w { height: auto; min-height: 0; padding: 4.5em 1em; }
}

/* ---- v1.6.1: footer = 2 aligned columns (Socials + Quick Links), no contact column ---- */
@media (min-width: 768px) {
	.footer-content-w { justify-content: flex-start; align-items: flex-start; }
	.footer-content-w .demo-footer__col { width: calc(50% - 1.25em); flex: 0 0 calc(50% - 1.25em); align-items: flex-start; }
	.footer-content-w .footer__links-label,
	.footer-content-w .footer__links-list,
	.footer-content-w .footer__links-list-item { margin: 0; text-align: left; }
	.footer-content-w .footer__links-list { padding-left: 0; }
}

/* ---- v1.6.1: portfolio slider prev/next arrows – always visible (Elementor kit can't hide them) ---- */
html body .portfolio-orbit__overlay-nav { display: flex !important; opacity: 1 !important; visibility: visible !important; position: relative; z-index: 2001; pointer-events: auto; }
html body button.portfolio-orbit__btn {
	display: flex !important; align-items: center; justify-content: center;
	width: 3.5em; height: 3.5em; min-width: 3.5em; min-height: 3.5em; flex: none;
	opacity: 1; visibility: visible; cursor: pointer;
	color: var(--dark-blue) !important; background: transparent;
	border: 1px solid rgba(42, 64, 147, .6); border-radius: .4em; position: relative;
}
html body button.portfolio-orbit__btn .portfolio-orbit__btn-arrow { display: block !important; width: 1em; height: .75em; opacity: 1; color: var(--dark-blue); }
html body button.portfolio-orbit__btn .portfolio-orbit__btn-arrow path { fill: currentColor; }

/* ---- v1.7.0: Video section (after Skills & Tools) ---- */
.video-section { display: flex; flex-flow: column; align-items: center; gap: 3em; width: 100%; padding: 7.5em 2em; }
.video-section__head { display: flex; flex-flow: column; align-items: center; gap: 1.5em; width: 100%; max-width: 66em; text-align: center; }
.video-section__text { max-width: 42em; margin: 0; text-align: center; }
.video-section__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2em; width: 100%; max-width: 70em; }
.video-section__grid.is--single { grid-template-columns: minmax(0, 1fr); }
.video-section__item { display: flex; flex-flow: column; gap: .75em; margin: 0; min-width: 0; }
.video-section__item-title { margin: 0; font-size: 1.25em; font-weight: 600; line-height: 1.3; }
.video-section__frame { position: relative; width: 100%; overflow: hidden; border-radius: 1em; background: var(--ink-black); }
.video-section__frame.is--auto { aspect-ratio: auto; }
.video-section__video { display: block; width: 100%; height: 100%; object-fit: cover; background: var(--ink-black); }
.video-section__frame.is--auto .video-section__video { height: auto; object-fit: contain; }
.video-section__caption { margin: 0; text-align: left; font-size: .875em; opacity: .7; }
@media (max-width: 767px) { .video-section { padding: 5em 1em; gap: 2em; } .video-section__grid { grid-template-columns: minmax(0, 1fr); } .video-section__frame { border-radius: .75em; } }

/* ---- v1.8.1: footer links in ONE line, columns sized to their content, empty columns hidden ---- */
.footer-content-w { flex-wrap: wrap; justify-content: flex-start; align-items: flex-start; column-gap: 6em; }
.footer-content-w .demo-footer__col { width: auto; flex: 0 1 auto; align-items: flex-start; }
.footer-content-w .footer__links-list { flex-flow: row wrap; align-items: center; column-gap: 2.5em; row-gap: .5em; }
.footer-content-w .footer__links-list-item { margin: 0; white-space: nowrap; }
