*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}:root{--bg-page: #0a0a0a;--bg-surface: #141414;--bg-card: #1a1a1a;--gold: #c5a66d;--gold-hover: #d4b783;--text-primary: #f0f0f0;--text-secondary:#cccccc;--text-muted: #888888;--text-accent: #c5a66d;--border-line: #2a2a2a;--border-gold: rgba(197,166,109,.4);--radius-card: 8px;--nav-h: 64px;--nav-bg: rgba(0,0,0,.85);--nav-border: #2a2a2a;--nav-text: #888888;--nav-text-hover:#f0f0f0;--nav-accent: #c5a66d;--wood-light: #c5a66d;--wood-mid: #c5a66d;--wood-dark: #1a1a1a;--sepia-light: #f0f0f0;--border-subtle: #2a2a2a;--border-medium: #2a2a2a;--border-strong: #c5a66d}html,body{font-family:Inter,sans-serif;background:var(--bg-page);color:var(--text-primary);min-height:100vh}body{display:flex;flex-direction:column}.g-nav{position:fixed;top:0;left:0;right:0;z-index:200;height:var(--nav-h);background:var(--nav-bg);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--nav-border);display:flex;align-items:center;padding:0 1.5rem;gap:2rem}.g-nav-brand{display:flex;flex-direction:column;text-decoration:none;white-space:nowrap;background:none;border:none;cursor:pointer;text-align:left}.g-nav-brand-main{font-family:Playfair Display,serif;font-size:1.1rem;font-weight:700;color:#fff;letter-spacing:.15em;text-transform:uppercase;line-height:1}.g-nav-brand-sub{font-size:.6rem;letter-spacing:.3em;text-transform:uppercase;color:var(--nav-accent);margin-top:2px}.g-nav-links{display:flex;gap:2rem;align-items:center;margin:0 auto}.g-nav-link{font-size:.7rem;font-weight:500;text-transform:uppercase;letter-spacing:.2em;color:var(--nav-text);text-decoration:none;padding-bottom:2px;border-bottom:2px solid transparent;transition:color .2s,border-color .2s}.g-nav-link:hover{color:#fff}.g-nav-link.active{color:#fff;border-bottom-color:var(--gold)}.g-nav-actions{display:flex;gap:.5rem;align-items:center}.g-nav-btn{font-size:.65rem;font-weight:600;text-transform:uppercase;letter-spacing:.15em;padding:.4rem 1rem;border-radius:2px;text-decoration:none;border:1px solid var(--border-line);color:#fff;transition:all .2s;white-space:nowrap;display:flex;align-items:center;gap:.35rem}.g-nav-btn:hover{background:#fff;color:#000}.g-nav-btn.solid{background:var(--gold);color:#000;border-color:var(--gold);font-weight:700}.g-nav-btn.solid:hover{background:var(--gold-hover);border-color:var(--gold-hover)}.g-hamburger{display:none;background:none;border:none;color:#a89880;cursor:pointer;padding:.5rem}.g-mobile-nav{display:none;position:fixed;inset:0;z-index:500;background:#120f0cf7;flex-direction:column;align-items:center;justify-content:center;gap:2rem}.g-mobile-nav.open{display:flex}.g-mobile-close{position:absolute;top:1.5rem;right:1.5rem;background:none;border:none;color:#a89880;cursor:pointer;font-size:1.5rem}.g-mobile-link{color:#f0e4d0;text-decoration:none;font-size:1.3rem;font-family:Playfair Display,serif;letter-spacing:.08em}@media(max-width:768px){.g-nav-links,.g-nav-actions{display:none}.g-hamburger{display:flex}}.photo-corner{position:absolute;width:14px;height:14px;z-index:2;pointer-events:none}.photo-corner--tl{top:6px;left:6px;border-top:2px solid var(--wood-light);border-left:2px solid var(--wood-light)}.photo-corner--br{bottom:6px;right:6px;border-bottom:2px solid var(--wood-light);border-right:2px solid var(--wood-light)}.profile-header{display:flex;gap:3rem;padding:3rem;background:var(--bg-surface);border-bottom:1px solid var(--border-line);align-items:flex-start;position:relative;margin-top:var(--nav-h)}.back-btn{position:absolute;top:1.5rem;right:2rem;color:var(--text-muted);text-decoration:none;font-size:.78rem;display:flex;align-items:center;gap:.4rem;transition:color .2s,border-color .2s;border:1px solid var(--border-line);padding:.35rem .75rem;border-radius:4px;background:var(--bg-card)}.back-btn:hover{color:var(--gold);border-color:var(--border-gold)}.profile-avatar-wrap{width:220px;height:220px;flex-shrink:0;border-radius:var(--radius-card);overflow:hidden;border:1px solid var(--border-medium);position:relative}.profile-avatar{width:100%;height:100%;object-fit:cover;filter:grayscale(.3) contrast(1.05);transition:filter .4s ease}.profile-avatar-wrap:hover .profile-avatar{filter:none}.profile-avatar-placeholder{width:100%;height:100%;background:var(--bg-sidebar);display:flex;align-items:center;justify-content:center;color:var(--border-strong)}.profile-info{flex:1}.profile-name{font-family:Playfair Display,serif;font-size:2.5rem;color:var(--sepia-light);margin-bottom:.5rem;font-weight:700;line-height:1.1}.profile-meta{font-family:Libre Baskerville,serif;font-style:italic;color:var(--text-accent);font-size:.95rem;margin-bottom:1.25rem;display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.profile-meta-sep{opacity:.4}.profile-dates-block{display:grid;grid-template-columns:1fr 1fr;gap:.75rem 2rem;margin-bottom:1.5rem;padding:1rem 1.25rem;background:var(--bg-card);border-radius:6px;border:1px solid var(--border-line);max-width:500px;font-size:.82rem}.profile-dates-item{display:flex;flex-direction:column;gap:.15rem}.profile-dates-label{font-size:.67rem;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted)}.profile-dates-value{color:var(--text-secondary)}.profile-bio{font-size:.92rem;line-height:1.85;color:var(--text-secondary);max-width:780px;margin-bottom:1.5rem}.profile-critique{font-size:.88rem;line-height:1.75;color:var(--text-muted);font-style:italic;padding:1rem 1.25rem;border-left:3px solid var(--gold);margin-bottom:1.5rem;max-width:780px;background:var(--bg-card);border-radius:0 4px 4px 0}.profile-critique-label{font-size:.65rem;text-transform:uppercase;letter-spacing:.1em;color:var(--text-accent);margin-bottom:.5rem;font-style:normal;font-weight:600}.profile-stats{display:flex;gap:1.5rem;border-top:1px dashed var(--border-medium);padding-top:1.5rem;max-width:780px}.stat-item{display:flex;flex-direction:column;color:var(--text-muted)}.stat-value{font-size:1.5rem;font-weight:600;color:var(--sepia-light);font-family:Playfair Display,serif;line-height:1}.stat-label{font-size:.66rem;text-transform:uppercase;letter-spacing:.06em;margin-top:.25rem}.gallery-context-bar{display:flex;align-items:center;gap:1.25rem;padding:1.5rem 2rem;border-bottom:1px solid var(--border-subtle)}.gallery-context-line{flex:1;height:1px;background:var(--border-subtle)}.gallery-context-title{font-family:Playfair Display,serif;font-size:1rem;font-weight:500;color:var(--text-muted);letter-spacing:.08em;white-space:nowrap}.gallery-context-count{font-size:.72rem;color:var(--text-muted);border:1px solid var(--border-subtle);padding:.2rem .65rem;border-radius:20px;white-space:nowrap}.photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1.5rem;padding:2rem}@keyframes cardIn{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.photo-card{background:var(--bg-card);border:1px solid var(--border-line);border-radius:var(--radius-card);overflow:hidden;cursor:pointer;transition:transform .3s ease,border-color .3s ease;animation:cardIn .5s ease both}.photo-card:hover{transform:translateY(-4px);border-color:#c5a66d80}.photo-card-img-wrap{position:relative;aspect-ratio:4/3;overflow:hidden;background:#111}.photo-card-img{width:100%;height:100%;object-fit:cover;display:block;filter:none;transition:transform .7s ease}.photo-card:hover .photo-card-img{transform:scale(1.05)}.photo-card-img-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:var(--border-strong);font-size:2.5rem}.photo-card-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(18,12,6,.85) 0%,transparent 55%);opacity:0;transition:opacity .3s ease;display:flex;align-items:flex-end}.photo-card:hover .photo-card-overlay{opacity:1}.photo-card-overlay-content{padding:1rem;width:100%}.overlay-year{font-size:.75rem;color:var(--sepia-mid);font-family:Libre Baskerville,serif;font-style:italic}.overlay-location{font-size:.7rem;color:var(--text-secondary);display:flex;align-items:center;gap:.3rem;margin-top:.2rem}.overlay-period-tag{display:inline-block;margin-top:.4rem;font-size:.62rem;text-transform:uppercase;letter-spacing:.08em;background:#c9956a33;color:var(--text-accent);padding:.15rem .5rem;border-radius:2px}.photo-card-info{padding:.85rem 1rem;background:var(--bg-card)}.photo-card-title{font-family:Playfair Display,serif;font-size:.92rem;color:#fff;margin-bottom:.4rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;transition:color .2s}.photo-card:hover .photo-card-title{color:var(--gold)}.photo-card-meta{display:flex;flex-wrap:wrap;gap:.3rem}.cat-badge{font-size:.62rem;color:var(--text-muted);background:#c9956a14;border:1px solid var(--border-subtle);padding:.15rem .45rem;border-radius:2px}.photo-card-year{font-size:.72rem;color:var(--text-muted);font-family:Libre Baskerville,serif;font-style:italic;margin-bottom:.35rem}.empty-state{padding:5rem 2rem;text-align:center}.empty-icon{color:var(--border-strong);margin-bottom:1.5rem}.empty-title{font-family:Playfair Display,serif;font-size:1.5rem;color:var(--text-muted);margin-bottom:.75rem}.empty-desc{font-size:.9rem;color:var(--text-muted);margin-bottom:1.5rem}.empty-btn{display:inline-block;padding:.6rem 1.5rem;border:1px solid var(--border-medium);border-radius:4px;color:var(--text-accent);text-decoration:none;font-size:.82rem;transition:all .2s}.empty-btn:hover{background:#c9956a1a}.pagination-wrap{padding:2rem;display:flex;justify-content:center;border-top:1px solid var(--border-subtle)}.pagination-wrap nav span,.pagination-wrap nav a{display:inline-flex;align-items:center;justify-content:center;min-width:2rem;height:2rem;padding:0 .5rem;font-size:.8rem;border-radius:3px;border:1px solid var(--border-subtle);margin:0 .1rem;color:var(--text-muted);text-decoration:none;transition:all .2s}.pagination-wrap nav a:hover{border-color:var(--border-medium);color:var(--text-accent)}.pagination-wrap nav span[aria-current]{background:var(--gold);color:#000;border-color:var(--gold);font-weight:700}.g-footer{background:var(--bg-page);border-top:1px solid var(--border-line);padding:1.5rem 2rem;text-align:center;font-size:.75rem;color:var(--text-muted)}@media(max-width:768px){.profile-header{flex-direction:column;padding:2rem;gap:1.5rem}.profile-avatar-wrap{width:160px;height:160px}.profile-name{font-size:1.8rem}.back-btn{position:static;margin-bottom:.5rem}.profile-stats{flex-wrap:wrap;gap:1rem}.photo-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem;padding:1.25rem}}@media(max-width:480px){.profile-header{padding:1.25rem}.profile-avatar-wrap{width:120px;height:120px}.profile-name{font-size:1.5rem}.profile-bio{font-size:.88rem}}
