   @font-face {
      font-family: 'PPMuseum'; /* Choose a descriptive name for your font */
      src: url('../Assets/PPMuseum-Light.otf') format('opentype'); /* Path to your font files */
      font-weight: 300; /* Define font weight (e.g., normal, bold, 400, 700) */
      font-style: normal; /* Define font style (e.g., normal, italic) */
      font-display: swap; /* Optional: Controls how font loads and displays */
    }
    @font-face {
      font-family: 'PPMuseum'; /* Choose a descriptive name for your font */
      src: url('../Assets/PPMuseum-LightItalic.otf') format('opentype'); /* Path to your font files */
      font-weight: 300; /* Define font weight (e.g., normal, bold, 400, 700) */
      font-style: italic; /* Define font style (e.g., normal, italic) */
      font-display: swap; /* Optional: Controls how font loads and displays */
    }
    @font-face {
      font-family: 'PPMuseum'; /* Choose a descriptive name for your font */
      src: url('../Assets/PPMuseum-Regular.otf') format('opentype'); /* Path to your font files */
      font-weight: 400; /* Define font weight (e.g., normal, bold, 400, 700) */
      font-style: normal; /* Define font style (e.g., normal, italic) */
      font-display: swap; /* Optional: Controls how font loads and displays */
    }
    @font-face {
      font-family: 'PPMuseum'; /* Choose a descriptive name for your font */
      src: url('../Assets/PPMuseum-RegularItalic.otf') format('opentype'); /* Path to your font files */
      font-weight: 400; /* Define font weight (e.g., normal, bold, 400, 700) */
      font-style: italic; /* Define font style (e.g., normal, italic) */
      font-display: swap; /* Optional: Controls how font loads and displays */
    }
    @font-face {
      font-family: 'PPMuseum'; /* Choose a descriptive name for your font */
      src: url('../Assets/PPMuseum-Ultrabold.otf') format('opentype'); /* Path to your font files */
      font-weight: bold; /* Define font weight (e.g., normal, bold, 400, 700) */
      font-style: 800; /* Define font style (e.g., normal, italic) */
      font-display: swap; /* Optional: Controls how font loads and displays */
    }
    @font-face {
      font-family: 'PPMuseum'; /* Choose a descriptive name for your font */
      src: url('../Assets/PPMuseum-UltraboldItalic.otf') format('opentype'); /* Path to your font files */
      font-weight: 800; /* Define font weight (e.g., normal, bold, 400, 700) */
      font-style: italic; /* Define font style (e.g., normal, italic) */
      font-display: swap; /* Optional: Controls how font loads and displays */
    }   

:root {
    --primary-color: #FCF9F4;
    --pink: #f9d7de;
    --dark-grey: #1c1b19;
}

h1 {
    font-family: 'PP Museum', sans-serif;
    font-size: 6rem;
    font-weight: 400;
} /* title */

h2 {
    font-family: 'PP Museum', sans-serif;
    font-size: 3.5rem;
    font-weight: 400;
} /* headline */

h3 {
    font-family: 'PP Museum', sans-serif;
    font-size: 1.25rem;
    font-weight: 300;
    font-style: italic;
} /* subhead */

h4 {
    font-family: 'PP Neue Montreal', sans-serif;
    font-size: 1.25rem;
    font-weight: 800;
} /* caption */

.p1 {
    font-family: 'PP Neue Montreal', sans-serif;
    font-size: 1.25rem;
    font-weight: 530;
} /* body1 */

.p2 {
    font-family: 'PP Museum', sans-serif;
    font-size: 1.25rem;
    font-weight: 400;
} /* body2 */

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    overflow-x: hidden;
}

body {
    width: 100vw;
    background: #000;
    font-family: "PP Neue Montreal";
    font-weight: 400;
}

nav {
    position: fixed;
    top: 0;
    width: 100%;
    height: 8vh;
    padding: 12px;
    padding-left: clamp(12px, 4vw, 30px);
    padding-right: clamp(12px, 4vw, 30px);
    display: flex;
    justify-content: space-between;
    align-items: center;
    z-index: 5;
    background-color: var(--primary-color);
    border-bottom: 1px solid black;
    overflow-y: hidden;
}

.links {
    display: flex;
    align-items: center;
    gap: 2em;
}

.links a {
    text-decoration: none;
}

.feather {
    display: none;
    vertical-align: middle;
}

nav a {
    text-decoration: none;
    color: black;
    font-weight: 500;
    display: flex;
}

.logo a {
    font-family: 'PP Museum';
    font-size: 30px;
}

.book {
    background-color: black;
    color: var(--primary-color);
    padding-left: 1.5em;
    padding-right: 1.5em;
    padding-top: 0.5em;
    padding-bottom: 0.5em;
    border-radius: 20px;
}

.lottie-container .animation {
    position: fixed;
    width: 100vw;
    height: 100vh;
    top: 0;
    z-index: -1;
    filter: saturate(2);
}

.animation:after {
    content: "";
    background-image: ("");
    width: 200%;
    height: 200%;
    position: fixed;
    top: 0;
    left: 0;
    opacity: 0.1;
    animation: animateGrain 8s steps(10) infinite;
}

.main {
    position: absolute;
    top: 80%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 100%;
    height: 70%;
    font-size: 9rem;
    color: var(--primary-color);
    z-index: 3;
    overflow: visible;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.line1 {
    font-family: 'PP Museum';
    font-weight: 300;
}

.line2 {
    font-family: 'PP Museum';
    font-weight: 300;
    margin-top: -40px;
}

.scroll-btn {
    width: 80px;
    height: 80px;
    padding: 0;
    background-color: transparent;
    border: none;
    overflow: hidden;
}

.scroll-btn .material-symbols-outlined {
    font-size: 80px; /* same as button size */
    line-height: 1;
    color: white;
    font-weight: 100;
}


.gradient {
    width: 100vw;
    height: 150vh;
    position: absolute;
    top: 0;
    left: 0;
    background: linear-gradient(
        180deg,
        rgba(0, 0, 0 ,0) 0%,
        rgba(0, 0, 0, 1) 100%
    );
    z-index: 1;
}

.website-content {
    position: absolute;
    top: 100vh;
    left: 0;
    width: 100%;
    height: 100vh;
    background: white;
    color: #fff;
    z-index: 1;
}

.intro-container {
    overflow-y: hidden;
    position: relative;
    width: 100vw;
    height: 100%;
    display: flex;
    flex-direction: row;
    border: 1px solid black;
}

.animation2 {
    flex: 0 0 25vw;
    height: 100%;
    padding: 0;
    display: flex;
    justify-content: center; /* optional: center horizontally */
    align-items: center;     /* optional: center vertically */
}

.animation2 svg,
.animation2 canvas {
  width: 100%;   /* fill width of column */
  height: 100%;  /* fill height of column */
  object-fit: cover; /* crop nicely if aspect ratio differs */
  display: block;
}

.box2, .box3, .box4 {
    flex: 1;
    position: relative;
    overflow: hidden;
}

.box1, .box2 {
    border-right: 1px solid black;
    border-left: 1px solid black;
}

.box2 p {
    position: relative;
    top: 55%;
    left: 7%;
    color: black;
    font-family: 'PP Museum';
    font-size: 7vh;
    line-height: 1.1;
    overflow: hidden;
}

.feather2 {
    position: relative;
    top: 0%;
    left: 76%;
}

.box2 img {
    position: absolute;
    top: 0%;
    left: 0%;
    width: 100%;
    height: 100%;
    object-fit: cover;
    z-index: 5;
}

.box2 a {
    position: absolute;
    z-index: 7;
    left: 5%;
    top: 2%;
    font-weight: 400;
    font-size: 6rem;
    text-decoration: underline;
    text-decoration-thickness: 3px;
}

.box2-arrow {
    vertical-align: text-top;
}

.box2 a:active {
    color: black;
}

#box2-img,
#box2-button {
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s ease, transform 0.5s ease;
}

#box2.show #box2-img,
#box2.show #box2-button {
    opacity: 1;
    visibility: visible;
}

.box3 {
    display: flex;
    justify-content: center;
    align-items: center;
    /* border-right: 1px solid black; */
}

.box3 img {
    width: 45%;
    height: auto;
    transform: rotate(0);
    transition: transform 0.3s ease;
}

.box4-img1 {
    width: 30%;
    height: auto;
    margin: 15%;
    transform: scale(1);
    transition: transform 0.3s ease;
}

.box4-img2 {
    width: 50%;
    height: auto;
    margin: 45%;
    margin-left: 40%;
    transform: scale(1);
    transition: transform 0.3s ease;
}

.end-lottie2 {
  display: none;
}

.booking {
    position: absolute;
    top: 200vh;
    left: 0;
    width: 100%;
    height: 100vh;
    background: white;
    color: #fff;
    z-index: 1;
}

.intro {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    background-color: var(--primary-color);
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    overflow-y: hidden;
}

.intro p {
    width: 100%;
    height: auto;
    color: black;
    font-size: 5rem;
    text-align: center;
}

.contact {
    position: absolute;
    top: 300vh;
    left: 0;
    width: 100%;
    height: 100vh;
    background: var(--primary-color);
    color: black;
    z-index: 1;
    display: flex;
    flex-direction: row;
}

.contact-img {
    width: 50%;
    height: 100%;
    background-image: url(../Assets/contact-img.jpg);
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
}

.form-background {
    width: 50%;
    height: 100%;
    background: repeating-linear-gradient(90deg,
        var(--pink) 0px, 
        var(--pink) 5px,
        white 5px, 
        white 10px
    );
}

.form-area {
    background-color: var(--dark-grey);
    color: white;
    width: 30%;
    height: 80%; 
    position: absolute;
    top: 10%;
    right: 10%;
    display: flex;
    flex-direction: column;
    align-items: center;
    border-radius: 25px;
}

fieldset {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
}

fieldset,
.form-area h2 {
    margin-top: 2.5rem;
    border: none;
}

label,
input,
textarea {
    width: 100%;
}

input,
select {
    height: 2rem;
    border-radius: 25px;
    margin-top: 5px;
    text-indent: 1rem;
    font-style: italic;
    color: #666;
    outline: none;
    border: none;
}

textarea {
    margin-top: 5px;
    border-radius: 25px;
    padding: 1rem;
    font-family: 'PP Neue Montreal', sans-serif;
    font-style: italic;
    outline: none;
}

.form-area select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;

  padding-right: 1rem;
  font-size: 0.8rem;
  width: 100%;
  height: 2rem;

  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'><path d='M1 1l5 5 5-5' stroke='%23000' stroke-width='1.2' fill='none' stroke-linecap='round' stroke-linejoin='round'/></svg>");
  background-repeat: no-repeat;
  background-position: calc(100% - 15px) center;
  background-size: 9px;
  border-radius: 25px;
  background-color: white;
}

.form-area select::-ms-expand {
  display: none;
}

input[type="checkbox"] {
    background-color: transparent;
    border: 1px solid white;
}

.checkbox-container {
  display: flex;
  align-items: center;
  position: relative;
  cursor: pointer;
  user-select: none;
  width: 100%;
  height: 2rem;
  margin-top: 0.5px;
  color: white;
}

/* Hide the native checkbox */
.checkbox-container input {
  position: absolute;
  opacity: 0;
  cursor: pointer;
  height: 0;
  width: 0;
}

/* Create the custom checkbox */
.checkmark {
  height: 20px;
  width: 20px;
  background-color: transparent;
  border: 2px solid white;
  border-radius: 5px; /* optional: rounded corners */
  margin-right: 0.5rem;
  transition: all 0.2s ease;
  display: inline-block;
  box-shadow: 0 2px 4px rgba(0,0,0,0.1); /* optional shadow */
}

/* Show checkmark when checked */
.checkbox-container input:checked ~ .checkmark {
  background-color: transparent; /* or your preferred color */
}

/* Add a tick mark */
.checkbox-container .checkmark::after {
  content: "";
  position: absolute;
  display: none;
}

.checkbox-container input:checked ~ .checkmark::after {
  display: block;
  left: 6px;
  top: 5px;
  width: 6px;
  height: 12px;
  border: solid white;
  border-width: 0 2px 2px 0;
  transform: rotate(45deg);
}

.submit-wrapper {
  position: relative;
  display: inline-block;
  width: 100%;
}

input[type="submit"] {
  width: 140px;
  height: 2rem;
  border: none;
  border-radius: 25px;
  font-family: 'PP Museum', sans-serif;
  font-size: 1.25rem;
  font-weight: 400;
  font-style: normal;
  color: var(--dark-grey);
  background-color: white;
  cursor: pointer;
  display: block;
  margin-top: 1rem;
  margin-left: auto;
  margin-right: auto;
  transition: padding-right 0.3s;
  padding-right: 1rem;
}

.hover-arrow {
  position: absolute;
  right: 37%;
  top: 60%;
  transform: translate(-50%, -50%);
  opacity: 0;
  transition: opacity 0.3s, right 0.3s;
  pointer-events: none;
}

.submit-wrapper:hover .hover-arrow {
  opacity: 1;
  right: 35%;
}

.submit-wrapper:active input[type="submit"]{
    text-decoration: underline;
}

.checkbox-container a,
.checkbox-container a:visited,
.checkbox-container a:hover,
.checkbox-container a:active {
    color: white;
    text-decoration: underline; /* optional */
}

@keyframes animateGrain {
    0%,
    100% {
        transform: translate(0, 0);
    }
    10% {
        transform: translate(-5%, -10%);
    }
    20% {
        transform: translate(-15%, -20%);
    }
    30% {
        transform: translate(-5%, -10%);
    }
    40% {
        transform: translate(-15%, -20%);
    }
    50% {
        transform: translate(-5%, -10%);
    }      
    60% {
        transform: translate(-15%, -20%);
    }
    70% {
        transform: translate(-5%, -10%);
    }
    80% {
        transform: translate(-15%, -20%);
    }
    90% {
        transform: translate(-5%, -10%);
    }          
    100% {
        transform: translate(-15%, -20%);
    }
}