*, ::before, ::after { box-sizing: border-box; border-width: 0; border-style: solid; }
html { line-height: 1.5; -webkit-text-size-adjust: 100%; }
body { margin: 0; line-height: inherit; }
a { color: inherit; text-decoration: inherit; }
img { display: block; max-width: 100%; height: auto; }
button {
  font-family: inherit;
  font-size: 100%;
  font-weight: inherit;
  line-height: inherit;
  color: inherit;
  margin: 0;
  padding: 0;
  background-color: transparent;
}
html, body {
            height: 100%;
            width: 100%;
            margin: 0;
            padding: 0;
            overflow: hidden;
        }

        body {
            font-family: 'Inter', sans-serif;
            background-color: #f7f7f7;
            position: relative;
            z-index: 1;
            pointer-events: auto;
        }

        .text-dos-green { color: #1a3d24; }
        .border-dos-green { border-color: #1a3d24; }
        .bg-dos-green { background-color: #1a3d24; }
        .hover\:bg-dos-green:hover { background-color: #1a3d24; }
        .hover\:text-white:hover { color: white; }
        .dos-green-dark-color { color: #275736; }
        .dos-green-dark-border { border-color: #275736; }
        .dos-green-dark-bg { background-color: #275736; }

        #interactive-content-wrapper {
            position: fixed;
            top: 0;
            left: 0;
            width: 100%;
            height: 100vh;
            height: 100dvh;
            box-sizing: border-box;
            padding:
              env(safe-area-inset-top, 0px)
              env(safe-area-inset-right, 0px)
              env(safe-area-inset-bottom, 0px)
              env(safe-area-inset-left, 0px);
            z-index: 50;
            pointer-events: none;
            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: center;
        }

        #main-content:focus {
            outline: none;
        }

        #main-content {
            position: relative;
            z-index: 1;
            pointer-events: auto;
            height: 100%;
            width: 100%;
            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: center;
            padding: 5px;
        }

        .logo {}

        .buttons {
            position: relative;
            z-index: 2;
            -webkit-transform: translateZ(0);
            transform: translateZ(0);
            display: flex;
            gap: 16px;
            flex-direction: row;
            width: auto;
            align-items: center;
            margin-top: 16px;
            pointer-events: auto;
        }

        /* ============================================
           APPLE LIQUID GLASS — NO HOVER EFFECTS
           ============================================ */
        .button {
            z-index: 3;
            -webkit-touch-callout: none;
            -webkit-user-select: none;
            user-select: none;
            -webkit-tap-highlight-color: transparent;
            cursor: pointer;
            position: relative;
            overflow: hidden;

            background: rgba(255, 255, 255, 0.64); /* lowest frost that keeps #1a3d24 at 4.5:1 over black */
            backdrop-filter: blur(12px) saturate(160%) brightness(1.06);
            -webkit-backdrop-filter: blur(12px) saturate(160%) brightness(1.06);

            border: 1px solid rgba(255, 255, 255, 0.60);

            box-shadow:
                inset 0 1.5px 0 rgba(255, 255, 255, 1),
                inset 0 -1px 0 rgba(0, 0, 0, 0.07),
                0 2px 16px rgba(0, 0, 0, 0.07),
                0 1px 3px rgba(0, 0, 0, 0.05);

            color: #1a3d24;
            border-radius: 9999px;
            font-weight: 700;
            letter-spacing: 0.06em;
            padding: 1rem 2rem;
            font-size: 1rem;
            text-align: center;
            width: 80%;

            text-shadow:
                0 1px 0 rgba(255, 255, 255, 0.9),
                0 0 12px rgba(255, 255, 255, 0.8);
        }

        /* Permanent top-half sheen */
        .button::before {
            content: '';
            position: absolute;
            top: 0;
            left: 0;
            right: 0;
            height: 45%;
            background: linear-gradient(
                180deg,
                rgba(255, 255, 255, 0.30) 0%,
                rgba(255, 255, 255, 0.00) 100%
            );
            border-radius: 9999px 9999px 0 0;
            pointer-events: none;
            z-index: 1;
        }

        .button:active {
            transform: scale(0.98);
        }

        /* Physics container */
        #physics-container {
            position: fixed;
            top: 0;
            left: 0;
            width: 100%;
            height: 100vh;
            height: 100dvh;
            z-index: 0;
            pointer-events: auto;
        }

        .physics-item {
            position: absolute;
            z-index: 0;
            pointer-events: none !important;
            will-change: transform, left, top;
            opacity: 0;
            height: auto;
            object-fit: contain;
            transition: opacity 0.5s ease-in-out;
        }

        .physics-item.visible { opacity: 0.9; }

        canvas.matter-mouse-constraint-canvas {
            z-index: 0 !important;
            pointer-events: none !important;
        }

        @keyframes floatUpDown {
            0% { transform: translateY(0) rotate(var(--image-rotate, 0deg)); }
            50% { transform: translateY(-12px) rotate(var(--image-rotate, 1deg)); }
            100% { transform: translateY(0) rotate(var(--image-rotate, 0deg)); }
        }

        @keyframes floatLeftRight {
            0% { transform: translateX(0) rotate(var(--image-rotate, 0deg)); }
            50% { transform: translateX(-10px) rotate(var(--image-rotate, -1deg)); }
            100% { transform: translateX(0) rotate(var(--image-rotate, 0deg)); }
        }

        .guava-shake-top-left { width: 200px; --image-rotate: -10deg; }
        .brunch-daddy { width: 250px; --image-rotate: 5deg; }
        .single-colada-coffee { width: 150px; --image-rotate: -5deg; }
        .cloud-coffee-trio { width: 280px; --image-rotate: 10deg; }
        .guava-shake-bottom-left { width: 200px; --image-rotate: 15deg; }
        .tequenos { width: 250px; --image-rotate: -8deg; }
        .croqueta-flight { width: 300px; --image-rotate: 5deg; }

        @media (min-width: 1280px) {
            .guava-shake-top-left { width: 200px; }
            .brunch-daddy { width: 250px; }
            .single-colada-coffee { width: 150px; }
            .cloud-coffee-trio { width: 280px; }
            .guava-shake-bottom-left { width: 200px; }
            .tequenos { width: 250px; }
            .croqueta-flight { width: 300px; }
        }

        @media (min-width: 1024px) and (max-width: 1279px) {
            .guava-shake-top-left { width: 180px; }
            .brunch-daddy { width: 220px; }
            .single-colada-coffee { width: 130px; }
            .cloud-coffee-trio { width: 240px; }
            .guava-shake-bottom-left { width: 180px; }
            .tequenos { width: 220px; }
            .croqueta-flight { width: 260px; }
        }

        @media (min-width: 768px) and (max-width: 1023px) {
            .guava-shake-top-left { width: 150px; }
            .brunch-daddy { width: 200px; }
            .single-colada-coffee { width: 100px; }
            .cloud-coffee-trio { width: 180px; }
            .guava-shake-bottom-left { width: 150px; }
            .tequenos { width: 180px; }
            .croqueta-flight { width: 220px; }
        }

        @media (max-width: 767px) {
            .physics-item {
                opacity: 0;
                animation-duration: 6s !important;
            }
            .physics-item.visible { opacity: 1; }
            .guava-shake-top-left { width: 180px !important; }
            .brunch-daddy { width: 220px !important; }
            .single-colada-coffee { width: 160px !important; }
            .cloud-coffee-trio { width: 200px !important; }
            .guava-shake-bottom-left { width: 180px !important; }
            .tequenos { width: 250px !important; }
            .croqueta-flight { width: 280px !important; }

            .physics-item[data-animation-type="floatUpDown"] {
                animation: floatUpDown 7s ease-in-out infinite alternate;
            }
            .physics-item[data-animation-type="floatLeftRight"] {
                animation: floatLeftRight 8s ease-in-out infinite alternate;
            }

            .buttons {
                flex-direction: column;
                width: 80%;
                max-width: 300px;
                gap: 8px;
                margin-top: 20px;
                pointer-events: auto !important;
            }

            .button {
                width: 100% !important;
                font-size: 1.125rem !important;
                padding: 1rem 1.5rem !important;
            }

            #more-info-menu {
                width: 80%;
                max-width: 400px;
            }

            .more-info-item {
                width: 100%;
                text-align: center;
            }
        }

        @media (min-width: 768px) {
            .physics-item[data-animation-type="floatUpDown"],
            .physics-item[data-animation-type="floatLeftRight"] {
                animation: none !important;
            }
            .button {
                font-size: 1.125rem;
                width: auto;
            }
        }

        /* ============================================
           LIQUID GLASS POP-UP MENU
           ============================================ */
        #more-info-menu {
            position: fixed;
            top: 50%;
            left: 50%;
            display: flex;
            flex-direction: column;
            align-items: center;
            gap: 12px;

            background: rgba(255, 255, 255, 0.20);
            backdrop-filter: blur(20px) saturate(160%) brightness(1.06);
            -webkit-backdrop-filter: blur(20px) saturate(160%) brightness(1.06);

            border: 1px solid rgba(255, 255, 255, 0.55);
            box-shadow:
                inset 0 1.5px 0 rgba(255, 255, 255, 1),
                inset 0 -1px 0 rgba(0, 0, 0, 0.04),
                inset 1px 0 0 rgba(255, 255, 255, 0.35),
                inset -1px 0 0 rgba(255, 255, 255, 0.20),
                0 10px 40px rgba(0, 0, 0, 0.12),
                0 2px 8px rgba(0, 0, 0, 0.06);

            border-radius: 28px;
            padding: 28px 32px;
            z-index: 100;
            opacity: 0;
            visibility: hidden;
            pointer-events: none;
            transition:
                opacity 0.35s cubic-bezier(0.4, 0, 0.2, 1),
                visibility 0.35s ease,
                transform 0.35s cubic-bezier(0.34, 1.56, 0.64, 1);
            max-width: 90%;
            max-height: 90vh;
            max-height: 90dvh;
            overflow-y: auto;
            transform: translate(-50%, -50%) scale(0.92);
        }

        #more-info-menu.open {
            opacity: 1;
            visibility: visible;
            pointer-events: auto;
            transform: translate(-50%, -50%) scale(1);
        }

        .more-info-item {
            color: #1a3d24;
            font-weight: 700;
            font-size: 1.1rem;
            letter-spacing: 0.05em;
            text-decoration: none;
            display: block;
            position: relative;
            overflow: hidden;

            background: rgba(255, 255, 255, 0.64);
            backdrop-filter: blur(12px) saturate(160%);
            -webkit-backdrop-filter: blur(12px) saturate(160%);
            border: 1px solid rgba(255, 255, 255, 0.60);
            box-shadow:
                inset 0 1.5px 0 rgba(255, 255, 255, 1),
                inset 0 -1px 0 rgba(0, 0, 0, 0.05),
                0 1px 6px rgba(0, 0, 0, 0.05);

            border-radius: 9999px;
            padding: 0.75rem 2rem;
            text-align: center;
            text-shadow:
                0 1px 0 rgba(255, 255, 255, 0.9),
                0 0 12px rgba(255, 255, 255, 0.8);
            width: 100%;
        }

        /* Permanent top sheen on menu items */
        .more-info-item::before {
            content: '';
            position: absolute;
            top: 0;
            left: 0;
            right: 0;
            height: 45%;
            background: linear-gradient(
                180deg,
                rgba(255, 255, 255, 0.30) 0%,
                rgba(255, 255, 255, 0.00) 100%
            );
            border-radius: 9999px 9999px 0 0;
            pointer-events: none;
        }

        @media (min-width: 768px) {
            .more-info-item { font-size: 1.25rem; }
        }

        /* ============================================
           LIQUID GLASS CLOSE BUTTON
           ============================================ */
        #close-menu-button {
            width: 110px;
            height: 42px;
            border-radius: 9999px;
            position: relative;
            overflow: hidden;

            background: rgba(255, 255, 255, 0.64);
            backdrop-filter: blur(12px) saturate(160%);
            -webkit-backdrop-filter: blur(12px) saturate(160%);
            border: 1px solid rgba(255, 255, 255, 0.55);
            box-shadow:
                inset 0 1.5px 0 rgba(255, 255, 255, 1),
                inset 0 -1px 0 rgba(0, 0, 0, 0.05),
                0 1px 6px rgba(0, 0, 0, 0.05);

            color: #1a3d24;
            font-size: 0.75rem;
            font-weight: 700;
            letter-spacing: 0.07em;
            text-transform: uppercase;
            text-shadow:
                0 1px 0 rgba(255, 255, 255, 0.9),
                0 0 12px rgba(255, 255, 255, 0.8);
            display: flex;
            justify-content: center;
            align-items: center;
            cursor: pointer;
            margin-top: 8px;
        }

        /* Permanent top sheen on close button */
        #close-menu-button::before {
            content: '';
            position: absolute;
            top: 0;
            left: 0;
            right: 0;
            height: 45%;
            background: linear-gradient(
                180deg,
                rgba(255, 255, 255, 0.30) 0%,
                rgba(255, 255, 255, 0.00) 100%
            );
            border-radius: 9999px 9999px 0 0;
            pointer-events: none;
        }

        #close-menu-button:active {
            transform: scale(0.98);
        }

        @media (max-width: 767px) {
            #close-menu-button {
                width: 130px;
                height: 48px;
                font-size: 0.85rem;
            }
        }
@font-face { font-family: Inter; font-style: normal; font-weight: 400; font-display: swap; src: url("/fonts/inter-latin-400.woff2") format("woff2"); }
@font-face { font-family: Inter; font-style: normal; font-weight: 700; font-display: swap; src: url("/fonts/inter-latin-700.woff2") format("woff2"); }
.bg-white { background-color: #fff; }
.relative { position: relative; }
.w-full { width: 100%; }
.h-screen { height: 100vh; height: 100dvh; }
.flex { display: flex; }
.flex-col { flex-direction: column; }
.items-center { align-items: center; }
.w-4\/5 { width: 80%; }
.mb-8 { margin-bottom: 2rem; }
.mt-4 { margin-top: 1rem; }
.gap-4 { gap: 1rem; }
@media (min-width: 768px) {
  .md\:w-3\/5 { width: 60%; }
  .md\:w-auto { width: auto; }
  .md\:flex-row { flex-direction: row; }
  .md\:gap-8 { gap: 2rem; }
}
@media (min-width: 1024px) {
  .lg\:w-\[600px\] { width: 600px; }
}
@media (min-width: 1280px) {
  .xl\:w-\[650px\] { width: 650px; }
}

.visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.skip {
  position: absolute;
  left: 8px;
  top: 8px;
  z-index: 200;
  transform: translateY(-150%);
  background: #fff;
  color: #1a3d24;
  padding: 0.5rem 0.8rem;
  border-radius: 999px;
  font-weight: 700;
}

.skip:focus {
  transform: none;
}

.button:hover,
.button:active,
.more-info-item:hover,
.more-info-item:active,
#close-menu-button:hover,
#close-menu-button:active {
  background: rgba(255, 255, 255, 0.64);
  color: #1a3d24;
}

.button:focus-visible,
.more-info-item:focus-visible,
#close-menu-button:focus-visible {
  outline: 2px solid #1a3d24;
  outline-offset: 0;
  background: rgba(255, 255, 255, 0.64);
  color: #1a3d24;
  box-shadow:
    0 0 0 4px #fff,
    inset 0 1.5px 0 #fff,
    inset 0 -1px 0 rgba(0, 0, 0, 0.07),
    0 2px 16px rgba(0, 0, 0, 0.07),
    0 1px 3px rgba(0, 0, 0, 0.05);
  overflow: visible;
}

.skip:focus-visible {
  outline: 2px solid #1a3d24;
  outline-offset: 0;
  box-shadow: 0 0 0 4px #fff;
  overflow: visible;
}

.motion-toggle {
  position: fixed;
  top: calc(8px + env(safe-area-inset-top, 0px));
  right: calc(8px + env(safe-area-inset-right, 0px));
  left: auto;
  z-index: 80;
  width: 44px;
  height: 44px;
  margin: 0;
  padding: 0;
  display: grid;
  place-items: center;
  background: transparent;
  color: #1a3d24;
  border: 0;
  text-shadow: none;
  box-shadow: none;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  cursor: pointer;
}

.motion-glyph {
  width: 28px;
  height: 28px;
  display: grid;
  place-items: center;
  background: rgba(255, 255, 255, 0.64);
  color: #1a3d24;
  border: 1px solid rgba(255, 255, 255, 0.6);
  border-radius: 999px;
  backdrop-filter: blur(12px) saturate(160%) brightness(1.06);
  -webkit-backdrop-filter: blur(12px) saturate(160%) brightness(1.06);
  box-shadow:
    inset 0 1.5px 0 #fff,
    inset 0 -1px 0 rgba(0, 0, 0, 0.07),
    0 2px 8px rgba(0, 0, 0, 0.07);
}

.motion-icon {
  width: 14px;
  height: 14px;
  display: block;
}

.motion-icon[hidden] {
  display: none !important;
}

.motion-toggle:focus-visible {
  outline: 2px solid #1a3d24;
  outline-offset: 0;
  box-shadow: 0 0 0 4px #fff;
  overflow: visible;
}

html.motion-paused .physics-item {
  animation: none !important;
}

@media (max-width: 767px) {
  .motion-toggle {
    top: auto;
    bottom: calc(12px + env(safe-area-inset-bottom, 0px));
    right: calc(12px + env(safe-area-inset-right, 0px));
  }
}

@media (prefers-reduced-motion: reduce) {
  .physics-item,
  #more-info-menu {
    animation: none !important;
    transition: none !important;
  }
}

@media (max-width: 320px), (max-height: 640px) {
  html, body {
    height: auto;
    overflow-x: hidden;
    overflow-y: auto;
  }

  #physics-container {
    width: 100%;
    overflow: hidden;
  }

  #interactive-content-wrapper {
    position: relative;
    width: 100%;
    height: auto;
    min-height: 100vh;
    min-height: 100dvh;
  }

  #main-content {
    height: auto;
    min-height: 100vh;
    min-height: 100dvh;
    justify-content: flex-start;
    padding: 4.5rem 8px 2rem;
  }
}
