.navbar{background-color:var(--bg-color);box-shadow:var(--shadow);position:fixed;top:0;left:0;right:0;width:100%;z-index:1000}.nav-container{max-width:1200px;margin:0 auto;padding:0 20px;display:flex;justify-content:space-between;align-items:center;height:60px}.nav-logo{font-size:1.5rem;font-weight:700;color:var(--primary-color)}.nav-logo:hover{color:var(--accent-color)}.nav-menu{display:flex;align-items:center;gap:2rem;list-style:none}.nav-link{color:var(--text-color);font-weight:500;padding:.5rem 0;position:relative;cursor:pointer;display:flex;align-items:center;gap:.25rem}.nav-link:hover,.nav-link.active{color:var(--accent-color)}.nav-link.active:after{content:"";position:absolute;bottom:0;left:0;right:0;height:2px;background-color:var(--accent-color)}.nav-dropdown{position:relative}.dropdown-arrow{margin-left:.25rem;transition:transform .3s ease}.nav-dropdown:hover .dropdown-arrow{transform:rotate(180deg)}.dropdown-content{position:absolute;top:100%;left:0;background-color:var(--bg-color);box-shadow:var(--shadow-lg);border-radius:4px;padding:.5rem 0;min-width:200px;opacity:0;visibility:hidden;transform:translateY(-10px);transition:all .3s ease}.dropdown-content.show{opacity:1;visibility:visible;transform:translateY(0)}.dropdown-item{display:block;padding:.75rem 1.5rem;color:var(--text-color);white-space:nowrap}.dropdown-item:hover{background-color:var(--bg-light);color:var(--accent-color)}.hamburger{display:none;flex-direction:column;cursor:pointer;gap:5px;width:25px;height:21px;position:relative}.hamburger span{width:25px;height:3px;background-color:var(--primary-color);transition:all .3s ease;border-radius:2px;position:absolute;left:0}.hamburger span:nth-child(1){top:0}.hamburger span:nth-child(2){top:9px}.hamburger span:nth-child(3){top:18px}.hamburger.active span:nth-child(1){top:9px;transform:rotate(45deg)}.hamburger.active span:nth-child(2){opacity:0}.hamburger.active span:nth-child(3){top:9px;transform:rotate(-45deg)}@media(max-width:768px){.hamburger{display:flex}.nav-menu{position:fixed;left:-100%;top:60px;flex-direction:column;background-color:var(--bg-color);width:100%;text-align:center;transition:left .3s ease;box-shadow:var(--shadow);align-items:flex-start;padding:2rem 0 2rem 2rem;max-height:calc(100vh - 60px);overflow-y:auto;overflow-x:hidden}.nav-menu.active{left:0}.nav-link{width:100%;padding:1rem 0}.dropdown-content{position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;padding-left:1rem;margin-top:.5rem}.dropdown-content.show{display:block}.dropdown-content:not(.show){display:none}}@media(max-width:768px)and (orientation:landscape){.nav-menu{max-height:calc(100vh - 60px)}.dropdown-content.show{max-height:40vh;overflow-y:auto;overflow-x:hidden}}.footer{background-color:transparent;border-top:1px solid var(--border-color);padding:2rem 1rem;margin-top:4rem}.footer-content{max-width:1200px;margin:0 auto;display:flex;flex-direction:column;align-items:center;gap:1rem}.footer-social{display:flex;gap:1.5rem;align-items:center}.social-link{color:var(--text-light);transition:color .3s ease,transform .3s ease;display:flex;align-items:center;justify-content:center}.social-link:hover{color:var(--accent-color);transform:translateY(-2px)}.social-link svg{width:24px;height:24px}.footer-copyright{margin:0;color:var(--text-light);font-size:.9rem}@media(max-width:768px){.footer-social{gap:1rem}.social-link svg{width:20px;height:20px}.footer-copyright{font-size:.85rem}}.home{max-width:900px;margin:0 auto;padding:2rem 1rem}.home.restoring-scroll{opacity:0;transition:opacity .05s ease-in}.home.scroll-restored{opacity:1;transition:opacity .15s ease-out}.hero{text-align:center;padding:3rem 1rem;margin-bottom:3rem}.hero h1{font-size:3rem;margin-bottom:1rem;color:var(--primary-color)}.tagline{font-size:1.25rem;color:var(--text-light)}.blog-timeline{max-width:100%}.blog-post{margin-bottom:4rem;animation:fadeIn .6s ease-in}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.post-date{font-size:.9rem;color:var(--text-light);margin-bottom:.75rem;text-transform:uppercase;letter-spacing:.05em}.post-link{display:block;text-decoration:none;color:inherit}.post-title{font-size:2rem;font-weight:700;color:var(--primary-color);margin-bottom:.5rem;transition:color .3s ease}.post-link:hover .post-title{color:var(--accent-color)}.post-description{font-size:1.1rem;color:var(--text-color);line-height:1.6;margin-bottom:1.5rem}.post-image-container{width:100%;max-height:400px;margin-bottom:1rem;overflow:hidden}.post-image{width:100%;height:100%;max-height:400px;object-fit:cover;display:block;transition:transform .3s ease}.post-link:hover .post-image{transform:scale(1.02)}.post-meta{display:flex;justify-content:space-between;align-items:center;font-size:.95rem;color:var(--text-light)}.post-photo-count{color:var(--text-light)}.post-view-link{color:var(--accent-color);font-weight:500}@media(max-width:768px){.hero h1{font-size:2rem}.tagline{font-size:1rem}.post-title{font-size:1.5rem}.post-description{font-size:1rem}.blog-post{margin-bottom:3rem}}.about{max-width:800px;margin:0 auto;padding:2rem 1rem}.about-container{background-color:transparent;padding:3rem 0}.about-header{text-align:center;margin-bottom:3rem}.profile-photo{width:200px;height:200px;border-radius:50%;margin:0 auto 2rem;object-fit:cover;box-shadow:var(--shadow)}.about-header h1{font-size:2rem;font-weight:400;margin-bottom:1rem;color:var(--text-color)}.about-content{line-height:1.8;max-width:650px;margin:0 auto}.about-section{margin-bottom:3rem}.about-section h2{font-size:1.25rem;font-weight:500;margin-bottom:1rem;color:var(--text-color)}.about-section p{color:var(--text-color);margin-bottom:1rem;font-size:1.05rem}.equipment-list{list-style:none;padding-left:0}.equipment-list li{padding:.5rem 0;color:var(--text-color);font-size:1.05rem}.contact-links{display:flex;gap:1rem;flex-wrap:wrap;margin-top:1rem}.contact-link{color:var(--accent-color);text-decoration:underline;transition:color .3s ease}.contact-link:hover{color:var(--primary-color)}.contact-form{margin-top:1.5rem}.form-group{margin-bottom:1.5rem}.form-group label{display:block;margin-bottom:.5rem;color:var(--text-color);font-weight:500;font-size:1rem}.form-group input,.form-group textarea{width:100%;padding:.75rem;border:1px solid var(--border-color, #ddd);border-radius:4px;font-size:1rem;font-family:inherit;background-color:var(--bg-color, #fff);color:var(--text-color);transition:border-color .3s ease}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:var(--accent-color)}.form-group textarea{resize:vertical;min-height:120px}.submit-button{background-color:var(--accent-color);color:#fff;padding:.75rem 2rem;border:none;border-radius:4px;font-size:1rem;font-weight:500;cursor:pointer;transition:background-color .3s ease,transform .1s ease}.submit-button:hover{background-color:var(--primary-color);transform:translateY(-1px)}.submit-button:active{transform:translateY(0)}.success-message{margin-top:1rem;padding:.75rem;background-color:#d4edda;color:#155724;border:1px solid #c3e6cb;border-radius:4px;font-size:.95rem}@media(max-width:768px){.about-container{padding:2rem 1.5rem}.about-header h1{font-size:2rem}.about-section h2{font-size:1.5rem}.profile-photo{width:150px;height:150px}}.lightbox-overlay{position:fixed;inset:0;background-color:#000000f2;z-index:9999;display:flex;align-items:center;justify-content:center;padding:2rem;animation:fadeIn .2s ease-in}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.lightbox-content{position:relative;max-width:100%;max-height:100%;display:flex;align-items:center;justify-content:center}.lightbox-image{max-width:100%;max-height:90vh;width:auto;height:auto;object-fit:contain;box-shadow:0 0 30px #00000080}.lightbox-close{position:fixed;top:1rem;right:1rem;background:none;border:none;color:#fff;font-size:3rem;cursor:pointer;padding:.5rem 1rem;line-height:1;transition:opacity .3s ease;z-index:10000}.lightbox-close:hover{opacity:.7}.lightbox-nav{position:absolute;top:50%;transform:translateY(-50%);background:#ffffff1a;border:none;color:#fff;font-size:4rem;font-family:Arial,sans-serif;cursor:pointer;padding:.85rem 1.5rem 1.15rem;line-height:1;transition:background-color .3s ease;border-radius:4px;-webkit-user-select:none;user-select:none}.lightbox-nav:hover{background:#fff3}.lightbox-prev{left:-5.5rem}.lightbox-next{right:-5.5rem}@media(max-width:768px){.lightbox-overlay{padding:1rem}.lightbox-close{top:.5rem;right:.5rem;font-size:2.5rem}.lightbox-image{max-height:85vh}.lightbox-nav{font-size:2.5rem;padding:.4rem 1rem .6rem}.lightbox-prev{left:.5rem}.lightbox-next{right:.5rem}}@media(max-width:768px)and (orientation:landscape){.lightbox-overlay{padding:.5rem 5rem}.lightbox-image{max-height:80vh}.lightbox-nav{font-size:2rem;padding:.3rem .8rem .5rem}.lightbox-prev{left:-4rem}.lightbox-next{right:-4rem}}.expandable-section{margin-bottom:2rem}.section-header{width:100%;display:flex;align-items:center;gap:1rem;padding:1.5rem;background-color:var(--bg-color);border:1px solid var(--border-color);border-radius:4px;cursor:pointer;transition:background-color .3s ease;text-align:left}.section-header:hover{background-color:var(--bg-light)}.section-title{font-size:1.5rem;font-weight:600;color:var(--primary-color);margin:0;flex:1;font-family:Charter,Iowan Old Style,Apple Garamond,Baskerville,Times New Roman,serif}.section-count{font-size:.95rem;color:var(--text-light)}.section-arrow{font-size:.9rem;color:var(--text-light);transition:transform .3s ease;display:inline-block}.section-arrow.expanded{transform:rotate(180deg)}.section-gallery{margin-top:1rem;column-count:3;column-gap:1rem;animation:slideDown .3s ease-in-out}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.section-gallery .gallery-item{background-color:transparent;break-inside:avoid;margin-bottom:1rem;transition:opacity .3s ease}.section-gallery .gallery-item:hover{opacity:.9}.section-gallery .gallery-image-wrapper{position:relative;width:100%;cursor:pointer;overflow:hidden;background-color:#f0f0f0}.section-gallery .gallery-image{width:100%;height:auto;display:block;transition:transform .3s ease}.section-gallery .gallery-item:hover .gallery-image{transform:scale(1.02)}@media(max-width:1024px){.section-gallery{column-count:2}}.coming-soon-message{padding:3rem 2rem;text-align:center;color:var(--text-light);font-style:italic;font-size:1.1rem}.coming-soon-message p{margin:0}@media(max-width:768px){.section-header{padding:1rem}.section-title{font-size:1.25rem}.section-gallery{column-count:1}}.album{max-width:1200px;margin:0 auto;padding:2rem 1rem}.album-not-found{text-align:center;padding:4rem 2rem}.album-not-found h2{margin-bottom:1.5rem;font-size:2rem}.back-link{display:inline-block;color:var(--accent-color);font-weight:500;margin-bottom:1.5rem;transition:color .3s ease}.back-link:hover{color:var(--primary-color)}.album-header{text-align:center;margin-bottom:3rem;position:relative}.album-header .back-link{position:absolute;left:0;top:0;margin-bottom:0}.album-header h1{font-size:2.5rem;margin-bottom:1rem;color:var(--primary-color)}.album-description{font-size:1.25rem;color:var(--text-light);margin-bottom:.5rem}.album-date{font-size:1rem;color:var(--text-light)}.album-story{max-width:800px;margin:0 auto 3rem;padding:1.5rem;background-color:transparent;line-height:1.7}.album-story p{font-size:.95rem;color:var(--text-light);margin:0;white-space:pre-wrap;font-style:italic}.album-gallery{column-count:3;column-gap:1rem}.gallery-item{background-color:transparent;break-inside:avoid;margin-bottom:1rem;transition:opacity .3s ease;animation:fadeIn .6s ease-in}.gallery-item:hover{opacity:.9}.gallery-image-wrapper{position:relative;width:100%;cursor:pointer;overflow:hidden;background-color:#f0f0f0}.gallery-image{width:100%;height:auto;display:block;transition:transform .3s ease}.gallery-item:hover .gallery-image{transform:scale(1.02)}.gallery-info{padding:.5rem 0 1rem}.gallery-caption{font-size:1rem;font-weight:500;margin-bottom:.25rem;color:var(--primary-color)}.gallery-date{font-size:.85rem;color:var(--text-light)}@media(max-width:1024px){.album-gallery{column-count:2}}@media(max-width:768px){.album-header .back-link{position:static;display:block;text-align:left;margin-bottom:1.5rem}.album-header h1{font-size:2rem}.album-description{font-size:1rem}.album-story{padding:1rem;margin-bottom:2rem}.album-story p{font-size:.9rem}.album-gallery{column-count:1}}.artwork{max-width:1200px;margin:0 auto;padding:2rem 1rem}.artwork-sections{margin-top:2rem}.password-gate{min-height:60vh;display:flex;align-items:center;justify-content:center;padding:2rem}.password-gate-container{max-width:400px;width:100%;text-align:center}.password-gate-icon{margin:0 auto 1.5rem;color:#666}.password-gate h2{margin-bottom:.5rem;font-size:1.8rem;color:#333}.password-gate p{margin-bottom:2rem;color:#666;font-size:.95rem}.password-gate form{display:flex;flex-direction:column;gap:1rem}.password-gate input[type=password]{padding:.75rem 1rem;font-size:1rem;border:2px solid #ddd;border-radius:8px;transition:border-color .2s}.password-gate input[type=password]:focus{outline:none;border-color:#333}.password-gate input[type=password].error{border-color:#dc3545}.password-gate button{padding:.75rem 1.5rem;font-size:1rem;font-weight:600;color:#fff;background-color:#333;border:none;border-radius:8px;cursor:pointer;transition:background-color .2s}.password-gate button:hover:not(:disabled){background-color:#555}.password-gate button:disabled{background-color:#ccc;cursor:not-allowed}.error-message{color:#dc3545;font-size:.875rem;margin:-.5rem 0 0;text-align:left}.app{min-height:100vh;display:flex;flex-direction:column}.main-content{flex:1;padding-top:60px}*{margin:0;padding:0;box-sizing:border-box}html{overflow-x:hidden;width:100%;position:relative}html,body{min-height:100vh;min-height:-webkit-fill-available}:root{--primary-color: #2c3e50;--secondary-color: #34495e;--accent-color: #3498db;--text-color: #333;--text-light: #666;--border-color: #e0e0e0;--bg-color: #ffffff;--bg-light: #f8f9fa;--shadow: 0 2px 8px rgba(0, 0, 0, .1);--shadow-lg: 0 4px 16px rgba(0, 0, 0, .15)}body{font-family:Charter,Iowan Old Style,Apple Garamond,Baskerville,Times New Roman,serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:var(--text-color);background-color:var(--bg-light);line-height:1.7;position:relative;overflow-x:hidden}h1,h2,h3,h4,h5,h6{font-weight:600;line-height:1.2;color:var(--primary-color)}a{text-decoration:none;color:var(--accent-color);transition:color .3s ease}a:hover{color:var(--primary-color)}img{max-width:100%;height:auto;display:block}
