*{margin:0;padding:0;box-sizing:border-box}:root{--bg-color: #ffffff;--text-primary: #000000;--text-secondary: #666666;--border-color: #e8e8e8;--spacing-xs: .5rem;--spacing-sm: 1rem;--spacing-md: 1.5rem;--spacing-lg: 2rem;--spacing-xl: 3rem;--spacing-xxl: 4rem;--font-primary: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Arial", sans-serif;--max-width: 1400px;--grid-gap: 20px}html{scroll-behavior:smooth}body{font-family:var(--font-primary);background-color:var(--bg-color);color:var(--text-primary);line-height:1.6;font-weight:400;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.layout{min-height:100vh;display:flex;flex-direction:column}.header{position:sticky;top:0;left:0;right:0;z-index:1000;background:var(--bg-color);border-bottom:1px solid var(--border-color)}.nav{max-width:var(--max-width);margin:0 auto;padding:var(--spacing-md) var(--spacing-lg);display:flex;justify-content:space-between;align-items:center}.nav__logo{text-decoration:none;color:var(--text-primary)}.nav__logo h1{font-size:2.5rem;font-weight:700;letter-spacing:-.02em;text-transform:uppercase;font-family:Rubik,sans-serif}.nav__links{display:flex;list-style:none;gap:var(--spacing-lg);align-items:center}.nav__links a{text-decoration:none;color:var(--text-primary);font-size:.95rem;font-weight:400;transition:opacity .2s ease}.nav__links a:hover{opacity:.6}.main{flex:1;width:100%;max-width:var(--max-width);margin:0 auto;padding:0}.home{width:100%}.hero{display:none}.featured{padding:var(--spacing-xl) var(--spacing-lg);background:var(--bg-color)}.featured h2{display:none}.featured__grid{column-count:2;column-gap:var(--grid-gap);max-width:var(--max-width);margin:0 auto}.featured__item{position:relative;overflow:hidden;background:var(--bg-color);transition:opacity .3s ease;margin-bottom:var(--grid-gap);break-inside:avoid;display:block;border:none;padding:0;cursor:pointer;width:100%}.featured__item:hover{opacity:.85}.featured__item img{width:100%;height:auto;display:block;object-fit:cover}.featured__overlay{display:none}.galleries{padding:var(--spacing-xl) var(--spacing-lg);background:var(--bg-color)}.galleries h2{display:none}.galleries__grid{column-count:2;column-gap:var(--grid-gap);max-width:var(--max-width);margin:0 auto}.gallery-card{position:relative;overflow:hidden;text-decoration:none;background:var(--bg-color);transition:opacity .3s ease;margin-bottom:var(--grid-gap);break-inside:avoid;display:block}.gallery-card:hover{opacity:.85}.gallery-card img{width:100%;height:auto;object-fit:cover;display:block}.gallery-card__content{padding:var(--spacing-md) 0}.gallery-card__content h3{font-size:1rem;font-weight:400;margin-bottom:.25rem;color:var(--text-primary)}.gallery-card__content p{font-size:.9rem;color:var(--text-secondary);margin-bottom:.5rem}.gallery-card__count{font-size:.85rem;color:var(--text-secondary)}.gallery-page{padding:var(--spacing-xl) var(--spacing-lg);max-width:var(--max-width);margin:0 auto}.gallery-page h1{font-size:1.1rem;font-weight:600;margin-bottom:var(--spacing-xl);text-align:center;text-transform:uppercase;letter-spacing:.05em}.filter{background:transparent;padding:0 0 var(--spacing-md) 0;margin-bottom:var(--spacing-sm);text-align:center}.filter__search{margin-bottom:var(--spacing-md);max-width:400px;margin-left:auto;margin-right:auto}.filter__search-input{width:100%;padding:.75rem 1rem;background:var(--bg-color);border:1px solid var(--border-color);color:var(--text-primary);font-size:.95rem;font-family:var(--font-primary);transition:border-color .2s ease}.filter__search-input:focus{outline:none;border-color:var(--text-primary)}.filter__search-input::placeholder{color:var(--text-secondary)}.filter__categories{display:flex;justify-content:center;flex-wrap:wrap;gap:var(--spacing-sm)}.filter__category-btn{padding:.5rem 1.25rem;background:transparent;color:var(--text-primary);border:1px solid var(--border-color);cursor:pointer;font-size:.9rem;font-weight:400;transition:all .2s ease;font-family:var(--font-primary)}.filter__category-btn:hover{border-color:var(--text-primary)}.filter__category-btn.active{background:var(--text-primary);color:var(--bg-color);border-color:var(--text-primary)}.filter__clear-btn{margin-top:var(--spacing-md);padding:.5rem 1.25rem;background:transparent;color:var(--text-primary);border:1px solid var(--border-color);cursor:pointer;font-size:.9rem;transition:all .2s ease;font-family:var(--font-primary)}.filter__clear-btn:hover{border-color:var(--text-primary)}.gallery__grid{column-count:2;column-gap:var(--grid-gap);max-width:var(--max-width);margin:0 auto}.photo-card{position:relative;overflow:hidden;text-decoration:none;background:var(--bg-color);transition:opacity .3s ease;margin-bottom:var(--grid-gap);break-inside:avoid;display:block}.photo-card:hover{opacity:.85}.photo-card__image{position:relative;overflow:hidden}.photo-card__image img{width:100%;height:auto;object-fit:cover;display:block}.photo-card__content{padding:var(--spacing-md) 0}.photo-card__content h3{font-size:1rem;font-weight:400;margin-bottom:.25rem;color:var(--text-primary)}.photo-card__category{font-size:.85rem;color:var(--text-secondary)}.photo-page{max-width:1200px;margin:0 auto;padding:var(--spacing-xl) var(--spacing-lg)}.back-link{display:inline-block;margin-bottom:var(--spacing-lg);color:var(--text-primary);text-decoration:none;font-size:.9rem;transition:opacity .2s ease}.back-link:hover{opacity:.6}.photo-detail{background:var(--bg-color)}.photo-detail__image-container{position:relative;background:var(--bg-color);margin-bottom:var(--spacing-lg)}.photo-detail__image{width:100%;height:auto;display:block;cursor:zoom-in}.photo-detail__info{padding:var(--spacing-lg) 0;max-width:800px;margin:0 auto}.photo-detail__info h1{font-size:1.5rem;font-weight:400;margin-bottom:var(--spacing-md)}.photo-detail__description{font-size:1rem;line-height:1.7;color:var(--text-secondary);margin-bottom:var(--spacing-lg)}.photo-detail__meta{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--spacing-md);padding-top:var(--spacing-lg);border-top:1px solid var(--border-color)}.meta-item{font-size:.9rem;color:var(--text-secondary)}.meta-item strong{display:block;color:var(--text-primary);font-weight:500;margin-bottom:.25rem}.lightbox{position:fixed;top:0;left:0;right:0;bottom:0;background:#fffffffa;z-index:2000;display:flex;align-items:center;justify-content:center;padding:var(--spacing-md);animation:fadeIn .2s ease-out}.lightbox__content{position:relative;max-width:95%;max-height:95%}.lightbox__content img{max-width:100%;max-height:90vh;display:block}.lightbox__close{position:fixed;top:var(--spacing-lg);right:var(--spacing-lg);background:transparent;border:none;color:var(--text-primary);font-size:3rem;cursor:pointer;width:80px;height:80px;display:flex;align-items:center;justify-content:center;transition:opacity .2s ease;line-height:1;font-weight:300;opacity:.6}.lightbox__close:hover{opacity:1}.lightbox__arrow{position:fixed;top:50%;transform:translateY(-50%);background:transparent;border:none;color:var(--text-primary);font-size:3.5rem;cursor:pointer;width:60px;height:60px;display:flex;align-items:center;justify-content:center;transition:opacity .2s ease;opacity:.4;z-index:2001;line-height:1;padding:0;font-weight:200}.lightbox__arrow:hover{opacity:1}.lightbox__arrow--left{left:var(--spacing-lg)}.lightbox__arrow--right{right:var(--spacing-lg)}.footer{background:var(--bg-color);border-top:1px solid var(--border-color);text-align:center;padding:var(--spacing-xl) var(--spacing-md);margin-top:var(--spacing-xxl)}.footer p{color:var(--text-primary);font-size:.95rem;font-weight:400;text-transform:uppercase;letter-spacing:.05em}.loading{text-align:center;padding:var(--spacing-xxl);display:flex;justify-content:center;align-items:center;min-height:60vh}.spinner{width:40px;height:40px;border:2px solid var(--border-color);border-top-color:var(--text-primary);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.error-message,.no-results{text-align:center;padding:var(--spacing-xxl);font-size:1rem;color:var(--text-secondary)}.error-message{color:#d32f2f}.error-page{text-align:center;padding:var(--spacing-xxl) var(--spacing-md);min-height:60vh;display:flex;flex-direction:column;align-items:center;justify-content:center}.error-page h1{font-size:1.5rem;margin-bottom:var(--spacing-md);font-weight:400}.error-page p{color:var(--text-secondary);margin-bottom:var(--spacing-lg)}.error-page a{display:inline-block;padding:.75rem 2rem;background:transparent;color:var(--text-primary);text-decoration:none;border:1px solid var(--border-color);font-size:.9rem;transition:all .2s ease}.error-page a:hover{background:var(--text-primary);color:var(--bg-color);border-color:var(--text-primary)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@media (max-width: 768px){:root{--grid-gap: 15px;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--spacing-xxl: 3rem}.nav{padding:var(--spacing-sm) var(--spacing-md)}.nav__logo h1{font-size:1rem}.nav__links{gap:var(--spacing-md)}.nav__links a{font-size:.85rem}.featured__grid,.galleries__grid,.gallery__grid{column-count:1}.photo-detail__info{padding:var(--spacing-md) 0}.photo-detail__meta{grid-template-columns:1fr}.filter__categories{gap:.5rem}.filter__category-btn{padding:.5rem 1rem;font-size:.85rem}.lightbox__arrow{font-size:3rem;width:50px;height:50px}.lightbox__arrow--left{left:var(--spacing-sm)}.lightbox__arrow--right{right:var(--spacing-sm)}}@media (max-width: 480px){.nav__links{gap:var(--spacing-sm)}.nav__links a{font-size:.8rem}.featured__grid{column-count:1}.lightbox__close{width:35px;height:35px;font-size:1.25rem}.lightbox__arrow{font-size:2.5rem;width:40px;height:40px}}.lazy-image{position:relative;width:100%;height:100%;overflow:hidden;background-color:transparent}.lazy-image__placeholder{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;align-items:center;justify-content:center}.lazy-image__skeleton{width:100%;height:100%;background:transparent}@keyframes skeleton-loading{0%{background-position:200% 0}to{background-position:-200% 0}}.lazy-image__img{width:100%;height:100%;object-fit:cover;transition:opacity 1s ease-in-out,transform 1s ease-in-out;transform:scale(.95)}.lazy-image__img--loaded{opacity:1;transform:scale(1)}
