.header{position:fixed;top:0;left:0;right:0;background:#fffffff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--border-color);z-index:1000;height:var(--header-height)}.header-content{max-width:var(--max-width);margin:0 auto;padding:var(--spacing-sm) var(--spacing-sm) var(--spacing-sm) var(--spacing-sm);height:100%;display:flex;align-items:flex-end;justify-content:space-between}.logo{display:flex;flex-direction:column;line-height:1.1;color:var(--text-primary);font-family:var(--font-header)}.logo-name{font-size:var(--font-size-h2);font-weight:600;color:var(--text-primary);letter-spacing:.05em;text-transform:uppercase}.logo-subtitle{font-size:var(--font-size-small);font-weight:400;color:var(--text-secondary);margin-top:-2px;letter-spacing:.25em;text-transform:uppercase;display:flex;justify-content:space-between;width:100%}.logo a{color:inherit}.nav{align-self:flex-end;margin-bottom:11px}.nav-menu{display:flex;list-style:none;gap:var(--spacing-lg);align-items:baseline}.nav-link{font-family:var(--font-header);font-weight:400;font-size:var(--font-size-small);letter-spacing:.1em;text-transform:uppercase;padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--border-radius);transition:var(--transition-medium)}.nav-link:hover,.nav-link.active{background-color:var(--bg-secondary);color:var(--accent-color)}.footer{background-color:var(--bg-footer);border-top:1px solid var(--border-color);padding:var(--spacing-lg) 0;margin-top:var(--spacing-lg)}.footer-content{max-width:var(--max-width);margin:0 auto;padding:0 var(--spacing-sm);display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:var(--spacing-sm)}.footer-logo{display:flex;flex-direction:column;align-items:flex-start}.footer-logo-name{font-family:var(--font-header);font-size:1.2rem;font-weight:var(--font-weight-medium);color:var(--text-primary);margin-bottom:.2rem;text-transform:uppercase;letter-spacing:.08em}.footer-logo-subtitle{display:flex;flex-direction:row;gap:.3em;font-family:var(--font-header);font-size:.65rem;font-weight:var(--font-weight-light);color:var(--text-secondary);letter-spacing:.12em;line-height:1}.footer-logo-subtitle span{margin:0}.social-links{display:flex;gap:0}.social-link{color:var(--text-secondary);font-size:var(--font-size-small);padding:.25rem;border-radius:50%;transition:var(--transition-medium);display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px}.social-link:hover{background-color:var(--bg-secondary);color:var(--text-primary);transform:translateY(-2px)}.social-link svg{width:20px;height:20px;transition:var(--transition-medium)}.photo-grid{column-count:4;column-gap:var(--grid-gap);max-width:var(--max-width);margin:0 auto;padding-top:var(--header-height)}.photo-card{position:relative;overflow:hidden;border-radius:var(--border-radius);cursor:pointer;transition:transform var(--transition-medium),box-shadow var(--transition-medium),opacity var(--transition-fast),visibility var(--transition-fast);background:#000;display:inline-block;width:100%;margin-bottom:var(--grid-gap);break-inside:avoid;page-break-inside:avoid}.photo-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-heavy)}.photo-card img{width:100%;height:auto;display:block;transition:opacity var(--transition-medium);background:transparent}.photo-image{background:#6a1a1a}.photo-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:var(--overlay-color);opacity:0;display:flex;align-items:center;justify-content:center;transition:opacity var(--transition-medium)}.photo-card:hover .photo-overlay{opacity:1}.photo-details{color:#fff;text-align:center;padding:var(--spacing-md)}.photo-details h3{font-size:var(--font-size-h4);margin-bottom:var(--spacing-xs)}.photo-details p{font-size:var(--font-size-small);opacity:.9;margin-bottom:var(--spacing-xs)}.photo-details .category{font-size:var(--font-size-small);text-transform:uppercase;letter-spacing:1px;opacity:.8}.gallery-content{max-width:var(--max-width);margin:0 auto;padding-top:var(--header-height)}.gallery-header{text-align:center;margin-bottom:var(--spacing-xl)}.gallery-header h1{font-size:var(--font-size-h1);margin-bottom:var(--spacing-lg)}.filter-buttons{display:flex;justify-content:center;gap:var(--spacing-sm);flex-wrap:wrap}.filter-btn{background:none;border:2px solid var(--border-color);padding:var(--spacing-xs) var(--spacing-md);border-radius:var(--border-radius);font-size:var(--font-size-small);font-weight:var(--font-weight-medium);color:var(--text-secondary);cursor:pointer;transition:var(--transition-medium)}.filter-btn:hover,.filter-btn.active{background-color:var(--accent-color);border-color:var(--accent-color);color:#fff}.gallery-grid{column-count:4;column-gap:var(--grid-gap);max-width:var(--max-width);margin:0 auto}.gallery-grid .photo-card{display:inline-block;width:100%;margin-bottom:var(--grid-gap);break-inside:avoid;page-break-inside:avoid;position:relative;overflow:hidden;border-radius:var(--border-radius);cursor:pointer;transition:transform var(--transition-medium),box-shadow var(--transition-medium);background-color:var(--bg-tertiary)}.gallery-grid.filtered{column-count:1;max-width:600px;margin:0 auto}.gallery-grid.filtered .photo-card{margin-bottom:calc(var(--grid-gap) * 2);max-width:100%}.gallery-grid.filtered .photo-card img{max-height:70vh;width:100%;height:auto;object-fit:contain}.loading{opacity:.5;pointer-events:none}.fade-in{animation:fadeIn var(--transition-medium) ease-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}img[data-src]{opacity:0;transition:opacity var(--transition-medium)}img.loaded{opacity:1}@media (max-width: 768px){.header-content{padding:0 var(--spacing-sm)}.logo-name{font-size:1.4rem;letter-spacing:.05em;white-space:nowrap}.logo-subtitle{font-size:.7rem;letter-spacing:.15em}.nav-menu{gap:var(--spacing-xs)}.gallery-header h1{font-size:1.5rem;line-height:1.2}.photo-grid{column-count:1;column-gap:var(--spacing-md)}.gallery-grid{column-count:1}.filter-buttons{gap:var(--spacing-xs)}.footer-content{flex-direction:column;text-align:center}}@media (min-width: 769px) and (max-width: 1024px){.photo-grid,.gallery-grid{column-count:2}.gallery-grid.filtered{column-count:1;max-width:500px}}@media (min-width: 1025px) and (max-width: 1400px){.photo-grid,.gallery-grid{column-count:3}.gallery-grid.filtered{column-count:1;max-width:550px}}@media (min-width: 1401px){.photo-grid,.gallery-grid{column-count:4}.gallery-grid.filtered{column-count:1;max-width:600px}}.lightbox{display:none;position:fixed;top:0;left:0;width:100%;height:100%;z-index:2000}.lightbox.active{display:flex;align-items:flex-start;justify-content:center;padding:2vw;padding-top:0}.lightbox-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background-color:#000c;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.lightbox-content{position:relative;max-width:min(90vw,var(--max-width));max-height:calc(100vh - 140px);margin:100px auto 0;background:transparent;z-index:2001}.lightbox-image{display:block;max-width:100%;max-height:calc(100vh - 140px);object-fit:contain;box-shadow:var(--shadow-heavy);border-radius:var(--border-radius);margin:0 auto}.lightbox-close{position:absolute;top:-15px;right:-15px;width:40px;height:40px;background-color:#ffffffe6;border:none;border-radius:50%;font-size:24px;font-weight:700;color:var(--text-primary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:var(--transition-medium);z-index:2002}.lightbox-close:hover{background-color:#fff;transform:scale(1.1)}@media (max-width: 768px){.lightbox-content{max-width:95vw;max-height:95vh;margin:var(--spacing-sm)}.lightbox-close{top:-10px;right:-10px;width:35px;height:35px;font-size:20px}}.bio-content{max-width:var(--max-width);margin:0 auto;padding-top:var(--header-height);min-height:calc(100vh - var(--header-height) - 200px)}.bio-header{text-align:center;margin-bottom:var(--spacing-xl)}.bio-header h1{font-size:var(--font-size-h1);margin-bottom:var(--spacing-md)}.bio-section{display:grid;grid-template-columns:1fr 2fr;gap:var(--spacing-xl);align-items:start}.bio-image{text-align:center}.portrait-image{width:100%;max-width:400px;border-radius:var(--border-radius);box-shadow:var(--shadow-medium)}.bio-text h2{font-size:var(--font-size-h2);margin-bottom:var(--spacing-md);color:var(--accent-color)}.bio-text h3{font-size:var(--font-size-h3);margin-top:var(--spacing-lg);margin-bottom:var(--spacing-md);color:var(--accent-color)}.bio-text p{font-size:var(--font-size-body);line-height:1.7;margin-bottom:var(--spacing-md);color:var(--text-secondary)}.bio-text ul{list-style:none;padding:0}.bio-text li{position:relative;padding-left:var(--spacing-md);margin-bottom:var(--spacing-xs);color:var(--text-secondary)}.bio-text li:before{content:"•";position:absolute;left:0;color:var(--accent-color);font-weight:var(--font-weight-bold)}.contact-content{max-width:var(--max-width);margin:0 auto;padding-top:var(--header-height)}.contact-header{text-align:center;margin-bottom:var(--spacing-xl)}.contact-header h1{font-size:var(--font-size-h1);margin-bottom:var(--spacing-md)}.contact-header p{font-size:var(--font-size-body);color:var(--text-secondary);max-width:600px;margin:0 auto}.contact-section{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-xl);align-items:start}.contact-form-container{background-color:var(--bg-tertiary);padding:var(--spacing-xl);border-radius:var(--border-radius);box-shadow:var(--shadow-light)}.contact-form{display:flex;flex-direction:column;gap:var(--spacing-md)}.form-group{display:flex;flex-direction:column}.form-group label{font-weight:var(--font-weight-medium);margin-bottom:var(--spacing-xs);color:var(--text-primary)}.form-group input,.form-group textarea{padding:var(--spacing-sm);border:2px solid var(--border-color);border-radius:var(--border-radius);font-size:var(--font-size-body);font-family:var(--font-primary);transition:var(--transition-medium)}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:var(--accent-color);box-shadow:0 0 0 3px #2c2c2c1a}.submit-btn{background-color:var(--accent-color);color:#fff;border:none;padding:var(--spacing-md) var(--spacing-lg);border-radius:var(--border-radius);font-size:var(--font-size-body);font-weight:var(--font-weight-medium);cursor:pointer;transition:var(--transition-medium);margin-top:var(--spacing-sm)}.submit-btn:hover{background-color:#1a1a1a;transform:translateY(-2px);box-shadow:var(--shadow-medium)}.contact-info-detailed{padding:var(--spacing-lg)}.contact-info-detailed h3{font-size:var(--font-size-h3);margin-bottom:var(--spacing-lg);color:var(--accent-color)}.info-item{margin-bottom:var(--spacing-lg)}.info-item strong{display:block;font-weight:var(--font-weight-medium);color:var(--text-primary);margin-bottom:var(--spacing-xs)}.info-item p{color:var(--text-secondary);margin-bottom:0}.social-links-detailed{margin-top:var(--spacing-xl)}.social-links-detailed h4{font-size:var(--font-size-h4);margin-bottom:var(--spacing-md);color:var(--accent-color)}.social-links-detailed .social-link{display:inline-block;margin-right:var(--spacing-md);padding:var(--spacing-xs) var(--spacing-sm);background-color:var(--bg-secondary);border-radius:var(--border-radius);color:var(--text-primary);transition:var(--transition-medium)}.social-links-detailed .social-link:hover{background-color:var(--accent-color);color:#fff}@media (max-width: 768px){.bio-section{grid-template-columns:1fr;gap:var(--spacing-lg);text-align:center}.bio-text{text-align:left}.contact-section{grid-template-columns:1fr;gap:var(--spacing-lg)}.contact-form-container{padding:var(--spacing-lg)}.contact-info-detailed{padding:var(--spacing-md);text-align:center}.bio-header h1,.contact-header h1{font-size:var(--font-size-h2)}}@media (min-width: 769px) and (max-width: 1024px){.bio-section{grid-template-columns:1fr 1.5fr}}:root{--bg-primary: #fafafa;--bg-secondary: #f5f5f5;--bg-tertiary: #e8e8e8;--bg-footer: #fafafa;--text-primary: #333333;--text-secondary: #666666;--text-muted: #999999;--overlay-color: rgba(0, 0, 0, .7);--accent-color: #2c2c2c;--border-color: #e0e0e0;--font-primary: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-header: "Oswald", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-size-h1: 2.5rem;--font-size-h2: 2rem;--font-size-h3: 1.5rem;--font-size-h4: 1.25rem;--font-size-body: 1rem;--font-size-small: .875rem;--font-weight-light: 300;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-bold: 700;--spacing-xs: .5rem;--spacing-sm: 1rem;--spacing-md: 1.5rem;--spacing-lg: 2rem;--spacing-xl: 3rem;--spacing-xxl: 4rem;--max-width: 1400px;--grid-gap: 20px;--border-radius: 8px;--header-height: 100px;--transition-fast: .2s ease;--transition-medium: .3s ease;--transition-slow: .5s ease;--shadow-light: 0 2px 8px rgba(0, 0, 0, .1);--shadow-medium: 0 4px 16px rgba(0, 0, 0, .15);--shadow-heavy: 0 8px 32px rgba(0, 0, 0, .2)}*{margin:0;padding:0;box-sizing:border-box}html{font-size:16px;scroll-behavior:smooth}body{font-family:var(--font-primary);font-size:var(--font-size-body);font-weight:var(--font-weight-normal);line-height:1.6;color:var(--text-primary);background-color:var(--bg-primary);background-image:radial-gradient(circle at 1px 1px,var(--bg-secondary) 1px,transparent 0);background-size:20px 20px;min-height:100vh;overflow-x:hidden}h1,h2,h3,h4,h5,h6{font-weight:var(--font-weight-medium);line-height:1.2;margin-bottom:var(--spacing-sm)}h1{font-size:var(--font-size-h1)}h2{font-size:var(--font-size-h2)}h3{font-size:var(--font-size-h3)}h4{font-size:var(--font-size-h4)}p{margin-bottom:var(--spacing-sm)}a{color:var(--text-primary);text-decoration:none;transition:var(--transition-fast)}a:hover{color:var(--text-secondary)}img{max-width:100%;height:auto;display:block}.main{min-height:calc(100vh - var(--header-height) - 200px);padding:var(--spacing-lg) var(--spacing-sm)}.main{background-color:#e8e8e8;background-image:linear-gradient(90deg,rgba(100,100,100,.1) 1px,transparent 1px),linear-gradient(rgba(100,100,100,.1) 1px,transparent 1px),linear-gradient(90deg,rgba(120,120,120,.05) 1px,transparent 1px),linear-gradient(rgba(120,120,120,.05) 1px,transparent 1px);background-size:20px 20px,20px 20px,4px 4px,4px 4px;background-position:0 0,0 0,0 0,0 0}body:has(.photo-grid) .main{min-height:auto;padding-bottom:var(--spacing-lg)}.container{max-width:var(--max-width);margin:0 auto;padding:0 var(--spacing-sm)}@media (min-width: 768px){.main{padding:var(--spacing-xl) var(--spacing-md)}.container{padding:0 var(--spacing-md)}}@media (min-width: 1024px){.main{padding:var(--spacing-xxl) var(--spacing-lg)}.container{padding:0 var(--spacing-lg)}}
