.af-public { background:var(--public-page); padding-bottom:calc(var(--public-tab-height) + env(safe-area-inset-bottom)); }
.af-public .public-shell { max-width:calc(var(--public-max) + 32px); padding:0 16px; }
.public-header { background:#000; color:#fff; min-height:64px; border-bottom:3px solid var(--public-accent); display:flex; align-items:center; padding:8px 16px; gap:16px; }
.public-header a { color:#fff; }
.public-brand { display:flex; align-items:center; gap:12px; text-decoration:none; min-height:44px; font-weight:600; }
.public-brand img { object-fit:contain; }
.public-header .language-toggle { flex-shrink:0; }
.public-nav { position:fixed; z-index:30; inset:auto 0 0; background:#000; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); padding-bottom:env(safe-area-inset-bottom); }
.public-nav a { min-height:64px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:4px; font:600 12px/16px var(--af-data); text-decoration:none; color:white; position:relative; }
.public-nav svg { width:22px; height:22px; }
.public-nav [aria-current=page] svg { color:var(--public-accent); }
.public-nav [aria-current=page]::after { content:''; width:24px; height:3px; background:var(--public-accent); position:absolute; bottom:2px; }
.public-page { padding:24px 0; }
.af-public h2 { font-size:28px; line-height:32px; }
.public-page > section { margin:32px 0; scroll-margin-top:24px; }
.public-page > section:first-child { margin-top:0; }
.public-club-hero { padding:24px; color:#fff; background:#000; border-radius:var(--public-radius); }
.public-club-hero img { object-fit:contain; margin-bottom:16px; }
.public-club-hero h1 { font-size:40px; line-height:44px; }
.public-club-hero p { max-width:65ch; }
.public-club-hero p a { color:#fff; font-size:14px; line-height:20px; }
.public-club-hero .button { margin-top:8px; }
.public-panel, .public-match { background:var(--public-surface); border:1px solid var(--public-rule); border-radius:var(--public-radius); padding:16px; margin-bottom:16px; min-width:0; }
.public-match h3 { font:600 20px/28px var(--af-heading); }
.public-match h3 a { text-decoration:none; display:flex; flex-wrap:wrap; align-items:center; gap:12px; }
.public-match p:last-child { margin-bottom:0; }
.score { font:700 36px/40px var(--af-data); white-space:nowrap; }
.win { color:var(--public-win); } .draw { color:#555; } .loss { color:#B80000; }
.outcome { font-size:13px; border:1px solid currentColor; border-radius:4px; padding:4px 8px; display:inline-block; }
.meta { font:400 13px/18px var(--af-data); color:var(--public-muted); }
.public-links { display:flex; flex-wrap:wrap; gap:8px 16px; }
.public-links a, .public-text-link { display:inline-flex; align-items:center; min-height:44px; }
.player-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.public-player, .video-poster { display:block; min-width:0; text-decoration:none; background:#fff; border:1px solid var(--public-rule); border-radius:var(--public-radius); overflow:hidden; }
.player-image { position:relative; aspect-ratio:4/5; background:#000; color:#fff; }
.player-image img { width:100%; height:100%; object-fit:cover; display:block; }
.player-initials { display:grid; width:100%; height:100%; min-height:100px; place-items:center; font:600 40px var(--af-heading); color:white; background:#000; }
.shirt-number { font:700 56px/.85 var(--af-data); letter-spacing:-.06em; font-variant-numeric:tabular-nums; }
.player-image .shirt-number { position:absolute; bottom:12px; left:8px; background:#000; color:var(--public-accent); padding:4px; }
.player-card-copy { padding:12px; }
.player-card-copy h3 { font-size:20px; line-height:24px; }
.player-card-copy p, .player-card-copy small { font-size:13px; line-height:18px; margin-bottom:4px; display:block; }
.alumni-strip { display:flex; overflow-x:auto; gap:12px; padding-bottom:12px; scroll-snap-type:x proximity; }
.alumni-strip .public-player { flex:0 0 156px; scroll-snap-align:start; }
.alumni-strip .player-image { width:156px; height:195px; }
.public-filters { display:flex; flex-wrap:wrap; align-items:end; gap:12px; padding:16px; background:white; border:1px solid var(--public-rule); border-radius:12px; }
.public-filters label { flex:1 1 160px; margin:0; min-width:0; }
.public-filters input[type=hidden] { display:none; }
.video-grid { display:grid; gap:16px; grid-template-columns:minmax(0,1fr); }
.video-grid .video-card { margin:0; }
.poster-image { position:relative; aspect-ratio:16/9; background:#000; color:#fff; display:grid; place-items:center; }
.poster-image img { position:absolute; width:100%; height:100%; object-fit:cover; }
.poster-image span { z-index:1; background:black; border-radius:50%; width:48px; height:48px; display:grid; place-items:center; }
.staff-list { display:grid; gap:16px; }
.staff-list > div { border-bottom:1px solid var(--public-rule); padding-bottom:16px; }
.club-content section p { max-width:65ch; }
.af-public .dossier { max-width:none; padding:0; background:transparent; }
.player-hero { position:relative; background:#000; color:white; min-height:320px; padding:24px 16px; display:grid; grid-template-columns:minmax(0,1fr) minmax(0,.85fr); gap:12px; align-items:center; isolation:isolate; overflow:hidden; }
.hero-copy { position:relative; z-index:2; align-self:end; }
.hero-copy h1 { font-size:36px; line-height:40px; margin-bottom:12px; }
.hero-copy p { font-size:14px; line-height:20px; }
.hero-portrait { position:relative; align-self:center; min-width:0; aspect-ratio:4/5; z-index:1; }
.hero-portrait img { width:100%; height:100%; object-fit:cover; display:block; }
.hero-number { position:absolute; top:20px; left:12px; color:var(--public-accent); font-size:144px; z-index:0; }
.identity-tiles .facts { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin:0; }
.identity-tiles .facts > div { background:white; padding:16px; border:1px solid var(--public-rule); border-radius:12px; }
.identity-tiles small, .status-facts small, .timeline-dates { display:block; }
.dossier-body, .dossier-main, .dossier-sidebar { min-width:0; }
.dossier-main > section, .dossier-sidebar > section { border-top:1px solid var(--public-rule); padding-top:24px; margin-top:24px; }
.dossier-sidebar .facts { grid-template-columns:minmax(0,1fr); }
.dossier .stat-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.stat-grid > div { background:white; border:1px solid var(--public-rule); border-radius:12px; padding:12px; min-width:0; }
.stat-grid .chip { margin-top:8px; }
.stat-grid dt { letter-spacing:0; }
.dossier .table-scroll table { min-width:500px; }
.dossier .identity-tiles { margin:24px 0; border:0; padding:0; }
.dossier .enquiry-form .form-grid { grid-template-columns:minmax(0,1fr); }
.dossier .bio { max-width:65ch; }
.video-card { scroll-margin-top:24px; background:#fff; }
.af-public .site-footer { max-width:1132px; }
@media (min-width:600px) { .video-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .hero-copy h1 { max-width:12ch; } }
@media (min-width:900px) {
  .af-public { padding-bottom:0; }
  .af-public .public-shell { max-width:1164px; padding:0 32px; }
  .public-header { min-height:72px; padding:0 max(32px,calc((100vw - 1100px)/2)); }
  .public-nav { position:static; display:flex; margin-left:auto; padding:0; }
  .public-nav a { min-height:69px; flex-direction:row; padding:0 16px; font-size:14px; }
  .public-header .language-toggle { margin-left:0; }
  .public-page { padding-top:32px; }
  .player-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
  .featured-grid { grid-template-columns:repeat(2,minmax(0,1fr)); max-width:550px; }
  .video-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .dossier .video-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .player-hero { min-height:460px; grid-template-columns:2fr 1fr; padding:32px; }
  .hero-copy h1 { font-size:56px; line-height:60px; max-width:15ch; }
  .hero-portrait { max-width:320px; }
  .hero-number { font-size:240px; top:24px; left:24px; }
  .identity-tiles .facts { grid-template-columns:repeat(5,minmax(0,1fr)); }
  .dossier-body { display:grid; grid-template-columns:minmax(0,2fr) minmax(0,1fr); gap:32px; }
  .staff-list { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media print {
  .af-public { padding:0; } .public-header { display:none; }
  .player-hero { background:white; color:black; min-height:0; padding:0; grid-template-columns:2fr 1fr; break-inside:avoid; }
  .hero-number { display:none; } .hero-portrait { width:96px; height:120px; }
  .hero-copy h1 { font-size:32px; line-height:36px; } .hero-copy { align-self:center; }
  .dossier-body { display:block; } .dossier .identity-tiles .facts { grid-template-columns:repeat(5,minmax(0,1fr)); }
  .dossier .identity-tiles .facts > div { padding:8px; } .dossier .identity-tiles dt { font-size:10px; }
  .dossier .identity-tiles dd { font-size:12px; } .dossier .stat-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
  .bio + details { display:block; } .bio + details > :not(summary) { display:block !important; } .bio + details summary { display:none; }
}
.career-timeline { list-style:none; padding:0 0 0 20px; margin:0; border-left:1px solid var(--public-rule); }
.career-timeline li { position:relative; padding:0 0 24px; break-inside:avoid; }
.career-timeline li::before { content:''; position:absolute; left:-25px; top:5px; width:9px; height:9px; background:black; border-radius:50%; }
.career-timeline p { margin-bottom:8px; }
