@import "https://fonts.googleapis.com/css2?family=Outfit:wght@300;500;700;900&display=swap";:root{--bg-primary:#000;--bg-secondary:#191919cc;--accent-main:#fff;--accent-dark:#a0a0a0;--text-bright:#e0e0e0;--text-white:#fff;--glass-border:#fff3;--shadow-neon:0 0 20px #ffffff1a;font-family:Outfit,system-ui,-apple-system,BlinkMacSystemFont,sans-serif}*{box-sizing:border-box;-ms-overflow-style:none;scrollbar-width:none;margin:0;padding:0}::-webkit-scrollbar{display:none}body{background-color:var(--bg-primary);color:var(--text-bright);-webkit-font-smoothing:antialiased;background-image:radial-gradient(circle,#1a1a1a 0%,#000 100%);min-height:100vh;overflow-x:hidden}#root{flex-direction:column;min-height:100vh;display:flex}a{color:inherit;text-decoration:none}:root{--ease:cubic-bezier(.25, 1, .5, 1)}.app-container{color:#fff;flex-direction:column;width:100%;min-height:100vh;display:flex}.custom-bg{opacity:.15;z-index:-2;will-change:transform;background-position:50%;background-size:cover;width:100%;height:100%;animation:60s linear infinite alternate zoomSlow;position:fixed;top:0;left:0}.spinning-logo{animation:6s ease-in-out infinite subtleFloat}@keyframes subtleFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.bg-overlay{z-index:-1;background:linear-gradient(#000 0%,#0a0a0a 50%,#000 100%);width:100%;height:100%;position:fixed;top:0;left:0}@keyframes zoomSlow{0%{transform:scale(1)}to{transform:scale(1.15)}}.navbar{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:100;background:#0000004d;border-bottom:1px solid #ffffff0f;justify-content:space-between;align-items:center;padding:1.5rem 4rem;transition:all .3s;display:flex;position:sticky;top:0;overflow:hidden}.navbar-glow{pointer-events:none;background:radial-gradient(circle,#ffffff1a 0%,#0000 70%);width:200px;height:60px;position:absolute;top:-50px;left:50%;transform:translate(-50%)}.logo-container{align-items:center;gap:1rem;text-decoration:none;display:flex}.logo-symbol{background:#ffffff0d;border:1px solid #ffffff1a;border-radius:50%;justify-content:center;align-items:center;width:42px;height:42px;transition:all .5s cubic-bezier(.16,1,.3,1);display:flex}.logo-container:hover .logo-symbol{background:#fff;transform:rotate(15deg)scale(1.05)}.logo-container:hover .nav-logo{filter:invert(0)}.nav-logo{filter:invert();width:auto;height:22px;transition:filter .4s}.logo-text{flex-direction:column;display:flex}.brand-name{letter-spacing:2px;text-transform:uppercase;color:#fff;font-size:1.2rem;font-weight:800;line-height:1;transition:color .3s}.brand-tagline{letter-spacing:1.5px;color:#666;text-transform:uppercase;margin-top:3px;font-size:.6rem;font-weight:500}.nav-links{align-items:center;gap:2.5rem;display:flex}.nav-item{text-transform:uppercase;letter-spacing:1.5px;color:#ffffff80;padding:.5rem 0;font-size:.85rem;font-weight:600;text-decoration:none;transition:color .3s;position:relative}.nav-item span{z-index:1;position:relative}.nav-item:after{content:"";background:#fff;width:0;height:2px;transition:width .3s cubic-bezier(.22,1,.36,1);position:absolute;bottom:0;left:0;box-shadow:0 0 10px #ffffff80}.nav-item:hover{color:#fff}.nav-item:hover:after,.nav-item.active:after{width:100%}.nav-item.active{color:#fff}.admin-pill{text-transform:uppercase;letter-spacing:1px;color:#fff;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:0 0;border:1px solid #fff3;border-radius:20px;padding:.7rem 1.4rem;font-size:.75rem;font-weight:700;text-decoration:none;transition:all .3s cubic-bezier(.16,1,.3,1)}.admin-pill:hover{color:#000;background:#fff;border-color:#fff;transform:translateY(-2px);box-shadow:0 5px 15px #fff3}main{flex:1;width:100%;max-width:1400px;margin:0 auto;padding:0 2rem}.hero-section.minimal{text-align:center;justify-content:center;padding:8rem 0 6rem;display:flex}.content-centered{flex-direction:column;align-items:center;max-width:800px;display:flex}.big-logo-container{margin-bottom:3rem;position:relative}.spinning-logo{filter:invert();opacity:.8;transform-origin:50%;width:120px;height:auto}@keyframes galaxySpin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.badge-outline{letter-spacing:3px;text-transform:uppercase;color:#fff;border:1px solid #ffffff4d;margin-bottom:2rem;padding:.6rem 1.5rem;font-size:.75rem;display:inline-block}.glitch-title{text-transform:uppercase;letter-spacing:-2px;background:linear-gradient(#fff 30%,#888 100%);-webkit-text-fill-color:transparent;text-shadow:0 0 40px #ffffff1a;-webkit-background-clip:text;margin-bottom:2rem;font-size:clamp(3.5rem,10vw,6rem);font-weight:900;line-height:.9;animation:4s ease-in-out infinite alternate titlePulse}@keyframes titlePulse{0%{filter:drop-shadow(0 0 #fff0)}to{filter:drop-shadow(0 0 15px #fff3)}}.btn-primary{color:#000;text-transform:uppercase;letter-spacing:2px;z-index:1;background:#fff;padding:1.2rem 2.5rem;font-size:.85rem;font-weight:800;text-decoration:none;transition:all .4s cubic-bezier(.16,1,.3,1);display:inline-block;position:relative;overflow:hidden}.btn-primary:before{content:"";background:linear-gradient(90deg,#0000,#0000000d,#0000);width:100%;height:100%;transition:all .5s;position:absolute;top:0;left:-100%}.btn-primary:hover{letter-spacing:3px;transform:translateY(-5px);box-shadow:0 20px 40px #ffffff1a}.btn-primary:hover:before{left:100%}.subtitle-large{color:#888;max-width:600px;margin:0 auto;font-size:1.2rem;font-weight:300;line-height:1.6}.gallery-grid{flex-direction:column;gap:4rem;padding-bottom:8rem;display:flex}.featured-shot{grid-template-columns:1.5fr 1fr;align-items:center;gap:3rem;width:100%;display:grid}.shot-image-container{aspect-ratio:16/9;contain:paint layout;background:#050505;border:1px solid #ffffff0d;position:relative;overflow:hidden}.master-shot{object-fit:cover;width:100%;height:100%;transition:transform .8s var(--ease);will-change:transform;backface-visibility:hidden;transform:translateZ(0)}.shot-image-container:hover .master-shot{transform:scale(1.03)}.shot-info-overlay{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:transform .4s var(--ease);background:#000c;border-top:1px solid #ffffff1a;border-left:1px solid #ffffff1a;padding:1rem 1.5rem;position:absolute;bottom:0;right:0;transform:translateY(100%)}.shot-image-container:hover .shot-info-overlay{transform:translateY(0)}.featured-shot,.grid-shot,.photo-card{transition:all .6s cubic-bezier(.16,1,.3,1)}.photo-card{position:relative;transition:all .5s cubic-bezier(.16,1,.3,1)!important}.photo-card:hover{z-index:2;transform:translateY(-8px);box-shadow:0 20px 50px #00000080,0 0 30px #ffffff0d;border-color:#fff3!important}.exif-data{color:#ccc;gap:1rem;font-family:monospace;font-size:.7rem;display:flex}.shot-details{flex-direction:column;gap:1rem;display:flex}.shot-details .date{letter-spacing:1px;color:#666;font-family:monospace;font-size:.8rem;font-weight:500}.shot-details h2{text-transform:uppercase;font-size:2.5rem;font-weight:900}.shot-details p{color:#aaa;font-size:1.1rem;font-weight:300;line-height:1.6}.gallery-sub-row{grid-template-columns:1fr 1fr;gap:3rem;display:grid}.grid-shot{flex-direction:column;gap:1.5rem;display:flex}.shot-image-wrapper{aspect-ratio:3/2;contain:paint layout;border:1px solid #ffffff0d;overflow:hidden}.grid-img{object-fit:cover;width:100%;height:100%;transition:filter .5s ease, transform .8s var(--ease);will-change:transform;backface-visibility:hidden;transform:translateZ(0)}.grid-shot:hover .grid-img{transform:scale(1.05)}.shot-details-compact h3{text-transform:uppercase;margin-bottom:.5rem;font-size:1.2rem}.shot-details-compact .meta{color:#666;font-family:monospace;font-size:.75rem}.footer{-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);box-sizing:border-box;background:#00000080;border-top:1px solid #ffffff0d;width:100%;margin-top:auto;padding:4rem 4rem 2rem}.footer-main{grid-template-columns:2fr 1fr 1fr;gap:4rem;max-width:1400px;margin:0 auto 3rem;display:grid}.footer-column{flex-direction:column;gap:1.5rem;display:flex}.footer-heading{text-transform:uppercase;letter-spacing:2px;color:#fff;padding-bottom:.75rem;font-size:1.1rem;font-weight:700;position:relative}.footer-heading:after{content:"";background:linear-gradient(90deg,#fff,#0000);width:30px;height:2px;position:absolute;bottom:0;left:0}.footer-text{color:#aaa;font-size:.9rem;font-weight:300;line-height:1.6}.footer-nav{flex-direction:column;gap:.75rem;display:flex}.footer-nav a,.footer-link{color:#888;width:fit-content;font-size:.9rem;text-decoration:none;transition:all .3s;display:inline-block}.footer-nav a:hover,.footer-link:hover{color:#fff;transform:translate(5px)}.footer-bottom{color:#666;letter-spacing:.5px;border-top:1px solid #ffffff0d;justify-content:space-between;align-items:center;max-width:1400px;margin:0 auto;padding-top:2rem;font-size:.8rem;display:flex}.footer-credit a{color:#aaa;font-weight:600;text-decoration:none;transition:color .3s}.footer-credit a:hover{color:#fff}@media (width<=768px){.footer{padding:3rem 2rem 2rem}.footer-main{grid-template-columns:1fr;gap:2.5rem}.footer-bottom{text-align:center;flex-direction:column;gap:1rem}}.route-wrapper{will-change:transform, opacity;animation:.8s cubic-bezier(.16,1,.3,1) both pageEntrance}@keyframes pageEntrance{0%{opacity:0;filter:blur(10px);transform:translateY(20px)scale(.98)}to{opacity:1;filter:blur();transform:translateY(0)scale(1)}}.reveal{animation:1.2s cubic-bezier(.25,1,.5,1) both revealAnim}@keyframes revealAnim{0%{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}.expandable-wrapper{opacity:0;pointer-events:none;grid-template-rows:0fr;margin-bottom:0;transition:grid-template-rows .5s cubic-bezier(.16,1,.3,1),opacity .4s,margin .5s cubic-bezier(.16,1,.3,1);display:grid;overflow:hidden}.expandable-wrapper.is-open{opacity:1;pointer-events:auto;grid-template-rows:1fr;margin-bottom:3rem}.expandable-inner{min-height:0}@media (width<=900px){.navbar{padding:1.5rem 2rem}.featured-shot,.gallery-sub-row{grid-template-columns:1fr}}.hover-zoom{transition:transform .8s var(--ease);will-change:transform;backface-visibility:hidden}.photo-card:hover .hover-zoom{transform:scale(1.05)}.admin-row:hover{background:#ffffff0a}.tab-btn:hover{color:#fff!important}.btn-download:hover{color:#000!important;background:#fff!important}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.app-container{flex-direction:column;min-height:100vh;display:flex;position:relative}.route-wrapper{flex-direction:column;flex:1;display:flex}
