/* Basic Reset */
.fsm-icon {
    font-size: 32px;
    cursor: pointer;
    z-index: 9999;
    color: #fff;
}

/* Fullscreen Menu */
:root {
    --menu-duration: 280ms;
    --menu-ease: cubic-bezier(.215,.61,.355,1);
    --menu-stagger: 36ms;
    --menu-translate: 8px;
    --menu-panel-offset: -6px;
    --menu-scrim-lead: 70ms;
}

.fsm-menu {
    position: fixed;
    inset: 0;
    width: 100vw;
    height: 100dvh;
    min-height: 100svh;
    color: white;
    z-index: 9998;
    pointer-events: none;
    /* Avoid containerizing the inner panel */
    display: block;
    padding: 0;
}

.fsm-scrim {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.5);
    opacity: 0;
    transition: opacity var(--menu-duration) var(--menu-ease);
}

.fsm-menu.active {
    pointer-events: auto;
}
.fsm-menu.active .fsm-scrim {
    opacity: 1;
}
.fsm-menu.active .fsm-inner {
    opacity: 1;
    transform: translateY(0);
}
.fsm-menu.active .fsm-close {
    opacity: 1;
    transform: translateY(0);
}
.fsm-menu.active .fsm-nav-list li {
    opacity: 1;
    transform: translateY(0);
}

/* Close Icon */
.fsm-close {
    position: absolute;
    top: 15px;
    right: 15px;
    font-size: 40px;
    font-weight: 500;
    cursor: pointer;
    color: white;
    opacity: 0;
    transform: translateY(-4px);
    transition:
        opacity var(--menu-duration) var(--menu-ease) var(--menu-scrim-lead),
        transform var(--menu-duration) var(--menu-ease) var(--menu-scrim-lead);
}

/* Fullscreen panel (now truly full-bleed) */
.fsm-inner {
    position: absolute;
    inset: 0;                 /* fill the overlay */
    width: 100vw;
    height: 100dvh;
    z-index: 1;

    /* layout */
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    justify-content: center;

    /* spacing and safe areas */
    box-sizing: border-box;
    padding: max(12px, env(safe-area-inset-top)) 30px
             max(12px, env(safe-area-inset-bottom)) 30px;

    /* background now fades with the panel */
    background-image: url('/wp-content/uploads/2025/04/gray-background-with-noise-9-copy-2.webp');
    background-color: #000;
    background-size: auto;
    background-position: 0 0;
    background-repeat: repeat;

    /* animation state */
    opacity: 0;
    transform: translateY(var(--menu-panel-offset));
    transition:
        opacity var(--menu-duration) var(--menu-ease) var(--menu-scrim-lead),
        transform var(--menu-duration) var(--menu-ease) var(--menu-scrim-lead);
}

/* Keep content constrained and centered, without limiting the panel */
.fsm-nav {
    display: flex;
    flex-direction: row;
    width: 100%;
    max-width: 1920px;  /* moved from .fsm-inner */
    margin-left: auto;  /* moved from .fsm-inner */
    margin-right: auto; /* moved from .fsm-inner */
}

.fsm-nav-left{
    flex: 1;
}
.fsm-nav-left, .fsm-nav-right{
    align-content: flex-end;
}

.fsm-nav a:hover {
    color: #00ffff;
}

.fsm-nav-list {
    display: flex;
    flex-direction: column;
    gap: 2em;
    list-style: none;
    padding: 0;
    margin: 0;
}

/* Stagger base state */
.fsm-nav-list li{
    margin-bottom: 0;
    opacity: 0;
    transform: translateY(var(--menu-translate));
    transition:
        opacity var(--menu-duration) var(--menu-ease) calc(var(--menu-scrim-lead) + var(--i) * var(--menu-stagger)),
        transform var(--menu-duration) var(--menu-ease) calc(var(--menu-scrim-lead) + var(--i) * var(--menu-stagger));
    will-change: opacity, transform;
}

.fsm-nav-list li:last-child {
    border-bottom: none;
}

.fsm-nav-list li a {
    color: white;
    text-decoration: none;
    font-size: 77px;
    transition: color 0.3s;
    display: block;
    width: 100%;
    text-align: left; 
}

.fsm-nav-list li a:hover {
    color: #00ffff;
}

.fsm-nav-socials{
    padding-bottom: 2em;
}

@media (max-width: 768px) {
  .fsm-nav {
    min-height: 0;
    display: flex;
    align-items: center;
    justify-content: center;
  }

  .fsm-nav-left,
  .fsm-nav-right {
    flex: 0 1 auto;
  }

  .fsm-nav-left {
    width: 100%;
    display: flex;
  }

  .fsm-nav-list {
    max-height: 100%;
  }

  .fsm-close {
    position: absolute;
    top: 15px;
    right: 0px;
  }

  .fsm-nav-list li a {
    font-size: 50px;
  }
}

.body-nav-open {
    overflow: hidden;
}

.fsm-inner-inner{
  max-width: 1880px;
  width: 100%;
  min-height: 100dvh;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  justify-content: center;
  margin-left: auto;
  margin-right: auto;
  box-sizing: border-box;
  position: relative;
  padding-top: max(12px, env(safe-area-inset-top));
  padding-bottom: max(12px, env(safe-area-inset-bottom));
}

@media (prefers-reduced-motion: reduce) {
    :root {
        --menu-duration: 1ms;
        --menu-stagger: 0ms;
        --menu-translate: 0px;
        --menu-panel-offset: 0px;
        --menu-scrim-lead: 0ms;
    }
    .fsm-scrim,
    .fsm-inner,
    .fsm-close,
    .fsm-nav-list li {
        transition: none !important;
    }
}
