:root{--bg-deep:#060d18;--bg-navy:#12294a;--card-bg:#0d1b2e;--card-border:#d4af3724;--gold:#d4af37;--gold-bright:#e9c96a;--gold-soft:#d4af3759;--gold-faint:#d4af372e;--text-color:#ece7db;--text-muted:#9aa7b8;--font-main:"Outfit",sans-serif;--font-serif:"Cormorant Garamond",serif;--lb-maxw:calc(100vw - 200px)}@media (max-width:768px){:root{--lb-maxw:calc(100vw - 44px)}}body{font-family:var(--font-main);background:radial-gradient(ellipse at bottom,var(--bg-navy)0%,var(--bg-deep)100%);color:var(--text-color);-webkit-font-smoothing:antialiased;min-height:100vh;margin:0;overflow-x:hidden}::selection{background:var(--gold-soft);color:#fff}::-webkit-scrollbar{width:10px}::-webkit-scrollbar-track{background:var(--bg-deep)}::-webkit-scrollbar-thumb{background:#1b2c44;border-radius:5px}::-webkit-scrollbar-thumb:hover{background:var(--gold-soft)}:focus-visible{outline:1px solid var(--gold);outline-offset:2px}.img-shield{z-index:2;position:absolute;inset:0}img{-webkit-user-drag:none;-khtml-user-drag:none;-moz-user-drag:none;-o-user-drag:none;user-drag:none;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;pointer-events:auto}.grain{z-index:3000;pointer-events:none;opacity:.045;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='240'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");position:fixed;inset:0}.star-background{z-index:-1;pointer-events:none;width:100%;height:100%;position:fixed;top:0;left:0}#stars{background:0 0;width:1px;height:1px;animation:50s linear infinite animStar}#stars:after{content:" ";width:1px;height:1px;box-shadow:inherit;background:0 0;position:absolute;top:2000px}#stars2{background:0 0;width:2px;height:2px;animation:100s linear infinite animStar}#stars2:after{content:" ";width:2px;height:2px;box-shadow:inherit;background:0 0;position:absolute;top:2000px}#stars3{background:0 0;width:3px;height:3px;animation:150s linear infinite animStar}#stars3:after{content:" ";width:3px;height:3px;box-shadow:inherit;background:0 0;position:absolute;top:2000px}@keyframes animStar{0%{transform:translateY(0)}to{transform:translateY(-2000px)}}.app{max-width:1600px;margin:0 auto;padding:20px}.view{animation:.45s both viewIn}@keyframes viewIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.reveal{opacity:0}.reveal.revealed{opacity:1;animation:.55s cubic-bezier(.16,.84,.44,1) both riseIn}@keyframes riseIn{0%{opacity:0;transform:translateY(26px)}to{opacity:1;transform:none}}.hero{text-align:center;padding:4.5rem 1rem 3.5rem}.hero-kicker,.hero h1,.hero-rule,.hero-tagline,.hero-stats{opacity:0;animation:.8s cubic-bezier(.16,.84,.44,1) both riseIn}.hero h1{animation-delay:.12s}.hero-rule{animation-delay:.28s}.hero-tagline{animation-delay:.4s}.hero-stats{animation-delay:.55s}.hero-kicker{letter-spacing:.45em;text-transform:uppercase;color:var(--gold);margin:0 0 1.2rem;font-size:.75rem;font-weight:400}.hero h1{font-family:var(--font-serif);letter-spacing:.02em;margin:0;font-size:clamp(2.4rem,6vw,4rem);font-weight:400;line-height:1.1}.hero h1 em{color:var(--gold-bright);font-style:italic}.hero-rule{background:linear-gradient(90deg,transparent,var(--gold),transparent);border:0;width:72px;height:1px;margin:1.6rem auto}.hero-tagline{letter-spacing:.08em;color:var(--text-muted);margin:0;font-weight:300}.hero-stats{letter-spacing:.28em;text-transform:uppercase;color:#d4af37b8;margin:1rem 0 0;font-size:.72rem}.album-heading{margin-bottom:20px}.album-heading.centered{text-align:center}.album-kicker{letter-spacing:.32em;text-transform:uppercase;color:var(--gold);margin:0 0 .3rem;font-size:.7rem}.album{margin-bottom:60px}.album-heading h2{font-family:var(--font-serif);border-bottom:1px solid var(--gold-faint);color:var(--text-color);margin:0;padding-bottom:10px;font-size:2rem;font-weight:500}.gallery{column-count:3;column-gap:20px}@media (max-width:1200px){.gallery{column-count:2}}@media (max-width:768px){.gallery{column-count:1}}.photo-card{background:var(--card-bg);cursor:pointer;break-inside:avoid;border:1px solid var(--card-border);border-radius:12px;margin-bottom:20px;transition:transform .3s,box-shadow .3s,border-color .3s;display:block;position:relative;overflow:hidden}.photo-card img{opacity:0;width:100%;height:auto;transition:opacity .5s,transform .6s,filter .3s;display:block}.photo-card img.loaded{opacity:1}.photo-card:hover{border-color:var(--gold-soft);transform:translateY(-5px);box-shadow:0 10px 30px #03081099,0 0 18px #d4af371f}.photo-card:hover img{filter:brightness(1.08);transform:scale(1.03)}.metadata-overlay{opacity:0;color:var(--text-color);text-align:center;pointer-events:none;background:linear-gradient(#0000,#040a13f0);padding:20px;transition:opacity .3s;position:absolute;bottom:0;left:0;right:0}.photo-card:hover .metadata-overlay{opacity:1}.date{font-size:1.2rem;font-style:italic;font-family:var(--font-serif);letter-spacing:1px;margin:0 0 5px}.tech-specs{letter-spacing:.02em;color:#d9c9a3;font-family:monospace;font-size:.78rem}.loading{letter-spacing:.35em;text-transform:uppercase;height:100vh;color:var(--text-muted);flex-direction:column;justify-content:center;align-items:center;gap:1.2rem;font-size:.8rem;display:flex}.loading:before{content:"";border:1px solid var(--gold-faint);border-top-color:var(--gold);border-radius:50%;width:34px;height:34px;animation:.9s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.site-footer{text-align:center;color:var(--text-muted);letter-spacing:.06em;box-sizing:border-box;width:100%;margin-top:auto;padding:3rem 1rem;font-size:.82rem}.site-footer:before{content:"";background:linear-gradient(90deg,transparent,var(--gold-soft),transparent);width:120px;height:1px;margin:0 auto 2rem;display:block}.site-footer p{max-width:600px;margin:0 auto;line-height:1.5}.lightbox{z-index:1000;box-sizing:border-box;cursor:pointer;background:#040911f5;justify-content:center;align-items:center;width:100%;height:100%;padding:40px 40px 110px;display:flex;position:fixed;top:0;left:0}.lightbox-close{z-index:1002;color:#ece7dbb3;cursor:pointer;background:0 0;border:none;padding:8px 12px;font-size:2.4rem;font-weight:300;line-height:1;transition:color .2s,transform .2s;position:absolute;top:16px;right:24px}.lightbox-close:hover{color:var(--gold-bright);transform:scale(1.1)}.lightbox-counter{z-index:1002;letter-spacing:.28em;color:#d4af37cc;font-size:.76rem;position:absolute;top:30px;left:32px}.navbar{z-index:1000;box-sizing:border-box;border-bottom:1px solid #0000;justify-content:center;width:100%;padding:1rem 2rem;transition:background-color .3s,padding .3s,border-color .3s,box-shadow .3s;display:flex;position:fixed;top:0;left:0}.navbar.scrolled{border-bottom:1px solid var(--gold-faint);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background-color:#081222e0;padding:.8rem 2rem;box-shadow:0 2px 18px #03081080}.nav-content{justify-content:space-between;align-items:center;width:100%;max-width:1600px;display:flex}.nav-title{font-family:var(--font-serif);cursor:pointer;letter-spacing:.015em;align-items:center;gap:.7rem;font-size:1.55rem;font-weight:600;transition:color .2s;display:flex}.nav-title:hover{color:var(--gold-bright)}.monogram{border:1px solid var(--gold-soft);letter-spacing:.08em;width:36px;height:36px;color:var(--gold-bright);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:.92rem;transition:border-color .2s,box-shadow .2s;display:inline-flex}.nav-title:hover .monogram{border-color:var(--gold);box-shadow:0 0 10px #d4af3740}.nav-links{align-items:center;gap:2rem;display:flex}.nav-links button,.nav-links a{color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:.5rem;font-family:inherit;font-size:1rem;text-decoration:none;transition:color .2s;position:relative}.nav-links button:after,.nav-links a:after{content:"";background:var(--gold);transform-origin:50%;height:1px;transition:transform .25s;position:absolute;bottom:.2rem;left:.5rem;right:.5rem;transform:scaleX(0)}.nav-links button:hover,.nav-links a:hover{color:var(--gold-bright)}.nav-links button:hover:after,.nav-links a:hover:after{transform:scaleX(1)}@media (max-width:768px){.navbar{padding:.8rem 1rem}.navbar.scrolled{padding:.6rem 1rem}.nav-title{gap:.5rem;font-size:1.2rem}.monogram{width:30px;height:30px;font-size:.78rem}.nav-links{gap:1rem}.nav-links button,.nav-links a{padding:.3rem;font-size:.9rem}main{padding-top:70px}.hero{padding:2.5rem 1rem 2rem}}main{padding-top:80px}.lightbox-content{flex-direction:column;align-items:center;max-width:100%;max-height:100%;animation:.3s ease-out forwards zoomIn;display:flex;position:relative}@keyframes zoomIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.lightbox-img-stack{max-width:100%;animation:.32s lbIn;position:relative;box-shadow:0 0 30px #0009}.lightbox-img-stack img{object-fit:contain;width:100%;height:100%;position:absolute;top:0;left:0}.lightbox-img-stack .lightbox-img-full{opacity:0;transition:opacity .25s}.lightbox-img-stack .lightbox-img-full.loaded{opacity:1}.lightbox-img-plain{object-fit:contain;max-width:100%;max-height:calc(100vh - 270px);animation:.32s lbIn;box-shadow:0 0 30px #0009}@keyframes lbIn{0%{opacity:.35;transform:scale(.985)}to{opacity:1;transform:none}}.lightbox-info{text-align:center;color:var(--text-muted);margin-top:20px;font-size:.95rem;line-height:1.7}.lightbox-info p{margin:0 0 4px}.lightbox-info p:first-child{font-family:var(--font-serif);color:var(--text-color);font-size:1.1rem;font-style:italic}.lightbox-info .altitude{letter-spacing:.18em;text-transform:uppercase;color:var(--gold-bright);font-size:.78rem}.nav-arrow{color:#ece7dbd9;cursor:pointer;z-index:1001;opacity:.7;background:0 0;border:none;padding:20px;font-size:3rem;transition:opacity .3s,color .3s;animation:2s infinite pulse;position:absolute;top:50%;transform:translateY(-50%)}.nav-arrow:hover{opacity:1;color:var(--gold-bright);animation:none}.nav-arrow.left{left:20px}.nav-arrow.right{right:20px}@keyframes pulse{0%{opacity:.7;transform:translateY(-50%)scale(1)}50%{opacity:1;transform:translateY(-50%)scale(1.1)}to{opacity:.7;transform:translateY(-50%)scale(1)}}.thumbstrip{border-top:1px solid var(--gold-faint);box-sizing:border-box;z-index:1001;scrollbar-width:none;-ms-overflow-style:none;background:#040a13e0;align-items:center;width:100%;height:100px;padding:10px;display:flex;position:absolute;bottom:0;left:0;overflow-x:auto}.thumbstrip::-webkit-scrollbar{display:none}.thumbstrip-inner{gap:10px;min-width:min-content;margin:0 auto;display:flex}.thumbstrip-item{cursor:pointer;opacity:.5;border-radius:4px;flex-shrink:0;width:120px;height:80px;transition:opacity .3s,transform .2s;overflow:hidden}.thumbstrip-item img{object-fit:cover;width:100%;height:100%}.thumbstrip-item:hover{opacity:.8}.thumbstrip-item.active{opacity:1;border:2px solid var(--gold);transform:scale(1.05)}.albums-view h2,.single-album-view .album-heading h2{font-family:var(--font-serif);text-align:center;border:none;margin:0 0 .4rem;padding:0;font-size:2.2rem;font-weight:500}.albums-view h2:after,.single-album-view .album-heading h2:after{content:"";background:linear-gradient(90deg,transparent,var(--gold),transparent);width:64px;height:1px;margin:.9rem auto 1.8rem;display:block}.albums-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:2rem;max-width:1600px;margin:0 auto;padding:0 2rem;display:grid}.album-card{background:var(--card-bg);cursor:pointer;border:1px solid var(--card-border);box-sizing:border-box;border-radius:12px;padding:1rem;transition:transform .3s,box-shadow .3s,border-color .3s;overflow:hidden}.album-card:hover{border-color:var(--gold-soft);transform:translateY(-5px);box-shadow:0 10px 30px #03081099,0 0 18px #d4af371f}.album-cover{aspect-ratio:3/2;background-color:#12213a;border-radius:8px;width:100%;margin-bottom:1rem;overflow:hidden}.album-cover img{object-fit:cover;width:100%;height:100%;transition:transform .3s}.album-card:hover .album-cover img{transform:scale(1.05)}.album-card .album-kicker{margin:0 0 .3rem;font-size:.66rem}.album-card h3{font-family:var(--font-serif);margin:0 0 .4rem;font-size:1.35rem;font-weight:500}.album-card p{color:var(--text-muted);letter-spacing:.04em;margin:0;font-size:.88rem}.album-card .album-kicker{color:var(--gold)}@media (prefers-reduced-motion:reduce){.hero-kicker,.hero h1,.hero-rule,.hero-tagline,.hero-stats,.view,.reveal.revealed,.lightbox-img-stack,.lightbox-img-plain,.lightbox-content{opacity:1;animation:none}.reveal{opacity:1}#stars,#stars2,#stars3,.nav-arrow{animation:none}}
