/* =========================================================
   ABPE WORKS — COMPANY PROFILE V3
   WEB APP / ERP RESPONSIVE
   ========================================================= */


/* =========================================================
   01. LARGE LAPTOP
   <= 1280px
   ========================================================= */

@media (max-width: 1280px) {

  .erp-hero__title {
    font-size:
      clamp(4rem, 8.4vw, 8.8rem);
  }

  .erp-path-node {
    min-height:
      290px;
  }

  .erp-project__media {
    min-height:
      620px;
  }

  .erp-interface__grid {
    row-gap:
      140px;
  }

  .erp-interface__item--two,
  .erp-interface__item--four {
    margin-top:
      130px;
  }

}


/* =========================================================
   02. TABLET / SMALL LAPTOP
   <= 1024px
   ========================================================= */

@media (max-width: 1024px) {

  /* =======================================================
     HERO
     ======================================================= */

  .erp-hero {
    min-height:
      auto;

    padding-top:
      110px;
  }

  .erp-hero__top {
    flex-direction:
      column;

    gap:
      24px;
  }

  .erp-hero__meta {
    max-width:
      580px;
  }

  .erp-hero__main {
    grid-template-columns:
      1fr;

    gap:
      70px;

    margin-top:
      110px;
  }

  .erp-hero__title {
    font-size:
      clamp(3.8rem, 10vw, 7.5rem);
  }

  .erp-hero__title .indent {
    padding-left:
      80px;
  }

  .erp-hero__status {
    width:
      min(100%, 520px);

    margin-left:
      auto;
  }

  .erp-hero__bottom {
    grid-template-columns:
      1fr;

    gap:
      30px;

    margin-top:
      100px;
  }


  /* =======================================================
     SYSTEM PATH
     ======================================================= */

  .erp-path__header {
    grid-template-columns:
      1fr;

    gap:
      28px;
  }

  .erp-path__copy {
    max-width:
      560px;
  }

  .erp-path__track {
    grid-template-columns:
      repeat(2, minmax(0, 1fr));
  }

  .erp-path-node {
    min-height:
      270px;
  }

  .erp-path-node:last-child {
    grid-column:
      1 / -1;
  }


  /* =======================================================
     PROJECT
     ======================================================= */

  .erp-project__header {
    grid-template-columns:
      1fr;

    gap:
      30px;
  }

  .erp-project__meta {
    max-width:
      560px;
  }

  .erp-project__media {
    min-height:
      560px;

    height:
      72vh;
  }


  /* =======================================================
     OPERATIONS
     ======================================================= */

  .erp-operations__header {
    flex-direction:
      column;

    align-items:
      flex-start;

    gap:
      28px;
  }

  .erp-operations__copy {
    max-width:
      560px;
  }

  .erp-module-grid {
    grid-template-columns:
      repeat(2, minmax(0, 1fr));
  }


  /* =======================================================
     ARCHITECTURE
     ======================================================= */

  .erp-architecture__grid {
    grid-template-columns:
      1fr;

    gap:
      60px;
  }

  .erp-architecture__side {
    position:
      static;
  }

  .erp-architecture__copy {
    max-width:
      560px;
  }

  .erp-architecture__chapter {
    min-height:
      48vh;
  }


  /* =======================================================
     INTERFACE SPREAD
     ======================================================= */

  .erp-interface__header {
    flex-direction:
      column;

    align-items:
      flex-start;

    gap:
      28px;
  }

  .erp-interface__copy {
    max-width:
      560px;
  }

  .erp-interface__grid {
    row-gap:
      100px;
  }

  .erp-interface__item--one {
    grid-column:
      1 / 9;
  }

  .erp-interface__item--two {
    grid-column:
      8 / 13;

    margin-top:
      90px;
  }

  .erp-interface__item--three {
    grid-column:
      1 / 7;
  }

  .erp-interface__item--four {
    grid-column:
      7 / 13;

    margin-top:
      90px;
  }


  /* =======================================================
     SYSTEM STATEMENT
     ======================================================= */

  .erp-statement {
    min-height:
      78vh;
  }

  .erp-statement__ring {
    width:
      min(78vw, 760px);
  }


  /* =======================================================
     SCOPE
     ======================================================= */

  .erp-scope__header {
    grid-template-columns:
      1fr;

    gap:
      28px;
  }

  .erp-scope__copy {
    max-width:
      560px;
  }


  /* =======================================================
     TIMELINE
     ======================================================= */

  .erp-timeline__options {
    grid-template-columns:
      1fr;
  }

  .erp-timeline-card {
    min-height:
      320px;
  }


  /* =======================================================
     RELATED
     ======================================================= */

  .erp-related__link {
    grid-template-columns:
      60px
      minmax(0, 1fr)
      60px;
  }

}


/* =========================================================
   03. TABLET PORTRAIT / MOBILE
   <= 768px
   ========================================================= */

@media (max-width: 768px) {

  /* =======================================================
     HERO
     ======================================================= */

  .erp-hero {
    padding:
      90px 20px 80px;
  }

  .erp-hero::before,
  .erp-cta::before,
  .erp-statement::before,
  .erp-operations::before {
    background-size:
      48px 48px;
  }

  .erp-hero__main {
    gap:
      55px;

    margin-top:
      80px;
  }

  .erp-hero__title {
    font-size:
      clamp(3.2rem, 14vw, 6rem);

    line-height:
      0.84;
  }

  .erp-hero__title .indent {
    padding-left:
      clamp(28px, 10vw, 70px);
  }

  .erp-hero__status {
    width:
      100%;

    margin-left:
      0;
  }

  .erp-hero__bottom {
    margin-top:
      80px;
  }

  .erp-hero__statement {
    font-size:
      clamp(1.6rem, 7vw, 2.8rem);
  }


  /* =======================================================
     PATH
     ======================================================= */

  .erp-path {
    padding:
      100px 20px;
  }

  .erp-path__header {
    margin-bottom:
      60px;
  }

  .erp-path__title {
    font-size:
      clamp(2.8rem, 11vw, 5rem);
  }

  .erp-path__track {
    grid-template-columns:
      1fr;
  }

  .erp-path-node,
  .erp-path-node:last-child {
    grid-column:
      1;
  }

  .erp-path-node {
    min-height:
      220px;

    padding:
      24px 22px;
  }

  .erp-path-node__body {
    left:
      22px;

    right:
      22px;

    bottom:
      22px;
  }

  .erp-path-node__title {
    font-size:
      clamp(1.8rem, 8vw, 3rem);
  }


  /* =======================================================
     PROJECT
     ======================================================= */

  .erp-project {
    padding:
      100px 20px;
  }

  .erp-project__header {
    margin-bottom:
      60px;
  }

  .erp-project__title {
    font-size:
      clamp(2.8rem, 11vw, 5rem);
  }

  .erp-project__media {
    min-height:
      500px;

    height:
      auto;

    aspect-ratio:
      4 / 5;
  }

  .erp-project__media img {
    height:
      106%;

    transform:
      translateY(-3%);
  }

  .erp-project__caption {
    flex-direction:
      column;

    gap:
      6px;
  }


  /* =======================================================
     OPERATIONS
     ======================================================= */

  .erp-operations {
    padding:
      100px 20px;
  }

  .erp-operations__header {
    margin-bottom:
      60px;
  }

  .erp-operations__title {
    font-size:
      clamp(2.8rem, 11vw, 5rem);
  }

  .erp-module-grid {
    grid-template-columns:
      1fr;
  }

  .erp-module {
    min-height:
      240px;

    padding:
      24px 22px;
  }

  .erp-module__status {
    top:
      22px;

    right:
      22px;
  }

  .erp-module__body {
    left:
      22px;

    right:
      22px;

    bottom:
      22px;
  }

  .erp-module__title {
    font-size:
      clamp(1.8rem, 8vw, 3rem);
  }


  /* =======================================================
     ARCHITECTURE
     ======================================================= */

  .erp-architecture {
    padding:
      100px 20px;
  }

  .erp-architecture__grid {
    gap:
      45px;
  }

  .erp-architecture__title {
    font-size:
      clamp(2.8rem, 11vw, 5rem);
  }

  .erp-architecture__chapter {
    min-height:
      auto;

    padding:
      75px 0;
  }

  .erp-architecture__number {
    margin-bottom:
      45px;
  }

  .erp-architecture__chapter-title {
    font-size:
      clamp(2.8rem, 11vw, 5rem);
  }


  /* =======================================================
     INTERFACE
     ======================================================= */

  .erp-interface {
    padding:
      100px 20px;
  }

  .erp-interface__header {
    margin-bottom:
      60px;
  }

  .erp-interface__title {
    font-size:
      clamp(2.8rem, 11vw, 5rem);
  }

  .erp-interface__grid {
    grid-template-columns:
      1fr;

    gap:
      0;

    row-gap:
      70px;
  }

  .erp-interface__item--one,
  .erp-interface__item--two,
  .erp-interface__item--three,
  .erp-interface__item--four {
    grid-column:
      1;

    margin-top:
      0;
  }

  .erp-interface__item--one {
    width:
      100%;
  }

  .erp-interface__item--two {
    width:
      78%;

    margin-left:
      auto;
  }

  .erp-interface__item--three {
    width:
      86%;

    margin-right:
      auto;
  }

  .erp-interface__item--four {
    width:
      100%;
  }

  .erp-interface__item--one
  .erp-interface__media,
  .erp-interface__item--four
  .erp-interface__media {
    aspect-ratio:
      4 / 5;
  }

  .erp-interface__media img {
    height:
      106%;

    transform:
      translateY(-3%);
  }


  /* =======================================================
     STATEMENT
     ======================================================= */

  .erp-statement {
    min-height:
      70vh;

    padding:
      100px 20px;
  }

  .erp-statement__ring {
    width:
      115vw;
  }

  .erp-statement__title {
    font-size:
      clamp(3rem, 13vw, 6rem);
  }


  /* =======================================================
     SCOPE
     ======================================================= */

  .erp-scope {
    padding:
      100px 20px;
  }

  .erp-scope__header {
    margin-bottom:
      60px;
  }

  .erp-scope__title {
    font-size:
      clamp(2.8rem, 11vw, 5rem);
  }

  .erp-scope-item {
    grid-template-columns:
      34px
      minmax(0, 1fr);

    gap:
      8px 16px;

    min-height:
      110px;

    padding:
      22px 0;
  }

  .erp-scope-item__number {
    grid-column:
      1;

    grid-row:
      1 / span 2;
  }

  .erp-scope-item__title {
    grid-column:
      2;

    font-size:
      clamp(1.8rem, 8vw, 3rem);
  }

  .erp-scope-item__type {
    grid-column:
      2;

    text-align:
      left;
  }


  /* =======================================================
     TIMELINE
     ======================================================= */

  .erp-timeline {
    padding:
      100px 20px;
  }

  .erp-timeline__header {
    margin-bottom:
      60px;
  }

  .erp-timeline__title {
    font-size:
      clamp(2.8rem, 11vw, 5rem);
  }

  .erp-timeline-card {
    min-height:
      290px;

    padding:
      30px 24px;
  }

  .erp-timeline-card__duration {
    font-size:
      clamp(4rem, 16vw, 7rem);
  }


  /* =======================================================
     RELATED
     ======================================================= */

  .erp-related {
    padding:
      100px 20px;
  }

  .erp-related__link {
    grid-template-columns:
      34px
      minmax(0, 1fr)
      48px;

    gap:
      14px;

    min-height:
      150px;
  }

  .erp-related__title {
    font-size:
      clamp(2.4rem, 10vw, 4.5rem);
  }

  .erp-related__arrow {
    width:
      48px;

    height:
      48px;
  }


  /* =======================================================
     CTA
     ======================================================= */

  .erp-cta {
    padding:
      100px 20px;
  }

  .erp-cta::after {
    width:
      125vw;

    height:
      125vw;

    right:
      -45%;

    top:
      5%;
  }

  .erp-cta__top {
    flex-direction:
      column;

    gap:
      24px;

    margin-bottom:
      80px;
  }

  .erp-cta__main {
    flex-direction:
      column;

    align-items:
      flex-start;

    gap:
      45px;
  }

  .erp-cta__title {
    font-size:
      clamp(3.5rem, 15vw, 6.5rem);
  }

  .erp-cta__action {
    width:
      90px;

    height:
      90px;
  }

}


/* =========================================================
   04. SMALL MOBILE
   <= 560px
   ========================================================= */

@media (max-width: 560px) {

  /* =======================================================
     HERO
     ======================================================= */

  .erp-hero {
    padding:
      75px 16px 65px;
  }

  .erp-hero__meta {
    font-size:
      0.78rem;
  }

  .erp-hero__main {
    gap:
      45px;

    margin-top:
      65px;
  }

  .erp-hero__title {
    font-size:
      clamp(2.9rem, 14vw, 4.8rem);
  }

  .erp-hero__title .indent {
    padding-left:
      22px;
  }

  .erp-hero__status-row {
    min-height:
      50px;
  }

  .erp-hero__status-label {
    font-size:
      0.56rem;
  }

  .erp-hero__status-value {
    font-size:
      0.65rem;
  }

  .erp-hero__bottom {
    margin-top:
      65px;
  }

  .erp-hero__copy {
    font-size:
      0.82rem;
  }


  /* =======================================================
     PATH
     ======================================================= */

  .erp-path {
    padding:
      80px 16px;
  }

  .erp-path__header {
    margin-bottom:
      48px;
  }

  .erp-path__title {
    font-size:
      clamp(2.5rem, 12vw, 4.4rem);
  }

  .erp-path__copy {
    font-size:
      0.82rem;
  }

  .erp-path-node {
    min-height:
      200px;

    padding:
      20px 18px;
  }

  .erp-path-node__body {
    left:
      18px;

    right:
      18px;

    bottom:
      18px;
  }

  .erp-path-node__title {
    font-size:
      clamp(1.6rem, 8vw, 2.6rem);
  }

  .erp-path-node__description {
    font-size:
      0.76rem;
  }


  /* =======================================================
     PROJECT
     ======================================================= */

  .erp-project {
    padding:
      80px 16px;
  }

  .erp-project__header {
    margin-bottom:
      48px;
  }

  .erp-project__title {
    font-size:
      clamp(2.5rem, 12vw, 4.4rem);
  }

  .erp-project__meta {
    font-size:
      0.74rem;
  }

  .erp-project__media {
    min-height:
      450px;
  }


  /* =======================================================
     OPERATIONS
     ======================================================= */

  .erp-operations {
    padding:
      80px 16px;
  }

  .erp-operations__header {
    margin-bottom:
      48px;
  }

  .erp-operations__title {
    font-size:
      clamp(2.5rem, 12vw, 4.4rem);
  }

  .erp-operations__copy {
    font-size:
      0.82rem;
  }

  .erp-module {
    min-height:
      220px;

    padding:
      20px 18px;
  }

  .erp-module__status {
    top:
      18px;

    right:
      18px;

    font-size:
      0.52rem;
  }

  .erp-module__body {
    left:
      18px;

    right:
      18px;

    bottom:
      18px;
  }

  .erp-module__title {
    font-size:
      clamp(1.6rem, 8vw, 2.6rem);
  }

  .erp-module__description {
    font-size:
      0.76rem;
  }


  /* =======================================================
     ARCHITECTURE
     ======================================================= */

  .erp-architecture {
    padding:
      80px 16px;
  }

  .erp-architecture__title {
    font-size:
      clamp(2.5rem, 12vw, 4.4rem);
  }

  .erp-architecture__copy {
    font-size:
      0.82rem;
  }

  .erp-architecture__chapter {
    padding:
      65px 0;
  }

  .erp-architecture__number {
    margin-bottom:
      38px;
  }

  .erp-architecture__chapter-title {
    font-size:
      clamp(2.5rem, 12vw, 4.4rem);
  }

  .erp-architecture__description {
    font-size:
      0.84rem;
  }


  /* =======================================================
     INTERFACE
     ======================================================= */

  .erp-interface {
    padding:
      80px 16px;
  }

  .erp-interface__header {
    margin-bottom:
      48px;
  }

  .erp-interface__title {
    font-size:
      clamp(2.5rem, 12vw, 4.4rem);
  }

  .erp-interface__copy {
    font-size:
      0.82rem;
  }

  .erp-interface__grid {
    row-gap:
      55px;
  }

  .erp-interface__item--two {
    width:
      84%;
  }

  .erp-interface__item--three {
    width:
      90%;
  }


  /* =======================================================
     STATEMENT
     ======================================================= */

  .erp-statement {
    min-height:
      65vh;

    padding:
      80px 16px;
  }

  .erp-statement__ring {
    width:
      135vw;
  }

  .erp-statement__title {
    font-size:
      clamp(2.8rem, 13vw, 5rem);
  }

  .erp-statement__copy {
    font-size:
      0.84rem;
  }


  /* =======================================================
     SCOPE
     ======================================================= */

  .erp-scope {
    padding:
      80px 16px;
  }

  .erp-scope__header {
    margin-bottom:
      48px;
  }

  .erp-scope__title {
    font-size:
      clamp(2.5rem, 12vw, 4.4rem);
  }

  .erp-scope__copy {
    font-size:
      0.82rem;
  }

  .erp-scope-item {
    grid-template-columns:
      24px
      minmax(0, 1fr);

    min-height:
      94px;
  }

  .erp-scope-item__title {
    font-size:
      clamp(1.6rem, 8vw, 2.6rem);
  }

  .erp-scope-item__type {
    font-size:
      0.58rem;
  }


  /* =======================================================
     TIMELINE
     ======================================================= */

  .erp-timeline {
    padding:
      80px 16px;
  }

  .erp-timeline__header {
    margin-bottom:
      48px;
  }

  .erp-timeline__title {
    font-size:
      clamp(2.5rem, 12vw, 4.4rem);
  }

  .erp-timeline-card {
    min-height:
      260px;

    padding:
      24px 18px;
  }

  .erp-timeline-card__duration {
    font-size:
      clamp(3.8rem, 18vw, 6rem);
  }

  .erp-timeline-card__copy {
    font-size:
      0.8rem;
  }


  /* =======================================================
     RELATED
     ======================================================= */

  .erp-related {
    padding:
      80px 16px;
  }

  .erp-related__link {
    grid-template-columns:
      24px
      minmax(0, 1fr)
      42px;

    min-height:
      130px;
  }

  .erp-related__title {
    font-size:
      clamp(2rem, 10vw, 3.5rem);
  }

  .erp-related__arrow {
    width:
      42px;

    height:
      42px;
  }


  /* =======================================================
     CTA
     ======================================================= */

  .erp-cta {
    padding:
      80px 16px;
  }

  .erp-cta__top {
    margin-bottom:
      65px;
  }

  .erp-cta__copy {
    font-size:
      0.78rem;
  }

  .erp-cta__title {
    font-size:
      clamp(3rem, 15vw, 5rem);
  }

  .erp-cta__action {
    width:
      78px;

    height:
      78px;
  }

}


/* =========================================================
   05. TOUCH DEVICES
   ========================================================= */

@media (hover: none) and (pointer: coarse) {

  .erp-path-node.is-muted {
    opacity:
      1;
  }

  .erp-path-node.is-active,
  .erp-path-node.is-completed {
    background:
      transparent;
  }

  .erp-path-node.is-active
  .erp-path-node__title {
    color:
      var(--text-heading);

    transform:
      none;
  }

  .erp-path-node.is-completed
  .erp-path-node__number {
    color:
      var(--text-soft);
  }


  .erp-module:hover {
    background:
      transparent;
  }

  .erp-module:hover::after {
    width:
      170px;

    height:
      170px;

    border-color:
      rgba(0, 200, 255, 0.12);
  }

  .erp-module:hover
  .erp-module__title {
    color:
      #ffffff;

    transform:
      none;
  }


  .erp-architecture__chapter {
    opacity:
      1;
  }

  .erp-architecture__chapter.is-active
  .erp-architecture__chapter-title {
    transform:
      none;
  }


  .erp-scope-item:hover {
    background:
      transparent;
  }

  .erp-scope-item:hover
  .erp-scope-item__title {
    color:
      var(--text-heading);

    transform:
      none;
  }


  .erp-related__link:hover
  .erp-related__title {
    color:
      var(--text-heading);

    transform:
      none;
  }

  .erp-related__link:hover
  .erp-related__arrow {
    color:
      var(--text-heading);

    background:
      transparent;

    border-color:
      var(--line);

    transform:
      none;
  }

}


/* =========================================================
   06. REDUCED MOTION
   ========================================================= */

@media (prefers-reduced-motion: reduce) {

  .erp-path-node,
  .erp-path-node::before,
  .erp-path-node__title,
  .erp-module,
  .erp-module::after,
  .erp-module__title,
  .erp-architecture__chapter,
  .erp-architecture__chapter-title,
  .erp-scope-item,
  .erp-scope-item__title,
  .erp-related__title,
  .erp-related__arrow,
  .erp-cta__action {
    transition:
      none;
  }

}


/* =========================================================
   07. LANDSCAPE MOBILE
   ========================================================= */

@media (
  max-width: 900px
) and (
  max-height: 520px
) and (
  orientation: landscape
) {

  .erp-hero {
    padding-top:
      80px;
  }

  .erp-hero__title {
    font-size:
      clamp(3rem, 9vw, 5rem);
  }

  .erp-project__media {
    min-height:
      520px;
  }

  .erp-statement {
    min-height:
      620px;
  }

}