/* =========================================================
   BYNEO RESPONSIVE
========================================================= */


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 1000px) {

  .container {
    width: min(
      calc(100% - 40px),
      900px
    );
  }


  /* HERO */

  .work-hero {
    min-height: 700px;
  }

  .work-hero-title {
    font-size: clamp(
      62px,
      10vw,
      92px
    );
  }

  .work-hero-bottom {
    margin-top: 55px;
  }


  /* HOMEPAGE (index.html) */

  .hero-bottom {
    grid-template-columns: 1fr;

    justify-items: start;

    gap: 30px;
  }

  .hero-actions {
    justify-self: start;
  }

  .section-header {
    grid-template-columns: 1fr;

    gap: 20px;
  }


  /* CASE STUDY */

  .case-study-intro,
  .concept-header {
    grid-template-columns: 1fr;

    gap: 30px;
  }

  .case-study-heading,
  .concept-header-copy {
    justify-content: space-between;
  }

  .case-study-heading h2,
  .concept-header h2 {
    font-size: clamp(
      54px,
      8vw,
      80px
    );
  }

  .case-study-details {
    gap: 25px;
  }


  /* SECONDARY */

  .secondary-project-grid {
    grid-template-columns: 1fr;

    gap: 70px;
  }

  .secondary-project-copy h2 {
    font-size: clamp(
      58px,
      9vw,
      90px
    );
  }


  /* OTHER */

  .section-heading {
    grid-template-columns: 1fr;

    gap: 25px;
  }

  .other-work-grid {
    grid-template-columns: repeat(2, 1fr);
  }


  /* CTA */

  .final-cta-inner h2 {
    font-size: clamp(
      58px,
      10vw,
      100px
    );
  }

}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 860px) {

  .container {
    width: calc(100% - 32px);
  }


  /* HEADER */

  .desktop-nav {
    display: none;
  }

  .mobile-menu-toggle {
    display: flex;
  }

  .mobile-nav {
    position: absolute;

    top: 76px;
    left: 0;

    width: 100%;

    display: flex;
    flex-direction: column;

    padding: 22px 16px 30px;

    background: rgba(8,17,14,0.97);

    border-bottom: 1px solid var(--border-dark);

    opacity: 0;
    visibility: hidden;

    transform: translateY(-15px);

    transition:
      opacity 0.35s ease,
      visibility 0.35s ease,
      transform 0.35s var(--ease);
  }

  .mobile-nav.open {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
  }

  .mobile-nav a {
    padding: 17px 0;

    border-bottom: 1px solid var(--border-dark);

    font-family: var(--font-display);
    font-size: 28px;
    letter-spacing: -0.04em;
  }


  /* HOMEPAGE (index.html) */

  .hero-title {
    font-size: clamp(
      52px,
      13vw,
      80px
    );
  }

  .hero-meta {
    flex-wrap: wrap;

    gap: 12px 20px;
  }

  .work-section {
    padding: 100px 0 110px;
  }

  .featured-project-info {
    grid-template-columns: 1fr;

    gap: 28px;

    padding: 28px 0 60px;
  }

  .project-details {
    align-self: start;

    max-width: none;
  }

  .project-grid {
    grid-template-columns: 1fr;

    gap: 36px;

    padding-top: 50px;
  }

  .mini-browser {
    inset: 3%;
  }

  .browser-screen {
    min-height: 0;
  }

  .contact-section {
    padding: 100px 0;
  }

  .contact-inner {
    min-height: 0;

    gap: 60px;
  }

  .contact-top {
    align-items: center;
  }

  .footer-inner {
    flex-direction: column;
    align-items: flex-start;

    gap: 20px;

    padding: 40px 0;
  }

  .footer-right {
    flex-wrap: wrap;

    gap: 12px 24px;
  }


  /* HERO (work.html) */

  .work-hero {
    min-height: 680px;
  }

  .work-hero-inner {
    padding-top: 80px;
  }

  .work-hero-title {
    margin-top: 28px;

    font-size: clamp(
      53px,
      12vw,
      78px
    );
  }

  .work-hero-bottom {
    display: block;

    margin-top: 50px;
  }

  .work-hero-description {
    max-width: 390px;

    font-size: 15px;
  }

  .work-hero-meta {
    margin-top: 28px;
  }

  .scroll-orb {
    right: 20px;
    bottom: 28px;

    width: 76px;
    height: 76px;
  }

  .orb-text {
    inset: 3px;
    width: calc(100% - 6px);
    height: calc(100% - 6px);
  }

  .orb-text text {
    font-size: 7.5px;
  }

  .orb-arrow {
    font-size: 20px;
  }


  /* SECTIONS */

  .case-study,
  .concept-section,
  .other-work,
  .work-final-cta {
    padding: 100px 0;
  }

  .case-study-heading,
  .concept-header-copy {
    display: block;
  }

  .case-study-heading p,
  .concept-header p {
    margin-top: 25px;
  }


  /* DETAILS */

  .case-study-details {
    grid-template-columns: 1fr;

    gap: 45px;

    margin-top: 60px;
  }

  .case-detail p {
    max-width: 500px;
  }


  /* CTA */

  .case-study-cta {
    display: block;

    margin-top: 70px;
  }

  .cta-actions {
    margin-top: 35px;
  }


  /* BAHAMA */

  .bahama-visual {
    aspect-ratio: 1 / 1;

    padding: 18px;
  }

  .bahama-center strong {
    font-size: clamp(
      50px,
      15vw,
      90px
    );
  }


  /* OTHER */

  .other-work-grid {
    grid-template-columns: 1fr;
  }

  .other-project-visual {
    aspect-ratio: 1.15 / 1;
  }


  /* FINAL */

  .final-cta-inner h2 {
    font-size: clamp(
      54px,
      14vw,
      82px
    );
  }

  .final-cta-actions {
    flex-direction: column;
    align-items: stretch;
  }

  .btn {
    width: 100%;
  }


  /* FOOTER */

  .footer-top {
    display: block;
  }

  .footer-top p {
    margin-top: 25px;
  }

  .footer-bottom {
    grid-template-columns: 1fr;

    gap: 18px;
  }

  .footer-bottom > span:last-child {
    justify-self: start;
  }

}


/* =========================================================
   SMALL MOBILE
========================================================= */

@media (max-width: 480px) {

  .container {
    width: calc(100% - 24px);
  }

  .site-header {
    height: 72px;
  }

  .mobile-nav {
    top: 72px;
  }

  .brand {
    font-size: 20px;
  }

  .hero-title {
    font-size: 46px;
  }

  .hero-meta {
    font-size: 8px;
    letter-spacing: 0.1em;
  }

  .section-heading-wrap h2 {
    font-size: 42px;
  }

  .featured-project-info h3 {
    font-size: 32px;
  }

  .work-hero {
    min-height: 620px;
  }

  .work-hero-inner {
    padding-top: 65px;
  }

  .work-hero-title {
    font-size: 48px;

    line-height: 0.9;
  }

  .work-hero-description {
    font-size: 14px;
  }

  .work-hero-meta {
    gap: 20px;

    font-size: 8px;
  }

  .scroll-orb {
    width: 68px;
    height: 68px;

    right: 14px;
    bottom: 20px;
  }

  .orb-arrow {
    font-size: 18px;
  }


  .case-study,
  .concept-section,
  .other-work,
  .work-final-cta {
    padding: 80px 0;
  }

  .case-study-heading h2,
  .concept-header h2 {
    font-size: 52px;
  }

  .secondary-project-copy h2 {
    font-size: 55px;
  }

  .section-heading h2 {
    font-size: 52px;
  }

  .case-study-cta h3 {
    font-size: 35px;
  }

  .final-cta-inner h2 {
    font-size: 51px;
  }

  .browser-topbar {
    grid-template-columns: 65px 1fr 35px;
  }

  .browser-address {
    max-width: 120px;

    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
  }

  .visual-content {
    left: 7%;
    top: 13%;
  }

  .visual-content h3 {
    font-size: 32px;
  }

  .visual-button {
    margin-top: 22px;

    font-size: 7px;
  }

  .visual-side-label {
    font-size: 6px;
  }

  .teffo-title {
    font-size: 28px;
  }

  .bahama-center strong {
    font-size: 55px;
  }

  .bahama-center span {
    font-size: 8px;
  }

  .bahama-top,
  .bahama-bottom {
    font-size: 7px;
  }

  .other-project-visual strong {
    font-size: 50px;
  }

}

/* =========================================================
   HOMEPAGE PROJECT IMAGES — MOBILE ONLY
   Teffo + Bahama
========================================================= */

@media (max-width: 860px) {

    .teffo-visual {
        aspect-ratio: 1.9 / 1;
    }

    .teffo-screen {
        inset: 28px 0 0;
    }

    .teffo-screen img {
        width: 100%;
        height: 100%;
        object-fit: contain;
        object-position: center;
    }

    .bahama-visual {
        aspect-ratio: 1.9 / 1;
        padding: 0;
    }

    .bahama-art img {
        width: 100%;
        height: 100%;
        object-fit: contain;
        object-position: center;
    }

}

/* =========================================================
   HOMEPAGE PROJECT IMAGES — DESKTOP ONLY
   Teffo + Bahama
========================================================= */

@media (min-width: 861px) {

    .teffo-visual,
    .bahama-visual {
        aspect-ratio: 1.9 / 1;
    }

    .teffo-screen {
        position: absolute;
        inset: 28px 0 0;
        overflow: hidden;
    }

    .teffo-screen img,
    .bahama-art img {
        width: 100%;
        height: 100%;
        object-fit: contain;
        object-position: center;
        display: block;
    }

}