/* Mobile-only editorial refinement. Desktop remains governed by the approved source styles. */
.hero-photo-headline {
  display: none;
}

.mobile-final-heading-copy {
  display: none;
}

.mobile-decision-link-copy {
  display: none;
}

@media (max-width: 900px) {
  :root {
    --mobile-charcoal: #413c38;
  }

  /* Header: let the complete lockup lead, with a minimal navigation trigger. */
  .hero-site-header {
    min-height: 108px;
  }

  .hero-header-inner {
    min-height: 107px;
    gap: 8px;
  }

  .hero-header-logo {
    width: min(340px, calc(100% - 42px));
    height: auto;
    aspect-ratio: 2730 / 608;
  }

  .hero-mobile-menu summary {
    width: 34px;
    min-width: 34px;
    min-height: 44px;
    padding: 0;
    position: relative;
    overflow: visible;
    border: 0;
    color: transparent;
    font-size: 0;
    letter-spacing: 0;
  }

  .hero-mobile-menu summary::before {
    width: 22px;
    height: 2px;
    content: "";
    position: absolute;
    top: 15px;
    right: 0;
    background: var(--ink);
    box-shadow: 0 6px 0 var(--ink), 0 12px 0 var(--ink);
  }

  .hero-mobile-menu summary::after {
    content: none;
  }

  .hero-mobile-menu nav {
    width: min(270px, calc(100vw - 40px));
    top: calc(100% + 2px);
  }

  /* Hero: a light editorial opening followed by a photograph-led continuation. */
  .hero-integrated-shell {
    padding-top: 28px;
    padding-bottom: 34px;
  }

  .hero-primary .eyebrow {
    max-width: none;
    margin-bottom: 7px;
    line-height: 1.45;
  }

  .hero-primary h1 {
    min-height: 0;
    max-width: 100%;
    font-size: clamp(44px, 10.8vw, 58px);
    line-height: 1;
    white-space: nowrap;
  }

  .hero-heading-upper {
    display: block;
    position: static;
    top: auto;
  }

  .hero-heading-upper br,
  .hero-heading-upper > em,
  .hero-primary h1 > em:last-child {
    display: none;
  }

  .hero-visual {
    height: clamp(455px, 122vw, 525px);
    margin-top: 9px;
    -webkit-mask-image: none;
    mask-image: none;
  }

  .hero-visual img {
    object-position: 50% 56%;
    transform: translateX(15%) scale(1.08);
    transform-origin: 50% 100%;
  }

  .hero-photo-headline {
    width: 50%;
    display: block;
    position: absolute;
    z-index: 3;
    top: 8px;
    left: 20px;
    color: var(--oxblood);
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(39px, 10vw, 47px);
    font-style: italic;
    font-weight: 400;
    line-height: .98;
    letter-spacing: -.047em;
    text-shadow: 0 1px 1px rgba(3, 4, 10, .2);
  }

  .hero-photo-headline span {
    white-space: nowrap;
  }

  .hero-integrated-support {
    margin-top: 24px;
  }

  .hero-integrated-support .hero-lede {
    color: var(--mobile-charcoal);
  }

  /* About: use the emblem as a quiet architectural device behind the narrative. */
  .miguel-bio {
    position: relative;
    overflow: hidden;
  }

  .miguel-bio::before,
  .miguel-bio::after {
    width: min(124vw, 560px);
    aspect-ratio: 1;
    content: "";
    position: absolute;
    pointer-events: none;
    background-image: url("assets/official-hero-logo/build-with-miguel-complete-lockup-transparent-web.svg?v=2");
    background-repeat: no-repeat;
    background-position: left center;
    background-size: auto 100%;
  }

  .miguel-bio::before {
    top: 125px;
    right: -65%;
    opacity: .045;
  }

  .miguel-bio::after {
    top: 57%;
    left: -76%;
    opacity: .025;
  }

  .miguel-bio-layout {
    padding-top: 54px;
    padding-bottom: 78px;
    gap: 42px;
    position: relative;
    z-index: 1;
  }

  .miguel-bio-copy,
  .miguel-bio-copy p:not(.miguel-bio-opening):not(.miguel-bio-pivot):not(.miguel-bio-closing) {
    color: var(--mobile-charcoal);
  }

  .miguel-bio-flow-column:first-child p:nth-child(2) {
    margin-top: 24px;
    padding-top: 0;
  }

  .miguel-bio-flow-column:first-child p:nth-child(2)::before {
    content: none;
  }

  .miguel-bio-copy .miguel-bio-pivot {
    margin-top: 48px;
    padding-top: 30px;
    position: relative;
    font-size: clamp(24px, 4.8vw, 30px);
    line-height: 1.4;
  }

  .miguel-bio-copy .miguel-bio-pivot::before {
    width: 100%;
    height: 1px;
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    background: rgba(143, 38, 53, .28);
  }

  .miguel-bio-copy .miguel-bio-closing {
    margin-top: 48px;
  }

  .miguel-bio-cta {
    margin-top: 30px;
  }

  /* Six Dimensions: retain the approved design while improving small-screen reading. */
  .six-health-premise p {
    color: rgba(247, 245, 242, .83);
  }

  .six-health-framework {
    row-gap: 42px;
  }

  .six-health-framework h3::before {
    transform: translateY(-1px);
  }

  .six-health-framework p {
    color: rgba(247, 245, 242, .7);
  }

  /* Closing sequence: shared body contrast with one extremely quiet emblem echo. */
  .desktop-final-invitation {
    padding-bottom: 40px;
    position: relative;
    overflow: hidden;
  }

  .desktop-final-invitation::before {
    width: min(118vw, 520px);
    aspect-ratio: 1;
    content: "";
    position: absolute;
    top: 34%;
    right: -78%;
    pointer-events: none;
    opacity: .018;
    background-image: url("assets/official-hero-logo/build-with-miguel-complete-lockup-transparent-web.svg?v=2");
    background-repeat: no-repeat;
    background-position: left center;
    background-size: auto 100%;
  }

  .desktop-final-invitation-inner {
    position: relative;
    z-index: 1;
  }

  .desktop-final-invitation-copy > p:first-child,
  .desktop-final-secondary {
    color: var(--mobile-charcoal);
  }

  .desktop-final-heading-copy {
    display: none;
  }

  .mobile-final-heading-copy,
  .mobile-final-heading-copy > span,
  .mobile-final-heading-copy > em {
    display: block;
  }

  .mobile-final-heading-copy .mobile-final-heading-second {
    white-space: nowrap;
  }

  .mobile-final-heading-copy .mobile-final-heading-second > span,
  .mobile-final-heading-copy .mobile-final-heading-second > em {
    display: inline;
  }

  .desktop-final-secondary {
    font-size: 14px;
  }

  .desktop-final-secondary a {
    width: fit-content;
    display: block;
    white-space: nowrap;
  }

  .desktop-decision-link-copy {
    display: none;
  }

  .mobile-decision-link-copy {
    display: inline;
  }

  /* Footer: one centered, cohesive mobile brand signature. */
  .desktop-homepage-footer {
    padding-block: 34px 38px;
    position: relative;
    border-top: 0;
  }

  .desktop-homepage-footer::before {
    content: none;
  }

  .desktop-homepage-footer-inner {
    gap: 17px;
    justify-items: center;
    text-align: center;
  }

  .desktop-footer-brand {
    width: min(258px, 78vw);
    height: 61px;
    justify-self: center;
  }

  .desktop-footer-brand img {
    object-fit: cover;
  }

  .desktop-footer-nav {
    justify-content: center;
    gap: 0;
  }

  .desktop-footer-nav a + a::before {
    margin-inline: 11px;
    content: "\00b7";
    color: var(--oxblood);
  }

  .desktop-footer-meta {
    justify-items: center;
    gap: 7px;
    text-align: center;
  }
}

@media (max-width: 560px) {
  .hero-integrated-shell {
    padding-top: 24px;
    padding-bottom: 30px;
  }

  .hero-primary .eyebrow {
    font-size: 9px;
  }

  .hero-primary h1 {
    font-size: clamp(42px, 11.7vw, 49px);
  }

  .hero-visual {
    height: clamp(455px, 122vw, 525px);
    margin-top: 8px;
  }

  .hero-photo-headline {
    width: 50%;
    top: 7px;
    font-size: clamp(39px, 10.4vw, 44px);
  }

  .miguel-bio-layout {
    padding-top: 50px;
    padding-bottom: 64px;
    gap: 36px;
  }

  .miguel-bio-heading h2 {
    font-size: clamp(43px, 12.4vw, 51px);
  }

  .miguel-bio-copy {
    line-height: 1.7;
  }

  .six-health-framework {
    gap: 36px;
  }

  .desktop-final-invitation {
    padding-top: 58px;
    padding-bottom: 30px;
  }

  .desktop-final-invitation-inner {
    gap: 40px;
  }

  .desktop-homepage-footer-inner {
    gap: 15px;
  }
}

@media (max-width: 480px) {
  .hero-site-header,
  .hero-header-inner {
    min-height: 102px;
  }

  .hero-header-logo {
    width: min(305px, calc(100% - 40px));
  }

  .hero-primary h1 {
    font-size: clamp(41px, 11.6vw, 47px);
  }

  .hero-photo-headline {
    width: 50%;
    left: 20px;
    font-size: clamp(38px, 10.4vw, 43px);
  }

  .hero-integrated-support .button,
  .miguel-bio-cta,
  .desktop-final-invitation-copy > .button {
    width: 100%;
  }

  .desktop-footer-brand {
    width: min(250px, 76vw);
  }
}
