:root{--paper:#f3efe6;--paper-deep:#e9e2d5;--ink:#242321;--muted:#6e6a63;--line:#d7cfc1;--rust:#a94825;--white:#fffdf8}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif}button,input,textarea,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{color:inherit}.site-header{align-items:center;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;padding:22px clamp(20px,4vw,64px)}.wordmark{color:var(--ink);font-family:Georgia,"Times New Roman",serif;font-size:23px;letter-spacing:-.02em;text-decoration:none}.header-link{color:var(--muted);font-size:11px;letter-spacing:.16em;text-decoration:none;text-transform:uppercase}.header-link:hover,.header-link:focus-visible{color:var(--rust)}.intro{display:grid;gap:44px;grid-template-columns:minmax(0,1.4fr) minmax(280px,.6fr);padding:clamp(68px,10vw,148px) clamp(20px,4vw,64px) clamp(58px,8vw,108px)}.eyebrow{color:var(--rust);font-size:10px;letter-spacing:.21em;margin:0 0 22px;text-transform:uppercase}.intro h1{font-family:Georgia,"Times New Roman",serif;font-size:clamp(56px,9vw,136px);font-weight:400;letter-spacing:-.055em;line-height:.83;margin:0;max-width:980px}.intro-side{align-self:end;border-top:1px solid var(--ink);padding-top:18px}.intro-side p{font-family:Georgia,"Times New Roman",serif;font-size:clamp(19px,2.1vw,27px);line-height:1.42;margin:0}.location{color:var(--muted);display:block;font-size:11px;letter-spacing:.1em;margin-top:28px;text-transform:uppercase}.gallery-section{padding:0 clamp(20px,4vw,64px) 100px}.gallery-toolbar{align-items:center;border-bottom:1px solid var(--line);border-top:1px solid var(--line);display:flex;gap:28px;justify-content:space-between;padding:18px 0}.gallery-count{color:var(--muted);font-size:11px;letter-spacing:.12em;text-transform:uppercase;white-space:nowrap}.filters{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end}.filter-button{background:transparent;border:1px solid transparent;border-radius:99px;cursor:pointer;font-size:11px;padding:8px 13px}.filter-button:hover,.filter-button:focus-visible{border-color:var(--line)}.filter-button.active{background:var(--ink);color:var(--paper)}.gallery-grid{columns:3 300px;column-gap:clamp(18px,2.6vw,42px);padding-top:clamp(30px,4vw,58px)}.art-card{break-inside:avoid;margin:0 0 clamp(34px,4vw,62px)}.art-button{background:none;border:0;cursor:zoom-in;display:block;padding:0;text-align:left;width:100%}.art-image-wrap{background:var(--paper-deep);overflow:hidden}.art-image{display:block;height:auto;transition:transform .65s cubic-bezier(.2,.75,.25,1);width:100%}.art-button:hover .art-image,.art-button:focus-visible .art-image{transform:scale(1.018)}.art-meta{display:grid;gap:10px;grid-template-columns:1fr auto;padding-top:14px}.art-title{font-family:Georgia,"Times New Roman",serif;font-size:20px;margin:0}.art-year{color:var(--muted);font-size:11px;letter-spacing:.08em;padding-top:4px}.art-medium{color:var(--muted);font-size:11px;letter-spacing:.05em;margin:5px 0 0}.empty-state,.loading-state{border-bottom:1px solid var(--line);color:var(--muted);padding:72px 0;text-align:center}.empty-state strong{color:var(--ink);display:block;font-family:Georgia,serif;font-size:30px;font-weight:400;margin-bottom:12px}.site-footer{align-items:end;background:var(--ink);color:var(--paper);display:flex;justify-content:space-between;min-height:250px;padding:44px clamp(20px,4vw,64px)}.footer-name{font-family:Georgia,serif;font-size:clamp(40px,6vw,76px);letter-spacing:-.04em}.footer-note{color:#aaa49a;font-size:10px;letter-spacing:.14em;text-transform:uppercase}.lightbox{background:rgba(22,21,19,.96);display:none;inset:0;overflow:auto;padding:clamp(58px,7vw,100px) clamp(20px,6vw,96px) 44px;position:fixed;z-index:50}.lightbox.open{display:block}.lightbox-close{background:transparent;border:0;color:#fff;cursor:pointer;font-size:12px;letter-spacing:.13em;position:fixed;right:24px;text-transform:uppercase;top:22px}.lightbox-inner{align-items:start;display:grid;gap:36px;grid-template-columns:minmax(0,1fr) minmax(240px,330px);margin:auto;max-width:1500px}.lightbox-image{display:block;height:auto;max-height:calc(100vh - 130px);object-fit:contain;width:100%}.lightbox-copy{color:#f0ebe2;padding-top:8px}.lightbox-copy h2{font-family:Georgia,serif;font-size:clamp(30px,4vw,52px);font-weight:400;letter-spacing:-.03em;margin:0 0 18px}.lightbox-copy p{color:#bcb5aa;font-family:Georgia,serif;font-size:18px;line-height:1.6}.lightbox-details{border-top:1px solid #4c4842;display:grid;gap:10px;margin-top:28px;padding-top:18px}.lightbox-details span{color:#aaa49a;font-size:10px;letter-spacing:.13em;text-transform:uppercase}
.admin-body{min-height:100vh}.admin-page{padding:28px clamp(18px,4vw,62px) 80px}.admin-header{align-items:end;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;padding-bottom:20px}.admin-header h1{font-family:Georgia,serif;font-size:36px;font-weight:400;letter-spacing:-.03em;margin:0}.admin-layout{display:grid;gap:32px;grid-template-columns:minmax(290px,390px) 1fr;margin-top:32px}.admin-sidebar{align-content:start;display:grid;gap:20px}.admin-panel{background:rgba(255,253,248,.6);border:1px solid var(--line);padding:22px}.admin-panel h2,.admin-works h2{font-family:Georgia,serif;font-size:25px;font-weight:400;margin:0 0 20px}.field{display:grid;gap:7px;margin-bottom:14px}.field>span{color:var(--muted);font-size:10px;letter-spacing:.12em;text-transform:uppercase}.field input,.field textarea,.field select{background:var(--white);border:1px solid var(--line);border-radius:2px;color:var(--ink);min-width:0;padding:11px 12px;width:100%}.field textarea{min-height:105px;resize:vertical}.field input:focus,.field textarea:focus,.field select:focus{border-color:var(--rust);outline:2px solid rgba(169,72,37,.12)}.field-row{display:grid;gap:10px;grid-template-columns:1fr 1fr}.file-field{border:1px dashed #aaa193;padding:16px}.file-field input{background:transparent;border:0;padding:4px 0}.file-field small{color:var(--muted);font-size:11px;line-height:1.5}.button,.ghost-button,.danger-button{border-radius:3px;cursor:pointer;font-size:11px;letter-spacing:.09em;padding:11px 16px;text-transform:uppercase}.button{background:var(--ink);border:1px solid var(--ink);color:var(--white)}.button:hover{background:var(--rust);border-color:var(--rust)}.ghost-button{background:transparent;border:1px solid var(--line)}.ghost-button:hover{border-color:var(--ink)}.danger-button{background:transparent;border:1px solid #cdb1a5;color:#8b2e15}.danger-button:hover{background:#8b2e15;color:#fff}.button:disabled,.ghost-button:disabled,.danger-button:disabled{cursor:wait;opacity:.55}.status-message{color:var(--rust);font-size:12px;line-height:1.5;margin:0;min-height:20px}.section-heading{align-items:baseline;display:flex;justify-content:space-between}.section-heading span{color:var(--muted);font-size:11px;letter-spacing:.1em;text-transform:uppercase}.admin-work{background:rgba(255,253,248,.6);border-top:1px solid var(--line);display:grid;gap:20px;grid-template-columns:150px 1fr;padding:22px 0}.admin-thumb{aspect-ratio:1/1;background:var(--paper-deep);object-fit:cover;width:100%}.admin-work-fields{display:grid;gap:10px;grid-template-columns:repeat(2,minmax(0,1fr))}.admin-work-fields .wide{grid-column:1/-1}.admin-actions{align-items:center;display:flex;flex-wrap:wrap;gap:9px;grid-column:1/-1}.visibility{color:var(--muted);font-size:10px;letter-spacing:.1em;margin-right:auto;text-transform:uppercase}.order-buttons{display:flex;gap:6px}.busy-overlay{align-items:center;background:rgba(243,239,230,.72);display:flex;font-size:12px;inset:0;justify-content:center;letter-spacing:.12em;position:fixed;text-transform:uppercase;z-index:100}
@media(max-width:850px){.intro{grid-template-columns:1fr}.intro-side{max-width:560px}.lightbox-inner,.admin-layout{grid-template-columns:1fr}.lightbox-image{max-height:70vh}}@media(max-width:600px){.site-header{padding-block:17px}.intro{padding-top:70px}.gallery-toolbar{align-items:flex-start;flex-direction:column;gap:12px}.filters{justify-content:flex-start}.gallery-grid{columns:1}.site-footer{align-items:flex-start;flex-direction:column;gap:70px}.lightbox{padding-inline:16px}.admin-header{align-items:flex-start;gap:20px}.admin-work{grid-template-columns:90px 1fr}.admin-work-fields,.field-row{grid-template-columns:1fr}.admin-work-fields .wide,.admin-actions{grid-column:auto}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
