/* Scoped to the curated collection; the hero and CTA retain their existing styles. */
.tr-collection { padding:clamp(3rem,6vw,5.5rem) 0; background:#faf8f6; }
.tr-intro { display:grid; grid-template-columns:1fr 1fr; gap:3rem; align-items:end; margin-bottom:2.5rem; }
.tr-intro .label-overline { margin-bottom:1rem; }
.tr-intro h2 { color:var(--color-deep-plum); line-height:1.08; }
.tr-intro__copy { max-width:33rem; justify-self:end; color:var(--color-mid-gray); font-size:1.05rem; line-height:1.8; }
.tr-intro__copy span { display:block; margin-top:1rem; font-size:.8rem; color:#786970; }
.tr-toolbar { border-top:1px solid #e4dadf; padding:1.5rem 0 2rem; display:flex; align-items:center; justify-content:space-between; gap:1rem; }
.tr-toolbar[hidden], .tr-card[hidden] { display:none; }
.tr-filters { display:flex; flex-wrap:wrap; gap:.5rem; }
.tr-filter { font:inherit; font-size:.82rem; border:1px solid #ded2d8; border-radius:30px; padding:.65rem 1rem; color:var(--color-deep-plum); background:transparent; cursor:pointer; transition:background .2s,color .2s; }
.tr-filter span { margin-left:.4rem; opacity:.65; font-size:.72rem; }
.tr-filter[aria-pressed="true"] { background:var(--color-deep-plum); color:white; border-color:var(--color-deep-plum); }
.tr-filter:hover { border-color:var(--color-deep-plum); }
.tr-count { font-size:.8rem; white-space:nowrap; color:#786970; }
.tr-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:2rem; align-items:start; }
.tr-grid--single { grid-template-columns:minmax(0,1fr); max-width:1000px; margin-inline:auto; }
.tr-card { min-width:0; background:white; border:1px solid #e9e0e4; border-radius:12px; overflow:hidden; box-shadow:0 8px 30px #32132b05; }
.tr-card__heading { display:flex; align-items:center; gap:1rem; padding:1.5rem; }
.tr-card__number { font-family:var(--font-serif); font-size:2.5rem; line-height:1; color:#bea985; border-right:1px solid #e9e0e4; padding-right:1rem; }
.tr-card__category { font-size:.65rem; letter-spacing:.16em; text-transform:uppercase; color:#8b657c; font-weight:500; margin-bottom:.3rem; }
.tr-card__heading h3 { font-family:var(--font-serif); color:var(--color-deep-plum); font-size:clamp(1.5rem,2vw,2rem); font-weight:400; line-height:1.15; }
.tr-comparison { display:grid; grid-template-columns:1fr 1.3fr; gap:3px; background:white; }
.tr-photo { position:relative; display:flex; align-items:center; justify-content:center; min-width:0; height:clamp(240px,26vw,370px); overflow:hidden; background:#eee8e4; cursor:zoom-in; }
.tr-photo img { width:100%; height:100%; object-fit:contain; display:block; }
.tr-photo--after { background:#eae5e1; }
.tr-photo__label { position:absolute; top:.75rem; left:.75rem; padding:.35rem .7rem; border-radius:3px; background:#fffef5ed; color:#403138; font-size:.65rem; font-weight:500; text-transform:uppercase; letter-spacing:.12em; box-shadow:0 1px 8px #0001; }
.tr-photo--after .tr-photo__label { background:var(--color-deep-plum); color:white; }
.tr-photo__zoom { position:absolute; right:.65rem; bottom:.65rem; width:28px; height:28px; border-radius:50%; display:grid; place-items:center; background:#fffef5ed; color:#403138; font-size:1.1rem; }
.tr-card__body { padding:1.4rem 1.5rem 1.6rem; }
.tr-card__kicker { color:var(--color-deep-plum); font-weight:500; font-size:.92rem; margin-bottom:.5rem; }
.tr-card__description { color:#75676f; font-size:.9rem; line-height:1.75; }
.tr-details { margin-top:1.2rem; padding-top:1rem; border-top:1px solid #eee6ea; }
.tr-details__label { display:block; font-size:.68rem; text-transform:uppercase; letter-spacing:.1em; color:#8b657c; margin-bottom:.75rem; }
.tr-thumbnails { display:flex; gap:.55rem; flex-wrap:wrap; }
.tr-thumbnails a { width:68px; height:58px; border:2px solid transparent; padding:2px; border-radius:5px; background:#f5f1ee; }
.tr-thumbnails a[aria-current="true"] { border-color:var(--color-deep-plum); }
.tr-thumbnails img { display:block; width:100%; height:100%; object-fit:cover; border-radius:2px; }
.tr-footnote { text-align:center; color:#8b657c; font-family:var(--font-serif); font-size:1.5rem; margin-top:3rem; }
.tr-dialog { position:fixed; inset:0; margin:auto; padding:1rem; width:min(1100px,94vw); max-width:94vw; max-height:94dvh; border:0; border-radius:10px; background:#211923; color:white; box-shadow:0 20px 100px #0008; }
.tr-dialog[open] { display:grid; grid-template-rows:auto minmax(0,1fr); gap:1rem; height:min(900px,90dvh); max-height:90dvh; overflow:hidden; }
.tr-dialog::backdrop { background:#150e1ce6; }
.tr-dialog__bar { display:flex; justify-content:space-between; align-items:center; gap:1rem; margin-bottom:0; font-size:.85rem; }
.tr-dialog__bar button { flex-shrink:0; background:transparent; border:1px solid #ffffff60; border-radius:30px; color:white; padding:.4rem .8rem; font:inherit; cursor:pointer; }
.tr-dialog__bar button span { font-size:1.25rem; margin-left:.3rem; }
.tr-dialog > img { display:block; width:100%; height:100%; min-height:0; object-fit:contain; }
.tr-collection :is(a,button):focus-visible { outline:3px solid #c5a44c; outline-offset:3px; }
@media (max-width:900px) { .tr-intro { gap:2rem; } .tr-toolbar { align-items:start; flex-direction:column; } .tr-grid { gap:1.25rem; } .tr-card__heading,.tr-card__body { padding:1.15rem; } }
@media (max-width:700px) { .tr-intro { grid-template-columns:1fr; gap:1.25rem; margin-bottom:1.75rem; } .tr-intro__copy { max-width:none; justify-self:start; font-size:.95rem; } .tr-grid { grid-template-columns:1fr; gap:1.5rem; } .tr-photo { height:clamp(230px,60vw,380px); } .tr-filter { font-size:.76rem; padding:.55rem .8rem; } .tr-footnote { font-size:1.25rem; margin-top:2rem; } }
