* {margin: 0; padding: 0; box-sizing: border-box;}
body {font-family: 'Rubik', sans-serif; background-color: #fff; color: #2a2a2a; overflow-x: hidden;}
.sidebar {position: fixed; left: 0; top: 0; width: 256px; height: 100vh; background-color: #2a2a2a; border-right: 1px solid #444; z-index: 100; transform: translateX(0); transition: transform 0.3s ease;}
.sidebar.hidden {transform: translateX(-100%);}
.sidebar-content {display: flex; flex-direction: column; height: 100%;}
.sidebar-logo {padding: 1.5rem; border-bottom: 1px solid #444;}
.sidebar-logo img {width: 100%; height: auto; border-radius: 0.75rem;}
.sidebar-nav {flex: 1; padding: 1rem; display: flex; flex-direction: column; gap: 0.5rem;}
.nav-item {display: flex; align-items: center; gap: 0.75rem; padding: 0.75rem 1rem; border-radius: 0.5rem; text-decoration: none; color: #FFD700; transition: all 0.2s;}
.nav-item:hover {background-color: #3a3a3a;}
.nav-item.active {background-color: #FFD700; color: #2a2a2a;}
.nav-icon {flex-shrink: 0;}
.sidebar-footer {padding: 1.5rem; border-top: 1px solid #444; text-align: center; font-size: 0.875rem; color: rgba(255, 215, 0, 0.6);}
.overlay {display: none; position: fixed; inset: 0; background-color: rgba(0, 0, 0, 0.5); z-index: 50;}
.overlay.active {display: block;}
.main-content {margin-left: 256px; min-height: 100vh;}
.mobile-header {display: none; background-color: #2a2a2a; color: #FFD700; padding: 1rem; border-bottom: 1px solid #444;}
.menu-toggle {padding: 0.5rem; background: none; border: none; color: #FFD700; cursor: pointer; border-radius: 0.5rem; transition: background-color 0.2s;}
.menu-toggle:hover {background-color: #3a3a3a;}
.hero {background-color: #2a2a2a; color: #FFD700; padding: 5rem 1.5rem;}
.hero-content {max-width: 64rem; margin: 0 auto; text-align: center;}
.hero h1 {font-size: 3rem; font-weight: 600; margin-bottom: 1.5rem;}
.hero p {font-size: 1.25rem; opacity: 0.9;}
.back-button {display: inline-flex; align-items: center; gap: 0.5rem; margin-bottom: 1rem; color: #FFD700; text-decoration: none; transition: opacity 0.2s;}
.back-button:hover {opacity: 0.8;}
.container {max-width: 64rem; margin: 0 auto; padding: 4rem 1.5rem;}
.content-section {margin-bottom: 4rem;}
.content-section h2 {font-size: 1.875rem; font-weight: 500; margin-bottom: 1.5rem; padding-bottom: 0.75rem; border-bottom: 2px solid #FFD700;}
.content-section p {font-size: 1.125rem; line-height: 1.75; color: rgba(42, 42, 42, 0.8); margin-bottom: 1rem;}
.values-grid {display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: 1.5rem;}
.value-card {background-color: #fff; border: 1px solid rgba(0, 0, 0, 0.1); border-radius: 0.5rem; padding: 1.5rem; transition: box-shadow 0.3s;}
.value-card:hover {box-shadow: 0 10px 25px rgba(0, 0, 0, 0.1);}
.value-card h3 {color: #FFD700; margin-bottom: 0.75rem;}
.value-card p {color: rgba(42, 42, 42, 0.7); font-size: 1rem;}
.album-grid {display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 1.5rem;}
.album-card {position: relative; aspect-ratio: 16/9; background: linear-gradient(to bottom right, rgba(42, 42, 42, 0.2), rgba(255, 215, 0, 0.2)); border-radius: 0.5rem; overflow: hidden; border: 1px solid rgba(0, 0, 0, 0.1); cursor: pointer; text-decoration: none; color: #2a2a2a; display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 1rem; transition: all 0.3s;}
.album-card:hover {box-shadow: 0 20px 40px rgba(0, 0, 0, 0.15); transform: translateY(-2px);}
.folder-icon {color: #FFD700; margin-bottom: 0.75rem; transition: transform 0.3s;}
.album-card:hover .folder-icon {transform: scale(1.1);}
.album-card h3 {text-align: center; margin-bottom: 0.5rem; transition: transform 0.3s;}
.album-card:hover h3 {transform: scale(1.05);}
.photo-count {display: flex; align-items: center; gap: 0.5rem; font-size: 0.875rem; color: rgba(42, 42, 42, 0.7);}
.video-grid {display: grid; grid-template-columns: repeat(auto-fill, minmax(400px, 1fr)); gap: 2rem;}
.video-item {cursor: pointer;}
.video-thumbnail {position: relative; aspect-ratio: 16/9; border-radius: 0.5rem; overflow: hidden; border: 1px solid rgba(0, 0, 0, 0.1); transition: all 0.3s;}
.video-thumbnail:hover {box-shadow: 0 20px 40px rgba(0, 0, 0, 0.15);}
.video-thumbnail img {width: 100%; height: 100%; object-fit: cover; transition: transform 0.3s;}
.video-thumbnail:hover img {transform: scale(1.05);}
.video-thumbnail::after {content: ''; position: absolute; inset: 0; background-color: rgba(0, 0, 0, 0.4); transition: background-color 0.3s;}
.video-thumbnail:hover::after {background-color: rgba(0, 0, 0, 0.3);}
.play-button {position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 4rem; height: 4rem; border-radius: 50%; background-color: #FFD700; display: flex; align-items: center; justify-content: center; z-index: 10; transition: transform 0.3s; color: #2a2a2a;}
.video-thumbnail:hover .play-button {transform: translate(-50%, -50%) scale(1.1);}
.video-item h3 {text-align: center; margin-top: 0.75rem;}
.photo-grid {display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 1rem;}
.photo-item {aspect-ratio: 1; cursor: pointer; border-radius: 0.5rem; overflow: hidden; border: 1px solid rgba(0, 0, 0, 0.1); transition: all 0.3s;}
.photo-item:hover {box-shadow: 0 20px 40px rgba(0, 0, 0, 0.15);}
.photo-placeholder {width: 100%; height: 100%; background: linear-gradient(to bottom right, rgba(42, 42, 42, 0.2), rgba(255, 215, 0, 0.2)); display: flex; align-items: center; justify-content: center; transition: all 0.3s;}
.photo-item:hover .photo-placeholder {background: linear-gradient(to bottom right, rgba(42, 42, 42, 0.3), rgba(255, 215, 0, 0.3));}
.photo-item:hover .photo-placeholder p {transform: scale(1.1);}
.contact-layout {display: grid; grid-template-columns: 1fr 1fr; gap: 3rem;}
.contact-form-section h2, .contact-info-section h2 {font-size: 1.5rem; margin-bottom: 1.5rem; padding-bottom: 0.75rem; border-bottom: 2px solid #FFD700;}
.form-success {background-color: rgba(255, 215, 0, 0.1); border: 1px solid #FFD700; border-radius: 0.5rem; padding: 2rem; text-align: center;}
.success-icon {width: 4rem; height: 4rem; background-color: #FFD700; border-radius: 50%; display: flex; align-items: center; justify-content: center; margin: 0 auto 1rem; color: #2a2a2a;}
.form-success h3 {margin-bottom: 0.5rem;}
.form-success p {color: rgba(42, 42, 42, 0.7);}
.contact-form {display: flex; flex-direction: column; gap: 1.5rem;}
.form-group {display: flex; flex-direction: column;}
.form-group label {margin-bottom: 0.5rem; font-weight: 500;}
.form-group input, .form-group textarea {padding: 0.75rem 1rem; border: 1px solid rgba(0, 0, 0, 0.1); border-radius: 0.5rem; background-color: #f3f3f5; font-family: 'Rubik', sans-serif; font-size: 1rem; transition: all 0.2s;}
.form-group input:focus, .form-group textarea:focus {outline: none; border-color: #FFD700; box-shadow: 0 0 0 2px rgba(255, 215, 0, 0.2);}
.form-group textarea {resize: none;}
.submit-button {background-color: #2a2a2a; color: #FFD700; padding: 0.75rem 1.5rem; border: none; border-radius: 0.5rem; font-family: 'Rubik', sans-serif; font-size: 1rem; font-weight: 500; cursor: pointer; display: flex; align-items: center; justify-content: center; gap: 0.5rem; transition: background-color 0.2s;}
.submit-button:hover {background-color: rgba(42, 42, 42, 0.9);}
.contact-info-list {display: flex; flex-direction: column; gap: 1.5rem;}
.contact-info-item {display: flex; gap: 1rem;}
.contact-icon {width: 3rem; height: 3rem; background-color: #FFD700; border-radius: 0.5rem; display: flex; align-items: center; justify-content: center; flex-shrink: 0; color: #2a2a2a;}
.contact-info-item h3 {margin-bottom: 0.25rem;}
.contact-info-item p {color: rgba(42, 42, 42, 0.7); font-size: 1rem;}
.opening-hours {margin-top: 3rem; background-color: #f5f5f5; border-radius: 0.5rem; padding: 1.5rem; border: 1px solid rgba(0, 0, 0, 0.1);}
.opening-hours h3 {margin-bottom: 0.75rem;}
.opening-hours p {color: rgba(42, 42, 42, 0.7); font-size: 1rem; margin-bottom: 0.5rem;}
.modal {display: none; position: fixed; inset: 0; background-color: rgba(0, 0, 0, 0.8); z-index: 1000; align-items: center; justify-content: center; padding: 1rem;}
.modal.active {display: flex;}
.modal-content {position: relative; max-width: 64rem; width: 100%;}
.video-modal-content {aspect-ratio: 16/9;}
.modal-close, .modal-close-white {position: absolute; top: 1rem; right: 1rem; width: 3rem; height: 3rem; background-color: rgba(255, 255, 255, 0.1); border: none; border-radius: 50%; display: flex; align-items: center; justify-content: center; cursor: pointer; z-index: 10; transition: background-color 0.2s; color: white;}
.modal-close:hover, .modal-close-white:hover {background-color: rgba(255, 255, 255, 0.2);}
.video-container iframe {width: 100%; height: 100%; border-radius: 0.5rem;}
.photo-lightbox {max-width: 64rem; width: 100%; aspect-ratio: 16/9; background-color: #f5f5f5; border-radius: 0.5rem; overflow: hidden; display: flex; align-items: center; justify-content: center;}
.photo-lightbox .photo-placeholder {width: 100%; height: 100%;}
@media (max-width: 1024px) {
.sidebar {transform: translateX(-100%);}
.sidebar.active {transform: translateX(0);}
.main-content {margin-left: 0;}
.mobile-header {display: block;}
.contact-layout {grid-template-columns: 1fr;}
.video-grid {grid-template-columns: 1fr;}
}
@media (max-width: 768px) {
.hero h1 {font-size: 2rem;}
.hero p {font-size: 1rem;}
.values-grid {grid-template-columns: 1fr;}
.album-grid {grid-template-columns: 1fr;}
.photo-grid {grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));}
}