/* Homepage art direction; shared pages keep style.css. */
.home-page {
  --surface:#09131b; --surface-raised:#101f2a; --text:#f4f1e8;
  --text-muted:#b5c0c8; --accent:#e0ae61; --line:rgba(236,239,241,.15);
  background:var(--surface); color:var(--text);
}
.home-page .topbar { background:#09131b; border-bottom:1px solid var(--line); padding:1rem 4%; gap:1rem; }
.home-page .topbar .home-link { gap:.85rem; }
.home-page .topbar .crest { border-radius:4px 4px 12px 12px; width:34px; height:38px; }
.home-page .topbar nav { gap:1.7rem; }
.home-page .topbar nav a { font-size:.78rem; letter-spacing:.1em; }
.home-page a:focus-visible { outline:3px solid #e0ae61; outline-offset:6px; }
.skip-link { position:fixed; top:8px; left:12px; z-index:100; padding:.7rem 1rem; background:#e0ae61; color:#09131b; transform:translateY(-160%); }
.skip-link:focus { transform:none; }
.cinema { position:relative; isolation:isolate; min-height:690px; min-height:min(800px,calc(100svh - 72px)); overflow:hidden; display:flex; align-items:center; background:#09131b; }
.cinema-image { position:absolute; z-index:-3; inset:0 0 0 auto; width:79%; height:100%; object-fit:cover; object-position:60% center; }
.cinema-shade { position:absolute; z-index:-2; inset:0; background:linear-gradient(90deg,#09131b 0%,rgba(9,19,27,.94) 17%,rgba(9,19,27,.7) 38%,rgba(9,19,27,.12) 69%),linear-gradient(0deg,#09131b 0%,transparent 36%,rgba(9,19,27,.12) 100%); }
.cinema-content { width:100%; max-width:1360px; margin:auto; padding:58px 6% 100px; }
.film-label { font-family:'IBM Plex Mono',monospace; font-size:.66rem; line-height:1.6; letter-spacing:.14em; text-transform:uppercase; }
.cinema-content > .film-label { color:#e0ae61; display:flex; align-items:center; gap:.8rem; margin:0 0 1.5rem; }
.cinema-content > .film-label span { width:27px; height:1px; background:currentColor; }
.cinema h1 { font-size:clamp(4.4rem,8.4vw,8rem); letter-spacing:-.035em; line-height:.99; font-weight:600; color:#f4f1e8; }
.cinema h1 em { font-style:normal; color:#e0ae61; }
.cinema-intro { max-width:56ch; font-size:1.06rem; line-height:1.65; color:#d2d9df; margin:1.7rem 0 1.8rem; }
.cinema-actions { display:flex; align-items:center; gap:1.7rem; flex-wrap:wrap; }
.story-button, .quiet-link, .chapter-link { font-family:'Oswald',sans-serif; text-decoration:none; text-transform:uppercase; letter-spacing:.08em; font-size:.8rem; }
.story-button { display:inline-flex; align-items:center; gap:2.4rem; background:#e0ae61; color:#09131b; padding:1rem 1.35rem; transition:background .2s,transform .2s; }
.story-button:hover { background:#f0c887; transform:translateY(-2px); }
.story-button span { font-family:Arial,sans-serif; font-size:1.35rem; line-height:1; }
.quiet-link { color:#f4f1e8; padding:.7rem 0; border-bottom:1px solid #69737b; }
.quiet-link span { margin-left:1rem; }
.quiet-link:hover { border-color:#e0ae61; color:#e0ae61; }
.cinema-bottom { position:absolute; bottom:23px; left:6%; right:6%; display:flex; justify-content:space-between; gap:1rem; color:#a4b0ba; }
.image-credit { font-family:'IBM Plex Mono',monospace; font-size:.6rem; line-height:1.6; text-align:right; }
.latest-chapter { max-width:1200px; margin:0 auto; padding:2rem 0; display:flex; align-items:center; gap:2.8rem; border-bottom:1px solid var(--line); }
.chapter-label { display:flex; align-items:center; gap:1.1rem; border-right:1px solid var(--line); padding-right:2.8rem; }
.chapter-number { font-family:'Oswald',sans-serif; font-size:3rem; line-height:1; color:#e0ae61; }
.chapter-label .film-label { display:block; color:var(--text-muted); white-space:nowrap; font-size:.58rem; }
.chapter-label strong { font-family:'Oswald',sans-serif; font-size:1.1rem; letter-spacing:.03em; font-weight:500; }
.chapter-headline .film-label { color:#e0ae61; font-size:.59rem; }
.chapter-headline h2 { font-size:clamp(1.15rem,2.3vw,1.75rem); margin-top:.2rem; }
.chapter-link { margin-left:auto; white-space:nowrap; color:#f4f1e8; padding:.75rem 0; }
.chapter-link span { color:#e0ae61; margin-left:1rem; }
.chapter-link:hover { color:#e0ae61; }
.career-record { max-width:1200px; margin:auto; padding:2.4rem 0 1rem; }
.record-heading { display:flex; justify-content:space-between; color:var(--text-muted); }
.record-heading > span:last-child { font-family:'IBM Plex Mono',monospace; font-size:.65rem; }
.home-page .hero-stats { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); border:0; margin-top:1.1rem; }
.home-page .hero-stats .stat { min-width:0; margin:0; padding:.3rem 1.2rem; }
.home-page .hero-stats .stat:first-child { padding-left:0; }
.home-page .hero-stats .num { font-size:clamp(1.3rem,2.1vw,2rem); white-space:nowrap; color:#f4f1e8; }
.home-page .hero-stats .label { font-size:.56rem; line-height:1.8; letter-spacing:.04em; color:var(--text-muted); }
.home-page .hero-stats .highlight .num { color:#e0ae61; }
.home-page .section { max-width:1248px; padding:5rem 24px; }
.home-page #the-faces { scroll-margin-top:90px; }
.home-page .section-head { max-width:none; margin-bottom:2rem; }
.home-page .section-head h2 { font-size:clamp(2rem,3.5vw,3rem); letter-spacing:-.02em; }
.home-page .section-head p { max-width:62ch; font-size:.96rem; }
.home-page .player-showcase { grid-template-columns:1.2fr 1fr 1fr; gap:1.4rem; }
.home-page .player-photo-card { border:0; border-radius:0; background:transparent; box-shadow:none; }
.home-page .player-photo-card .pp-img { aspect-ratio:1.22; border-bottom:2px solid #e0ae61; }
.home-page .player-photo-card .pp-img img { transition:transform .35s; }
.home-page .player-photo-card:hover { transform:none; }
.home-page .player-photo-card:hover img { transform:scale(1.04); }
.home-page .player-photo-card .pp-body { padding:1.25rem 0 0; gap:1rem; }
.home-page .player-photo-card .pp-name { font-size:1.4rem; }
.home-page .player-photo-card .pp-meta { font-size:.61rem; }
.home-page .player-photo-card .pp-tagline { margin-top:1rem; color:#e0ae61; }
.player-rating { display:flex; flex-direction:column; align-items:center; gap:.4rem; padding-top:.3rem; }
.player-rating > span:last-child { font-family:'IBM Plex Mono',monospace; font-size:.55rem; color:var(--text-muted); }
.home-page .archive-section { border-top:1px solid var(--line); }
.home-page .teaser-grid { gap:0; grid-template-columns:repeat(4,minmax(0,1fr)); }
.home-page .teaser-card { border-radius:0; box-shadow:none; padding:1.7rem; border:0; border-left:1px solid var(--line); background:transparent; }
.home-page .teaser-card:first-child { padding-left:0; border-left:0; }
.home-page .teaser-card:hover { background:#101f2a; transform:none; }
.home-page .teaser-card h3 { font-size:1.3rem; }
.home-page footer { margin-top:0; }
@media (prefers-reduced-motion:no-preference) {
  .cinema-content { animation:opening-reveal .7s ease-out both; }
  @keyframes opening-reveal { from { opacity:0; transform:translateY(14px); } to { opacity:1; transform:none; } }
}
@media (max-width:1280px) {
  .latest-chapter,.career-record { margin-left:6%; margin-right:6%; }
}
@media (max-width:900px) {
  .home-page .topbar nav { gap:1rem; }
  .cinema { min-height:700px; }
  .cinema-image { width:100%; object-position:60% center; }
  .cinema-shade { background:linear-gradient(90deg,rgba(9,19,27,.95),rgba(9,19,27,.6) 52%,rgba(9,19,27,.2)),linear-gradient(0deg,#09131b,transparent 60%); }
  .latest-chapter { gap:1.5rem; }
  .chapter-label { gap:.8rem; padding-right:1.5rem; }
  .chapter-link { font-size:.65rem; }
  .home-page .hero-stats { grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.5rem 0; }
  .home-page .hero-stats .stat:nth-child(4) { padding-left:0; }
  .home-page .hero-stats .stat:nth-child(3) { border-right:0; }
  .home-page .hero-stats .num { font-size:1.8rem; }
  .home-page .player-showcase { grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; }
  .home-page .teaser-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .home-page .teaser-card:nth-child(3) { border-left:0; padding-left:0; }
}
@media (max-width:640px) {
  .home-page .topbar { padding:.7rem 6%; gap:.45rem; }
  .home-page .topbar .crest { width:27px; height:30px; }
  .home-page .topbar nav { gap:1.2rem; }
  .home-page .topbar nav a { min-height:36px; display:flex; align-items:center; font-size:.65rem; }
  .cinema { min-height:720px; align-items:flex-end; }
  .cinema-image { height:58%; top:0; object-position:62% 20%; }
  .cinema-shade { background:linear-gradient(0deg,#09131b 0%,#09131b 39%,rgba(9,19,27,.2) 80%,rgba(9,19,27,.1)); }
  .cinema-content { padding:230px 6% 82px; }
  .cinema-content > .film-label { font-size:.55rem; margin-bottom:1.1rem; }
  .cinema h1 { font-size:clamp(3.7rem,15vw,5.4rem); }
  .cinema-intro { font-size:.96rem; margin:1.3rem 0; }
  .desktop-break { display:none; }
  .cinema-actions { gap:1.25rem; }
  .story-button { gap:1.2rem; padding:.85rem 1rem; font-size:.73rem; }
  .quiet-link { font-size:.68rem; }
  .cinema-bottom { bottom:16px; flex-direction:column; gap:.35rem; }
  .cinema-bottom .film-label { font-size:.52rem; }
  .image-credit { text-align:left; font-size:.49rem; }
  .latest-chapter { flex-wrap:wrap; gap:1.2rem; padding:1.6rem 0; }
  .chapter-label { border:0; padding:0; }
  .chapter-headline { flex:1; min-width:150px; }
  .chapter-link { margin:0; width:100%; padding:.5rem 0; }
  .career-record { padding-top:1.8rem; }
  .home-page .hero-stats .stat { padding:.2rem .65rem; }
  .home-page .hero-stats .num { font-size:1.35rem; }
  .home-page .hero-stats .label { font-size:.48rem; }
  .home-page .section { padding:3.2rem 6%; }
  .home-page .player-showcase { grid-template-columns:1fr; gap:2rem; }
  .home-page .player-photo-card { display:grid; grid-template-columns:110px 1fr; gap:1rem; }
  .home-page .player-photo-card .pp-img { aspect-ratio:1; }
  .home-page .player-photo-card .pp-body { padding:0; gap:.5rem; }
  .home-page .player-photo-card .pp-name { font-size:1.12rem; }
  .home-page .player-photo-card .pp-meta { font-size:.53rem; }
  .home-page .player-photo-card .pp-tagline { font-size:.85rem; margin-top:.6rem; }
  .home-page .player-photo-card .pp-blurb { font-size:.8rem; }
  .home-page .teaser-card { padding:1rem; }
  .home-page .teaser-card h3 { font-size:1.05rem; }
  .home-page .teaser-card p { font-size:.84rem; }
}
@media (max-width:360px) {
  .cinema-actions { gap:.6rem; }
  .home-page .player-photo-card { grid-template-columns:85px 1fr; }
}
@media (prefers-reduced-motion:reduce) {
  .home-page *, .home-page *::before, .home-page *::after { animation:none!important; transition:none!important; }
}