.rr-directory { color:#24211e; background:#f7f3ec; }
.rrd-intro { padding:clamp(3rem,6vw,6rem) 0 clamp(3rem,5vw,5rem); background:#ece0d0; }
.rrd-breadcrumb { display:flex; gap:.75rem; margin-bottom:2.5rem; font-size:.8rem; color:#5c5147; }
.rrd-intro .eyebrow,.rrd-invite .eyebrow { color:#99502c; }
.rrd-intro h1 { font-family:var(--rr-body); font-weight:800; font-size:clamp(3.5rem,8vw,7rem); line-height:.98; letter-spacing:-.065em; margin:0 0 3rem; }
.rrd-intro-row { display:grid; grid-template-columns:1fr 1fr; gap:4rem; align-items:start; }
.rrd-intro-row>p { font-size:clamp(1.25rem,2.3vw,2rem); line-height:1.35; letter-spacing:-.03em; margin:0; }
.rrd-intro-row>div p { font-size:.95rem; line-height:1.7; color:#5c5147; margin:0 0 1rem; }
.rrd-roster { padding:clamp(3rem,6vw,6rem) 0; }
.rrd-roster-heading { display:flex; align-items:center; justify-content:space-between; gap:1.5rem; border-bottom:1px solid #bda993; padding-bottom:1.2rem; margin-bottom:2.5rem; }
.rrd-roster h2 { font-family:var(--rr-body); font-size:2rem; letter-spacing:-.04em; margin:0; font-weight:800; }
.rrd-roster-heading>p { color:#5c5147; font-size:.9rem; margin:0; }
.rrd-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:3rem 1.8rem; }
.rrd-card-link { display:block; text-decoration:none; }
.rrd-portrait { position:relative; aspect-ratio:4/5; overflow:hidden; background:#ece0d0; }
.rrd-portrait img { width:100%; height:100%; object-fit:cover; object-position:50% 25%; transition:transform .3s; }
.rrd-card-link:hover img { transform:scale(1.025); }
.rrd-status { position:absolute; top:1rem; left:1rem; background:#f7f3ec; color:#24211e; padding:.5rem .7rem; font-size:.63rem; letter-spacing:.08em; font-weight:750; text-transform:uppercase; max-width:calc(100% - 2rem); }
.rrd-status--available { background:#24211e; color:#f7f3ec; }
.rrd-arrow { position:absolute; bottom:0; right:0; display:grid; place-items:center; width:48px; height:48px; color:#f7f3ec; background:#24211e; font-size:1.3rem; }
.rrd-card h3 { font-family:var(--rr-body); font-weight:800; font-size:1.6rem; letter-spacing:-.04em; line-height:1.2; margin:1.1rem 0 .5rem; }
.rrd-card p { color:#5c5147; font-size:.9rem; line-height:1.5; margin:0 0 .75rem; }
.rrd-profile { font-size:.79rem; display:inline-block; border-bottom:1px solid #bda993; padding-bottom:.2rem; }
.rrd-portrait-empty { height:100%; padding:2rem; display:flex; flex-direction:column; justify-content:center; gap:1rem; }
.rrd-portrait-empty span:first-child { font:2rem Georgia,serif; }
.rrd-portrait-empty span:last-child { text-transform:uppercase; font-size:.7rem; letter-spacing:.12em; }
.rrd-invite { background:#24211e; color:#f7f3ec; padding:clamp(3rem,6vw,6rem) 0; }
.rrd-invite .eyebrow { color:#d99c76; }
.rrd-invite h2 { font-family:var(--rr-body); font-weight:800; font-size:clamp(2.5rem,5vw,4.5rem); line-height:1.05; letter-spacing:-.055em; margin:0 0 1.5rem; }
.rrd-invite p:not(.eyebrow) { max-width:520px; color:#d4c7b8; }
.rrd-invite .button { background:#99502c; color:white; }
.rrd-empty { padding:2rem 0; }
@media(max-width:850px) { .rrd-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .rrd-intro-row { gap:2rem; } }
@media(max-width:600px) { .rrd-intro-row { grid-template-columns:1fr; } .rrd-grid { gap:2rem 1rem; } .rrd-card h3 { font-size:1.2rem; } .rrd-card p { font-size:.78rem; } .rrd-roster-heading { flex-direction:column; align-items:start; gap:.5rem; } .rrd-status { top:.5rem; left:.5rem; padding:.35rem .4rem; font-size:.5rem; max-width:calc(100% - 1rem); } .rrd-arrow { width:32px; height:32px; } .rrd-profile { font-size:.7rem; } }
@media(prefers-reduced-motion:reduce) { .rrd-portrait img { transition:none; } }
