<style>
    :root {
      --brand-pink: #F8E1E6;
      --brand-accent: #DFA4B8;
      --brand-text: #333333;
      --max-width: 48rem;
      --padding: 1rem;
    }
    *, *::before, *::after { box-sizing: border-box; }
    body {
      margin: 0;
      font-family: 'Merriweather', serif;
      color: var(--brand-text);
      line-height: 1.6;
      background: #fff;
    }
    .container {
      max-width: var(--max-width);
      padding: var(--padding);
      margin: 0 auto;
    }
    header {
      background: var(--brand-pink);
      text-align: center;
      padding: 1rem var(--padding);
      position: relative;
    }
    .site-logo {
      display: block;
      margin: 0 auto;
      max-width: 200px;
      height: auto;
    }
    /* Navigation styles */
    .navbar {
      position: absolute;
      top: 1rem;
      right: var(--padding);
    }
    .nav-toggle {
      font-size: 1.5rem;
      cursor: pointer;
      user-select: none;
    }
    .nav-menu {
      list-style: none;
      margin: 0;
      padding: 0;
      display: none;
      position: absolute;
      top: 2rem;
      right: 0;
      background: var(--brand-pink);
      border-radius: 4px;
      box-shadow: 0 2px 8px rgba(0,0,0,0.1);
    }
    header:hover .nav-menu,
    .nav-toggle:hover + .nav-menu,
    .nav-menu:hover {
      display: block;
    }
    .nav-menu li { position: relative; }
    .nav-menu > li > a {
      display: block;
      padding: 0.5rem 1rem;
      color: var(--brand-text);
      text-decoration: none;
      transition: background 0.3s, color 0.3s;
    }
    .nav-menu > li > a:hover,
    .nav-menu > li > a.selected {
      background: var(--brand-accent);
      color: #fff;
    }
    .dropdown-menu {
      list-style: none;
      margin: 0;
      padding: 0;
      display: none;
      position: absolute;
      top: 0;
      left: 100%;
      background: var(--brand-pink);
      border-radius: 4px;
      box-shadow: 0 2px 8px rgba(0,0,0,0.1);
    }
    .nav-menu li:hover > .dropdown-menu {
      display: block;
    }
    .dropdown-menu li a {
      display: block;
      padding: 0.5rem 1rem;
      color: var(--brand-text);
      text-decoration: none;
      transition: background 0.3s, color 0.3s;
    }
    .dropdown-menu li a:hover {
      background: var(--brand-accent);
      color: #fff;
    }
    /* Banner styles */
    .banner {
      position: relative;
      overflow: hidden;
      border-radius: 8px;
      margin: 1rem 0;
      height: 300px;
    }
    .banner img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      display: block;
    }
    section { margin: 2rem 0; }
    section h2 {
      font-family: 'Dancing Script', cursive;
      font-size: 1.75rem;
      color: var(--brand-accent);
      margin-bottom: 0.5rem;
    }
    /* Equipment interactive styles */
    ul { list-style: none; padding: 0; }
    ul li { margin: 0.5rem 0; }
    ul li a {
      text-decoration: none;
      color: var(--brand-text);
      font-weight: bold;
      border-bottom: 2px solid transparent;
      transition: color 0.3s, border-color 0.3s;
      cursor: pointer;
    }
    ul li a:hover { color: var(--brand-accent); border-color: var(--brand-accent); }
    ul li a.selected { color: var(--brand-accent); border-color: var(--brand-accent); }
    .item-detail {
      border: 1px solid var(--brand-accent);
      border-radius: 8px;
      padding: 1rem;
      box-shadow: 0 2px 8px rgba(0,0,0,0.1);
      background: #fff;
      margin: 0.5rem 0 1rem 0;
    }
    .item-detail h3 {
      margin-top: 0;
      font-family: 'Dancing Script', cursive;
      color: var(--brand-accent);
    }
    .item-image {
      width: 100%;
      max-width: 400px;
      display: block;
      margin: 1rem auto;
      border-radius: 8px;
    }
    .item-detail p { margin: 0.75rem 0; }
    /* Calendar styles */
    .calendar-frame {
      width: 100%;
      height: 600px;
      border: none;
      border-radius: 8px;
      box-shadow: 0 2px 8px rgba(0,0,0,0.1);
    }
    /* Contact form styles */
    form { margin-top: 1rem; }
    input, textarea {
      width: 100%;
      padding: 0.75rem;
      font-size: 1rem;
      border: 1px solid var(--brand-accent);
      border-radius: 4px;
      margin-top: 0.25rem;
      font-family: inherit;
    }
    button {
      margin-top: 1rem;
      background: var(--brand-accent);
      color: #fff;
      border: none;
      border-radius: 4px;
      padding: 0.75rem;
      font-size: 1rem;
      cursor: pointer;
      font-family: 'Merriweather', serif;
    }
    button:hover { background: var(--brand-text); }
    form p { margin: 0 0 1rem; }
    footer {
      text-align: center;
      padding: 1rem var(--padding);
      font-size: 0.875rem;
      background: var(--brand-pink);
    }
  </style>
