:root {
    --primary: #b49fcc;          /* Soft Lavender */
    --primaryLight: #f5e9f8;     /* Very Light Lavender */
    --secondary: #88c0a7;        /* Mint Green */
    --secondaryLight: #e9f9f2;   /* Very Light Mint */
    --headerColor: #333333;      /* Dark Gray for headers */
    --bodyTextColor: #666666;    /* Medium Gray for body text */
    --bodyTextColorWhite: #ffffff; /* Pure White */
    --accent: #ffd966;           /* Gold Accent */
  
    --topperFontSize: clamp(0.8125rem, 1.6vw, 1rem);
    --headerFontSize: clamp(1.9375rem, 3.9vw, 4.0625rem);
    --bodyFontSize: 1rem;
    --sectionPadding: clamp(3.75rem, 7.82vw, 6.25rem) 1rem;
  }
  
  body {
    width: 100%;
    height: 100%;
    background: url(./assets/vra-wedding-cheshire.webp) no-repeat 50% 50%;
    background-size: cover;
    font-family: "Circular Std", sans-serif;
  }
  *, *:before, *:after {
    box-sizing: border-box;
  }
  
  .cs-topper {
    font-size: var(--topperFontSize);
    line-height: 1.2em;
    text-transform: uppercase;
    text-align: inherit;
    letter-spacing: .1em;
    font-weight: 700;
    color: var(--primary);
    margin-bottom: 0.25rem;
    display: block;
  }
  
  .cs-title {
    font-size: var(--headerFontSize);
    font-weight: 900;
    line-height: 1.2em;
    text-align: inherit;
    max-width: 43.75rem;
    margin: 0 0 1rem 0;
    color: var(--headerColor);
    position: relative;
  }
  
  .cs-text {
    font-size: var(--bodyFontSize);
    line-height: 1.5em;
    text-align: inherit;
    width: 100%;
    max-width: 40.625rem;
    margin: 0;
    color: var(--bodyTextColor);
  }
  
  /* logos */
  .logo,
  .menu-logo {
    position: absolute;
    top: 2em;
    left: 2em;
    z-index: 999;
  }
  
  .logo a,
  .menu-logo a {
    text-decoration: none;
    text-transform: uppercase;
    color: var(--headerColor);
    font-family: "Schabo";
    font-size: 60px;
    font-weight: lighter;
    position: relative;
  }
  
  .menu-logo a {
    color: var(--bodyTextColorWhite);
  }
  
  /* menu toggle */
  .menu-toggle {
    position: fixed;
    top: 2em;
    right: 2em;
    width: 120px;
    height: 60px;
    background-color: var(--headerColor);
    border-radius: 8em;
    transition: width 0.5s cubic-bezier(0.075, 0.82, 0.165, 1);
    transform-origin: right;
    cursor: pointer;
    z-index: 2;
  }
  
  .menu-toggle-icon {
    background-color: var(--accent);
  }
  
  /* menu background */
  .menu {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    display: flex;
    background-color: rgba(15, 15, 15, 0.75); /* Adjust background opacity without affecting children */
    clip-path: polygon(0% 100%, 100% 100%, 100% 100%, 0% 100%);
    pointer-events: none;
    transform-style: preserve-3d;
    perspective: 1000px;
    z-index: 1;
  }
  
  .menu::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: url('./assets/pattern-white.svg') no-repeat center center;
    background-size: cover;
    opacity: 0.8;
    pointer-events: none;
    z-index: -1;
  }
  
  .menu::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(to bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.9));
    z-index: -1;
    pointer-events: none;
  }
  