:root {
--apy-glass-bg: rgba(10, 17, 28, 0.22);
--apy-glass-bg-hover: rgba(10, 17, 28, 0.22);
--apy-glass-dropdown-bg: rgba(8, 14, 24, 0.86);
--apy-glass-border: rgba(170, 184, 201, 0.28);
--apy-header-link: rgba(244, 248, 252, 0.9);
--apy-header-link-strong: #ffffff;
--apy-header-link-hover-bg: rgba(255, 255, 255, 0.08); --apy-site-header-z-index: 8000;
}
.apy-site-header {
position: fixed;
top: 0;
left: 0;
right: 0;
width: 100%;
z-index: var(--apy-site-header-z-index, 8000);
border-radius: 0;
background: #0d1320;
border-bottom: 0;
box-shadow: 0 8px 18px rgba(6, 10, 16, 0.2);
backdrop-filter: none;
-webkit-backdrop-filter: none;
transition:
transform 0.5s cubic-bezier(0.22, 1, 0.36, 1),
background 0.7s cubic-bezier(0.22, 1, 0.36, 1),
border-color 0.7s cubic-bezier(0.22, 1, 0.36, 1),
box-shadow 0.7s cubic-bezier(0.22, 1, 0.36, 1),
opacity 0.45s cubic-bezier(0.22, 1, 0.36, 1);
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}
.apy-site-header .apy-brand a,
.apy-site-header .apy-header-menu a,
.apy-site-header .apy-menu-toggle {
color: var(--apy-header-link);
}
.apy-site-header .apy-menu-toggle {
background: transparent;
border: none;
color: #fff;
}
.apy-site-header .apy-header-menu a:hover,
.apy-site-header .apy-header-menu a:focus-visible {
color: var(--apy-header-link-strong);
}
.apy-site-header .apy-menu-toggle:hover,
.apy-site-header .apy-menu-toggle:focus-visible {
background: var(--apy-header-link-hover-bg);
color: var(--apy-header-link-strong);
}
.apy-site-header .custom-logo {
filter: brightness(0) invert(1);
transition: filter 0.35s ease;
} .apy-header-primary {
display: grid;
grid-template-rows: 1fr;
transition: grid-template-rows 0.5s cubic-bezier(0.22, 1, 0.36, 1);
overflow: visible;
}
.apy-header-primary.is-hidden {
grid-template-rows: 0fr;
pointer-events: none;
overflow: hidden;
} .apy-header-primary > .apy-header-inner {
min-height: 0;
overflow: visible;
}
.apy-header-primary.is-hidden > .apy-header-inner {
overflow: hidden;
} .apy-site-header.is-hidden {
transform: translateY(calc(-100% - 6px));
pointer-events: none;
opacity: 0;
}  .apy-site-header.apy-header-transparent-top {
background: transparent !important;
box-shadow: none !important;
}
body.home .apy-site-header.is-at-top,
body.single-project .apy-site-header.is-at-top {
background: transparent !important;
box-shadow: none !important;
}
body.home .apy-site-header:not(.is-at-top),
body.single-project .apy-site-header:not(.is-at-top) {
background: #0d1320 !important;
box-shadow: 0 8px 18px rgba(6, 10, 16, 0.2) !important;
} .apy-site-header.apy-header-transparent-top:focus-within,
body.home .apy-site-header.is-at-top:focus-within,
body.single-project .apy-site-header.is-at-top:focus-within {
background: #0d1320 !important;
box-shadow: 0 8px 18px rgba(6, 10, 16, 0.2) !important;
}
body:not(.home):not(.single-project) .apy-site-header {
background: #0d1320 !important;
box-shadow: 0 8px 18px rgba(6, 10, 16, 0.2) !important;
}
body:not(.home):not(.single-project) .apy-site-header:focus-within {
background: #0d1320 !important;
box-shadow: 0 8px 18px rgba(6, 10, 16, 0.2) !important;
} body:not(.apy-has-hero) .apy-main {
padding-top: 80px;
}
body:not(.apy-has-hero) .apy-site-header {
background: #0d1320;
border-bottom-color: transparent;
box-shadow: 0 8px 18px rgba(6, 10, 16, 0.2);
}
body:not(.apy-has-hero) .apy-site-header .apy-brand a,
body:not(.apy-has-hero) .apy-site-header .apy-header-menu a,
body:not(.apy-has-hero) .apy-site-header .apy-menu-toggle {
color: rgba(248, 251, 255, 0.94);
}
body:not(.apy-has-hero) .apy-site-header:focus-within {
background: #0d1320;
border-bottom-color: transparent;
box-shadow: 0 8px 18px rgba(6, 10, 16, 0.2);
} body:not(.apy-has-hero).home .apy-site-header.is-at-top,
body:not(.apy-has-hero).single-project .apy-site-header.is-at-top {
background: transparent !important;
box-shadow: none !important;
}
body:not(.apy-has-hero).home .apy-site-header.is-at-top:focus-within,
body:not(.apy-has-hero).single-project .apy-site-header.is-at-top:focus-within {
background: #0d1320 !important;
box-shadow: 0 8px 18px rgba(6, 10, 16, 0.2) !important;
} body.apy-has-projects-bar .apy-main {
padding-top: 20.5%;
}
@media (min-width: 400px) {
body.apy-has-projects-bar .apy-main {
padding-top: 20.5%;
}
}
@media (min-width: 600px) {
body.apy-has-projects-bar .apy-main {
padding-top: 5.75%;
}
}
@media (min-width: 768px) {
body.apy-has-projects-bar .apy-main {
padding-top: 5.1%;
}
}
@media (min-width: 1024px) {
body.apy-has-projects-bar .apy-main {
padding-top: 2.5%;
}
} body:not(.home) .apy-site-header:not(.is-at-top) .apy-header-projects-bar,
body.apy-has-projects-bar .apy-site-header:not(.is-at-top) .apy-header-projects-bar {
background: #0d1320 !important;
border-top-color: rgba(255, 255, 255, 0.1);
}
body:not(.home) .apy-site-header:not(.is-at-top):focus-within .apy-header-projects-bar,
body.apy-has-projects-bar .apy-site-header:not(.is-at-top):focus-within .apy-header-projects-bar {
background: #0d1320 !important;
}
.apy-site-header.apy-header-transparent-top .apy-header-projects-bar,
body.home .apy-site-header.is-at-top .apy-header-projects-bar,
body.single-project .apy-site-header.is-at-top .apy-header-projects-bar {
background: transparent !important;
border-top-color: rgba(255, 255, 255, 0.14);
}
.apy-site-header.apy-header-transparent-top:focus-within .apy-header-projects-bar,
body.home .apy-site-header.is-at-top:focus-within .apy-header-projects-bar,
body.single-project .apy-site-header.is-at-top:focus-within .apy-header-projects-bar {
background: #0d1320 !important;
border-top-color: rgba(255, 255, 255, 0.1);
}
body:not(.home):not(.single-project) .apy-site-header .apy-header-projects-bar {
background: #0d1320 !important;
border-top-color: rgba(255, 255, 255, 0.1);
} .apy-header-projects-bar {
border-top: 1px solid var(--apy-glass-border);
background: #0d1320;
padding: 1rem 10px;
transition: background 0.7s cubic-bezier(0.22, 1, 0.36, 1), border-color 0.7s cubic-bezier(0.22, 1, 0.36, 1);
}
.apy-site-header:focus-within .apy-header-projects-bar {
background: #0d1320;
}
.apy-header-projects-inner {
display: flex;
flex-direction: column;
gap: 1rem;
}
.apy-header-projects-bar .apy-projects-header {
display: flex;
align-items: baseline;
justify-content: space-between;
gap: 0.5rem 1rem;
}
.apy-header-projects-bar .apy-projects-title {
font-size: clamp(1.25rem, 3vw, 1.6rem);
font-weight: 700;
color: #fff;
margin: 0;
letter-spacing: -0.02em;
}
.apy-header-projects-bar .apy-projects-count {
font-size: 0.875rem;
color: rgba(255, 255, 255, 0.75);
}
.apy-header-projects-bar .apy-projects-filters-inner {
display: flex;
flex-wrap: wrap;
align-items: center;
gap: 0.5rem 1rem;
}
.apy-header-projects-bar .apy-projects-search {
flex: 1;
min-width: 160px;
padding: 0.5rem 0.875rem;
font-size: 0.875rem;
border: 1px solid rgba(255, 255, 255, 0.25);
border-radius: 6px;
background: rgba(255, 255, 255, 0.08);
color: #fff;
}
.apy-header-projects-bar .apy-projects-search::placeholder {
color: rgba(255, 255, 255, 0.5);
}
.apy-header-projects-bar .apy-projects-search:focus {
outline: none;
border-color: rgba(255, 255, 255, 0.5);
background: rgba(255, 255, 255, 0.12);
}
.apy-header-projects-bar .apy-projects-select {
padding: 0.5rem 1.75rem 0.5rem 0.75rem;
font-size: 0.875rem;
border: 1px solid rgba(255, 255, 255, 0.25);
border-radius: 6px;
background: rgba(255, 255, 255, 0.08);
color: #fff;
cursor: pointer;
}
.apy-header-projects-bar .apy-projects-select option {
background: #1a2229;
color: #fff;
}
.apy-header-projects-bar .apy-projects-select:focus {
outline: none;
border-color: rgba(255, 255, 255, 0.5);
}
.apy-header-projects-bar .apy-projects-sort {
display: flex;
gap: 0.5rem;
margin-left: auto;
}
.apy-header-projects-bar .apy-projects-sort-link {
padding: 0.4rem 0.6rem;
font-size: 0.8125rem;
color: rgba(255, 255, 255, 0.75);
text-decoration: none;
border-radius: 4px;
transition: color 0.2s, background 0.2s;
}
.apy-header-projects-bar .apy-projects-sort-link:hover,
.apy-header-projects-bar .apy-projects-sort-link:focus-visible {
color: #fff;
background: rgba(255, 255, 255, 0.1);
}
.apy-header-projects-bar .apy-projects-sort-link.is-active {
color: #fff;
font-weight: 600;
} .apy-projects-filters-toggle {
display: none;
align-items: center;
gap: 0.5rem;
padding: 0.5rem 1rem;
font-size: 0.875rem;
font-weight: 500;
color: rgba(255, 255, 255, 0.9);
background: rgba(255, 255, 255, 0.08);
border: 1px solid rgba(255, 255, 255, 0.25);
border-radius: 8px;
cursor: pointer;
transition: background 0.2s, border-color 0.2s;
}
.apy-projects-filters-toggle:hover,
.apy-projects-filters-toggle:focus-visible {
background: rgba(255, 255, 255, 0.12);
border-color: rgba(255, 255, 255, 0.4);
color: #fff;
}
.apy-projects-filters-toggle[aria-expanded="true"] {
background: rgba(255, 255, 255, 0.15);
border-color: rgba(255, 255, 255, 0.5);
}
.apy-projects-filters-dropdown {
display: flex;
flex-wrap: wrap;
align-items: center;
gap: 0.5rem 1rem;
margin-left: auto;
}
.apy-header-inner {
min-height: 72px;
display: flex;
justify-content: space-between;
align-items: center;
gap: 2rem;
padding: 0;
width: 100%;
position: relative;
box-sizing: border-box;
opacity: 1;
transition: opacity 0.45s cubic-bezier(0.22, 1, 0.36, 1);
}
.apy-header-primary.is-hidden > .apy-header-inner {
opacity: 0;
}
.apy-header-nav {
display: flex;
align-items: center;
}
.apy-header-menu {
display: flex;
align-items: center;
gap: 3.25rem;
margin: 0px 20px 0px 0px;
padding: 0;
list-style: none;
overflow: visible;
}
.apy-header-menu li {
margin: 0;
}
.apy-header-menu a {
display: block;
padding: 0.5rem 0.82rem;
font-size: 0.9rem;
font-weight: 500;
letter-spacing: 0.02em;
color: inherit;
text-decoration: none;
border-radius: 0;
transition: color 0.25s ease;
}
.apy-header-menu a:hover,
.apy-header-menu a:focus-visible {
color: var(--apy-header-link-strong);
background: transparent;
box-shadow: none;
} .apy-header-menu .has-children {
position: relative;
overflow: visible;
z-index: 1;
}
.apy-header-menu .has-children:hover,
.apy-header-menu .has-children:focus-within {
z-index: 2;
}
.apy-header-menu .has-children::after {
content: "";
position: absolute;
left: 0;
right: 0;
top: 100%;
height: 10px;
}
.apy-dropdown-trigger {
cursor: pointer;
}
.apy-dropdown-wrap {
position: absolute;
top: 100%;
left: 0;
transform: translateY(10px);
z-index: 10050;
min-width: 320px;
max-width: min(420px, calc(100vw - (var(--apy-header-pad-x, 32px) * 2)));
width: max-content;
padding-top: 6px;
opacity: 0;
visibility: hidden;
transition: opacity 0.3s ease, transform 0.3s cubic-bezier(0.22, 1, 0.36, 1), visibility 0.3s ease;
pointer-events: none;
}
.apy-header-menu .has-children:hover .apy-dropdown-wrap,
.apy-header-menu .has-children:focus-within .apy-dropdown-wrap {
opacity: 1;
visibility: visible;
transform: translateY(0);
pointer-events: auto;
}
.apy-header-menu > .menu-item-has-children:nth-last-child(-n + 2) .apy-dropdown-wrap {
left: auto;
right: 0;
}
.apy-dropdown-inner {
background: var(--apy-glass-dropdown-bg);
border: 1px solid var(--apy-glass-border);
box-shadow: 0 20px 40px rgba(2, 6, 12, 0.38);
border-radius: 0;
overflow: hidden;
backdrop-filter: blur(12px) saturate(140%);
-webkit-backdrop-filter: blur(12px) saturate(140%);
}
.apy-dropdown-menu {
list-style: none;
margin: 0;
padding: 0;
}
.apy-dropdown-menu .menu-item {
margin: 0;
}
.apy-dropdown-item + .apy-dropdown-item {
border-top: 1px solid rgba(255, 255, 255, 0.09);
}
.apy-dropdown-link {
display: block;
padding: 0.95rem 1.28rem;
color: rgba(244, 248, 252, 0.9);
text-decoration: none;
font-size: 0.985rem;
font-weight: 600;
letter-spacing: 0.04em;
transition: background-color 0.25s ease, color 0.25s ease;
}
.apy-header-menu .apy-dropdown-link:hover,
.apy-header-menu .apy-dropdown-link:focus-visible {
color: #fff;
background: rgba(255, 255, 255, 0.1);
}
.apy-dropdown-link:focus-visible {
outline: 2px solid rgba(255, 255, 255, 0.32);
outline-offset: -2px;
}
.apy-dropdown-chevron {
display: inline-block;
font-size: 0.5em;
vertical-align: middle;
margin-left: 0.25em;
opacity: 0.84;
transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}
.apy-header-menu .has-children:hover .apy-dropdown-chevron {
transform: rotate(180deg);
} .apy-header-nav {
overflow: visible;
}
.apy-menu-toggle {
display: none;
}
.apy-brand a {
font-size: 1.125rem;
font-weight: 600;
letter-spacing: 0.025em;
transition: color 0.3s ease, opacity 0.3s ease;
}
.apy-brand a:hover {
opacity: 0.85;
}
.apy-brand .custom-logo-link {
display: inline-flex;
align-items: center;
}
.apy-brand .custom-logo {
width: auto;
max-width: var(--apy-logo-max-width);
max-height: var(--apy-logo-max-height);
height: auto;
object-fit: contain;
margin: 10px 0px 10px 20px;
}
.apy-menu-toggle {
align-items: center;
gap: 0.6rem;
border: none;
background: transparent;
color: inherit;
padding: 0.6rem;
border-radius: 10px;
cursor: pointer;
font-size: 0.875rem;
font-weight: 500;
transition: background 0.25s ease, color 0.25s ease;
}
.apy-menu-toggle:hover,
.apy-menu-toggle:focus-visible {
background: rgba(0, 0, 0, 0.06);
color: var(--apy-primary);
}
.apy-menu-toggle-icon {
width: 22px;
height: 14px;
position: relative;
display: inline-block;
}
.apy-menu-toggle-icon span {
position: absolute;
left: 0;
width: 100%;
height: 1px;
background: currentColor;
border-radius: 1px;
transition: transform 0.35s cubic-bezier(0.32, 0.72, 0, 1), opacity 0.25s ease, top 0.35s cubic-bezier(0.32, 0.72, 0, 1);
}
.apy-menu-toggle-icon span:nth-child(1) {
top: 0;
}
.apy-menu-toggle-icon span:nth-child(2) {
top: 6.5px;
}
.apy-menu-toggle-icon span:nth-child(3) {
top: 13px;
}
.apy-menu-toggle-label {
font-size: 0.9rem;
font-weight: 500;
letter-spacing: 0.03em;
}
body.apy-menu-open {
overflow: hidden;
}
body.apy-menu-open .apy-site-header {
visibility: hidden;
opacity: 0;
pointer-events: none;
}
body.apy-menu-open .apy-menu-toggle-icon span:nth-child(1) {
top: 6.5px;
transform: rotate(45deg);
}
body.apy-menu-open .apy-menu-toggle-icon span:nth-child(2) {
opacity: 0;
}
body.apy-menu-open .apy-menu-toggle-icon span:nth-child(3) {
top: 6.5px;
transform: rotate(-45deg);
}
.apy-menu-wrap {
position: fixed;
inset: 0;
z-index: 9000;
opacity: 0;
visibility: hidden;
pointer-events: none;
transition: opacity 0.25s ease, visibility 0.25s ease;
background: #0d1320;
color: #fff;
overflow: hidden;
}
.apy-menu-wrap.is-open {
opacity: 1;
visibility: visible;
pointer-events: auto;
} .apy-menu-bg {
position: absolute;
inset: 0;
z-index: 0;
background-size: cover;
background-position: center;
filter: blur(80px) saturate(0.4);
opacity: 0.2;
transform: scale(1.1);
}
.apy-menu-bg::after {
content: '';
position: absolute;
inset: 0;
background: linear-gradient(180deg, rgba(13, 19, 32, 0.4) 0%, rgba(13, 19, 32, 0.85) 100%);
}
.apy-menu-close {
position: absolute;
top: max(1.5rem, env(safe-area-inset-top));
right: max(1.5rem, env(safe-area-inset-right));
z-index: 10;
display: flex;
align-items: center;
justify-content: center;
width: 40px;
height: 40px;
padding: 0;
border: none;
border-radius: 50%;
background: transparent;
color: rgba(255, 255, 255, 0.7);
cursor: pointer;
transition: color 0.2s ease, transform 0.2s ease;
}
.apy-menu-close:hover {
color: #fff;
}
.apy-menu-close:active {
transform: scale(0.92);
}
.apy-menu-close:focus-visible {
outline: 2px solid rgba(255, 255, 255, 0.5);
outline-offset: 2px;
} .apy-menu-close-icon {
position: relative;
width: 18px;
height: 18px;
display: block;
}
.apy-menu-close-icon span {
position: absolute;
left: 50%;
top: 50%;
width: 100%;
height: 1px;
background: currentColor;
border-radius: 1px;
transition: transform 0.25s cubic-bezier(0.32, 0.72, 0, 1);
}
.apy-menu-close-icon span:nth-child(1) {
transform: translate(-50%, -50%) rotate(45deg);
}
.apy-menu-close-icon span:nth-child(2) {
transform: translate(-50%, -50%) rotate(-45deg);
}
.apy-menu-shell {
position: relative;
z-index: 1;
display: grid;
grid-template-columns: minmax(120px, 16%) 1fr;
gap: 3rem 3rem;
align-items: start;
align-content: start;
height: 100vh;
min-height: 100vh;
width: 100%;
max-width: min(calc(100vw - 3rem), 1400px);
margin: 0 auto;
padding: 5rem 1.5rem 2rem;
overflow-y: auto;
overflow-x: hidden;
-webkit-overflow-scrolling: touch;
}
.apy-track-wrap {
perspective: 1200px;
overflow: hidden;
height: 58vh;
min-height: 420px;
justify-self: stretch;
align-self: center;
border: none;
background: transparent;
}
.apy-track {
transform-style: preserve-3d;
transform: rotateY(12deg) translate3d(0, 0, 0);
transition: transform 0.7s cubic-bezier(0.22, 1, 0.36, 1);
display: grid;
gap: 2vh;
padding: 50px;
}
.apy-track-item {
min-height: 50vh;
}
.apy-track-img {
width: 100%;
height: 100%;
min-height: 50vh;
background-size: cover;
background-position: center;
border: none;
}
.apy-track-img-1 {
background-image: linear-gradient(135deg, #8f7452, #2b2a27);
}
.apy-track-img-2 {
background-image: linear-gradient(135deg, #5e6466, #1f1f1e);
}
.apy-track-img-3 {
background-image: linear-gradient(135deg, #a88e68, #34312c);
}
.apy-track-img-4 {
background-image: linear-gradient(135deg, #6c7a6c, #1e1f1d);
}
.apy-track-img-5 {
background-image: linear-gradient(135deg, #4f5d75, #1a1b1c);
}
.apy-track-img-6 {
background-image: linear-gradient(135deg, #8b6d6d, #1d1b1b);
}
.apy-overlay-nav {
position: relative;
} .apy-overlay-menu {
margin: 0;
padding: 0;
list-style: none;
display: flex;
flex-direction: column;
gap: 0;
}
.apy-overlay-menu li {
margin: 0;
}
.apy-overlay-menu > li > a {
display: flex;
align-items: center;
justify-content: space-between;
gap: 0.5rem;
font-size: 1rem;
font-weight: 500;
padding: 0.75rem 1rem;
color: rgba(255, 255, 255, 0.85);
text-decoration: none;
transition: color 0.2s ease;
}
.apy-overlay-menu > li > a:hover,
.apy-overlay-menu > li > a:focus-visible {
color: #fff;
}
.apy-overlay-menu .menu-item-has-children.is-open > a {
color: #fff;
}
.apy-overlay-menu > li > a:focus-visible {
outline: 2px solid rgba(255, 255, 255, 0.4);
outline-offset: 2px;
} .apy-overlay-menu .sub-menu {
margin: 0;
padding: 0;
list-style: none;
max-height: 0;
overflow: hidden;
transition: max-height 0.3s ease;
}
.apy-overlay-menu .menu-item-has-children.is-open > .sub-menu {
max-height: 500px;
}
.apy-overlay-menu .sub-menu a {
display: block;
font-size: 0.9375rem;
font-weight: 400;
padding: 0.5rem 1rem 0.5rem 1.5rem;
color: rgba(255, 255, 255, 0.6);
text-decoration: none;
transition: color 0.2s ease;
}
.apy-overlay-menu .sub-menu a:hover,
.apy-overlay-menu .sub-menu a:focus-visible {
color: #fff;
} .apy-overlay-menu .menu-item-has-children > a::after {
content: "";
display: block;
width: 6px;
height: 6px;
margin-left: auto;
border-right: 2px solid currentColor;
border-bottom: 2px solid currentColor;
transform: rotate(45deg);
transition: transform 0.25s cubic-bezier(0.4, 0, 0.2, 1);
}
.apy-overlay-menu .menu-item-has-children.is-open > a::after {
transform: rotate(-135deg);
} .apy-menu-footer {
display: none;
}