:root{color-scheme:light;--ink:#17352d;--muted:#64756f;--cream:#f5f1e7;--paper:#fffdf8;--gold:#c5963e;--line:#d9dfdc;--green:#16483c;--shadow:0 16px 40px rgba(22,72,60,.12)}
*{box-sizing:border-box}body{margin:0;background:var(--cream);color:var(--ink);font-family:Inter,Segoe UI,Arial,sans-serif;line-height:1.5}.topbar{position:sticky;top:0;z-index:10;display:flex;align-items:center;justify-content:space-between;padding:1rem clamp(1rem,4vw,3.5rem);background:rgba(22,72,60,.97);color:#fff;box-shadow:0 2px 16px rgba(0,0,0,.18)}.brand{display:flex;align-items:center;gap:.85rem}.brand-mark{display:grid;place-items:center;width:44px;height:44px;border:1px solid rgba(255,255,255,.45);border-radius:50%;color:#f3c86f;font-family:Georgia,serif;font-weight:700}.brand h1{margin:0;font-family:Georgia,serif;font-size:clamp(1.35rem,3vw,2rem);line-height:1}.brand p{margin:.3rem 0 0;color:#d9e5e1;font-size:.82rem}.ghost-button{border:1px solid rgba(255,255,255,.5);border-radius:999px;background:transparent;color:#fff;padding:.65rem 1rem;font-weight:700;cursor:pointer}main{max-width:1500px;margin:auto;padding:1.2rem clamp(1rem,4vw,3.5rem) 4rem}.controls{display:grid;grid-template-columns:minmax(240px,2fr) repeat(3,minmax(145px,1fr));gap:.9rem;padding:1rem;background:var(--paper);border:1px solid var(--line);border-radius:16px;box-shadow:0 8px 24px rgba(22,72,60,.06)}label{display:flex;flex-direction:column;gap:.35rem;font-size:.82rem;font-weight:700;color:#52645e}input,select{width:100%;min-height:44px;border:1px solid #bdc8c4;border-radius:9px;background:#fff;color:var(--ink);padding:.65rem .8rem;font:inherit;font-size:1rem}input:focus,select:focus,button:focus-visible{outline:3px solid rgba(197,150,62,.35);outline-offset:2px}.results-bar{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin:1.2rem 0}.results-bar p{margin:0;font-weight:800}.results-bar select{width:auto;min-width:210px}.catalogue-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(285px,1fr));gap:1.1rem}.card{overflow:hidden;background:var(--paper);border:1px solid var(--line);border-radius:16px;box-shadow:0 8px 22px rgba(22,72,60,.06);transition:transform .2s,box-shadow .2s}.card:hover{transform:translateY(-3px);box-shadow:var(--shadow)}.photo-button{position:relative;display:block;width:100%;height:210px;padding:0;border:0;background:#dce6e2;cursor:pointer;overflow:hidden}.photo-button img{width:100%;height:100%;object-fit:cover;transition:transform .35s}.card:hover .photo-button img{transform:scale(1.035)}.photo-count{position:absolute;right:.7rem;bottom:.7rem;padding:.35rem .6rem;border-radius:999px;background:rgba(15,44,36,.85);color:#fff;font-size:.78rem;font-weight:700}.missing-photo{display:grid;place-items:center;height:210px;background:linear-gradient(135deg,#dfe9e5,#c8d8d2);color:#5d716a;font-weight:800}.card-body{padding:1rem}.card-topline{display:flex;justify-content:space-between;align-items:flex-start;gap:.8rem}.card h2{margin:0;font-family:Georgia,serif;font-size:1.16rem;line-height:1.25}.price{white-space:nowrap;color:#9a6815;font-weight:900}.description{display:-webkit-box;overflow:hidden;margin:.8rem 0;color:#475953;font-size:.92rem;-webkit-line-clamp:5;-webkit-box-orient:vertical}.status{display:inline-flex;align-items:center;gap:.4rem;color:#426158;font-size:.82rem;font-weight:800}.status::before{content:"";width:8px;height:8px;border-radius:50%;background:#2d9b70}.empty-state{text-align:center;padding:5rem 1rem}.gallery-dialog{width:min(1100px,94vw);max-height:94vh;padding:0;border:0;border-radius:18px;background:#10231e;color:#fff;box-shadow:0 30px 80px rgba(0,0,0,.45)}.gallery-dialog::backdrop{background:rgba(7,18,15,.82)}.close-button{position:absolute;z-index:2;top:.75rem;right:.75rem;width:42px;height:42px;border:0;border-radius:50%;background:rgba(255,255,255,.92);color:#17352d;font-size:1.8rem;cursor:pointer}.gallery-stage{position:relative;display:grid;place-items:center;height:min(68vh,680px);background:#09130f}.gallery-stage img{max-width:100%;max-height:100%;object-fit:contain}.nav-button{position:absolute;top:50%;translate:0 -50%;width:48px;height:56px;border:0;background:rgba(255,255,255,.88);color:#17352d;font-size:2.4rem;cursor:pointer}.previous{left:0;border-radius:0 10px 10px 0}.next{right:0;border-radius:10px 0 0 10px}.gallery-caption{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.2rem}.gallery-caption h2,.gallery-caption p{margin:0}.gallery-caption h2{font-family:Georgia,serif;font-size:1.2rem}.gallery-caption p{color:#b8c9c3;font-size:.85rem}.gallery-thumbs{display:flex;gap:.4rem;max-width:55%;overflow-x:auto}.gallery-thumbs button{flex:0 0 58px;height:44px;padding:0;border:2px solid transparent;border-radius:6px;overflow:hidden;background:none;cursor:pointer}.gallery-thumbs button.active{border-color:#e9bd66}.gallery-thumbs img{width:100%;height:100%;object-fit:cover}@media(max-width:820px){.controls{grid-template-columns:1fr 1fr}.search-field{grid-column:1/-1}.topbar{position:static}.gallery-caption{align-items:flex-start;flex-direction:column}.gallery-thumbs{max-width:100%}}@media(max-width:520px){.controls{grid-template-columns:1fr}.search-field{grid-column:auto}.results-bar{align-items:stretch;flex-direction:column}.results-bar select{width:100%}.catalogue-grid{grid-template-columns:1fr}.brand p{display:none}.ghost-button{padding:.55rem .75rem}}
/* 7Hearts brand and accessible catalogue details */
:root{--ink:#062348;--muted:#536479;--cream:#f3f5f8;--paper:#fff;--gold:#c71929;--line:#dce2ea;--green:#062348;--shadow:0 16px 40px #06234818}
.topbar{background:#fff;color:var(--ink);border-bottom:1px solid var(--line);box-shadow:none;position:static}.brand-logo{width:180px;height:78px;object-fit:contain}.brand h1{font-size:1.35rem}.brand p{color:var(--muted);font-size:.9rem}.ghost-button{color:var(--ink);border-color:#b6c2d1}.intro{padding:2rem 0 2.2rem;max-width:850px}.eyebrow{font-size:.8rem;font-weight:800;letter-spacing:.14em;color:#bc1528}.intro h2{font-family:Georgia,serif;font-size:clamp(2.2rem,6vw,3.7rem);line-height:1.1;margin:.5rem 0 1rem}.intro p{color:var(--muted)}.intro .eyebrow{color:#bc1528}.contact-links{display:flex;gap:.75rem 1.2rem;align-items:center;flex-wrap:wrap;margin:1.3rem 0}.contact-links a{color:var(--ink);overflow-wrap:anywhere}.contact-links a:first-child,.enquire-button{background:#062348;color:white;border-radius:8px;padding:.75rem 1rem;text-decoration:none;font-weight:700}.intro .rate-note{font-size:.9rem;max-width:740px}label{color:#43536a;font-size:.9rem}.card-topline{flex-direction:column;gap:.5rem}.price{color:#b3182a;font-size:1.1rem;white-space:normal}.reference{color:var(--muted);font-size:.85rem;margin:.6rem 0}.description{display:block;overflow:visible;-webkit-line-clamp:unset;color:#43536a;font-size:1rem;overflow-wrap:anywhere}.status{color:#536479;font-weight:500;font-size:.9rem;margin:.8rem 0}.status::before{display:none}.enquire-button{display:block;text-align:center}.enquire-button:hover,.contact-links a:first-child:hover{background:#123c6e}summary{cursor:pointer;color:#062348;font-weight:650;padding:.35rem 0}a:focus-visible,summary:focus-visible,input:focus,select:focus,button:focus-visible{outline:3px solid #c71929;outline-offset:3px}.gallery-dialog,.gallery-stage{background:#071c35}.gallery-dialog::backdrop{background:#020c1de8}.gallery-thumbs button.active{border-color:#ee4352}.photo-count{background:#062348df}footer{border-top:1px solid var(--line);padding:1.5rem;text-align:center;color:var(--muted);font-size:.9rem}@media(max-width:520px){.brand{flex-direction:column;align-items:flex-start;gap:.4rem}.brand-logo{width:150px;height:62px}.brand h1{font-size:1.1rem}.topbar{gap:.75rem}.catalogue-grid{min-width:0}.intro{padding-top:1.2rem}.card:hover{transform:none}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}
