@import"https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400;0,500;0,700;1,400;1,500&family=EB+Garamond:ital,wght@0,400;0,500;1,400;1,500&display=swap";.skip-link{position:absolute;top:-100%;left:0;padding:.75rem 1.5rem;background:var(--color-ink);color:var(--color-bg);font-family:var(--font-body);font-size:.9rem;z-index:200;transition:top .2s}.skip-link:focus{top:0}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--font-heading: "Playfair Display", "Georgia", serif;--font-body: "EB Garamond", "Georgia", serif;--color-ink: #000;--color-ink-light: #333;--color-ink-muted: #777;--color-bg: #fff;--color-border: #e0e0e0;--max-width: 1280px;--gutter: clamp(1.5rem, 4vw, 3rem);--ease-out: cubic-bezier(.16, 1, .3, 1)}html{font-size:16px;scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-body);font-weight:400;color:var(--color-ink);background:var(--color-bg);line-height:1.65;min-height:100dvh;display:flex;flex-direction:column}img{display:block;max-width:100%;height:auto}a{color:inherit;text-decoration:none}.container{width:100%;max-width:var(--max-width);margin:0 auto;padding:0 var(--gutter)}.site-header{position:sticky;top:0;z-index:100;background:#fffffff2;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}.site-header .container{display:flex;justify-content:space-between;align-items:center;height:80px}.site-title{font-family:var(--font-body);font-size:1.5rem;font-weight:400;letter-spacing:.01em;color:var(--color-ink);transition:opacity .3s var(--ease-out)}.site-title:hover{opacity:.6}.site-nav{display:flex;gap:2.5rem;align-items:center}.site-nav a{font-family:var(--font-body);font-size:1.05rem;font-weight:400;color:var(--color-ink);position:relative;transition:opacity .3s var(--ease-out)}.site-nav a:after{content:"";position:absolute;bottom:-4px;left:0;width:0;height:1px;background:var(--color-ink);transition:width .4s var(--ease-out)}.site-nav a:hover{opacity:.6}.site-nav a:hover:after{width:100%}.site-nav a[aria-current=page]{opacity:1}.site-nav a[aria-current=page]:after{width:100%}.nav-toggle{display:none;background:none;border:none;cursor:pointer;padding:8px}.nav-toggle svg{width:24px;height:24px;stroke:var(--color-ink)}main{flex:1}.gallery{padding:clamp(2.5rem,5vw,4.5rem) 0}.gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:clamp(1.5rem,3vw,2.5rem)}.gallery-item{position:relative;overflow:hidden}.gallery-item a{display:block}.gallery-item .painting-image{aspect-ratio:1;object-fit:cover;width:100%;transition:transform .6s var(--ease-out),filter .6s var(--ease-out)}.gallery-item:hover .painting-image{transform:scale(1.03);filter:brightness(1.02)}.gallery-item .painting-info{padding:.9rem 0 0}.gallery-item .painting-title{font-family:var(--font-heading);font-size:1.3rem;font-weight:400;line-height:1.3;color:var(--color-ink)}.gallery-item .painting-meta{font-family:var(--font-body);font-size:.9rem;font-style:italic;color:var(--color-ink-muted);margin-top:.2rem;line-height:1.4}.page-section{padding:clamp(3rem,8vw,6rem) 0}.page-title{font-family:var(--font-heading);font-size:clamp(2.6rem,5vw,4rem);font-weight:400;letter-spacing:-.02em;line-height:1.1;margin-bottom:2.5rem;color:var(--color-ink)}.page-subtitle{font-family:var(--font-body);font-size:1.25rem;font-weight:400;font-style:italic;color:var(--color-ink-muted);margin-bottom:2rem}.bio-layout{display:grid;grid-template-columns:1fr 2fr;gap:clamp(2rem,5vw,4rem);align-items:start}.bio-portrait{width:100%;aspect-ratio:1;object-fit:cover}.bio-text{font-size:1.2rem;line-height:1.8;color:var(--color-ink-light);max-width:560px}.bio-text p+p{margin-top:1.25em}.contact-layout{max-width:560px}.form-group{margin-bottom:1.75rem}.form-group label{display:block;font-family:var(--font-body);font-size:.95rem;font-weight:500;color:var(--color-ink);margin-bottom:.5rem}.form-group input,.form-group textarea{width:100%;padding:.8rem 1rem;font-family:var(--font-body);font-size:1rem;font-weight:400;color:var(--color-ink);background:var(--color-bg);border:1px solid var(--color-border);outline:none;transition:border-color .3s var(--ease-out)}.form-group input:focus,.form-group textarea:focus{border-color:var(--color-ink)}.form-group textarea{resize:vertical;min-height:160px}.btn-submit{display:inline-flex;align-items:center;gap:.5rem;padding:.85rem 2.5rem;font-family:var(--font-body);font-size:1rem;font-weight:400;color:#fff;background:var(--color-ink);border:none;cursor:pointer;transition:opacity .3s var(--ease-out)}.btn-submit:hover{opacity:.75}.form-success{padding:1rem 1.25rem;background:#f0faf0;border:1px solid #c3e6c3;color:#2d6a2d;margin-bottom:1.5rem}.form-error{padding:1rem 1.25rem;background:#fef2f2;border:1px solid #f5c6c6;color:#9b2c2c;margin-bottom:1.5rem}.site-footer{margin-top:auto;border-top:1px solid var(--color-border);padding:2.5rem 0}.site-footer .container{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem}.footer-copy{font-size:.85rem;color:var(--color-ink-muted)}.footer-links{display:flex;gap:2rem}.footer-links a{font-size:.85rem;color:var(--color-ink-muted);transition:color .3s var(--ease-out)}.footer-links a:hover{color:var(--color-ink)}@media(max-width:768px){.nav-toggle{display:block}.site-nav{display:none;position:absolute;top:80px;left:0;right:0;background:#fffffffa;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);flex-direction:column;padding:1.5rem var(--gutter);gap:1.25rem;border-bottom:1px solid var(--color-border)}.site-nav.is-open{display:flex}.bio-layout{grid-template-columns:1fr}.bio-portrait{max-width:280px}.gallery-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}.site-footer .container{flex-direction:column;text-align:center}}.painting-detail{padding:clamp(2rem,5vw,4rem) 0}.painting-detail-layout{display:grid;grid-template-columns:3fr 1fr;gap:clamp(2rem,4vw,3rem);align-items:start}.painting-detail-image{width:100%}.painting-detail-info{position:sticky;top:calc(80px + 2rem)}.painting-detail-title{font-family:var(--font-heading);font-size:clamp(1.8rem,3.5vw,2.8rem);font-weight:400;line-height:1.2;margin-bottom:1rem}.painting-detail-meta{font-family:var(--font-body);font-size:1rem;font-style:italic;color:var(--color-ink-muted);line-height:1.7}.painting-detail-meta p+p{margin-top:.25rem}.back-link{display:inline-flex;align-items:center;gap:.4rem;font-family:var(--font-body);font-size:.9rem;font-weight:400;color:var(--color-ink-muted);margin-bottom:2rem;transition:color .3s var(--ease-out)}.back-link:hover{color:var(--color-ink)}@media(max-width:768px){.painting-detail-layout{grid-template-columns:1fr}.painting-detail-info{position:static}}.lightbox{position:fixed;inset:0;z-index:1000;background:#000000eb;display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity .3s var(--ease-out)}.lightbox.is-active{opacity:1;pointer-events:auto}.lightbox-img{max-width:92vw;max-height:92vh;object-fit:contain;transform:scale(.95);transition:transform .4s var(--ease-out)}.lightbox.is-active .lightbox-img{transform:scale(1)}.lightbox-close{position:absolute;top:1.5rem;right:1.5rem;background:none;border:none;color:#fff;font-size:2.5rem;line-height:1;cursor:pointer;opacity:.7;transition:opacity .3s;padding:.5rem}.lightbox-close:hover,.lightbox-close:focus{opacity:1}@keyframes fadeUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.gallery-item{animation:fadeUp .5s var(--ease-out) both}.gallery-item:nth-child(1){animation-delay:.05s}.gallery-item:nth-child(2){animation-delay:.1s}.gallery-item:nth-child(3){animation-delay:.15s}.gallery-item:nth-child(4){animation-delay:.2s}.gallery-item:nth-child(5){animation-delay:.25s}.gallery-item:nth-child(6){animation-delay:.3s}.gallery-item:nth-child(7){animation-delay:.35s}.gallery-item:nth-child(8){animation-delay:.4s}.gallery-item:nth-child(9){animation-delay:.45s}.gallery-item:nth-child(10){animation-delay:.5s}.gallery-item:nth-child(11){animation-delay:.55s}.gallery-item:nth-child(12){animation-delay:.6s}.gallery-item:nth-child(13){animation-delay:.65s}.gallery-item:nth-child(14){animation-delay:.7s}
