  
      :root { --maroon: #800020; --gold: #D4AF37; }

      /* Fade-in for sections */
      .fade-section { opacity: 0; transform: translateY(36px); transition: all 0.8s ease; }
      .fade-section.visible { opacity: 1; transform: translateY(0); }

      /* Active nav */
      .nav-link.active { color: var(--maroon); font-weight: 700; }
        .nav-link {
    transition: color 0.25s ease, transform 0.25s ease;
}
.nav-link:hover {
    color: var(--maroon);
    transform: translateY(-2px);
}


      /* Mobile menu slide/fade */
      #mobile-menu { transition: all 280ms cubic-bezier(.25,.8,.25,1); transform: translateY(-8px); opacity: 0; }
      #mobile-menu.show { transform: translateY(0); opacity: 1; }

      /* Glassmorphism */
      .glass {
        background: rgba(255,255,255,0.22);
        -webkit-backdrop-filter: blur(10px);
        backdrop-filter: blur(10px);
        border: 1px solid rgba(255,255,255,0.28);
      }

      /* Floating hearts */
      .heart { position: fixed; bottom: -20px; color: #ff7a7a; font-size: 20px; opacity: .85; animation: floatUp 6.5s linear infinite; pointer-events:none; }
      @keyframes floatUp {
        0% { transform: translateY(0) scale(1); opacity: .9; }
        100% { transform: translateY(-900px) scale(1.6); opacity: 0; }
      }

      /* Gold shine on headings */
      .shine {
        display:inline-block; background: linear-gradient(90deg,#735400,var(--gold),#735400);
        background-size:200%; -webkit-background-clip:text; color:transparent;
        animation: shineMove 3s linear infinite paused;
      }
      .shine.active { animation-play-state: running; }
      @keyframes shineMove { 0% { background-position: 0%; } 100% { background-position: 200%; } }

      /* Rotated hero frame */
      .rotated-frame { transform: rotate(3deg); transition: transform .3s ease; }
      .rotated-frame:hover { transform: rotate(0deg) scale(1.02); }

    
      /* Footer glass */
      footer.glass-footer {
        background: rgba(20,20,20,0.7);
        color: #f3f4f6;
        -webkit-backdrop-filter: blur(8px);
        backdrop-filter: blur(8px);
        border-top: 1px solid rgba(255,255,255,0.04);
      }
      footer .brand-gold { color: var(--gold); }
        .mobile-link {
    transition: background 0.25s ease, color 0.25s ease, transform 0.25s ease;
    border-radius: 8px;
}
.mobile-link:hover {
    background: var(--brand-rose);
    color: var(--maroon);
    transform: scale(1.02);
}

.signature-line {
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 20px 0 30px;
    gap: 14px;
}

.signature-line span {
    flex: 1;
    max-width: 180px;
    height: 1px;

    /* Soft luxury gold line */
    background: linear-gradient(
        to right,
        transparent,
        #D4AF37,
        transparent
    );
}

.signature-line p {
    font-family: "Playfair Display", serif;
    font-size: 15px;
    letter-spacing: 0.4px;
    color: #FFFEDD;
    opacity: 0.9;
    white-space: nowrap;
}

.signature-line a {
    color: #D4AF37;  /* Gold */
    text-decoration: none;
    font-weight: 600;
    transition: 0.3s ease;
}

.signature-line a:hover {
    color: #ffffff;
    text-shadow: 0 0 8px rgba(212,175,55,0.5);
}
/* Accordion marker hide */
details > summary { list-style: none; }
details > summary::-webkit-details-marker { display: none; }

