@import "https://fonts.googleapis.com/css2?family=Jost:ital,wght@0,200;0,300;0,400;0,500;1,300;1,400&display=swap";:root{--bg-primary:#fff;--bg-subtle:#fafafa;--bg-hover:#f5f5f5;--bg-overlay:#fffffff5;--text-primary:#1c1c1c;--text-secondary:#5a5a5a;--text-muted:#8e8e8e;--text-light:#b5b5b5;--border-subtle:#efefef;--border-medium:#ddd;--font-title:"Noto Sans", sans-serif;--font-body:"Noto Sans", sans-serif;--font-main:var(--font-body);--weight-title:300;--weight-body:300;--sidebar-width:290px;--transition-fast:.18s ease;--transition-normal:.3s ease}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:16px}body{font-family:var(--font-body);background-color:var(--bg-primary);color:var(--text-primary);line-height:1.6;font-weight:var(--weight-body);letter-spacing:.04em;overflow-x:hidden}p{margin-bottom:1.25rem;line-height:1.85}p:last-child{margin-bottom:0}.paragraph-diagramation-wrap{flex-direction:column;gap:1.2rem;display:flex}.diagrammed-paragraph{line-height:1.85;font-weight:inherit;color:inherit;margin-bottom:0}img{max-width:100%;height:auto;display:block}a{color:inherit;transition:opacity var(--transition-fast), color var(--transition-fast);text-decoration:none}button{cursor:pointer;background:0 0;border:none;outline:none;font-family:inherit}.site-layout{background-color:var(--bg-primary);min-height:100vh;display:flex}.site-sidebar{width:var(--sidebar-width);background-color:var(--bg-primary);z-index:100;border-right:none;flex-direction:column;flex-shrink:0;justify-content:space-between;height:100vh;padding:3.5rem 2.5rem 2.5rem 3rem;display:flex;position:sticky;top:0}.site-main{background-color:var(--bg-primary);flex:1;min-width:0;padding:3.5rem 3.5rem 5rem}.sidebar-mobile-toggle{display:none}@media (width<=960px){.site-layout{flex-direction:column}.site-sidebar{border-right:none;border-bottom:1px solid var(--border-subtle);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffffa;flex-direction:column;width:100%;height:auto;padding:1.25rem 1.5rem;display:flex;position:sticky;top:0}.sidebar-brand{justify-content:space-between;align-items:center;width:100%;margin-bottom:0;display:flex}.sidebar-mobile-toggle{color:var(--text-primary);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:.4rem;display:flex}.sidebar-nav-wrap{width:100%;padding-top:1.5rem;display:none}.sidebar-nav-wrap.open{display:block}.site-main{padding:2rem 1.5rem 4rem}}.sidebar-brand{margin-bottom:3.5rem}.brand-title{font-family:var(--font-title);font-size:1.36rem;font-weight:var(--weight-title);letter-spacing:.05em;text-transform:uppercase;color:var(--text-primary);white-space:nowrap;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.2}.brand-subtitle{letter-spacing:.22em;text-transform:uppercase;color:var(--text-muted);white-space:nowrap;margin-top:.4rem;font-size:.68rem;font-weight:300}.sidebar-nav{flex-direction:column;gap:1.25rem;display:flex}.nav-item{flex-direction:column;display:flex}.nav-link-btn{letter-spacing:.18em;text-transform:uppercase;color:var(--text-muted);text-align:left;transition:color var(--transition-fast);padding:.2rem 0;font-size:.85rem;font-weight:300}.nav-link-btn:hover{color:var(--text-primary)}.nav-link-btn.active{color:var(--text-primary);font-weight:400}.sub-nav-list,.nav-sub-categories{border-left:none;flex-direction:column;gap:.6rem;margin-top:.75rem;padding-left:.75rem;display:flex}.sub-nav-btn,.nav-sub-btn{letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);text-align:left;cursor:pointer;transition:color var(--transition-fast);background:0 0;border:none;padding:.15rem 0;font-size:.75rem;font-weight:300}.sub-nav-btn:hover,.nav-sub-btn:hover{color:var(--text-primary)}.sub-nav-btn.active,.nav-sub-btn.active{color:var(--text-primary);font-weight:300}.sidebar-footer{margin-top:auto;padding-top:2rem}.sidebar-contact-info{color:var(--text-muted);letter-spacing:.08em;font-size:.74rem;font-weight:300;line-height:1.8}.sidebar-contact-info a:hover{color:var(--text-primary)}.sidebar-social-links{color:var(--text-muted);gap:1rem;margin-top:1rem;display:flex}.sidebar-social-links a:hover{color:var(--text-primary)}.admin-link-discreet{letter-spacing:.18em;text-transform:uppercase;color:silver;transition:color var(--transition-fast);margin-top:1.5rem;font-size:.65rem;display:inline-block}.admin-link-discreet:hover{color:var(--text-primary)}.mobile-nav-toggle{letter-spacing:.15em;text-transform:uppercase;color:var(--text-primary);font-size:.8rem;display:none}@media (width<=960px){.mobile-nav-toggle{display:block}.sidebar-nav-wrap{z-index:200;background:#fff;width:100%;height:calc(100vh - 65px);padding:2.5rem 2rem;display:none;position:fixed;top:65px;left:0;overflow-y:auto}.sidebar-nav-wrap.is-open{flex-direction:column;justify-content:space-between;display:flex}}.gallery-container{max-width:1300px}.gallery-filter-bar{border-bottom:1px solid var(--border-subtle);flex-wrap:wrap;align-items:center;gap:1.75rem;margin-bottom:3.5rem;padding-bottom:1.25rem;display:flex}.gallery-filter-link{letter-spacing:.16em;text-transform:uppercase;color:var(--text-muted);cursor:pointer;transition:color var(--transition-fast);font-size:.78rem;font-weight:300}.gallery-filter-link:hover{color:var(--text-primary)}.gallery-filter-link.active{color:var(--text-primary);font-weight:400}.home-hero-container,.home-hero-section{text-align:center;flex-direction:column;justify-content:center;align-items:center;width:100%;max-width:1200px;min-height:calc(100vh - 8rem);margin:0 auto;padding:1rem 0 3rem;animation:.4s ease-out fadeIn;display:flex}.home-hero-art-wrap,.home-hero-image-wrap{cursor:pointer;width:100%;max-width:960px;transition:opacity var(--transition-fast);justify-content:center;align-items:center;display:flex}.home-hero-art-wrap:hover,.home-hero-image-wrap:hover{opacity:.96}.home-hero-large-image,.home-hero-image{object-fit:contain;width:min(900px,90vw);max-width:900px;height:auto;max-height:82vh;box-shadow:none;border:none;display:block}.home-hero-label,.home-hero-caption{letter-spacing:.28em;text-transform:uppercase;color:var(--text-muted);text-align:center;margin-top:1.8rem;font-size:.86rem;font-weight:300}@media (width<=768px){.home-hero-container,.home-hero-section{min-height:auto;padding:2rem 0}.home-hero-art-wrap,.home-hero-image-wrap{max-height:65vh}.home-hero-large-image,.home-hero-image{max-height:62vh}.home-hero-label,.home-hero-caption{letter-spacing:.2em;margin-top:1.2rem;font-size:.78rem}}.paintings-grid{grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:4.5rem 3.5rem;display:grid}@media (width<=768px){.paintings-grid{grid-template-columns:1fr;row-gap:3.5rem}}.painting-item{cursor:pointer;flex-direction:column;display:flex}.painting-image-wrap{aspect-ratio:1;background-color:var(--bg-subtle);justify-content:center;align-items:center;width:100%;display:flex;position:relative;overflow:hidden}.painting-image{object-fit:cover;width:100%;height:100%;transition:opacity var(--transition-fast)}.painting-item:hover .painting-image{opacity:.92}.painting-item.is-round .painting-image-wrap{border-radius:50%}.painting-caption{text-align:left;margin-top:1.15rem}.painting-title{letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);font-size:.82rem;font-weight:300;line-height:1.3}.painting-meta{letter-spacing:.04em;color:var(--text-muted);margin-top:.3rem;font-size:.78rem;font-weight:300;line-height:1.4}@keyframes stageFadeIn{0%{opacity:0}to{opacity:1}}.artwork-stage-overlay{-webkit-backdrop-filter:blur(14px);z-index:9999;-webkit-user-select:none;user-select:none;background:#060606fa;justify-content:center;align-items:center;width:100vw;height:100dvh;animation:.2s ease-out stageFadeIn;display:flex;position:fixed;inset:0;overflow:hidden}.stage-close-btn{color:#fff;-webkit-backdrop-filter:blur(10px);cursor:pointer;z-index:10000;width:40px;min-width:40px;height:40px;min-height:40px;transition:all var(--transition-fast);background:#181818d1;border:1px solid #ffffff2e;border-radius:50%;justify-content:center;align-items:center;padding:0;display:flex;position:fixed;top:1.25rem;right:1.25rem;box-shadow:0 4px 18px #00000080}.stage-close-btn:hover{background:#fff3;border-color:#fff6;transform:scale(1.06)}.artwork-stage-canvas{touch-action:none;cursor:default;justify-content:center;align-items:center;width:100vw;height:100dvh;margin:0;padding:0;display:flex;position:relative;overflow:hidden}.artwork-stage-canvas.interactive-pan{cursor:grab}.artwork-stage-canvas.dragging{cursor:grabbing}.artwork-stage-transform-wrapper{transform-origin:50%;justify-content:center;align-items:center;max-width:100%;max-height:100%;display:flex}.artwork-stage-image{object-fit:contain;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;pointer-events:none;width:auto;max-width:96vw;height:auto;max-height:96dvh;margin:auto;display:block;box-shadow:0 20px 80px #000000d9}.artwork-stage-image.is-round-painting{border-radius:50%}@media (width<=768px){.stage-close-btn{width:36px;min-width:36px;height:36px;min-height:36px;top:.85rem;right:.85rem}.artwork-stage-image{max-width:100vw;max-height:100dvh;box-shadow:none}}.about-page-wrap{max-width:960px}.about-grid{grid-template-columns:1fr 1.25fr;align-items:start;gap:4rem;margin-bottom:4.5rem;display:grid}@media (width<=768px){.about-grid{grid-template-columns:1fr;gap:2.5rem}}.about-portrait-frame{aspect-ratio:3/4;background-color:var(--bg-subtle);width:100%;overflow:hidden}.about-portrait-img{object-fit:cover;width:100%;height:100%}.about-text-content{color:var(--text-secondary);flex-direction:column;gap:1.5rem;font-size:.95rem;font-weight:300;line-height:1.8;display:flex}.about-heading{letter-spacing:.15em;text-transform:uppercase;color:var(--text-primary);margin-bottom:.5rem;font-size:1.4rem;font-weight:300}.cv-section{border-top:1px solid var(--border-subtle);margin-top:3.5rem;padding-top:3.5rem}.cv-header-flex{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:2.5rem;display:flex}.cv-download-btn{letter-spacing:.14em;text-transform:uppercase;color:var(--text-primary);background:var(--bg-subtle,#f5f5f5);border:1px solid var(--border-subtle,#e0e0e0);cursor:pointer;transition:all var(--transition-fast);border-radius:2px;align-items:center;gap:.5rem;padding:.6rem 1.25rem;font-size:.76rem;font-weight:400;text-decoration:none;display:inline-flex}.cv-download-btn:hover{color:#fff;background:#111;border-color:#111}.cv-category-block{margin-bottom:3rem}.cv-category-heading{letter-spacing:.2em;text-transform:uppercase;color:var(--text-primary);border-bottom:1px solid var(--border-subtle);margin-bottom:1.25rem;padding-bottom:.5rem;font-size:.95rem;font-weight:400}.cv-record-row{border-bottom:1px solid var(--border-subtle);grid-template-columns:80px 1fr;gap:1.5rem;padding:1rem 0;font-size:.88rem;font-weight:300;display:grid}.cv-year{color:var(--text-muted);letter-spacing:.08em}.cv-title{color:var(--text-primary);font-weight:400}.cv-venue{color:var(--text-muted);margin-top:.2rem;font-size:.82rem}.cv-desc{color:var(--text-secondary);margin-top:.35rem;font-size:.82rem;line-height:1.6}.cv-title-link{color:inherit;border-bottom:1px dotted var(--border-medium);align-items:center;gap:.35rem;text-decoration:none;transition:all .2s;display:inline-flex}.cv-title-link:hover{color:var(--accent-terracotta);border-bottom:1px solid var(--accent-terracotta)}.cv-title-ext-icon{opacity:.6;transition:opacity .2s,transform .2s}.cv-title-link:hover .cv-title-ext-icon{opacity:1;transform:translate(1px,-1px)}.cv-inline-link{color:var(--accent-terracotta);border-bottom:1px dotted var(--accent-terracotta);word-break:break-all;align-items:center;gap:.2rem;text-decoration:none;transition:opacity .2s;display:inline-flex}.cv-inline-link:hover{opacity:.8;border-bottom-style:solid}.contact-page-wrap{max-width:680px}.contact-heading{letter-spacing:.16em;text-transform:uppercase;color:var(--text-primary);margin-bottom:1rem;font-size:1.5rem;font-weight:300}.contact-intro{color:var(--text-secondary);margin-bottom:3rem;font-size:.92rem;font-weight:300;line-height:1.7}.clean-form-group{margin-bottom:2rem}.clean-label{letter-spacing:.18em;text-transform:uppercase;color:var(--text-muted);margin-bottom:.5rem;font-size:.72rem;font-weight:300;display:block}.clean-input,.clean-textarea{border:none;border-bottom:1px solid var(--border-medium);width:100%;font-family:var(--font-main);color:var(--text-primary);transition:border-color var(--transition-fast);background:0 0;border-radius:0;padding:.85rem 0;font-size:.95rem;font-weight:300}.clean-input:focus,.clean-textarea:focus{border-bottom-color:var(--text-primary);outline:none}.clean-submit-btn{color:#fff;letter-spacing:.2em;text-transform:uppercase;transition:opacity var(--transition-fast);background:#1a1a1a;margin-top:1rem;padding:.9rem 2.5rem;font-size:.78rem;font-weight:400;display:inline-block}.clean-submit-btn:hover{opacity:.8}.clean-toast{color:#fff;letter-spacing:.08em;z-index:3000;background:#1c1c1c;padding:.9rem 1.75rem;font-size:.8rem;font-weight:300;position:fixed;bottom:2rem;right:2rem;box-shadow:0 4px 16px #0000001f}.admin-layout{max-width:1200px}.admin-header{border-bottom:1px solid var(--border-subtle);flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1.5rem;margin-bottom:2.5rem;padding-bottom:1.5rem;display:flex}.admin-tabs{border-bottom:1px solid var(--border-subtle);flex-wrap:wrap;gap:.5rem;margin-bottom:2.5rem;padding-bottom:1rem;display:flex}.admin-tab-btn{letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);background:var(--bg-subtle);border:1px solid var(--border-subtle);transition:all var(--transition-fast);align-items:center;gap:.45rem;padding:.55rem 1.15rem;font-size:.76rem;font-weight:400;display:inline-flex}.admin-tab-btn:hover{color:var(--text-primary);border-color:var(--border-medium)}.admin-tab-btn.active{background:var(--text-primary);color:#fff;border-color:var(--text-primary)}.admin-card{border:1px solid var(--border-subtle);background:#fff;margin-bottom:1.5rem;padding:2rem}.admin-table-wrap{overflow-x:auto}.admin-table{border-collapse:collapse;text-align:left;width:100%;font-size:.84rem}.admin-table th{border-bottom:1px solid var(--border-subtle);letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted);padding:.85rem 1rem;font-size:.72rem;font-weight:400}.admin-table td{border-bottom:1px solid var(--border-subtle);color:var(--text-secondary);padding:.85rem 1rem}.form-group{margin-bottom:1.25rem}.form-label{letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);margin-bottom:.4rem;font-size:.72rem;font-weight:400;display:block}.form-input,.form-textarea,.form-select{border:1px solid var(--border-medium);width:100%;color:var(--text-primary);font-size:.88rem;font-family:var(--font-main);background:#fff;padding:.65rem .85rem}.form-input:focus,.form-textarea:focus,.form-select:focus{border-color:var(--text-primary);outline:none}.btn{letter-spacing:.1em;text-transform:uppercase;transition:all var(--transition-fast);justify-content:center;align-items:center;gap:.5rem;padding:.65rem 1.4rem;font-size:.78rem;font-weight:400;display:inline-flex}.btn-primary{background:var(--text-primary);color:#fff}.btn-primary:hover{opacity:.85}.btn-secondary{color:var(--text-primary);border:1px solid var(--border-medium);background:0 0}.btn-secondary:hover{border-color:var(--text-primary)}.btn-sm{padding:.45rem .95rem;font-size:.72rem}.btn-icon{border:1px solid var(--border-subtle);width:32px;height:32px;color:var(--text-muted);transition:all var(--transition-fast);justify-content:center;align-items:center;display:inline-flex}.btn-icon:hover{color:var(--text-primary);border-color:var(--text-primary)}.btn-cobalt{color:#fff;background:#111}.badge{letter-spacing:.08em;text-transform:uppercase;background:var(--bg-subtle);color:var(--text-secondary);border:1px solid var(--border-subtle);align-items:center;gap:.3rem;padding:.25rem .6rem;font-size:.68rem;display:inline-flex}.badge-vip{color:#fff;background:#111}.modal-backdrop{-webkit-backdrop-filter:blur(4px);z-index:9999;background:#000000bf;justify-content:center;align-items:center;padding:1.5rem;display:flex;position:fixed;inset:0;overflow-y:auto}.modal-card{border:1px solid var(--border-medium);background:#fff;width:100%;max-width:800px;max-height:90vh;padding:2.5rem;animation:.2s ease-out modalFadeIn;position:relative;overflow-y:auto;box-shadow:0 20px 40px #00000040}@keyframes modalFadeIn{0%{opacity:0;transform:translateY(12px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}
