:root{--ink:#1c1b19;--charcoal:#f8f6f0;--charcoal-raised:#efece3;--paper:#fff;--paper-dim:#ece7db;--brass:#b08d4f;--brass-bright:#d8b783;--brass-ink:#8a6a2e;--grey:#726b5e;--line:rgba(28,27,25,.1);--line-dark:rgba(28,27,25,.12);--danger:#a3432f;--font-display:"Fraunces",serif;--font-body:"Inter",system-ui,sans-serif}*{box-sizing:border-box}body,html{margin:0;padding:0;background:var(--charcoal);color:var(--ink);font-family:var(--font-body);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font-family:var(--font-body)}.site-header{justify-content:space-between;padding:22px 40px;border-bottom:1px solid var(--line)}.brand,.site-header{display:flex;align-items:center}.brand{font-family:var(--font-display);font-size:20px;letter-spacing:.01em;gap:10px}.brand-mark{color:var(--brass);font-size:14px}.site-nav{display:flex;gap:28px;font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:var(--grey)}.site-nav a:hover{color:var(--ink)}.site-footer{padding:40px;text-align:center;color:var(--grey);font-size:12px;letter-spacing:.05em;border-top:1px solid var(--line);margin-top:60px}.gallery-hero{padding:64px 40px 32px;max-width:1400px;margin:0 auto}.gallery-hero h1{font-family:var(--font-display);font-weight:500;font-size:clamp(36px,5vw,58px);margin:0 0 12px;letter-spacing:-.01em}.gallery-hero p{color:var(--grey);font-size:15px;max-width:560px;line-height:1.6;margin:0}.controls{max-width:1400px;margin:0 auto;display:flex;gap:12px;flex-wrap:wrap;align-items:center;border-bottom:1px solid var(--line);padding:0 40px 24px}.controls input,.controls select{background:var(--charcoal-raised);border:1px solid var(--line);color:var(--ink);padding:10px 14px;border-radius:3px;font-size:14px;font-family:var(--font-body)}.controls input{flex:1 1;min-width:220px}.controls input:focus,.controls select:focus{outline:2px solid var(--brass);outline-offset:1px}.result-count{color:var(--grey);font-size:13px;letter-spacing:.04em}.grid{max-width:1400px;margin:0 auto;padding:40px;display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));grid-gap:28px;gap:28px}.plate{background:var(--paper);color:var(--ink);border-radius:2px;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 1px 3px rgba(28,27,25,.08);transition:transform .18s ease,box-shadow .18s ease}.plate:hover{transform:translateY(-3px);box-shadow:0 14px 32px rgba(0,0,0,.35)}.plate-image{aspect-ratio:1/1;background:var(--paper-dim);display:flex;align-items:center;justify-content:center;overflow:hidden;position:relative}.plate-image img{width:100%;height:100%;object-fit:cover}.plate-image .no-image{color:var(--grey);font-size:12px;letter-spacing:.06em;text-transform:uppercase}.plate-number{left:10px;background:rgba(23,22,20,.78);color:var(--brass-bright);font-size:11px;letter-spacing:.08em}.plate-category,.plate-number{position:absolute;top:10px;font-family:var(--font-body);padding:3px 8px;border-radius:2px}.plate-category{right:10px;background:hsla(42,36%,95%,.9);color:var(--ink);font-size:10.5px;letter-spacing:.06em;text-transform:uppercase}.plate-label{padding:16px 18px 18px;border-top:1px solid var(--line-dark);flex:1 1;display:flex;flex-direction:column;gap:4px}.plate-artist{font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:#6b675e}.plate-title{font-family:var(--font-display);font-style:italic;font-size:18px;line-height:1.3}.plate-meta{font-size:12.5px;color:#837e73;margin-top:4px}.empty-state{max-width:1400px;margin:0 auto;padding:80px 40px;text-align:center;color:var(--grey)}.detail-wrap{max-width:1100px;margin:0 auto;padding:48px 40px 80px;display:grid;grid-template-columns:1.1fr 1fr;grid-gap:56px;gap:56px}@media (max-width:820px){.detail-wrap{grid-template-columns:1fr}}.detail-image{background:var(--paper-dim);border-radius:2px;overflow:hidden;display:flex;align-items:center;justify-content:center;aspect-ratio:4/5}.detail-image img{width:100%;height:100%;object-fit:contain}.back-link{display:inline-block;margin-bottom:24px;color:var(--grey);font-size:13px;letter-spacing:.05em;text-transform:uppercase}.back-link:hover,.detail-eyebrow{color:var(--brass-ink)}.detail-eyebrow{font-size:12px;letter-spacing:.1em;text-transform:uppercase;margin-bottom:10px}.detail-artist{font-size:20px;margin:0 0 6px}.detail-artist,.detail-title{font-family:var(--font-display);color:var(--ink)}.detail-title{font-style:italic;font-size:32px;margin:0 0 24px}.detail-facts{display:grid;grid-template-columns:140px 1fr;grid-gap:10px 18px;gap:10px 18px;font-size:14.5px;border-top:1px solid var(--line);padding-top:20px}.detail-facts dt{color:var(--grey);text-transform:uppercase;font-size:11.5px;letter-spacing:.06em;padding-top:2px}.detail-facts dd{margin:0}.detail-notes{margin-top:24px;padding-top:20px;border-top:1px solid var(--line);font-size:14px;line-height:1.6;color:var(--grey)}.cert-box{margin-top:28px;padding:16px 18px;border:1px dashed var(--line);border-radius:3px;font-size:13px;color:var(--grey)}.cert-box button{margin-top:10px;background:none;border:1px solid var(--brass);color:var(--brass-ink);padding:8px 14px;border-radius:3px;font-size:13px;cursor:pointer}.cert-box button:hover{background:var(--brass);color:var(--ink)}.admin-wrap{max-width:1200px;margin:0 auto;padding:48px 40px 80px}.admin-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:32px;gap:16px;flex-wrap:wrap}.admin-header h1{font-family:var(--font-display);font-weight:500;font-size:32px;margin:0}.btn{background:var(--brass);color:var(--ink);border:none;padding:10px 18px;border-radius:3px;font-size:14px;font-weight:500;cursor:pointer}.btn:hover{background:var(--brass-bright)}.btn-secondary{background:transparent;border:1px solid var(--line);color:var(--ink)}.btn-secondary:hover{border-color:var(--brass);color:var(--brass-ink)}.btn-danger{background:transparent;border:1px solid var(--danger);color:#e08d78}.btn-danger:hover{background:var(--danger);color:var(--paper)}.admin-table{width:100%;border-collapse:collapse;font-size:14px}.admin-table td,.admin-table th{text-align:left;padding:12px 10px;border-bottom:1px solid var(--line)}.admin-table th{color:var(--grey);font-size:11.5px;text-transform:uppercase;letter-spacing:.06em}.admin-table tr:hover td{background:hsla(42,36%,95%,.03)}.login-wrap{max-width:380px;margin:100px auto;padding:0 24px;text-align:center}.login-wrap h1{font-family:var(--font-display);font-size:28px;margin-bottom:8px}.login-wrap p{color:var(--grey);font-size:14px;margin-bottom:24px}.login-wrap form{display:flex;flex-direction:column;gap:12px}.login-wrap input{background:var(--charcoal-raised);border:1px solid var(--line);color:var(--ink);padding:12px 14px;border-radius:3px;font-size:15px;text-align:center}.error-text{color:#e08d78;font-size:13px;margin-top:4px}.art-form{display:grid;grid-template-columns:1fr 1fr;grid-gap:16px;gap:16px;background:var(--charcoal-raised);border:1px solid var(--line);border-radius:4px;padding:28px;margin-bottom:40px}.art-form .full{grid-column:1/-1}.art-form label{display:flex;flex-direction:column;gap:6px;font-size:13px;color:var(--grey)}.art-form input,.art-form textarea{background:var(--charcoal);border:1px solid var(--line);color:var(--ink);padding:10px 12px;border-radius:3px;font-size:14px;font-family:var(--font-body)}.art-form textarea{resize:vertical;min-height:70px}.compressing-note{font-size:12.5px;color:var(--brass-ink);margin-top:4px}.photo-rotate-preview{display:flex;align-items:center;gap:20px;background:var(--charcoal);border:1px solid var(--line);border-radius:4px;padding:16px}.photo-rotate-preview img{max-width:160px;max-height:160px;border-radius:2px;object-fit:contain;background:var(--paper-dim)}.rotate-buttons{display:flex;flex-direction:column;gap:8px}.rotate-buttons button{background:transparent;border:1px solid var(--line);color:var(--ink);padding:8px 14px;border-radius:3px;font-size:13px;cursor:pointer;text-align:left}.rotate-buttons button:hover:not(:disabled){border-color:var(--brass);color:var(--brass-ink)}.rotate-buttons button:disabled{opacity:.5;cursor:default}.art-form .form-actions{grid-column:1/-1;display:flex;gap:12px;justify-content:flex-end;margin-top:8px}.back-to-top{position:fixed;bottom:28px;right:28px;width:46px;height:46px;border-radius:50%;background:var(--brass);color:var(--ink);border:none;font-size:20px;line-height:1;cursor:pointer;box-shadow:0 4px 14px rgba(28,27,25,.22);display:flex;align-items:center;justify-content:center;transition:background .15s ease,transform .15s ease;z-index:40}.back-to-top:hover{background:var(--brass-bright);transform:translateY(-2px)}@media (max-width:600px){.back-to-top{bottom:18px;right:18px;width:42px;height:42px}}