.article-companion{margin:3rem 0;padding-top:2rem;border-top:1px solid #dcd2c2}.article-companion-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(220px,1fr);gap:2rem;align-items:start}.article-companion-cast{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.article-companion-cast>*{min-width:0}.article-companion .person-directory-card{border:1px solid #ded6c8;border-radius:12px;overflow:hidden;background:#fffdf7;height:100%}.article-companion .person-directory-photo{display:block;aspect-ratio:4/5;background:#e8dfce;overflow:hidden}.article-companion .person-directory-photo img{width:100%;height:100%;object-fit:cover;margin:0}.article-companion .person-directory-info{padding:1.25rem}.article-companion .person-directory-info h3{margin:0 0 .5rem;font-size:1.8rem}.article-companion .person-directory-name{font-size:1rem}.article-companion .person-directory-birthday span:first-child{display:block;text-transform:uppercase;font-size:.75rem;letter-spacing:.08em}.article-companion .person-directory-facts{font-size:1rem;margin:1rem 0}.article-companion .person-directory-zodiac{margin-top:.7rem}.article-companion-info{padding:1.5rem;background:#eee8dc;border-radius:12px;min-width:0}.article-companion-info h3{margin-top:0}.article-companion-info nav{display:grid;gap:.8rem}.article-companion-info a{overflow-wrap:anywhere}.article-companion-schedule{border-top:1px solid #d2c7b8;margin-top:1.5rem;padding-top:1.5rem}.article-companion-schedule p{font-size:1rem}.article-watchlist{display:flex;flex-wrap:wrap;align-items:center;gap:1rem;margin:1.5rem 0}.article-watchlist .button{white-space:normal;max-width:100%}.article-watchlist [hidden]{display:none}.article-watchlist [role=status]{font-size:.9rem}.article-watchlist [role=status]:empty{display:none}@media(max-width:760px){.article-companion-grid{grid-template-columns:1fr}.article-companion-cast{gap:.65rem}.article-companion .person-directory-info{padding:.8rem}.article-companion .person-directory-info h3{font-size:1.5rem}.article-companion .person-directory-name,.article-companion .person-directory-facts{font-size:.85rem}.article-companion .person-directory-explore{font-size:.75rem}.article-watchlist .button{width:100%}}
.article-companion-cast>div{display:flex;flex-direction:column;gap:.5rem}.article-companion .person-directory-card{height:auto;flex:1}.article-companion .person-directory-info h3{font-family:Georgia,serif}.article-companion .person-directory-birthday span:first-child{display:inline;text-transform:none;font-size:inherit;letter-spacing:normal}.article-companion .person-directory-birthday>span:first-child{display:block;text-transform:uppercase;font-size:.75rem;letter-spacing:.08em}.article-companion .person-directory-age{display:inline;white-space:nowrap}.article-companion .person-directory-age span{display:inline}.article-companion-cast .image-credit-details{font-size:.8rem}
/* Compact facts on narrow article cards; override global mobile ornament hiding. */
@media(max-width:760px){
 .article-companion .person-directory-info{padding:12px;display:block}
 .article-companion .person-directory-info h3{font-size:24px;line-height:1.1;margin:0 0 6px}
 .article-companion .person-directory-name{font:12px/1.35 Arial,sans-serif;margin:0 0 10px;min-height:2.7em}
 .article-companion .person-directory-facts{font:12px/1.4 Arial,sans-serif;gap:7px;margin:0 0 10px;padding:0}
 .article-companion .person-directory-birthday{display:block;margin:0}
 .article-companion .person-directory-birthday>span:first-child{font-size:9px;line-height:1.3;margin:0 0 3px}
 .article-companion .person-directory-birthday time{white-space:nowrap}
 .article-companion .person-directory-age{font-size:10px}
 .article-companion .person-directory-zodiac{margin:0;gap:5px;min-height:22px}
 body .article-companion .person-directory-zodiac-symbol{display:inline-block!important;font:22px/1 Georgia,'Times New Roman',serif}
 .article-companion .person-directory-explore{font:10px/1.3 Arial,sans-serif;letter-spacing:.04em;margin:0;padding:5px 0;white-space:nowrap}
 .article-companion-cast>div{gap:5px}
 .article-companion-cast .image-credits{margin:0;font-size:11px}
 .article-companion-cast .image-credits summary{padding:4px 0}
}
@media(max-width:760px){.article-companion-cast{align-items:start}.article-companion .person-directory-card{flex:none}}


/* Approved editorial card treatment. Scoped to article companions only. */
.article-companion{border-color:var(--line)}
.article-companion .person-directory-card{background:var(--paper);border-color:var(--line);border-radius:10px}
.article-companion .person-directory-photo{background:var(--cream)}
.article-companion .person-directory-info{padding:14px;display:flex;flex-direction:column;gap:0}
.article-companion .person-directory-info h3{font:normal 23px/1.2 Georgia,serif;margin:0 0 6px;padding:0}
.article-companion .person-directory-info h3 a{color:var(--ink);font:inherit;text-decoration:none;border:0}
.article-companion .person-directory-info h3 a:hover{text-decoration:underline}
.article-companion .person-directory-name{font:14px/1.45 Arial,sans-serif;margin:0 0 8px;min-height:0}
.article-companion .person-directory-facts{font:12px/1.45 Arial,sans-serif;color:var(--muted);margin:0 0 12px;padding:0}
.article-companion .person-directory-explore{font:600 12px/1.4 Arial,sans-serif;margin:0;padding:0;align-self:flex-start;letter-spacing:0}
.article-companion-info{background:var(--cream);border:1px solid var(--line);border-radius:10px}
.article-companion-info nav a{font:14px/1.5 Arial,sans-serif}
.article-companion .article-companion-schedule{border-color:var(--line)}
.article-watchlist .button{border-radius:var(--arc-control-radius,6px);min-height:48px;font:600 13px/1.4 Arial,sans-serif}
@media(max-width:760px){
 .article-companion .person-directory-info{padding:12px}
 .article-companion .person-directory-info h3{font-size:21px}
 .article-companion .person-directory-name{font-size:13px;min-height:0}
 .article-companion .person-directory-explore{font-size:12px}
}
.article-watchlist-group{display:flex;flex-wrap:wrap;gap:10px;margin:20px 0}
.article-watchlist-group .article-watchlist{margin:0;display:flex;flex-direction:column;align-items:start;gap:4px}
.article-companion-compact .person-directory-birthday>span:first-child,.article-companion-compact .person-directory-age,.article-companion-compact .person-directory-zodiac{display:none}
.article-companion-compact .article-companion-info>p,.article-companion-compact .article-companion-info li{font:14px/1.5 Arial,sans-serif}
.article-companion-compact .person-directory-facts{display:block}

/* Keep article cast-card footers compact and aligned across name lengths. */
.article-companion .article-companion-cast{align-items:stretch}
.article-companion .article-companion-cast>div{min-width:0}
.article-companion .article-companion-cast .person-directory-card{display:flex;flex-direction:column;flex:1;min-width:0}
.article-companion .article-companion-cast .person-directory-info{display:flex;flex-direction:column;flex:1;min-width:0;gap:0}
.article-companion .article-companion-cast .person-directory-info h3{margin:0 0 6px;padding:0}
.article-companion .article-companion-cast .person-directory-name{margin:0 0 10px;min-height:0;overflow-wrap:anywhere}
.article-companion .article-companion-cast .person-directory-facts{margin:0 0 12px;padding:0}
.article-companion .article-companion-cast .person-directory-explore{display:inline-flex;align-self:flex-start;margin:auto 0 0;padding:4px 0;font:600 12px/1.4 Arial,sans-serif;letter-spacing:0;white-space:normal}
.article-companion .article-companion-cast .image-credits{margin:0;font:12px/1.4 Arial,sans-serif}
.article-companion .article-companion-cast .image-credits summary{padding:4px 0}
@media(max-width:760px){
 .article-companion .article-companion-cast .person-directory-info{padding:12px}
 .article-companion .article-companion-cast .person-directory-explore{font-size:11px}
}
