@layer page {
    
    #global-header:not(:has(#nav-toggle[aria-expanded=true])) #global-header__logo {
        visibility: hidden;
        pointer-events: none;
    }

    #hero::before {
      opacity: 0.4;
    }

    #hero__logo {
      animation: fade-in-up 0.6s cubic-bezier(0, 0, 0.2, 1);
      margin-inline: auto;
      clip-path: none;
      z-index: 5;
      margin-block-end: var(--point-offset)
    }

    #home-intro {
      padding-block: var(--section-padding);
      display: flex;
      flex-direction: column;
      align-items: stretch;
      text-align: center;
      gap: var(--space-xl);
    }

    #core-values {
      list-style-type: none;
      padding-inline: 0;
      display: grid;
      gap: var(--space-m);
      grid-template-columns: repeat(auto-fit, minmax(7rem, 1fr));
      li {
        display: flex;
        flex-direction: column;
        align-items: center;
        font-weight: 800;
        gap: 0.5em;
      }
      img {
        width: 6rem;
        aspect-ratio: 1;
        border-radius: 50%;
        padding: 0.5rem;
        height: auto;
      }
    }

    #applications__outer {
      --clip-path: var(--clip-both);
      position: relative;
      clip-path: var(--clip-path);
      aspect-ratio: 16/6;
      @media (width < 768px) {
        --clip-path: var(--clip-up);
      }
    }

    #applications__container {
      container-type: inline-size;
      display: flex;
      flex-direction: column;
      justify-content: center;
    }

    #applications {
      --middle-gap: calc(var(--space-2xl) * 2);
      --title-overlap: 10cqi;
      color: var(--color-canvas);
      @container (width >= 50rem) {
        position: static;
        display: flex;
        flex-direction: column;
        justify-content: center;
        aspect-ratio: 16/10;
        padding-block: var(--section-padding);
        clip-path: none;
        &::after {
          content: '';
          position: absolute;
          inset: 0;
          height: 100%;
          background: var(--color-accent);
          inset-block-start: calc(100% - var(--point-offset) - 0.1rem);
          clip-path: var(--clip-path);
          z-index: 5;
        }
        
      }
    }
    
    #applications__title {
      z-index: 2;
      @container (width < 50rem) {
        position: absolute;
        writing-mode:sideways-lr;
        padding-inline: var(--space-l);
        padding-inline-end: calc(var(--space-l) + var(--point-offset));
        display: flex;
        inline-size: 100%;
        align-items: center;
        gap: 1em;
        &::before {
          content: '';
          display: block;
          flex: 1;
          block-size: 0.1rem;
          background: var(--color-accent);
        }
      }
      @container (width >= 50rem) {
        text-align: center;
        transform: translate(-50%, 1em);
        position: relative;
        left: 50%;
        width: calc(var(--middle-gap) + var(--title-overlap) * 2);
        display: flex;
        align-items: center;
        gap: 0.5em;
        &::before, &::after {
          content: '';
          display: block;
          flex: 1;
          block-size: 0.075rem;
          background: var(--color-accent);
        }
        span::before, span::after {
          content: '';
          inset-inline: 50%;
          display: block;
          position: absolute;
          inline-size: 0.075rem;
          background-color: var(--color-accent);
          height: 100vh;
          transform: translateX(-50%);
        }
        span::before {
          inset-block-start: 150%;
        }
        span::after {
          inset-block-end: 150%;
        }
      }
    }

    #applications-list {
      list-style-type: none;
      padding-inline: 0;
      @container (width >= 50rem) {
        display: flex;
        text-align: center;
      }
      h3 {
        font-size: var(--step--1);
        text-transform: uppercase;
        letter-spacing: 0.05em;
        @container (width >= 50rem) {
          padding-inline: calc(var(--title-overlap) + var(--space-m));
        }
      }
      li {
        position: relative;
        padding-block: var(--space-l);
        @container (width >= 50rem) {
          position: static;
          width: 50%;
          &:nth-child(1) {
            padding-inline-end: calc(var(--middle-gap) / 2);
          }
          &:nth-child(2) {
            padding-inline-start: calc(var(--middle-gap) / 2);
          }
          padding-block: 0;
        }
        display: flex;
        flex-direction: column;
        align-items: stretch;
        gap: var(--space-s);
        font-weight: 200;
        @container (width < 50rem) {
          min-height: 50vh;
          &:first-child {
            padding-block-start: calc(var(--space-2xl) + var(--point-offset));
            padding-block-end: var(--space-xl);
          }
        }

        & > * {
          z-index: 2;
          @container (width < 50rem) {
            padding-inline-start: 4rem;
          }
        }
        img {
          position: absolute;
          inset: 0;
          inset-inline: calc(var(--minimum-content-padding) * -1);
          inline-size: calc(100% + var(--minimum-content-padding) * 2);
          @container (width >= 50rem) {
            inset-inline: unset;
            inset-inline-start: 0;
            inline-size: 50%;
            li:nth-child(2) & {
              inset-inline-start:50%;
            }
          }
          padding-inline-start: 0;
          block-size: 100%;
          max-width: none;
          object-fit: cover;
          z-index: -1;
        }
        &::before, &::after {
          content: '';
          position: absolute;
          inset: 0;
          inset-inline: calc(var(--minimum-content-padding) * -1);
          inline-size: calc(100% + var(--minimum-content-padding) * 2);
          @container (width >= 50rem) {
            inset-inline: unset;
            inset-inline-start: 0;
            inline-size: 50%;
          }
          block-size: 100%;
        }
        &:nth-child(2)::before, &:nth-child(2)::after {
          @container (width >= 50rem) {
            inset-inline-start:50%;
          }
        }
        &::before {
          mix-blend-mode: color;
          z-index: 0;
        }
        &::after {
          background: var(--color-black);
          mix-blend-mode: multiply;
          opacity: 0.5;
          z-index: 1;
        }
        &.industrial::before {
          background-color: hsla(43, 90%, 53%, 0.75);
        }
        &.marine::before {
          background-color: rgba(40, 65, 82, 0.75);
      }
      }
    }

    #services__outer {
      background-color: var(--color-ink);
      color: var(--color-canvas);
      position: relative;
      &::before {
        content: '';
        position: absolute;
        inset-block-end: 100%;
        inset-inline: 0;
        height: var(--point-offset);
        background: var(--color-ink);
        z-index: -1;
      }
    }

    #services__container {
      container-type: inline-size;
      container-name: services;
      align-content: center;
      aspect-ratio: 16/10;
    }

    #services__list-container {
      inline-size: 100%;
      container-type: inline-size;
      container-name: list;
    }

    #services {
      padding-block: var(--section-padding);
      display: flex;
      flex-direction: column;
      @container services (width >= 35rem) {
        flex-direction: row;
      }
      gap: var(--space-l);
      --deco-offset: -30%;
      --deco-size: min(20cqi, calc(50vw - 50cqi));
      @media (width >= 87.5rem) {
        &::before, &::after {
          pointer-events: none;
          content: '';
          position: absolute;
          inset-block: var(--deco-offset);
          inset-inline: 0;
          background-image: url(/app/themes/ergovolt/assets/images/side-deco.svg);
          background-repeat: no-repeat;
          background-size: var(--deco-size) auto;
          background-position: calc(var(--deco-size) * -0.3) 0;
          z-index: 0;
        }
        &::after {
          transform: scaleX(-1);
          background-position-y: 100%;
        }
      }
      ol {
        font-family: var(--font-family-display);
        margin-inline: calc(var(--minimum-content-padding) * -1);
        padding-inline-end: var(--minimum-content-padding);
        list-style-type: none;
        padding-inline: 0;
        counter-reset: service;
        @container services (width >= 35rem) {
          inline-size: 100%;
          margin-inline: 0;
        }
        @container list (width >= 32rem) {
          display: grid;
          grid-template-columns: repeat(2, 1fr);
        }
        @container list (width >= 50rem) {
          grid-template-columns: repeat(3, 1fr);
        }
      }
      li {
        color: var(--color-ink);
        background-color: var(--color-canvas);
        overflow:hidden;
        &:nth-child(2n) {
          background-color: var(--color-accent);
        }
        @container list (32rem <= width < 50rem) {
          &:nth-child(n) {
            background-color: var(--color-canvas);
          }
          &:nth-child(4n-2), &:nth-child(4n-1) {
            background-color: var(--color-accent);
          }
        }
      }
      a {
        display: flex;
        text-decoration: none;
        font-weight: 700;
        align-items: start;
        position: relative;
        span {
          padding-block-start: 2rem;
          padding-inline-start: 0.5rem;
        }

        span {
          transition: all 0.3s ease-out;
        }

        &:hover {
          &::before {
            transform: translateX(-15%);
          }
          span {
            transform: translateX(-5%);
          }
        }

        &::before {
          content:counter(service);
          counter-increment: service;
          font-size: 10rem;
          color: #000;
          leading-trim: both;
          text-edge: cap;
          font-size: 12.80494rem;
          line-height: 1;
          width: 1ch;
          margin-inline-start: -0.15em;
          text-align: center;
          transition: all 0.3s ease-out;
        }
        &::after {
          content: '';
          position: absolute;
          display: block;
          inset: 0;
          background-image: linear-gradient(90deg, hsla(0, 0%, 0%, 0.4) 0%, transparent 5rem);
          mix-blend-mode: multiply;
        }
      }
     
  
    }

    .image-text__container {
      container-type: inline-size;
      container-name: section;
    }

    .image-text {
      padding-block: var(--section-padding);
      display:grid;
      grid-template-areas: "image" "title" "text";
      align-items: start;
      gap: var(--space-l);

      & > * {
        grid-area: text;
      }

      & > figure {
        margin: 0;
        grid-area: image;
 
        img {
          inline-size: 100%;
          object-fit: cover;
          aspect-ratio: var(--aspect-ratio);
          border-radius: var(--img-border-radius);
        }
      }

      & > h2 {
        grid-area: title;
      }

      @container section (width >= 40rem) {
        grid-template-areas: "image title" "image text";
        grid-template-columns: 1fr 1fr;
        grid-template-rows: auto 1fr;
        row-gap: var(--space-m);
      }

    }

    #price-availability__outer {
      background-color: #000010;
      color: var(--color-canvas);
      overflow: hidden;
    }

    #price-availability__container {
      container-type: inline-size;
    }
    
    #price-availability {
      position: relative;
      padding-block: var(--section-padding);
      display: flex;
      flex-direction: column;
      gap: var(--space-l);

      p {
        font-weight: 200;
      }
      
      @container (width >= 40rem) {
        overflow-X: visible;
        overflow-Y: clip;
        aspect-ratio: 16/9;
        & > *:not(#globeViz) {
          position: relative;
          z-index: 2;
          max-width: 25rem;
        }
      }
    }

    #globeViz {
      pointer-events: none;
      margin-inline: calc(var(--minimum-content-padding) * -1);
      margin-block-end: calc(var(--section-padding) * -1);
      aspect-ratio: 4/3;
      position: relative;
      & div, .scene-containe, canvas {
        position: absolute !important;
        height: 100% !important;
        width: 100% !important;
      }
      canvas {
        object-fit: cover;
        object-position: center 20%;
      }

      @container (width >= 40rem) {
        margin: 0;
        position: absolute;
        inset: unset;
        inset-block-start: 100%;
        inset-inline: -40%;
        inset-inline-end: -60%;
        aspect-ratio: 1;
        z-index: 0;
        transform: translateY(-50%);
        canvas {
          object-fit: contain;
          object-position: center;
        }
      }
   
    }

    #clients {
      container-type: inline-size;
      padding-block: var(--section-padding);
      display: flex;
      flex-direction: column;
      align-items: stretch;
      gap: var(--space-m);
      h2 {
        font-size: var(--h3-size);
        display: flex;
        align-items: center;
        gap: 1em;
        &::after {
          content: '';
          flex: 1;
          block-size: 0.1rem;
          background: var(--color-ink);
        }
      }
      ul {
        inline-size: 100%;
        list-style-type: none;
        padding-inline: 0;
        display: flex;
        align-items: center;
        gap: var(--space-l);
        flex-wrap: wrap;
        justify-content: space-around;
        img {
          max-width: 10rem;
          max-height: 7rem;
        }
      }
      @container (width < 40rem) {
        ul {
          flex-wrap: nowrap;
          justify-content: space-between;
          margin-inline: calc(var(--minimum-content-padding) * -1);
          padding-inline-start: var(--minimum-content-padding);
          inline-size: unset;
          overflow-x: auto;
          scrollbar-width: none;
          justify-content: unset;
          &::-webkit-scrollbar {
            display: none;
          }
          li {
            flex-shrink: 0;
          }
        }
      }
    }
}