/* Touch screens, including landscape tablets. Desktop keeps its approved layout. */
@media (max-width: 48rem), (hover: none) and (pointer: coarse) {
  .has-talenka-intro .topnav__wrapper { width: calc(100% - 1rem); gap: .5rem; }
  .has-talenka-intro .topnav__homelink { flex: 0 0 clamp(1.8rem, 9vw, 3rem); }
  .has-talenka-intro .topnav__logo { width: 100%; }
  .has-talenka-intro .topnav nav { flex: 1 1 auto; min-width: 0; }
  .has-talenka-intro .topnav__links {
    flex-wrap: nowrap;
    justify-content: flex-start;
    gap: clamp(.5rem, calc(5vw - 8px), 1rem);
  }
  .has-talenka-intro .topnav .topnav__link {
    display: flex;
    align-items: center;
    min-height: 44px;
    padding-block: .75rem;
    font-size: clamp(.6875rem, 2.7vw, .875rem);
    letter-spacing: 0;
    white-space: nowrap;
  }
  .has-talenka-intro .topnav .topnav__link--quote { padding: .75rem 0; border: 0; }

  /* More physical travel between the last destinations, in either direction. */
  .lion-journey #proyectos,
  .lion-journey #nosotros { min-height: 160svh; }
  .lion-journey .quote-section { padding-block-start: 40svh; }

  /* Keep every service photograph whole, including the first model's head. */
  .services-cycle .services-cycle__figure img,
  .services-cycle[data-profile="1"] .services-cycle__figure img {
    object-fit: contain;
    object-position: center;
  }

  /* Size the embedded gallery from its actual frame, not nested small viewports. */
  body[data-embedded="true"] { height: 100vh; }
  body[data-embedded="true"] .projects-main {
    height: 100%;
    display: flex;
    flex-direction: column;
  }
  body[data-embedded="true"] .projects-heading { flex: 0 0 auto; }
  body[data-embedded="true"] .projects-gallery {
    flex: 1 1 0;
    min-height: 0;
    height: auto;
  }
  .project-frame img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: center;
  }
}

/* iPad keeps its longer path in either orientation and with a trackpad. */
html[data-ipad-layout="true"] .lion-journey #servicios { min-height: 320svh; }
html[data-ipad-layout="true"] .lion-journey #proyectos { min-height: 260svh; }
html[data-ipad-layout="true"] .lion-journey #nosotros { min-height: 240svh; }
html[data-ipad-layout="true"] .lion-journey .quote-section { padding-block-start: 100svh; }
html[data-ipad-layout="true"] .has-talenka-intro .topnav__wrapper {
  justify-content: flex-start;
  gap: clamp(.75rem, 2.5vw, 2rem);
}
html[data-ipad-layout="true"] .has-talenka-intro .topnav nav { flex: 0 1 auto; }
html[data-ipad-layout="true"] .has-talenka-intro .topnav__links {
  flex-wrap: nowrap;
  justify-content: flex-start;
  gap: clamp(.4rem, 1.2vw, 1rem);
}
html[data-ipad-layout="true"] .has-talenka-intro .topnav .topnav__link--quote { padding-inline: 0; }

@media (max-width: 24rem) {
  .site-layer[data-view="proyectos"] .site-layer__header h2 { font-size: clamp(2rem, 10vw, 2.6rem); }
}

/* Compact phones keep room for four comfortably separated links. */
@media (max-width: 21rem) {
  html:not([data-ipad-layout="true"]) .has-talenka-intro .topnav__wrapper { width: calc(100% - .5rem); gap: .25rem; }
  html:not([data-ipad-layout="true"]) .has-talenka-intro .topnav__homelink { flex-basis: 1.25rem; }
}
