/* =========================================
   HERO SECTION — REMOVE DARK OVERLAY
   ========================================= */

/* Keep the main hero container transparent */
body.home .hero {
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
}

/* Remove overlay pseudo-elements */
body.home .hero::before,
body.home .hero::after,
body.home .hero__media::before,
body.home .hero__media::after,
body.home .hero-media::before,
body.home .hero-media::after,
body.home .hero__background::before,
body.home .hero__background::after,
body.home .hero-background::before,
body.home .hero-background::after {
  content: none !important;
  display: none !important;
  background: none !important;
  background-color: transparent !important;
  background-image: none !important;
  opacity: 0 !important;
}

/* Remove possible overlay elements */
body.home .hero__overlay,
body.home .hero-overlay,
body.home .media-overlay,
body.home .hero__shade,
body.home .hero-shade {
  display: none !important;
  background: none !important;
  background-color: transparent !important;
  background-image: none !important;
  opacity: 0 !important;
}

/* Restore the original image and video appearance */
body.home .hero img,
body.home .hero video,
body.home .hero picture,
body.home .hero__media img,
body.home .hero__media video,
body.home .hero-media img,
body.home .hero-media video,
body.home .hero__background img,
body.home .hero__background video {
  opacity: 1 !important;
  filter: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  mix-blend-mode: normal !important;
}

/* Remove dark backgrounds and gradients from media containers */
body.home .hero__media,
body.home .hero-media,
body.home .hero__background,
body.home .hero-background,
body.home .hero_media {
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
  filter: none !important;
  opacity: 1 !important;
  mix-blend-mode: normal !important;
}

/* =========================================
   GLOBAL FONT
   ========================================= */

html,
body,
button,
input,
textarea,
select,
h1,
h2,
h3,
h4,
h5,
h6,
p,
span,
a,
li {
    font-family: "Matangi", sans-serif !important;
}

.hero-media__title {
    font-size: clamp(4rem, 8vw, 6rem) !important;
}

/* =========================================
   FIX HERO TITLE DESCENDER CLIPPING
   WITHOUT MOVING OTHER HERO CONTENT
   ========================================= */

body.home .hero-media__title {
  overflow: visible !important;
}

/* Target the wrappers created by the split-text animation */
body.home .hero-media__title .line,
body.home .hero-media__title .word,
body.home .hero-media__title .char,
body.home .hero-media__title [class*="line"],
body.home .hero-media__title [class*="word"],
body.home .hero-media__title [class*="char"] {
  overflow: visible !important;
  padding-bottom: 0.18em !important;
  margin-bottom: -0.77em !important;
}

/* =========================================
   HERO INTRODUCTION TEXT
   ========================================= */

body.home .hero-media__title-block {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.35rem;
}

/* Smaller text above the name */
body.home .hero-media__eyebrow {
  margin: 0;
  font-family: "Matangi", sans-serif !important;
  font-size: clamp(1.5rem, 2.6vw, 3rem) !important;
  font-weight: 300 !important;
  line-height: 1.7 !important;
  color: white !important;
}

/* Main hero title */
body.home .hero-media__title {
  margin: 0;
  font-family: "Matangi", sans-serif !important;
  font-size: clamp(4rem, 7vw, 6rem) !important;
  font-weight: 500 !important;
  line-height: 1.75 !important;
  overflow: visible !important;
}

/* Gold color for Diego only */
body.home .hero-media__name {
  color: #a68754 !important;
  font: inherit !important;
}

.hero-title-mobile-break {
  display: none;
}

/* =========================================
   FOOTER BACKGROUND FIX
   ========================================= */

.footer {
    position: relative !important;
    overflow: hidden !important;
}

/* Make the image fill the ENTIRE footer */
.footer__background {
    position: absolute !important;
    inset: 0 !important;

    width: 100% !important;
    height: 100% !important;

    z-index: 0 !important;
    pointer-events: none !important;

    background: transparent !important;
}

/* Footer image */
.footer__background > img,
.footer-background {
    position: absolute !important;
    inset: 0 !important;

    width: 100% !important;
    height: 100% !important;

    /*
       Shows the entire image across the footer.
       Unlike cover, this will NOT crop the edges.
    */
    object-fit: fill !important;
    object-position: center !important;

    opacity: 1 !important;
    filter: none !important;
    transform: none !important;
    mix-blend-mode: normal !important;
}

/* Hide the old LINKA description over the image */
.footer__background .footer__text {
    display: none !important;
}

/* Keep the ORIGINAL footer grid above the image */
.footer__container {
    position: relative !important;
    z-index: 2 !important;
}

/* Ensure footer content stays visible */
.footer__container > .navigation,
.footer__socials,
.footer__newsletter,
.footer__logo,
.footer__legals {
    z-index: 3 !important;
}

/* Restore full visibility of text/links */
.footer .navigation,
.footer .navigation__title,
.footer .navigation__title a,
.footer .navigation__link,
.footer__socials,
.footer__socials a,
.footer__newsletter,
.footer__newsletter label,
.footer__legals,
.footer__legals a {
    opacity: 1 !important;
    visibility: visible !important;
    color: white !important;
}

/* Remove only decorative overlay layers */
.footer::before,
.footer::after,
.footer__background::before,
.footer__background::after {
    content: none !important;
    display: none !important;
}

/* =========================================
   HERO BIBLE VERSE
   ========================================= */

/* body.home .homepage-hero__intro .hero-verse {
    width: 100% !important;
    max-width: 720px !important;

    margin: 0 auto !important;

    text-align: center !important;
    color: white !important;

    font-family: "Matangi", sans-serif !important;
} */

/* Main quote */
body.home .hero-verse__quote {
    margin: 0 !important;

    font-family: "Matangi", sans-serif !important;
    font-size: clamp(1.7rem, 1.45vw, 1.45rem) !important;
    font-weight: 700 !important;
    line-height: 1.57 !important;
    text-align: center !important;
    color: white !important;
}

/* Gold word */
body.home .hero-verse__gold {
    color: #101c33 !important;
}

/* Proverbs reference */
body.home .hero-verse__reference {
    margin: 0.35rem 0 0 !important;

    font-family: "Matangi", sans-serif !important;
    font-size: clamp(0.9rem, 1.2vw, 1.2rem) !important;
    font-weight: 607 !important;
    font-style: italic !important;

    text-align: center !important;
    color: white !important;
}

/* =========================================
   WIDEN HERO VERSE AREA + CENTER BUTTON
   ========================================= */

/* body.home .homepage-hero__intro {
    grid-column: 8 / 17 !important;

    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;

    text-align: center !important;
} */

/* Verse container */
/* body.home .homepage-hero__intro .hero-verse {
    width: 100% !important;
    max-width: 900px !important;

    margin: 0 auto !important;

    text-align: center !important;
} */

/* Main verse text */
body.home .hero-verse__quote {
    width: 100% !important;
    max-width: none !important;

    margin: 0 !important;

    text-align: center !important;
    white-space: normal !important;
}

/* Reference */
body.home .hero-verse__reference {
    margin-top: 0.35rem !important;
    margin-bottom: 0 !important;

    text-align: center !important;
}

/* About Me button directly under verse */
/* body.home .homepage-hero__intro > .button {
    margin-top: 1.1rem !important;
    margin-left: auto !important;
    margin-right: auto !important;

    align-self: center !important;
} */

/* =========================================
   HERO VERSE FINAL SPACING FIX
   ========================================= */

/* Add space between hero name and Bible verse */
body.home .homepage-hero__intro {
    margin-top: 3rem !important;
}

/* Prevent Proverbs 9:10 from being clipped */
body.home .hero-verse__reference {
    overflow: visible !important;
    padding-bottom: 0.25em !important;
    line-height: 1.3 !important;
}

/* Split-text creates wrappers around the text.
   Make sure those wrappers don't clip the 10. */
body.home .hero-verse__reference .line,
body.home .hero-verse__reference .word,
body.home .hero-verse__reference .char,
body.home .hero-verse__reference [class*="line"],
body.home .hero-verse__reference [class*="word"],
body.home .hero-verse__reference [class*="char"] {
    overflow: visible !important;
    padding-bottom: 0.25em !important;
}



/* =========================================
   EXPERTISE TITLES
   ========================================= */

body.home .expertise__title {
    font-size: clamp(6.7rem, 4vw, 4rem) !important;
    line-height: 1.77 !important;
}

body.home .expertise__link {
    font-size: inherit !important;
}

.contact-form__row .newsletter__input:last-child {
    border-left: 1px solid rgba(255,255,255,.15);
}

/* =========================================
   WIDER FOOTER CONTACT FORM
   ========================================= */

.footer__newsletter {
  grid-column: 1 / 8 !important;
  width: 100% !important;
  max-width: none !important;
}

.contact-form,
.contact-form__row,
.contact-form__message {
  width: 100% !important;
  max-width: none !important;
}

/* Name and email get equal usable width */
.contact-form__row {
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
}

/* Prevent the email field from being clipped */
.contact-form__row .newsletter__input {
  min-width: 0 !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

.copyright-diego {
    width: 100% !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;

    text-align: center !important;

    padding: 7px 0 !important;
    margin: 0 !important;

    color: white !important;
    font-weight: 400 !important;
}

.copyright-diego i {
    color: #a68754;
    margin: 0 6px;
}

/* Make the copyright span the entire footer width */
body.home .footer__legals,
body.home .footer__copyright {
    width: 100% !important;
    display: flex !important;
    justify-content: center !important;
}

@media (max-width: 768px) {
  .footer,
  .footer.parallax-section,
  .footer__container,
  .parallax-section__container {
    height: auto !important;
    min-height: auto !important;
  }

  .footer__container {
    padding-top: 2rem !important;
    padding-bottom: 2rem !important;
  }

  .footer__newsletter {
    grid-column: 1 / -1 !important;
  }
}

/* =========================================
   FIXED, COMPACT DESKTOP FOOTER
   ========================================= */

/* Lock the footer to one consistent desktop height */
body.home .footer,
body.home .footer.parallax-section {
  width: 100% !important;

  height: 480px !important;
  min-height: 480px !important;
  max-height: 480px !important;

  overflow: hidden !important;
}

/* Lock the inner grid to the same height */
body.home .footer .footer__container,
body.home .footer .parallax-section__container {
  height: 480px !important;
  min-height: 480px !important;
  max-height: 480px !important;

  padding-top: 1.5rem !important;
  padding-bottom: 1.25rem !important;

  box-sizing: border-box !important;
  overflow: hidden !important;
}

/* Keep the background locked to the footer */
body.home .footer__background,
body.home .footer__background > img,
body.home .footer-background {
  width: 100% !important;
  height: 480px !important;
  min-height: 480px !important;
  max-height: 480px !important;
}

/* Give the form enough horizontal room */
body.home .footer__newsletter {
  grid-column: 1 / 9 !important;
  width: 100% !important;
  max-width: none !important;
}

/* Keep both top fields equal and prevent clipping */
body.home .contact-form__row {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;

  width: 100% !important;
  max-width: none !important;
}

body.home .contact-form__row .newsletter__input {
  width: 100% !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
}

/* Keep the message row at one fixed size */
body.home .contact-form__message {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;

  width: 100% !important;
  height: 92px !important;
  min-height: 92px !important;
  max-height: 92px !important;

  overflow: hidden !important;
}

/* Prevent the textarea handle from resizing the footer */
body.home .contact-form__textarea {
  width: 100% !important;

  height: 92px !important;
  min-height: 92px !important;
  max-height: 92px !important;

  resize: none !important;
  overflow-y: auto !important;

  box-sizing: border-box !important;
}

/* Keep the Submit button the same height as the message box */
body.home .contact-form__message .newsletter__button {
  height: 92px !important;
  min-height: 92px !important;
  max-height: 92px !important;

  align-self: stretch !important;
}

body.home .footer__socials {
  transform: none !important;
}

@media (max-width: 768px) {
  body.home .footer,
  body.home .footer.parallax-section,
  body.home .footer .footer__container,
  body.home .footer .parallax-section__container {
    height: auto !important;
    min-height: auto !important;
    max-height: none !important;
    overflow: visible !important;
  }

  body.home .footer__background,
  body.home .footer__background > img,
  body.home .footer-background {
    height: 100% !important;
    min-height: 100% !important;
    max-height: none !important;
  }

  body.home .footer__socials {
    transform: none !important;
  }

  body.home .contact-form__message,
  body.home .contact-form__textarea {
    height: 110px !important;
    min-height: 110px !important;
    max-height: 110px !important;
  }
}

body.home main,
body.home .page-template-homepage,
body.home .page-template-homepage > section:last-child,
body.home .expertises {
  border-bottom: 0 !important;
  border-block-end: 0 !important;
  box-shadow: none !important;
}

/* Remove line above footer */
.footer {
    border-top: none !important;
}

.footer::before,
.footer::after,
body.home .footer.parallax-section::before,
body.home .footer.parallax-section::after {
  content: none !important;
  display: none !important;
  border: 0 !important;
  box-shadow: none !important;
}
/* Remove bottom border from previous section */
.page-template-homepage > section:last-of-type {
    border-bottom: none !important;
}

.footer {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
}

.footer__container {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
}

/* Remove the horizontal line at the top of the footer */
body.home .footer,
body.home .footer__container,
body.home .parallax-section__container {
  border-top: 0 !important;
  outline: 0 !important;
  box-shadow: none !important;
}

/* Remove separator pseudo-elements */
body.home .footer__container::before,
body.home .footer__container::after,
body.home .parallax-section__container::before,
body.home .parallax-section__container::after {
  content: none !important;
  display: none !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

/* =========================================
   REMOVE LINE DIRECTLY ABOVE FOOTER
   ========================================= */

/* Remove separators created by the section above the footer */
body.home main::after,
body.home .page-template-homepage::after,
body.home .expertises::after,
body.home .expertises__list::after {
  content: none !important;
  display: none !important;
  border: 0 !important;
  background: none !important;
  box-shadow: none !important;
}

/* Remove only the horizontal top edge from the footer grid */
body.home footer#footer .footer__container,
body.home footer#footer .footer__container > [pos] {
  border-top: none !important;
  border-block-start: none !important;
}

/* The theme may draw grid lines with pseudo-elements */
body.home footer#footer .footer__container::before,
body.home footer#footer .footer__container::after {
  content: none !important;
  display: none !important;
}

/* Remove any inset top line without affecting vertical grid lines */
body.home footer#footer {
  box-shadow: none !important;
  outline: none !important;
  background-position: center !important;
}

body.home .footer__background {
  overflow: hidden !important;
}


/* =========================================
   FINAL FOOTER POSITION FIX
   ========================================= */


/* Keep the footer locked at the intended height */
body.home footer#footer,
body.home footer#footer .footer__container,
body.home footer#footer .parallax-section__container {
  height: 480px !important;
  min-height: 480px !important;
  max-height: 480px !important;
}

body.home footer#footer .footer__background,
body.home footer#footer .footer__background > img,
body.home footer#footer .footer-background {
  top: 0 !important;
  bottom: 0 !important;
  width: 100% !important;
  height: 100% !important;
}

/* Move phone number and email considerably lower */
body.home footer#footer .footer__socials {
  position: relative !important;
  transform: none !important;
  top: 7rem !important;
}

/* =========================================
   FOOTER SOCIAL LINKS + RESUME BUTTON
   ========================================= */

body.home .footer__socials {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  gap: 1rem !important;
}

/* Remove unnecessary spacing from contact list */
body.home .footer-contact-info .navigation__list {
  margin: 0 !important;
  padding: 0 !important;
}

body.home .footer-contact-info .navigation__item {
  margin: 7px 0 0.25rem !important;
}

/* Social icons row */
body.home .footer-social-icons {
  display: flex !important;
  align-items: center !important;
  gap: 1.2rem !important;
  margin-top: 1.7rem !important;
}

body.home .footer-social-icons a {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  color: #a68754 !important;
  font-size: 2rem !important;
  line-height: 1 !important;

  text-decoration: none !important;
  transition:
    color 0.25s ease,
    transform 0.25s ease !important;
}

body.home .footer-social-icons a:hover {
  color: #ccb77a !important;
  transform: translateY(-4px) !important;
}

/* Résumé button */
body.home .footer-resume-button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  margin-top: 0.25rem !important;
  padding: 0.65rem 1.4rem !important;

  color: white !important;
  background: #a68754 !important;

  border: 1px solid #a68754 !important;
  border-radius: 999px !important;

  font-size: 1rem !important;
  line-height: 1.2 !important;
  text-decoration: none !important;
  white-space: nowrap !important;

  transition:
    background-color 0.25s ease,
    color 0.25s ease,
    transform 0.25s ease !important;
}

body.home .footer-resume-button:hover {
  /* color: #101c33 !important; */
  background: #ccb77a !important;
  border-color: #ccb77a !important;
  /* transform: translateY(-2px) !important; */
}

body.home footer#footer .footer__socials {
  position: relative !important;
  top: 4rem !important;
  transform: none !important;
}

/* Gold background for the overall expertise section only */
body.home section.expertises,
body.home .expertises,
body.home .expertises__list {
  background-color: #a68754 !important;
  background: #101c33 !important;
}

/* Do not put gold directly behind each video block */
body.home .expertise {
  background: transparent !important;
  background-color: transparent !important;
}

/* Remove only the hover tint — preserve all grid lines */
body.home .expertise .expertise__thumbnail video,
body.home .expertise:hover .expertise__thumbnail video {
  opacity: 1 !important;
  filter: none !important;
  mix-blend-mode: normal !important;
}

body.home .expertise:hover .expertise__thumbnail {
  background-color: transparent !important;
}

/* Right side footer */
body.home .footer__socials {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    text-align: center !important;
}

/* Center the icons */
body.home .social-icons {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 1.5rem !important;
    width: 100% !important;
    margin-top: 1.25rem !important;
}

/* Remove old spacing */
body.home .social-icons a {
    margin: 0 !important;
}

/* Center the resume button */
body.home .resume-button {
    display: inline-flex !important;
    justify-content: center !important;
    align-items: center !important;
    margin: 1.5rem auto 0 !important;
}

/* =========================================
   HERO RIGHT-SIDE DESCRIPTION
   ========================================= */

body.home .hero-media__aside-content {
    display: flex !important;
    align-items: flex-end !important;
    justify-content: center !important;

    padding: 1.5rem !important;
    box-sizing: border-box !important;
}

/* Right-side hover area */
body.home .hero-aside-card {
    width: 100% !important;

    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;

    gap: 1.2rem !important;
    padding: 1.5rem 1rem !important;

    text-align: center !important;
    color: white !important;
}

/* Description */
body.home .hero-aside-description {
    width: 100% !important;
    max-width: 340px !important;

    margin: 0 auto !important;

    font-family: "Matangi", sans-serif !important;
    font-size: clamp(0.9rem, 1.2vw, 1.25rem) !important;
    font-weight: 400 !important;
    line-height: 1.4 !important;
    margin-top: -17px !important;

    color: white !important;
    text-align: center !important;
}

/* About Me button */
body.home .hero-aside-button {
    margin: 0 auto !important;
    align-self: center !important;
    margin-top: -7px !important;
    font-size: clamp(0.85rem, 1vw, 1rem) !important;
    line-height: 1.4 !important;
}

/* Change the presentation section background */
body.home .section-presentation {
    background: #a68754 !important;
    background-color: #a68754 !important;
}

/* =========================================
   CUSTOM SCROLLBAR
   ========================================= */

/* Chrome, Edge and Safari */
html::-webkit-scrollbar,
body::-webkit-scrollbar {
  width: 16px !important;
}

html::-webkit-scrollbar-track,
body::-webkit-scrollbar-track {
  background: #101c33 !important;
}

html::-webkit-scrollbar-thumb,
body::-webkit-scrollbar-thumb {
  background: linear-gradient(
    to bottom,
    #ffffff,
    #101c33
  ) !important;

  border: 3px solid #101c33 !important;
  border-radius: 999px !important;
}

html::-webkit-scrollbar-thumb:hover,
body::-webkit-scrollbar-thumb:hover {
  background: linear-gradient(
    to bottom,
    #ffffff,
    #ffffff
  ) !important;
}

/* Firefox */
/* html {
  overflow-y: scroll !important;
} */

body {
  overflow-x: hidden !important;
}

/* =========================================
   HEADER TECHNOLOGY LOGOS
   ========================================= */

body.home .header-tech-logos {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;

    gap: 0.8rem !important;

    margin-top: 1rem !important;
    margin-left: auto !important;
    margin-right: auto !important;

    width: fit-content !important;
}

/* Keep every technology logo roughly the same visual size */
body.home .header-tech-logo {
    width: 35px !important;
    height: 35px !important;

    object-fit: contain !important;
    object-position: center !important;

    display: block !important;

    opacity: 1 !important;
    filter: none !important;

    flex-shrink: 0 !important;
}

body.home .header-tech-logos {
    position: relative !important;
    left: 107px !important;
}

/* =========================================
   KNOW-HOW SECTION BACKGROUND
   ========================================= */

/* body.home .item-universe__container {
    background: #101c33 !important;
}

body.home .item-universe {
    background: #101c33 !important;
} */

body.home .item-universe__title {
    font-size: clamp(3.5rem, 6vw, 5rem) !important;
    line-height: 1 !important;
}

/* Fix clipped letters in animated CTA buttons */
body.home .item-universe__cta .splitted-text,
body.home .item-universe__cta .splitted-text span,
body.home .item-universe__cta [class*="word"],
body.home .item-universe__cta [class*="char"] {
    /* overflow: visible !important; */
    padding-bottom: 0.02em !important;
    line-height: 1.47 !important;
}

/* ==========================================
   HEADER LOGO
   ========================================== */

body.home .header__logo {
    display: block;
    width: auto;
    height: 97px;
    object-fit: contain;
    margin-left: 10px;
}

/* ==========================================
   PERSISTENT HOMEPAGE BACK-TO-TOP LOGO
   ========================================== */

/* The fixed copy replaces the logo inside the animated header. */
body.home .header > div:first-child {
    visibility: hidden !important;
}

body.home .home-back-to-top {
    position: fixed;
    top: var(--space-400);
    left: calc(var(--space-grid-padding) + 10px);
    z-index: 2147483647;
    display: block;
    width: auto;
    height: 97px;
    line-height: 0;
    opacity: 1;
    visibility: visible;
    transform: none;
    pointer-events: auto !important;
    touch-action: manipulation;
    isolation: isolate;
    transition: transform .2s ease, filter .2s ease;
}

body.home .home-back-to-top img {
    display: block;
    width: auto;
    height: 100%;
    object-fit: contain;
}

body.home .home-back-to-top:hover,
body.home .home-back-to-top:focus-visible {
    transform: translateY(-2px);
    filter: brightness(1.1);
}

body.home .home-back-to-top:focus-visible {
    outline: 2px solid #a68754;
    outline-offset: 5px;
    border-radius: 50%;
}

@media (max-width: 1023px) {
    body.home .home-back-to-top {
        top: clamp(.75rem, 2dvh, 1rem);
        left: var(--space-grid-padding);
        height: clamp(3.5rem, min(18vw, 10dvh), 4.5rem);
    }
}

/* ==========================================
   HOMEPAGE MOBILE LAYOUT
   Desktop rules intentionally remain unchanged.
   ========================================== */

@media (max-width: 1023px) {
  :root {
    --space-grid-padding: clamp(1rem, 5.5vw, 1.625rem);
  }

  /* Hero: use the actually visible mobile viewport and keep the title above
     browser controls instead of anchoring it to the larger layout viewport. */
  body.home .homepage-hero {
    position: relative !important;
    width: 100% !important;
    height: 100dvh !important;
    min-height: 100dvh !important;
    max-height: 100dvh !important;
    overflow: hidden !important;
  }

  body.home .homepage-hero .hero-media__media,
  body.home .homepage-hero .hero-media__media-container {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100dvh !important;
    min-height: 100dvh !important;
    max-height: 100dvh !important;
  }

  body.home .homepage-hero .hero-media__media {
    overflow: hidden !important;
  }

  body.home .homepage-hero .hero-media__picture,
  body.home .homepage-hero .hero-media__image {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: 50% 50% !important;
  }

  body.home .homepage-hero .hero-media__container {
    position: relative !important;
    z-index: 5 !important;
    display: block !important;
    width: 100% !important;
    height: 100dvh !important;
    min-height: 100dvh !important;
    max-height: 100dvh !important;
    padding-inline: var(--space-grid-padding) !important;
  }

  body.home .homepage-hero .hero-media__title-container {
    position: absolute !important;
    right: var(--space-grid-padding) !important;
    bottom: clamp(8.75rem, 18dvh, 10.5rem) !important;
    left: var(--space-grid-padding) !important;
    display: block !important;
    width: auto !important;
    min-height: 0 !important;
    padding: 0 !important;
  }

  body.home .homepage-hero .hero-media__title-block {
    width: 100% !important;
    max-width: clamp(18rem, 90vw, 38rem) !important;
    gap: 0 !important;
  }

  body.home .homepage-hero .hero-media__eyebrow {
    margin: 0 0 clamp(.45rem, 1.2dvh, .75rem) !important;
    font-size: clamp(.95rem, min(4.5vw, 2.8dvh), 1.35rem) !important;
    line-height: 1.25 !important;
  }

  body.home .homepage-hero .hero-media__title {
    max-width: 100% !important;
    padding: 0 !important;
    font-size: clamp(2.75rem, min(14vw, 7.5dvh), 4.25rem) !important;
    line-height: .98 !important;
  }

  body.home .homepage-hero .hero-title-mobile-break {
    display: block !important;
  }

  body.home .homepage-hero .hero-media__title .line,
  body.home .homepage-hero .hero-media__title .word,
  body.home .homepage-hero .hero-media__title .char,
  body.home .homepage-hero .hero-media__title [class*="line"],
  body.home .homepage-hero .hero-media__title [class*="word"],
  body.home .homepage-hero .hero-media__title [class*="char"] {
    margin-bottom: 0 !important;
    padding-bottom: .08em !important;
  }

  body.home .homepage-hero .hero-media__aside {
    position: absolute !important;
    right: auto !important;
    bottom: max(clamp(1rem, 2.5dvh, 1.5rem), env(safe-area-inset-bottom)) !important;
    left: 50% !important;
    display: block !important;
    width: calc(100vw - (var(--space-grid-padding) * 2)) !important;
    min-height: auto !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    transform: translateX(-50%) !important;
  }

  body.home .homepage-hero .hero-aside-card {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    gap: clamp(.45rem, 1.3dvh, .8rem) !important;
    padding: 0 !important;
    transform: none !important;
  }

  body.home .homepage-hero .hero-aside-description {
    width: 100% !important;
    max-width: clamp(17rem, 88vw, 32rem) !important;
    margin: 0 auto !important;
    font-size: clamp(.75rem, min(3.5vw, 2dvh), .98rem) !important;
    line-height: 1.35 !important;
    text-align: center !important;
  }

  body.home .homepage-hero .hero-aside-button {
    margin: 0 auto !important;
    font-size: clamp(.78rem, min(3.6vw, 2.1dvh), 1rem) !important;
    line-height: 1.25 !important;
  }

  body.home .header-tech-logos {
    position: absolute !important;
    top: clamp(3.75rem, 8.5dvh, 4.75rem) !important;
    right: calc(var(--space-grid-padding) + clamp(1rem, 4vw, 1.25rem)) !important;
    left: auto !important;
    gap: clamp(.35rem, .9dvh, .6rem) !important;
    margin: 0 !important;
    z-index: 2 !important;
    transform: none !important;
  }

  body.home .header-tech-logo {
    width: clamp(1.6rem, 7vw, 2.1rem) !important;
    height: clamp(1.6rem, 7vw, 2.1rem) !important;
  }

  body.home .header__navigation {
    position: absolute !important;
    top: clamp(1rem, 2.5dvh, 1.5rem) !important;
    right: clamp(.4rem, 1.75vw, .65rem) !important;
    z-index: 1001 !important;
    display: block !important;
    width: auto !important;
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
    overflow: visible !important;
  }

  body.home .header__navigation .navigation,
  body.home .header__navigation .navigation__list {
    overflow: visible !important;
  }

  body.home .header {
    position: absolute !important;
    top: 0 !important;
    right: 0 !important;
    left: 0 !important;
    width: 100% !important;
    z-index: 1000 !important;
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
    overflow: visible !important;
  }

  /* Restore Linka's original stacked mobile project-card composition. */
  body.home .horizontal-slider {
    overflow: hidden !important;
  }

  body.home .horizontal-slider__list {
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    transform: none !important;
  }

  body.home .horizontal-slider__slide {
    width: 100% !important;
    height: clamp(24rem, 68dvh, 27rem) !important;
    min-height: clamp(24rem, 68dvh, 27rem) !important;
    flex: 0 0 clamp(24rem, 68dvh, 27rem) !important;
  }

  body.home .item-universe,
  body.home .item-universe__container {
    position: relative !important;
    height: 100% !important;
  }

  body.home .item-universe__container {
    display: grid !important;
    grid-template-rows: minmax(0, 1fr) auto auto !important;
    overflow: hidden !important;
  }

  body.home .item-universe__image {
    grid-row: 1 !important;
    height: 100% !important;
    min-height: 0 !important;
    margin-left: var(--space-500) !important;
    margin-right: calc(var(--space-grid-padding) * -1) !important;
    overflow: hidden !important;
  }

  body.home .item-universe__image-container {
    width: 110% !important;
    height: 100% !important;
  }

  body.home .item-universe__image-container img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
  }

  body.home .item-universe__baseline {
    grid-row: 2 !important;
    position: relative !important;
    align-self: auto !important;
    padding: var(--space-300) 0 var(--space-300) var(--space-500) !important;
    font-size: var(--font-size--500) !important;
    line-height: var(--line-height--400) !important;
  }

  body.home .item-universe__baseline::after {
    content: "" !important;
    position: absolute !important;
    right: calc(var(--space-grid-padding) * -1) !important;
    bottom: 0 !important;
    width: 100vw !important;
    border-bottom: 2px solid var(--color-border) !important;
  }

  body.home .item-universe__title {
    grid-row: 3 !important;
    position: relative !important;
    margin: 0 !important;
    padding: var(--space-300) 0 var(--space-500) var(--space-500) !important;
    font-size: var(--font-size-display--600) !important;
    line-height: var(--line-height--200) !important;
    font-weight: 100 !important;
  }

  body.home .item-universe__title::before {
    display: none !important;
  }

  body.home .item-universe__title::after {
    content: "" !important;
    position: absolute !important;
    bottom: 0 !important;
    left: 0 !important;
    height: clamp(24rem, 68dvh, 27rem) !important;
    border-left: 2px solid var(--color-border) !important;
  }

  body.home .item-universe__cta {
    display: none !important;
  }

  /* Footer: let content define its height and ensure the background covers it. */
  body.home footer#footer,
  body.home footer#footer.footer,
  body.home footer#footer.parallax-section,
  body.home footer#footer .footer__container,
  body.home footer#footer .parallax-section__container {
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    overflow: hidden !important;
  }

  body.home footer#footer {
    margin: 0 !important;
    padding: 0 !important;
    background: #101c33 !important;
  }

  body.home footer#footer .footer__container {
    display: grid !important;
    grid-template-columns: 1fr !important;
    grid-template-rows: auto auto auto !important;
    gap: 0 !important;
    padding-top: 1.5rem !important;
    padding-bottom: max(1.25rem, env(safe-area-inset-bottom)) !important;
  }

  body.home footer#footer .footer__background,
  body.home footer#footer .footer__background > img,
  body.home footer#footer .footer-background {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 100% !important;
    max-height: none !important;
  }

  body.home footer#footer .footer-background {
    object-fit: cover !important;
    object-position: center !important;
  }

  body.home footer#footer .footer__socials {
    grid-row: 1 !important;
    position: relative !important;
    top: 0 !important;
    align-self: auto !important;
    margin: 0 !important;
    padding: 1rem 0 1.5rem !important;
    transform: none !important;
  }

  body.home footer#footer .footer-social-icons {
    margin-top: 1rem !important;
  }

  body.home footer#footer .footer__newsletter {
    grid-row: 2 !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 1.25rem 0 0 !important;
  }

  body.home footer#footer .contact-form__message,
  body.home footer#footer .contact-form__textarea {
    height: clamp(5.25rem, 12dvh, 6rem) !important;
    min-height: clamp(5.25rem, 12dvh, 6rem) !important;
    max-height: clamp(5.25rem, 12dvh, 6rem) !important;
  }

  body.home footer#footer .footer__logo {
    display: none !important;
  }

  body.home footer#footer .footer__legals {
    grid-row: 3 !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 1.25rem 0 0 !important;
    align-items: center !important;
  }

  body.home footer#footer .footer__legals::after {
    display: none !important;
  }

  body.home footer#footer .copyright-diego {
    padding: 0 !important;
  }
}

@media (max-width: 1023px) {
  body.home .header {
    padding-top: clamp(.75rem, 2dvh, 1rem) !important;
  }

  body.home .header__navigation .navigation__link {
    font-size: clamp(1.15rem, 5vw, 1.35rem) !important;
  }
}
