
.ov-design-collection{padding:100px 5vw 95px;margin:0 auto;max-width:1650px;background:#fff}
.ov-collection-head{display:flex;align-items:end;justify-content:space-between;gap:35px;padding-bottom:30px;border-bottom:1px solid #dedbd4}
.ov-collection-head h2{font:400 clamp(37px,4.2vw,62px)/1.2 'Playfair Display',Georgia,serif;margin:15px 0}
.ov-collection-head h2 em{font-weight:400}.ov-collection-head p{max-width:620px;line-height:1.8;color:#78736d;font-size:14px;margin:0}.ov-collection-number{font-size:10px;letter-spacing:2px;color:#9d8265;white-space:nowrap}
.ov-filters{display:flex;gap:7px;flex-wrap:wrap;padding:26px 0 30px}.ov-filter{border:1px solid #ddd6cc;background:white;color:#5d564c;padding:10px 14px;font-size:11px;letter-spacing:.6px}.ov-filter.active,.ov-filter:hover{background:#2d2a25;color:white;border-color:#2d2a25}
.ov-concept-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:34px 18px}.ov-card{min-width:0}.ov-card-button{display:block;background:none;padding:0;border:0;width:100%;text-align:left;color:inherit}.ov-card-photo{width:100%;aspect-ratio:1/.82;object-fit:cover;background:#e6ded4;display:block;transition:transform .25s}.ov-card-visual{overflow:hidden;background:#e7dfd4}.ov-card-button:hover .ov-card-photo{transform:scale(1.035)}.ov-card-eyebrow{display:flex;justify-content:space-between;gap:7px;color:#9d8161;font-size:10px;letter-spacing:1px;text-transform:uppercase;margin-top:13px}.ov-card-title{font:400 22px/1.3 'Playfair Display',Georgia,serif;margin:7px 0}.ov-card-subtitle{font-size:12px;color:#847d73}.ov-collection-foot{margin-top:35px;padding-top:18px;border-top:1px solid #dedbd4;color:#857e75;font-size:12px;line-height:1.6}
.ov-modal{position:fixed;inset:0;z-index:100;display:flex;align-items:center;justify-content:center;padding:20px;background:#171513bf}.ov-modal[hidden]{display:none}.ov-modal-inner{max-width:920px;width:100%;max-height:90vh;overflow:auto;display:grid;grid-template-columns:1fr 1fr;background:#fff;position:relative}.ov-modal-image{width:100%;height:100%;min-height:440px;object-fit:cover;background:#e8dfd2}.ov-modal-content{padding:48px 38px}.ov-modal-content h2{font:400 36px/1.2 'Playfair Display',Georgia,serif;margin:13px 0}.ov-modal-content p{font-size:14px;line-height:1.75;color:#665f57}.ov-modal-content dt{font-size:10px;letter-spacing:1.5px;color:#9d8061;text-transform:uppercase;margin:16px 0 4px}.ov-modal-content dd{margin:0;font-size:13px;color:#3b352e;line-height:1.6}.ov-modal-close{position:absolute;z-index:2;right:16px;top:14px;width:42px;height:42px;border:0;border-radius:50%;background:#fff;color:#302c27;font-size:24px}.ov-modal-copy{margin-top:24px;border:0;background:#292824;color:#fff;padding:14px 20px;letter-spacing:1px;font-size:11px}.ov-copy-feedback{font-size:12px;color:#5b7855;margin-top:7px}
@media(max-width:970px){.ov-concept-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:700px){.ov-design-collection{padding:65px 5vw}.ov-collection-head{display:block}.ov-collection-number{display:block;margin-top:14px}.ov-concept-grid{grid-template-columns:repeat(2,1fr);gap:25px 12px}.ov-card-title{font-size:18px}.ov-modal-inner{grid-template-columns:1fr}.ov-modal-image{height:250px;min-height:0}.ov-modal-content{padding:25px}.ov-modal-content h2{font-size:29px}}@media(max-width:390px){.ov-concept-grid{grid-template-columns:1fr}}

/* PARIS ALEXANDER v0.11 clarity, discovery and concept-budget enhancements */
.ov-collection-tools{display:flex;gap:20px;align-items:end;justify-content:space-between;margin:0 0 24px;flex-wrap:wrap}
.ov-collection-tools label{display:flex;flex-direction:column;gap:8px;color:#82705d;font-size:10px;letter-spacing:1.4px}.ov-collection-tools input,.ov-collection-tools select{height:42px;background:#fff;border:1px solid #d9d2c8;padding:0 14px;color:#3a352f;font-size:13px;letter-spacing:0;min-width:240px}
.ov-card-budget{font-size:12px;color:#66513c;margin-top:10px}.ov-card-budget span{margin-left:8px;color:#8d7c68;font-size:10px}.ov-modal-inner{max-width:1320px;grid-template-columns:1.15fr 1fr;max-height:92vh}.ov-modal-visual{position:relative;border:0;cursor:zoom-in;padding:0;background:#e9dfd3;display:flex;align-items:center;justify-content:center;min-width:0;overflow:hidden}.ov-modal-image{height:100%;width:100%;max-height:92vh;object-fit:contain;min-height:0;background:#e9dfd3}.ov-modal-content{padding:45px 45px 48px;overflow-y:auto}.ov-zoom-hint{position:absolute;bottom:14px;left:14px;background:#fffdf7e8;padding:10px 12px;color:#3c362e;font-size:10px;letter-spacing:1px}.ov-pricing-caution{display:block;font-size:11px;line-height:1.5;color:#8a6a4b;margin-top:6px}.ov-image-viewer{position:fixed;inset:0;background:#171513f0;z-index:130;display:flex;align-items:center;justify-content:center;padding:65px 24px 24px}.ov-image-viewer[hidden]{display:none}.ov-image-viewer img{max-width:95vw;max-height:90vh;width:auto;height:auto;object-fit:contain;box-shadow:0 15px 55px #0008}.ov-zoom-close{position:absolute;top:16px;right:24px;color:white;background:transparent;font-size:34px;border:0;cursor:pointer}.ov-empty-collection{grid-column:1/-1;padding:30px;text-align:center;color:#7c6d5e}
@media(max-width:800px){.ov-modal-inner{grid-template-columns:1fr;max-height:94vh}.ov-modal-visual{min-height:0;height:44vh}.ov-modal-image{max-height:44vh}.ov-modal-content{padding:25px}.ov-collection-tools input,.ov-collection-tools select{min-width:0;width:100%}.ov-collection-tools label{flex:1;min-width:150px}}

/* v0.11.1 media QA: prevent enlarged montage crops and stretched thumbnails */
.ov-card-photo{object-fit:contain;object-position:center;transform:none;background:#ece5dc}
.ov-card-button:hover .ov-card-photo{transform:none}
.ov-modal-image{object-fit:contain;object-position:center;image-rendering:auto}
.ov-modal-visual{cursor:zoom-in}
.ov-modal-visual:has(.ov-modal-image[src*="-refined.webp"]){cursor:default}
.ov-image-viewer img{max-width:min(92vw,1600px);max-height:calc(100vh - 80px);object-fit:contain;image-rendering:auto}

/* v0.12 original image resolution: never upscale small raster sources; SVGs remain vector sharp */
.ov-modal-image,.ov-card-photo{object-fit:contain;background:#e7ded2}
.ov-image-viewer img{image-rendering:auto;max-width:min(95vw,1700px);max-height:92vh}
.ov-card-photo[src$=".svg"],.ov-modal-image[src$=".svg"]{object-fit:contain}
