/* The companion collection page. Uses the site's tokens and the existing CSS marks from /styles.css. */
.companions-hero{padding:92px 0 30px}
.companions-hero h1{font-size:clamp(44px,5vw,76px);line-height:1.05;letter-spacing:-.06em;font-weight:680;margin:24px 0}
.companions-hero h1 em{font:italic 1.04em var(--display);font-weight:400;letter-spacing:-.06em;color:var(--mint)}
.companions-intro{font-size:17px;line-height:1.8;color:var(--muted);max-width:680px;margin-bottom:24px}
.companions-status{border:1px solid #84613e;background:#1a1712;color:#ecd9bd;border-radius:10px;padding:15px 18px;font-size:14px;line-height:1.65;max-width:680px;margin-bottom:26px}
.companions-status strong{color:#f3cf98}
.stage-key{display:flex;flex-wrap:wrap;gap:14px 34px;margin:0}
.stage-key div{display:flex;gap:12px;align-items:center;max-width:460px}
.stage-key dt{flex:none}
.stage-key dd{margin:0;font-size:14px;line-height:1.6;color:var(--muted)}
.stage-chip{display:inline-block;font-size:10px;white-space:nowrap;letter-spacing:.06em;border-radius:4px;padding:7px 8px;font-weight:800}
.stage-chip.prototype{border:1px solid #84613e;color:#e8bd7f}
.stage-chip.concept{border:1px solid #4c5f6b;color:#bfd0da}
.companion-grid{list-style:none;margin:0 0 34px;padding:0;display:grid;gap:16px}
.companion-grid.prototypes{grid-template-columns:repeat(2,minmax(0,1fr))}
.companion-grid.concepts{grid-template-columns:repeat(3,minmax(0,1fr))}
.companion-card{overflow:hidden;border:1px solid #283b39;background:#0d1718;border-radius:12px;display:flex;flex-direction:column}
.companion-art{height:250px;overflow:hidden;position:relative;display:flex;align-items:center;justify-content:center}
.concept-art{height:180px;background:repeating-linear-gradient(135deg,#0f1c1e 0 14px,#0c1719 14px 28px)}
.monogram{display:flex;align-items:center;justify-content:center;width:84px;height:84px;border-radius:50%;border:1px dashed #4c5f6b;font:italic 400 44px var(--display);color:#bfd0da}
.companion-copy{padding:22px 24px 26px;display:flex;flex-direction:column;align-items:flex-start;gap:10px}
.companion-copy h3{font-size:30px;letter-spacing:-.045em;margin:6px 0 0}
.companion-kind{margin:0;font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:#a9bfb5}
.companion-copy p{font-size:14px;line-height:1.7;color:var(--muted);margin:0}
.companion-copy .companion-availability{font-size:12px;color:#a9bfb5;padding-left:14px;position:relative}
.companion-copy .companion-availability::before{content:"";position:absolute;left:0;top:.5em;width:6px;height:6px;border-radius:50%;border:1px solid #a9bfb5}
.companions-page .footer-bottom a{color:#a4b7ad;display:inline-flex;align-items:center;min-height:24px}
.companions-page .footer-bottom a:hover{color:var(--mint)}
@media(max-width:850px){.companion-grid.concepts{grid-template-columns:repeat(2,minmax(0,1fr))}.companions-hero{padding:64px 0 10px}}
@media(max-width:620px){.companion-grid.prototypes,.companion-grid.concepts{grid-template-columns:1fr}.companions-hero h1{font-size:clamp(38px,10.5vw,54px)}.companions-intro{font-size:15px}}
