.main-nav .active::after{right:0}

.residents-hero{position:relative;min-height:620px;display:grid;align-items:center;overflow:hidden;background:var(--paper)}
.residents-hero::before{content:"";position:absolute;inset:0;background:url("../assets/residents/theo-moments.jpg") center/cover no-repeat;filter:saturate(.85);opacity:.28}
.residents-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,250,241,.97),rgba(255,250,241,.78) 50%,rgba(255,250,241,.25))}
.residents-hero-copy{position:relative;z-index:2;max-width:720px;padding-top:72px}
.residents-hero-copy h1,.resident-hero h1,.resident-section h2,.resident-grid h2,.resident-next h2{margin:0;font-family:"Lora",Georgia,serif;font-weight:600;line-height:1.08}
.residents-hero-copy h1{font-size:clamp(3.4rem,6vw,5.8rem)}

.residents-overview{padding:90px 0;background:var(--paper-light)}
.resident-list{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.resident-card{overflow:hidden;border:1px solid var(--line);border-radius:24px;background:#fff;box-shadow:var(--shadow)}
.resident-card img{width:100%;height:340px;object-fit:cover;object-position:top}
.resident-card>div{padding:24px}
.resident-card h2{font:600 1.8rem "Lora",Georgia,serif;margin:0}
.resident-card p{color:var(--muted)}
.resident-card a{font-weight:700;color:var(--forest-dark)}

.resident-hero{display:grid;grid-template-columns:.9fr 1.1fr;min-height:720px;padding-top:78px;background:var(--paper-light)}
.resident-portrait{display:grid;place-items:end center;background:linear-gradient(180deg,#f2e8d5,#e6d7bc)}
.resident-portrait img{width:min(520px,90%);max-height:650px;object-fit:contain;object-position:bottom}
.resident-hero-copy{display:flex;flex-direction:column;justify-content:center;padding:70px clamp(36px,6vw,90px)}
.resident-hero-copy h1{font-size:clamp(3.6rem,6vw,5.8rem)}
.resident-role{font:600 1.15rem "Lora",Georgia,serif;color:var(--forest-dark);margin:8px 0 0}
.resident-intro{font-size:1.08rem;color:var(--muted);max-width:620px}
.resident-meta{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin:26px 0}
.resident-meta div{padding:13px 0;border-top:1px solid var(--line)}
.resident-meta dt{font-size:.68rem;text-transform:uppercase;letter-spacing:.1em;color:var(--muted)}
.resident-meta dd{margin:3px 0 0;font-weight:600}

.resident-local-nav{position:sticky;top:78px;z-index:15;display:flex;justify-content:center;gap:28px;padding:15px;background:rgba(255,250,241,.95);border-top:1px solid var(--line);border-bottom:1px solid var(--line);backdrop-filter:blur(10px)}
.resident-local-nav a{font-size:.86rem;font-weight:600}

.resident-section{padding:90px 0}
.resident-section.alt{background:var(--paper)}
.resident-section.light{background:var(--paper-light)}
.resident-section h2,.resident-grid h2,.resident-next h2{font-size:clamp(2.4rem,4.2vw,3.8rem)}
.resident-section p{color:var(--muted)}
.resident-two-col{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}
.resident-two-col img{width:100%;border-radius:24px;box-shadow:var(--shadow)}
.traits-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:30px}
.trait{padding:22px;border:1px solid var(--line);border-radius:18px;background:#fff}
.trait strong{display:block;font:600 1.1rem "Lora",Georgia,serif}
.trait small{display:block;margin-top:5px;color:var(--muted)}

.arc-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.arc-card{padding:28px;border:1px solid var(--line);border-radius:22px;background:#fff}
.arc-card h3{font:600 1.45rem "Lora",Georgia,serif;margin-top:0}
.arc-card p{margin-bottom:0}

.moments-image,.expressions-image{width:100%;border-radius:24px;box-shadow:var(--shadow)}
.favorite-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.favorite-card{padding:26px;border:1px solid var(--line);border-radius:22px;background:#fff}
.favorite-card h3{font:600 1.35rem "Lora",Georgia,serif;margin-top:0}
.favorite-card ul{margin:0;padding-left:18px;color:var(--muted)}

.story-links{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.story-link{padding:24px;border:1px solid var(--line);border-radius:20px;background:#fff}
.story-link strong,.story-link small{display:block}
.story-link strong{font:600 1.3rem "Lora",Georgia,serif}
.story-link small{margin-top:6px;color:var(--muted)}

.resident-next{padding:90px 0;background:var(--paper-light)}
.resident-next-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.resident-next-grid a{padding:24px;border:1px solid var(--line);border-radius:20px;background:#fff}
.resident-next-grid strong,.resident-next-grid small{display:block}
.resident-next-grid strong{font:600 1.25rem "Lora",Georgia,serif}
.resident-next-grid small{margin-top:6px;color:var(--muted)}

@media(max-width:980px){
  .resident-list{grid-template-columns:1fr 1fr}
  .resident-hero{grid-template-columns:1fr}
  .resident-portrait{min-height:520px}
  .resident-two-col{grid-template-columns:1fr}
  .traits-grid{grid-template-columns:repeat(2,1fr)}
  .story-links,.resident-next-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:680px){
  .residents-hero{min-height:560px}
  .residents-hero-copy{text-align:center;padding-top:96px}
  .resident-list{grid-template-columns:1fr}
  .resident-hero{padding-top:68px}
  .resident-portrait{min-height:420px}
  .resident-hero-copy{text-align:center;padding:35px 20px 45px}
  .resident-meta{grid-template-columns:1fr}
  .resident-local-nav{top:68px;justify-content:flex-start;overflow-x:auto;white-space:nowrap}
  .resident-section,.resident-next{padding:65px 0}
  .traits-grid,.arc-grid,.favorite-grid,.story-links,.resident-next-grid{grid-template-columns:1fr}
}