/*
 * team-member.css
 * Single team member page styles.
 * Extracted from the inline <style> block in single-fm_team.php.
 * Loaded via: enqueue.php → filmmerge-page-team-member handle.
 */

.tm-hero { position:relative; background:var(--deep); padding:80px 0 64px; border-bottom:1px solid var(--border); overflow:hidden; }
.tm-hero__bg { position:absolute; inset:0; background:radial-gradient(ellipse 70% 80% at 80% 20%, rgba(200,151,58,.05), transparent 60%); pointer-events:none; }
.tm-hero__inner, .tm-content__inner, .tm-others__inner { max-width:1200px; margin:0 auto; padding:0 28px; position:relative; z-index:2; }
.tm-breadcrumb { display:flex; align-items:center; gap:8px; font-size:.75rem; color:var(--muted); margin-bottom:40px; }
.tm-breadcrumb a { color:var(--muted); transition:color var(--transition); }
.tm-breadcrumb a:hover { color:var(--gold); }
.tm-breadcrumb span { color:var(--cream); }
.tm-hero__grid { display:grid; grid-template-columns:320px minmax(0, 1fr); gap:72px; align-items:start; }
.tm-hero__photo { width:100%; aspect-ratio:1/1; object-fit:cover; object-position:center top; border-radius:20px; border:1px solid var(--border); display:block; box-shadow:0 32px 80px rgba(0,0,0,.5); }
.tm-hero__photo-placeholder, .tm-member-card__placeholder { width:100%; aspect-ratio:1/1; border-radius:20px; border:1px solid var(--border); background:linear-gradient(145deg,rgba(200,151,58,.1),rgba(200,151,58,.04)); display:flex; align-items:center; justify-content:center; }
.tm-hero__photo-placeholder i, .tm-member-card__placeholder i { font-size:6rem; color:rgba(200,151,58,.25); }
.tm-hero__info { padding-top:8px; }
.tm-hero__name { font-family:var(--serif); font-size:clamp(2.4rem,4vw,3.6rem); font-weight:700; color:var(--white); line-height:1.1; margin:10px 0 20px; }
.tm-hero__bio { font-size:1rem; color:var(--muted); line-height:1.8; margin-bottom:28px; max-width:640px; }
.tm-hero__bio p { margin:0 0 1.05em; }
.tm-hero__socials { display:flex; flex-wrap:wrap; gap:10px; margin-bottom:32px; }
.tm-social-btn { display:inline-flex; align-items:center; gap:8px; font-size:.78rem; font-weight:600; letter-spacing:.06em; color:var(--cream); background:var(--panel); border:1px solid var(--border); padding:9px 16px; border-radius:var(--radius); text-decoration:none; transition:var(--transition); }
.tm-social-btn:hover { border-color:rgba(200,151,58,.4); color:var(--gold); }
.tm-social-btn i { font-size:1rem; color:var(--gold); }
.tm-back-link { display:inline-flex; align-items:center; gap:8px; font-size:.78rem; font-weight:600; letter-spacing:.08em; text-transform:uppercase; color:var(--muted); text-decoration:none; transition:color var(--transition); }
.tm-back-link:hover { color:var(--gold); }
.tm-content { background:var(--ink); padding:72px 0; }
.tm-content__grid { display:grid; grid-template-columns:minmax(0,1.7fr) minmax(300px,.8fr); gap:32px; align-items:start; }
.tm-content-intro { margin-bottom:24px; }
.tm-content-intro h2 { font-family:var(--serif); font-size:clamp(1.6rem,3vw,2.3rem); color:var(--white); margin:8px 0 0; }
.tm-prose p { font-size:1rem; color:var(--muted); line-height:1.9; margin-bottom:22px; }
.tm-prose h2 { font-family:var(--serif); font-size:1.8rem; font-weight:700; color:var(--white); margin:42px 0 14px; }
.tm-prose h3 { font-family:var(--serif); font-size:1.3rem; font-weight:700; color:var(--cream); margin:32px 0 12px; }
.tm-prose ul, .tm-prose ol { color:var(--muted); padding-left:1.2rem; margin:0 0 22px; }
.tm-prose blockquote { border-left:3px solid var(--gold); padding:16px 22px; background:var(--panel); border-radius:0 8px 8px 0; margin:28px 0; font-family:var(--serif); font-style:italic; color:var(--cream); line-height:1.7; }
.tm-side-card { background:linear-gradient(180deg, rgba(255,255,255,.02), rgba(255,255,255,.01)); border:1px solid var(--border); border-radius:18px; padding:24px; position:sticky; top:96px; }
.tm-side-card__label { font-size:.68rem; letter-spacing:.16em; text-transform:uppercase; font-weight:700; color:var(--muted); margin-bottom:10px; }
.tm-side-card__name { font-family:var(--serif); font-size:1.5rem; color:var(--white); margin-bottom:6px; }
.tm-side-card__role { color:var(--gold); font-weight:600; margin-bottom:16px; }
.tm-side-card__meta { display:grid; gap:10px; margin-bottom:18px; }
.tm-side-card__meta-row { display:flex; justify-content:space-between; gap:12px; border-top:1px solid var(--border); padding-top:10px; font-size:.85rem; color:var(--muted); }
.tm-side-card__meta-row strong { color:var(--cream); font-weight:600; }
.tm-side-card__socials { display:flex; flex-direction:column; gap:10px; }
.tm-side-card__social { display:flex; align-items:center; justify-content:space-between; gap:10px; color:var(--cream); text-decoration:none; border:1px solid var(--border); border-radius:12px; padding:11px 12px; transition:var(--transition); }
.tm-side-card__social:hover { border-color:rgba(200,151,58,.4); color:var(--gold); }
.tm-side-card__social i { color:var(--gold); }
.tm-side-card__social-label { display:inline-flex; align-items:center; gap:10px; }
.tm-others { background:var(--deep); border-top:1px solid var(--border); padding:76px 0; }
.tm-others__header { margin-bottom:34px; max-width:760px; }
.tm-others__header h2 { font-family:var(--serif); font-size:clamp(1.8rem,3vw,2.4rem); font-weight:700; color:var(--white); margin:8px 0 12px; }
.tm-others__header p { color:var(--muted); margin:0; line-height:1.75; }
.tm-others__grid { display:grid; grid-template-columns:repeat(3, minmax(0, 1fr)); gap:24px; }
.tm-member-card { display:flex; flex-direction:column; min-width:0; background:var(--panel); border:1px solid var(--border); border-radius:18px; overflow:hidden; transition:transform var(--transition), border-color var(--transition), box-shadow var(--transition); }
.tm-member-card:hover { transform:translateY(-4px); border-color:rgba(200,151,58,.35); box-shadow:0 20px 40px rgba(0,0,0,.22); }
.tm-member-card__media { display:block; aspect-ratio:1/1; overflow:hidden; background:rgba(255,255,255,.02); }
.tm-member-card__media img { width:100%; height:100%; object-fit:cover; object-position:center top; display:block; transition:transform .4s ease; }
.tm-member-card:hover .tm-member-card__media img { transform:scale(1.03); }
.tm-member-card__body { padding:18px 18px 14px; }
.tm-member-card__eyebrow { font-size:.68rem; text-transform:uppercase; letter-spacing:.14em; color:var(--muted); margin-bottom:10px; }
.tm-member-card__name { margin:0 0 6px; font-family:var(--serif); font-size:1.3rem; line-height:1.2; }
.tm-member-card__name a { color:var(--white); text-decoration:none; }
.tm-member-card__role { color:var(--gold); font-weight:600; margin-bottom:12px; }
.tm-member-card__excerpt { color:var(--muted); line-height:1.7; margin:0; }
.tm-member-card__footer { margin-top:auto; padding:0 18px 18px; }
.tm-member-card__link { display:inline-flex; align-items:center; gap:8px; font-size:.82rem; letter-spacing:.06em; text-transform:uppercase; font-weight:700; color:var(--cream); text-decoration:none; }
.tm-member-card__link:hover { color:var(--gold); }
.tm-others__cta { text-align:center; margin-top:36px; }
@media (max-width: 980px) { .tm-content__grid, .tm-others__grid { grid-template-columns:1fr; } .tm-side-card { position:static; } }
@media (max-width: 900px) { .tm-hero__grid { grid-template-columns:1fr; gap:36px; } .tm-hero__photo-wrap { max-width:260px; } }
@media (max-width: 600px) { .tm-hero { padding-top:64px; } .tm-hero__photo-wrap { max-width:200px; } .tm-hero__inner, .tm-content__inner, .tm-others__inner { padding:0 20px; } }
