:root{--color-bg: #f1ebde;--color-text: #221f1a;--color-muted: #6a6457;--color-rule: #d6cfbe;--color-accent: #1a1a1a;--font-serif: "EB Garamond", "Garamond", "Adobe Garamond Pro", "Cormorant Garamond", "Times New Roman", Times, serif;--font-display: "EB Garamond", "Garamond", "Adobe Garamond Pro", "Cormorant Garamond", "Times New Roman", Times, serif;--max-width: 1200px}*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--color-bg);color:var(--color-text);font-family:var(--font-serif);font-size:18px;line-height:1.55;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{color:inherit;text-decoration:none}a:hover{color:#000}img{max-width:100%;height:auto;display:block}.container{max-width:var(--max-width);margin:0 auto;padding:0 1.5rem}.site-header{padding:2.5rem 1.5rem 1.75rem;text-align:center;border-bottom:1px solid var(--color-rule)}.site-title{font-family:var(--font-display);font-size:2.75rem;font-weight:400;letter-spacing:.03em;margin:0;color:var(--color-accent);font-variant-caps:small-caps}.site-title a{color:inherit}.site-subtitle{font-size:1.05rem;font-weight:400;font-style:italic;letter-spacing:.06em;color:var(--color-muted);margin:.35rem 0 0}.page-layout{max-width:var(--max-width);margin:0 auto;padding:2rem 1.5rem 3rem;display:grid;grid-template-columns:240px 1fr;gap:3rem;align-items:start}.side-nav{position:sticky;top:2rem}.side-nav>ul{list-style:none;padding:0;margin:0}.side-nav>ul>li{margin-bottom:.55rem}.side-nav .category{font-size:1.2rem;font-weight:500;font-variant-caps:small-caps;letter-spacing:.02em;color:#000;border-left:2px solid transparent;padding:.1rem 0 .1rem .6rem;margin-left:-.6rem;transition:border-color .15s ease,color .15s ease}.side-nav a.category{display:block}.side-nav a.category:hover{color:var(--color-accent);border-left-color:var(--color-accent)}.side-nav li.current>a.category{border-left-color:var(--color-accent);font-weight:600}.side-nav .sub-nav{list-style:none;padding:.35rem 0 .5rem 1rem;margin:0;border-left:1px solid var(--color-rule);margin-left:.05rem}.side-nav .sub-nav li{margin:.25rem 0}.side-nav .sub-nav a{font-size:1.02rem;font-style:italic;color:var(--color-text);padding-left:.35rem;margin-left:-.35rem}.side-nav .sub-nav a:hover,.side-nav .sub-nav a[aria-current=true]{color:var(--color-accent);font-style:normal;font-variant-caps:small-caps}.side-nav details{margin-bottom:.55rem}.side-nav summary.category{list-style:none;cursor:pointer;display:inline-flex;align-items:center;gap:.4rem}.side-nav summary.category::-webkit-details-marker{display:none}.side-nav summary.category:after{content:"▸";font-size:.7em;color:var(--color-muted);transition:transform .15s ease;display:inline-block}.side-nav details[open]>summary.category:after{transform:rotate(90deg)}.side-nav .group-children{list-style:none;padding:.45rem 0 .25rem 1rem;margin:0;border-left:1px solid var(--color-rule);margin-left:.4rem}.side-nav .group-children>li{margin:.3rem 0}.side-nav a.subcategory{font-size:1.08rem;font-weight:500}main{min-height:60vh}@media(max-width:820px){.page-layout{grid-template-columns:1fr;gap:1.5rem}.side-nav{position:static;border-bottom:1px solid var(--color-rule);padding-bottom:1rem}}.page-title{font-family:var(--font-display);font-size:2rem;font-weight:400;letter-spacing:.04em;font-variant-caps:small-caps;text-align:center;margin:0 0 2.5rem;color:var(--color-accent)}.hero{text-align:center;margin-bottom:3rem}.gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:2rem}.work-card{display:block}.work-card .work-thumb{width:100%;aspect-ratio:4 / 3;object-fit:cover;background:#e8e1d0}.work-card .work-meta{margin-top:.75rem;text-align:center}.work-card .work-title{font-size:1.15rem;font-weight:400;font-variant-caps:small-caps;letter-spacing:.02em;margin:0;color:var(--color-accent)}.work-card .work-sub{font-size:.95rem;font-style:italic;color:var(--color-muted);margin:.1rem 0 0}.work-detail{max-width:900px;margin:0 auto}.work-detail .work-hero{width:100%;margin-bottom:1.5rem}.work-detail .work-info{text-align:center;margin-bottom:2rem}.work-detail .work-info h1{font-family:var(--font-display);font-size:2rem;font-weight:400;letter-spacing:.03em;font-variant-caps:small-caps;margin:0 0 .5rem}.work-detail .work-info p{color:var(--color-muted);margin:.25rem 0;font-size:.9rem}.work-detail .work-additional{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem;margin-top:2rem}.prose{max-width:720px;margin:0 auto}.prose p{margin:0 0 1rem}.carousel{position:relative;margin:0 auto;max-width:1000px}.carousel .slides{position:relative;width:100%;aspect-ratio:4 / 3;overflow:hidden;background:#e8e1d0}.carousel .slide{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .6s ease;pointer-events:none}.carousel .slide.active{opacity:1;pointer-events:auto}.carousel .slide img{width:100%;height:100%;object-fit:contain}.carousel .overlay{position:absolute;inset:0;pointer-events:none;opacity:0;transition:opacity .2s ease}.carousel:hover .overlay,.carousel:focus-within .overlay{opacity:1}.carousel .overlay button{position:absolute;top:50%;transform:translateY(-50%);background:#ffffffd9;border:1px solid rgba(0,0,0,.1);color:#1a1a1a;width:2.75rem;height:2.75rem;border-radius:50%;font-family:var(--font-serif);font-size:1.25rem;cursor:pointer;pointer-events:auto;display:inline-flex;align-items:center;justify-content:center;transition:background .15s ease}.carousel .overlay button:hover{background:#fff}.carousel .overlay button[data-prev]{left:1rem}.carousel .overlay button[data-next]{right:1rem}.carousel .overlay .indicator{position:absolute;bottom:.75rem;left:50%;transform:translate(-50%);background:#ffffffd9;color:var(--color-accent);padding:.2rem .6rem;border-radius:999px;font-variant-caps:small-caps;font-size:.95rem;letter-spacing:.04em}.carousel .caption{text-align:center;margin-top:1.25rem;font-variant-caps:small-caps;letter-spacing:.03em;font-size:1.3rem;color:var(--color-accent)}.carousel .caption .year{display:block;font-variant-caps:normal;font-style:italic;font-size:1rem;color:var(--color-muted);margin-top:.1rem;letter-spacing:0}.gallery-layout{display:grid;grid-template-columns:220px 1fr;gap:3rem;align-items:start}.gallery-sidebar{border-right:1px solid var(--color-rule);padding-right:1.5rem}.gallery-sidebar ul{list-style:none;padding:0;margin:0}.gallery-sidebar li{margin:.4rem 0}.gallery-sidebar a{font-size:1.05rem;font-variant-caps:small-caps;letter-spacing:.02em;color:var(--color-text);border-bottom:1px solid transparent;padding-bottom:.1rem}.gallery-sidebar a:hover,.gallery-sidebar a[aria-current=true]{border-bottom-color:var(--color-accent);color:var(--color-accent)}.gallery-sidebar .sidebar-heading{font-size:.9rem;font-style:italic;color:var(--color-muted);margin:0 0 .75rem}@media(max-width:720px){.gallery-layout{grid-template-columns:1fr;gap:1.5rem}.gallery-sidebar{border-right:none;border-bottom:1px solid var(--color-rule);padding-right:0;padding-bottom:1rem}}.contact-page{display:grid;grid-template-columns:minmax(200px,260px) 1fr;gap:2.5rem;align-items:start;max-width:820px;margin:0 auto}.contact-photo .photo-frame{aspect-ratio:1;background:#e8e1d0;border:1px solid var(--color-rule);display:flex;align-items:center;justify-content:center;overflow:hidden}.contact-photo .photo-frame svg{width:70%;height:70%}.contact-photo .photo-caption{text-align:center;font-style:italic;color:var(--color-muted);font-size:.95rem;margin:.6rem 0 1.5rem}.contact-photo .photo-caption:last-child{margin-bottom:0}.contact-info .contact-email{font-size:1.1rem;margin:0 0 1.5rem}.contact-form .form-row{display:flex;flex-direction:column;margin:0 0 1rem}.contact-form label{font-variant-caps:small-caps;letter-spacing:.02em;font-size:1rem;margin-bottom:.3rem;color:var(--color-accent)}.contact-form input,.contact-form textarea{font-family:var(--font-serif);font-size:1.05rem;padding:.6rem .7rem;border:1px solid var(--color-rule);background:#faf6ec;color:var(--color-text);width:100%;box-sizing:border-box}.contact-form input:focus,.contact-form textarea:focus{outline:2px solid var(--color-accent);outline-offset:-2px}.contact-form textarea{resize:vertical}.contact-form .form-submit{margin:.5rem 0 0}.contact-form button{font-family:var(--font-serif);font-size:1.1rem;font-variant-caps:small-caps;letter-spacing:.04em;padding:.55rem 1.75rem;background:var(--color-accent);color:#f1ebde;border:none;cursor:pointer;transition:background .15s ease}.contact-form button:hover{background:#000}.contact-form .form-thanks{font-style:italic;color:var(--color-accent);font-size:1.15rem;padding:1rem 0}@media(max-width:640px){.contact-page{grid-template-columns:1fr;gap:1.5rem}}.site-footer{border-top:1px solid var(--color-rule);padding:2rem 1.5rem;text-align:center;color:var(--color-muted);font-size:.85rem}.site-footer .social{display:flex;justify-content:center;gap:1.25rem;margin-bottom:.75rem}.site-footer .social a{display:inline-block;width:28px;height:28px}.site-footer .social svg{width:100%;height:100%;fill:currentColor}@media(max-width:640px){.site-title{font-size:1.75rem}.site-nav ul{gap:.75rem 1.25rem}}
