:root{--bg:#f6f5f0;--paper:#fff;--ink:#27352f;--muted:#69776f;--green:#315b4d;--line:#e1e5df}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.55 system-ui,-apple-system,Segoe UI,sans-serif}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}.shell{max-width:1240px;margin:auto;padding:24px}.top{display:flex;align-items:center;justify-content:space-between;gap:16px;border-bottom:1px solid var(--line);padding:20px 0;flex-wrap:wrap}.brand{font-family:Georgia,serif;font-size:23px;font-weight:700}.sub{color:var(--muted)}nav{display:flex;gap:16px;align-items:center}.hero{padding:62px 0 36px}.hero h1{font:normal clamp(36px,5vw,65px)/1.12 Georgia,serif;margin:12px 0;max-width:850px}.eyebrow{text-transform:uppercase;letter-spacing:.17em;color:var(--green);font-size:11px;font-weight:700}.toolbar{display:flex;gap:12px;flex-wrap:wrap;margin:22px 0}.field{padding:12px;border:1px solid var(--line);border-radius:9px;background:white;min-width:170px;color:var(--ink)}.grow{flex:1 1}.btn{border:0;background:var(--green);color:white;padding:11px 17px;border-radius:9px;font-weight:600}.btn.secondary{background:white;color:var(--green);border:1px solid var(--line)}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(255px,1fr));grid-gap:22px;gap:22px}.tile{background:white;border:1px solid var(--line);border-radius:14px;overflow:hidden;cursor:pointer;transition:transform .15s}.tile:hover{transform:translateY(-3px)}.image{height:230px;background:linear-gradient(135deg,#e8e9e2,#d5ddd4);display:grid;place-items:center;color:#839188;font-family:Georgia,serif;font-size:60px}.image img{width:100%;height:100%;object-fit:cover}.tile-content{padding:20px}.tile h3{font:normal 24px Georgia,serif;margin:3px 0 7px}.chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:14px}.chip{background:#edf2ed;border-radius:20px;padding:3px 9px;color:#40604d;font-size:12px}.modal-back{position:fixed;inset:0;background:#13221bc9;z-index:10;display:grid;place-items:center;padding:16px;overflow:auto}.modal{background:white;border-radius:16px;padding:28px;width:min(780px,100%);max-height:92vh;overflow:auto}.modal h2{font:normal 32px Georgia,serif;margin:5px 0 16px}.close{float:right}.details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:14px;gap:14px}.details p{margin:0}.details strong{display:block;font-size:12px;text-transform:uppercase;letter-spacing:.07em;color:var(--muted)}.formgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:14px;gap:14px}.formgrid label{display:flex;flex-direction:column;gap:5px;font-size:13px;font-weight:600}.formgrid input,.formgrid textarea{width:100%;padding:10px;border:1px solid var(--line);border-radius:7px}.span2{grid-column:span 2}.notice{padding:12px 16px;background:#fff5df;border-radius:8px;margin:14px 0}.foot{margin:65px 0 20px;padding-top:22px;border-top:1px solid var(--line);color:var(--muted)}@media(max-width:650px){.details,.formgrid{grid-template-columns:1fr}.span2{grid-column:span 1}.hero{padding:35px 0 18px}.shell{padding:15px}}.tile{display:flex;flex-direction:column;background:#fff}.tile .image{display:block;flex:0 0 230px;height:230px;position:relative}.tile .image img{height:100%;object-fit:cover}.tile .tile-content{display:block;position:relative;z-index:1;flex:1 1;background:#fff;color:var(--ink)}.tile .tile-content .sub{color:var(--muted)}.tile .image{height:auto;min-height:0;flex:0 0 auto;display:flex;align-items:center;justify-content:center;overflow:hidden;background:#f0f1ed}.tile .image:has(img){aspect-ratio:auto}.tile .image img{display:block;width:100%;height:auto;max-height:none;object-fit:contain;object-position:center}.instrument-modal{width:min(1160px,96vw);max-height:94vh;padding:28px}.instrument-modal .close{float:none;display:block;margin-left:auto;margin-bottom:16px}.instrument-modal-layout{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);grid-gap:32px;gap:32px;align-items:start}.instrument-modal-photos{display:flex;flex-direction:column;gap:14px;min-width:0}.instrument-modal-photos img{display:block;max-height:75vh;border-radius:10px;background:#f2f2ef}.instrument-photo-placeholder{padding:65px 16px;background:#f2f2ef;border-radius:10px;text-align:center;color:var(--muted)}.instrument-modal-info{min-width:0}.instrument-modal-info .details{grid-template-columns:1fr;gap:16px}.instrument-modal-info .details p{overflow-wrap:anywhere;white-space:pre-wrap}@media(max-width:750px){.instrument-modal{width:min(100%,780px);padding:18px}.instrument-modal-layout{grid-template-columns:1fr;gap:24px}.instrument-modal-photos img{max-height:none}}.instrument-modal-photos{background:transparent;align-items:stretch}.instrument-modal-photos img{width:100%;height:auto;max-height:78vh;object-fit:contain;background:transparent;border-radius:6px}.instrument-modal-layout{grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:24px}@media(max-width:750px){.instrument-modal-layout{grid-template-columns:1fr;gap:20px}}.public-gallery{--bg:#f7f5f0;--ink:#252b28;--muted:#758078;--green:#36574d;--line:#e5e5dd}body:has(.public-gallery){background:#f7f5f0;color:#252b28}.public-gallery .top{position:relative;isolation:isolate;min-height:124px;border-bottom:0;padding:22px 0;color:#fff}.public-gallery .top:before{content:"";position:absolute;inset:0 calc(50% - 50vw);background:#243c34;z-index:-1}.public-gallery .gallery-brand{display:flex;flex-direction:column;gap:3px}.public-gallery .gallery-brand .eyebrow{color:#cdbb93;font-size:10px;letter-spacing:.2em}.public-gallery .brand{font-family:Georgia,serif;font-size:clamp(22px,2.8vw,32px);font-weight:400;line-height:1.25}.public-gallery .gallery-tagline{color:#c7d0ca;font-size:13px}.public-gallery nav{gap:8px;flex-wrap:wrap}.public-gallery .gallery-nav{padding:10px 15px;border:1px solid #6c8278;border-radius:6px;color:#fff;font-size:14px}.public-gallery .gallery-nav.active{background:#f3efe5;color:#243c34;border-color:#f3efe5}.public-gallery .hero{position:relative;isolation:isolate;padding:42px 0 32px;margin-bottom:16px}.public-gallery .hero:before{content:"";position:absolute;inset:0 calc(50% - 50vw);background:linear-gradient(135deg,#e8e8df,#f8f6f0);z-index:-1}.public-gallery .hero .eyebrow{color:#9b8056}.public-gallery .hero h1{font-size:clamp(34px,5vw,57px);font-weight:400;max-width:none;margin:8px 0 12px}.public-gallery .hero p{max-width:660px;line-height:1.7;color:#637068}.public-gallery .field{border-radius:7px;border-color:#d8ded7}.public-gallery .tile{border-radius:10px;border-color:#e5e5dd}@media(max-width:650px){.public-gallery .top{align-items:flex-start}.public-gallery .hero{padding:30px 0 24px}}.public-gallery .preview-key{margin:10px 0 0;color:#36574d;font-size:14px;font-weight:600}.public-gallery .multi-filter{position:relative;min-width:170px}.public-gallery .multi-filter summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:49px;-webkit-user-select:none;-moz-user-select:none;user-select:none}.public-gallery .multi-filter summary::-webkit-details-marker{display:none}.public-gallery .multi-filter[open] summary{border-color:#36574d}.public-gallery .multi-filter-options{position:absolute;top:calc(100% + 5px);left:0;z-index:5;min-width:220px;max-height:280px;overflow:auto;background:white;border:1px solid #d8ded7;border-radius:8px;box-shadow:0 10px 25px #243c3420;padding:8px}.public-gallery .multi-filter-options label{display:flex;align-items:center;gap:10px;padding:8px 9px;cursor:pointer;border-radius:5px;white-space:nowrap}.public-gallery .multi-filter-options label:hover{background:#f2f5f1}.public-gallery .multi-filter-options input{accent-color:#36574d;width:16px;height:16px}.public-gallery .multi-filter-options .sub{margin:8px}.public-gallery .multi-filter-clear{background:none;border:0;color:#36574d;padding:8px 9px;text-decoration:underline}@media(max-width:650px){.public-gallery .multi-filter{flex:1 1 155px}.public-gallery .multi-filter-options{min-width:100%}}.filter-editor{background:#fff;border:1px solid var(--line);border-radius:12px;padding:24px;margin:18px 0 26px}.filter-editor h2{font:normal 28px Georgia,serif;margin:0 0 8px}.filter-editor textarea{min-height:150px;resize:vertical}