:root { --accent:#92262d; --accent-dark:#5b1018; --accent-light:#e17a84; --black:#080808; --ink:#171717; --paper:#eeeeee; --white:#fff; --muted:#737373; --line:rgba(15,15,15,.14); --radius:22px; --display:"Arial Narrow","Roboto Condensed","Helvetica Neue",Arial,sans-serif; --body:Inter,system-ui,-apple-system,"Segoe UI",sans-serif; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:var(--body); -webkit-font-smoothing:antialiased; }
img { display:block; max-width:100%; }
a { color:inherit; text-decoration:none; }
button { color:inherit; font:inherit; }
.skip-link { position:fixed; left:16px; top:-60px; z-index:100; padding:12px 16px; background:#fff; border-radius:8px; }
.skip-link:focus { top:16px; }

.site-header { position:fixed; inset:0 0 auto; z-index:30; height:88px; display:flex; align-items:center; gap:34px; padding:0 4vw; color:#fff; border-bottom:1px solid rgba(255,255,255,.16); transition:.35s ease; }
.site-header.compact { height:76px; background:rgba(8,8,8,.95); backdrop-filter:blur(18px); }
.site-header.header-hidden { transform:translateY(-110%); }
.brand { display:flex; align-items:center; gap:12px; margin-right:auto; }
.brand-mark { width:42px; height:42px; display:grid; place-items:center; background:var(--accent); border-radius:12px; color:#fff; font:800 21px/1 var(--display); transform:skew(-5deg); }
.brand-logo-shell { width:92px; height:60px; flex:0 0 92px; display:grid; place-items:center; overflow:hidden; border:1px solid rgba(255,255,255,.2); border-radius:10px; background:#eee; box-shadow:0 8px 26px rgba(0,0,0,.18); }
.brand-logo-shell img { width:100%; height:100%; object-fit:contain; }
.brand-copy { display:flex; flex-direction:column; line-height:1.1; }
.brand-copy strong { font:700 16px var(--display); text-transform:uppercase; letter-spacing:.07em; }
.brand-copy small { margin-top:3px; color:rgba(255,255,255,.58); font-size:9px; text-transform:uppercase; letter-spacing:.15em; }
.desktop-nav { display:flex; gap:28px; font-size:12px; font-weight:600; text-transform:uppercase; letter-spacing:.08em; }
.desktop-nav a { position:relative; padding:12px 0; }
.desktop-nav a::after { content:""; position:absolute; left:0; right:100%; bottom:5px; height:2px; background:var(--accent); transition:.25s ease; }
.desktop-nav a:hover::after { right:0; }
.desktop-nav a[aria-current="page"]::after { right:0; }
.header-cta { padding:12px 18px; border:1px solid rgba(255,255,255,.35); border-radius:100px; font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:.08em; }
.menu-button,.mobile-nav { display:none; }

.hero { position:relative; min-height:100svh; display:grid; grid-template-columns:minmax(0,1.05fr) minmax(420px,.95fr); grid-template-rows:1fr auto; overflow:hidden; background:var(--black); color:#fff; }
.hero::before { content:""; position:absolute; inset:0; background:radial-gradient(circle at 78% 38%, rgba(146,38,45,.36), transparent 32%), linear-gradient(110deg, transparent 0 61%, rgba(255,255,255,.035) 61% 62%, transparent 62%); }
.hero-grid { position:absolute; inset:0; opacity:.16; background-image:linear-gradient(rgba(255,255,255,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.08) 1px,transparent 1px); background-size:80px 80px; mask-image:linear-gradient(to right,#000,transparent 75%); }
.hero-copy { position:relative; z-index:2; align-self:center; padding:145px 4vw 70px; }
.verified-badge { display:inline-flex; align-items:center; gap:8px; padding:8px 12px 8px 8px; border:1px solid rgba(255,255,255,.16); border-radius:100px; background:rgba(255,255,255,.06); color:#fff; cursor:pointer; font-size:10px; font-weight:700; text-transform:uppercase; letter-spacing:.12em; }
.verified-check { width:22px; height:22px; display:grid; place-items:center; border-radius:50%; background:var(--accent); font-size:13px; }
.eyebrow { margin:32px 0 10px; color:#d6d6d6; font-size:12px; font-weight:700; letter-spacing:.17em; text-transform:uppercase; }
.hero h1 { max-width:760px; margin:0; font:800 clamp(5rem,10vw,10rem)/.78 var(--display); letter-spacing:-.055em; text-transform:uppercase; }
.hero h1::first-line { color:#fff; }
.hero-role { margin:28px 0 0; color:#b7b7b7; font:600 clamp(1.2rem,2.2vw,1.65rem)/1 var(--display); text-transform:uppercase; letter-spacing:.05em; }
.hero-actions { display:flex; gap:12px; margin-top:40px; }
.button { min-height:52px; display:inline-flex; align-items:center; justify-content:center; gap:22px; padding:0 24px; border-radius:100px; font-size:12px; font-weight:700; text-transform:uppercase; letter-spacing:.08em; transition:.25s ease; }
.button-primary { background:var(--accent); color:#fff; }
.button-primary:hover { background:#fff; color:#111; transform:translateY(-2px); }
.button-secondary { border:1px solid rgba(255,255,255,.35); }
.button-secondary:hover { border-color:#fff; background:#fff; color:#111; }
.verification-note { max-width:480px; margin:18px 0 0; color:#7d7d7d; font-size:10px; line-height:1.5; opacity:0; transform:translateY(-5px); transition:.25s ease; }
.verification-note.visible,.verified-badge:focus + .eyebrow + h1 + .hero-role + .hero-actions + .verification-note { opacity:1; transform:none; }
.hero-visual { position:relative; z-index:1; min-height:0; align-self:stretch; overflow:hidden; }
.hero-visual::before { content:""; position:absolute; z-index:2; inset:0; background:linear-gradient(90deg,var(--black) 0%,transparent 24%),linear-gradient(0deg,var(--black) 0%,transparent 32%); pointer-events:none; }
.hero-visual > #hero-image { width:100%; height:100%; object-fit:cover; object-position:66% center; opacity:.9; filter:saturate(.78) contrast(1.06) brightness(.82); }
.hero-number { position:absolute; z-index:1; right:-1vw; top:52%; transform:translateY(-50%); color:transparent; -webkit-text-stroke:2px rgba(255,255,255,.18); font:800 min(56vw,720px)/.75 var(--display); letter-spacing:-.13em; }
.hero-club { position:absolute; z-index:4; top:112px; right:4vw; display:flex; align-items:center; gap:10px; padding:8px 13px 8px 8px; border:1px solid rgba(255,255,255,.18); border-radius:14px; background:rgba(9,9,9,.68); backdrop-filter:blur(12px); }
.hero-club img { width:46px; height:46px; object-fit:contain; padding:4px; border-radius:10px; background:#fff; }
.hero-club span { color:#d3d3d3; font-size:8px; font-weight:800; text-transform:uppercase; letter-spacing:.14em; }
.national-strip { position:absolute; z-index:4; right:4vw; bottom:118px; padding:10px 15px; background:#fff; color:#111; border-radius:8px 8px 0 8px; font-size:10px; font-weight:800; text-transform:uppercase; letter-spacing:.12em; }
.national-strip::after { content:""; position:absolute; right:0; bottom:-6px; width:55%; height:6px; background:var(--accent); border-radius:0 0 2px 2px; }
.hero-facts { position:relative; z-index:5; grid-column:1/-1; display:grid; grid-template-columns:repeat(4,1fr); margin:0 4vw 34px; border-top:1px solid rgba(255,255,255,.16); }
.hero-facts div { padding:22px 0 0 24px; border-left:1px solid rgba(255,255,255,.16); }
.hero-facts div:first-child { padding-left:0; border-left:0; }
.hero-facts small,.hero-facts strong { display:block; }
.hero-facts small { margin-bottom:7px; color:#777; font-size:9px; font-weight:700; text-transform:uppercase; letter-spacing:.15em; }
.hero-facts strong { font:600 18px var(--display); text-transform:uppercase; }
.scroll-cue { position:absolute; z-index:6; right:4vw; bottom:38px; display:flex; align-items:center; gap:10px; color:#777; font-size:9px; text-transform:uppercase; letter-spacing:.15em; }
.scroll-cue span { width:34px; height:1px; background:var(--accent); }

.section { padding:120px 4vw; }
.section-heading { display:grid; grid-template-columns:1fr minmax(300px,470px); gap:50px; align-items:end; max-width:1420px; margin:0 auto 68px; }
.section-index { margin:0 0 14px; color:var(--accent); font-size:10px; font-weight:800; text-transform:uppercase; letter-spacing:.18em; }
.section-index.light { color:var(--accent-light); }
.section h2 { margin:0; font:800 clamp(3.4rem,7vw,7.2rem)/.84 var(--display); letter-spacing:-.045em; text-transform:uppercase; }
.section-heading > p { margin:0; color:#696969; font-size:17px; line-height:1.7; }
.profile-section { background:var(--paper); }
.profile-layout { max-width:1420px; margin:auto; display:grid; grid-template-columns:minmax(320px,430px) 1fr; gap:7vw; align-items:start; }
.player-card { overflow:hidden; position:sticky; top:95px; background:#101010; color:#fff; border-radius:26px; box-shadow:0 26px 70px rgba(0,0,0,.2); }
.player-card-photo { position:relative; height:390px; overflow:hidden; background:#222; }
.player-card-photo::after { content:""; position:absolute; inset:0; background:linear-gradient(0deg,#101010 0,transparent 58%); }
.player-card-photo img { width:100%; height:100%; object-fit:cover; object-position:52% 44%; }
.card-number { position:absolute; z-index:1; right:20px; bottom:-17px; color:var(--accent); font:800 122px/.8 var(--display); letter-spacing:-.1em; }
.player-card-head { position:relative; z-index:2; display:flex; align-items:flex-start; justify-content:space-between; padding:25px 26px 20px; }
.player-card-head small { color:#6f6f6f; font-size:8px; text-transform:uppercase; letter-spacing:.16em; }
.player-card-head h3 { margin:5px 0 0; font:700 36px/.9 var(--display); text-transform:uppercase; }
.flag-chip { padding:7px 9px; border:1px solid rgba(255,255,255,.16); border-radius:7px; font-size:10px; font-weight:800; }
.player-card-meta { display:flex; gap:7px; padding:0 26px 23px; flex-wrap:wrap; }
.player-card-meta span { padding:7px 10px; border-radius:100px; background:rgba(255,255,255,.07); color:#b7b7b7; font-size:9px; text-transform:uppercase; letter-spacing:.09em; }
.card-status { display:flex; align-items:center; gap:9px; padding:18px 26px; border-top:1px solid rgba(255,255,255,.1); background:#161616; }
.card-status span,.status-dot { width:7px; height:7px; border-radius:50%; background:#43e38b; box-shadow:0 0 0 5px rgba(67,227,139,.1); }
.card-status strong { font-size:9px; text-transform:uppercase; letter-spacing:.14em; }
.profile-content { padding-top:10px; }
.label { color:var(--accent); font-size:9px; font-weight:800; text-transform:uppercase; letter-spacing:.18em; }
.bio-block > p:last-child { margin:16px 0 55px; max-width:820px; font-size:clamp(1.3rem,2.3vw,2rem); line-height:1.5; letter-spacing:-.025em; }
.detail-grid { display:grid; grid-template-columns:repeat(2,1fr); margin:0; border-top:1px solid var(--line); }
.detail-grid div { padding:21px 10px 21px 0; border-bottom:1px solid var(--line); }
.detail-grid div:nth-child(even) { padding-left:26px; border-left:1px solid var(--line); }
.detail-grid dt { color:#888; font-size:9px; font-weight:700; text-transform:uppercase; letter-spacing:.13em; }
.detail-grid dd { margin:8px 0 0; font:600 18px var(--display); text-transform:uppercase; }
.player-story { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; margin-top:28px; }
.player-story article { min-height:190px; padding:22px; border:1px solid var(--line); border-radius:16px; background:rgba(255,255,255,.48); }
.player-story small { color:var(--accent); font-size:9px; font-weight:800; text-transform:uppercase; letter-spacing:.14em; }
.player-story strong { display:block; margin:18px 0 10px; font:700 21px/1.05 var(--display); text-transform:uppercase; }
.player-story p { margin:0; color:#777; font-size:12px; line-height:1.55; }
.availability-bar { margin-top:42px; display:flex; align-items:center; justify-content:space-between; gap:24px; padding:22px 24px; border-radius:16px; background:#fff; border:1px solid var(--line); }
.availability-bar > div { display:flex; align-items:center; gap:15px; }
.availability-bar p { margin:0; }
.availability-bar small,.availability-bar strong { display:block; }
.availability-bar small { margin-bottom:4px; color:#999; font-size:8px; text-transform:uppercase; letter-spacing:.14em; }
.availability-bar strong { font:600 17px var(--display); text-transform:uppercase; }
.availability-bar a { color:var(--accent); font-size:10px; font-weight:800; text-transform:uppercase; letter-spacing:.1em; }

.stats-section { display:grid; grid-template-columns:minmax(280px,.75fr) 1.6fr; gap:7vw; background:#101010; color:#fff; }
.stats-intro { min-width:0; position:sticky; top:100px; align-self:start; }
.stats-intro h2 { max-width:100%; font-size:clamp(2.65rem,4.1vw,4.8rem); line-height:.9; }
.stats-intro p:last-child { max-width:430px; color:#888; font-size:14px; line-height:1.7; }
.stats-grid { min-width:0; display:grid; grid-template-columns:repeat(2,1fr); }
.stat-card { position:relative; min-height:240px; padding:32px; border-top:1px solid rgba(255,255,255,.14); border-left:1px solid rgba(255,255,255,.14); transition-delay:var(--delay); }
.stat-card:nth-child(even) { transform:translateY(42px); }
.stat-index { position:absolute; right:24px; top:24px; color:#555; font-size:9px; }
.stat-card strong { display:block; margin-top:40px; font:800 clamp(4.5rem,7vw,7rem)/1 var(--display); letter-spacing:-.06em; }
.stat-card p { margin:8px 0 0; color:#929292; font-size:10px; font-weight:700; text-transform:uppercase; letter-spacing:.15em; }

code { padding:.12em .4em; border-radius:5px; background:rgba(0,0,0,.07); font:500 .86em ui-monospace,SFMono-Regular,Menlo,monospace; }
.highlights-section { background:#e5e5e5; }
.video-grid { max-width:1420px; margin:auto; display:grid; grid-template-columns:repeat(12,1fr); gap:14px; }
.video-card { grid-column:span 4; position:relative; min-height:290px; overflow:hidden; padding:0; border:0; border-radius:18px; background:#181818; color:#fff; text-align:left; cursor:pointer; }
.video-featured { grid-column:span 8; grid-row:span 2; min-height:594px; }
.video-card img { width:100%; height:100%; object-fit:cover; transition:transform .55s ease,filter .55s ease; }
.video-shade { position:absolute; inset:0; background:linear-gradient(0deg,rgba(0,0,0,.87),transparent 62%); }
.video-card:hover img { transform:scale(1.035); filter:saturate(1.2); }
.play-button { position:absolute; left:24px; top:24px; width:48px; height:48px; display:grid; place-items:center; padding-left:3px; border-radius:50%; background:var(--accent); font-size:13px; transition:.25s; }
.video-card:hover .play-button { transform:scale(1.1); background:#fff; color:#111; }
.video-card-copy { position:absolute; inset:auto 24px 24px; display:grid; grid-template-columns:1fr auto; align-items:end; gap:6px 16px; }
.video-card-copy small { grid-column:1/-1; color:#aaa; font-size:8px; font-weight:700; text-transform:uppercase; letter-spacing:.15em; }
.video-card-copy strong { font:700 29px/1 var(--display); text-transform:uppercase; }
.video-card-copy em { color:#aaa; font-size:9px; font-style:normal; text-transform:uppercase; }
.video-featured .video-card-copy strong { font-size:clamp(2.5rem,5vw,5rem); }

.gallery-section { background:#fff; }
.gallery-grid { max-width:1420px; margin:auto; display:grid; grid-template-columns:repeat(12,1fr); grid-auto-rows:190px; gap:12px; }
.gallery-item { grid-column:span 4; grid-row:span 2; position:relative; overflow:hidden; padding:0; border:0; border-radius:18px; background:#111; color:#fff; text-align:left; cursor:pointer; }
.gallery-item-1,.gallery-item-5 { grid-column:span 8; }
.gallery-item-6 { grid-column:span 8; }
.gallery-item-2 { grid-row:span 3; }
.gallery-item img { width:100%; height:100%; object-fit:cover; object-position:center; transition:.5s ease; }
.gallery-item-1 img { object-position:68% center; }
.gallery-item-2 img { object-position:52% center; }
.gallery-item-3 img { object-position:46% center; }
.gallery-item-4 img { object-position:62% center; }
.gallery-item-5 img { object-position:center 58%; }
.gallery-item::after { content:""; position:absolute; inset:0; background:linear-gradient(0deg,rgba(0,0,0,.78),transparent 56%); }
.gallery-item:hover img { transform:scale(1.04); }
.gallery-item > span { position:absolute; z-index:2; left:22px; bottom:20px; }
.gallery-item small,.gallery-item strong { display:block; }
.gallery-item small { margin-bottom:5px; color:#bbb; font-size:8px; text-transform:uppercase; letter-spacing:.15em; }
.gallery-item strong { font:700 24px var(--display); text-transform:uppercase; }
.gallery-item > em { position:absolute; z-index:2; right:20px; top:20px; width:35px; height:35px; display:grid; place-items:center; border:1px solid rgba(255,255,255,.35); border-radius:50%; font-style:normal; }
.gallery-preview-actions { max-width:1420px; margin:30px auto 0; display:flex; align-items:center; justify-content:space-between; gap:25px; padding-top:26px; border-top:1px solid var(--line); }
.gallery-preview-actions p { margin:0; color:#777; font-size:13px; }

/* Dedicated gallery page keeps the long photo archive off the player overview. */
.gallery-page { background:#0b0b0b; color:#fff; }
.gallery-page .site-header { background:rgba(8,8,8,.92); backdrop-filter:blur(16px); }
.gallery-page-hero { min-height:72svh; position:relative; display:flex; align-items:flex-end; overflow:hidden; padding:170px 4vw 78px; background:#090909; }
.gallery-page-hero::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(8,8,8,.98) 0%,rgba(8,8,8,.84) 40%,rgba(8,8,8,.18) 78%),linear-gradient(0deg,#0b0b0b 0%,transparent 42%); }
.gallery-page-hero > img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center 44%; filter:saturate(.75) brightness(.72); }
.gallery-page-copy { position:relative; z-index:1; max-width:850px; }
.gallery-page-copy h1 { margin:0; font:800 clamp(5rem,11vw,10rem)/.78 var(--display); letter-spacing:-.055em; text-transform:uppercase; }
.gallery-page-copy > p:last-child { max-width:620px; margin:30px 0 0; color:#aaa; font-size:17px; line-height:1.65; }
.gallery-page-section { background:#f0f0f0; color:#171717; }
.gallery-toolbar { max-width:1420px; margin:0 auto 35px; display:flex; align-items:flex-end; justify-content:space-between; gap:30px; }
.gallery-toolbar-copy span { color:var(--accent); font-size:9px; font-weight:800; text-transform:uppercase; letter-spacing:.16em; }
.gallery-toolbar-copy strong { display:block; margin-top:8px; font:700 34px var(--display); text-transform:uppercase; }
.gallery-filters { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:8px; }
.gallery-filter { min-height:40px; padding:0 16px; border:1px solid #cfcfcf; border-radius:100px; background:transparent; color:#555; cursor:pointer; font-size:9px; font-weight:800; text-transform:uppercase; letter-spacing:.1em; }
.gallery-filter:hover,.gallery-filter.active { border-color:var(--accent); background:var(--accent); color:#fff; }
.gallery-grid-full { grid-template-columns:repeat(3,minmax(0,1fr)); grid-auto-rows:auto; gap:14px; }
.gallery-grid-full .gallery-item,.gallery-grid-full .gallery-item-1,.gallery-grid-full .gallery-item-2,.gallery-grid-full .gallery-item-5,.gallery-grid-full .gallery-item-6 { grid-column:auto; grid-row:auto; min-height:0; aspect-ratio:4/3; }
.gallery-grid-full .gallery-item[hidden] { display:none; }
.gallery-grid-full .gallery-item img { object-position:center; }
.gallery-empty { display:none; max-width:1420px; margin:40px auto 0; color:#777; }
.gallery-empty.visible { display:block; }
.gallery-page #site-footer { background:#080808; }

.achievements-section { display:grid; grid-template-columns:minmax(310px,.8fr) 1.2fr; gap:8vw; background:#111; color:#fff; }
.achievement-heading { position:sticky; top:105px; align-self:start; }
.achievement-content { min-width:0; }
.honours-board { margin-bottom:48px; padding:24px; border:1px solid rgba(255,255,255,.13); border-radius:22px; background:#181818; }
.honours-note { margin:0 0 16px; color:#858585; font-size:11px; line-height:1.55; }
.medal-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; overflow:hidden; border:1px solid rgba(255,255,255,.1); border-radius:14px; background:rgba(255,255,255,.1); }
.medal-grid article { min-height:142px; padding:20px; background:#141414; }
.medal-grid small,.honours-list small { color:var(--accent-light); font-size:8px; font-weight:800; text-transform:uppercase; letter-spacing:.15em; }
.medal-grid article > strong { display:block; margin-top:24px; color:#dedede; font:600 17px/1.25 var(--display); text-transform:uppercase; }
.honours-list { display:grid; grid-template-columns:.75fr 1.25fr; gap:28px; margin-top:25px; }
.honours-list p { margin:12px 0 0; color:#a4a4a4; font-size:14px; line-height:1.65; }
.honours-list ul { columns:2; gap:28px; margin:12px 0 0; padding:0; list-style:none; }
.honours-list li { break-inside:avoid; padding:8px 0; border-bottom:1px solid rgba(255,255,255,.08); color:#aaa; font-size:12px; line-height:1.45; }
.achievement-list { border-top:1px solid rgba(255,255,255,.13); }
.achievement-card { display:grid; grid-template-columns:48px 75px 1fr; gap:18px; min-height:180px; padding:28px 0; border-bottom:1px solid rgba(255,255,255,.13); }
.achievement-marker { width:35px; height:35px; display:grid; place-items:center; border-radius:50%; background:var(--accent); font-size:9px; font-weight:800; }
.achievement-card time { padding-top:9px; color:#777; font:600 14px var(--display); }
.achievement-card small { color:var(--accent-light); font-size:8px; font-weight:700; text-transform:uppercase; letter-spacing:.15em; }
.achievement-card h3 { margin:9px 0 10px; font:700 clamp(1.6rem,3vw,2.8rem)/1 var(--display); text-transform:uppercase; }
.achievement-card p { max-width:500px; margin:0; color:#8d8d8d; font-size:13px; line-height:1.6; }

.attributes-section { background:#ededed; }
.attributes-layout { max-width:1420px; margin:auto; display:grid; grid-template-columns:minmax(280px,.7fr) 1.3fr; gap:8vw; }
.overall-rating { min-height:430px; display:flex; flex-direction:column; justify-content:flex-end; padding:36px; border-radius:24px; background:var(--accent); color:#fff; }
.overall-rating > span { margin-bottom:auto; font-size:9px; font-weight:800; text-transform:uppercase; letter-spacing:.16em; }
.overall-rating > strong { font:800 clamp(7rem,13vw,12rem)/.68 var(--display); letter-spacing:-.08em; }
.overall-rating > strong small { font-size:.18em; letter-spacing:0; }
.overall-rating p { margin:28px 0 14px; font:700 25px var(--display); text-transform:uppercase; }
.rating-stars { display:flex; gap:5px; color:rgba(255,255,255,.28); }
.rating-stars .active { color:#fff; }
.attribute-list { display:grid; grid-template-columns:repeat(2,1fr); gap:0 42px; align-content:center; }
.attribute-row { padding:18px 0; border-bottom:1px solid var(--line); transition-delay:var(--delay); }
.attribute-row > div:first-child { display:flex; justify-content:space-between; margin-bottom:11px; }
.attribute-row span { font-size:10px; font-weight:700; text-transform:uppercase; letter-spacing:.1em; }
.attribute-row strong { font:700 17px var(--display); }
.attribute-track { height:4px; overflow:hidden; border-radius:4px; background:#d6d5d1; }
.attribute-fill { display:block; width:var(--rating); height:100%; background:var(--accent); transform:scaleX(0); transform-origin:left; transition:transform 1s cubic-bezier(.2,.75,.2,1) .22s; }
.attribute-row.in-view .attribute-fill { transform:scaleX(1); }

.career-section { background:#fff; }
.career-timeline { max-width:1420px; margin:auto; display:grid; grid-template-columns:repeat(4,1fr); position:relative; }
.career-timeline::before { content:""; position:absolute; left:0; right:0; top:18px; height:1px; background:#d8d8d8; }
.career-item { position:relative; padding:54px 25px 25px 0; }
.career-node { position:absolute; z-index:1; left:0; top:0; width:37px; height:37px; display:grid; place-items:center; border-radius:50%; border:1px solid #c5c5c5; background:#fff; font-size:9px; font-weight:800; }
.career-item:last-child .career-node { border-color:var(--accent); background:var(--accent); color:#fff; }
.career-logo { width:78px; height:78px; margin:8px 0 22px; padding:8px; object-fit:contain; border:1px solid #ecebea; border-radius:17px; background:#fff; box-shadow:0 12px 28px rgba(0,0,0,.07); }
.career-logo.career-photo { padding:0; object-fit:cover; object-position:34% center; }
.career-item small { color:var(--accent); font-size:8px; font-weight:800; text-transform:uppercase; letter-spacing:.15em; }
.career-item h3 { margin:9px 0 5px; font:700 25px/1 var(--display); text-transform:uppercase; }
.career-item p { margin:0; color:#777; font-size:12px; }
.career-item em { display:inline-block; margin-top:22px; padding:6px 9px; border:1px solid #ddd; border-radius:100px; color:#777; font-size:8px; font-style:normal; text-transform:uppercase; letter-spacing:.1em; }

.interview-section { background:#f1f1f1; }
.personal-profile-grid { max-width:1420px; margin:0 auto 70px; display:grid; grid-template-columns:repeat(4,1fr); gap:12px; }
.personal-fact,.philosophy-card { min-height:160px; margin:0; padding:24px; border:1px solid var(--line); border-radius:18px; background:#fff; }
.personal-fact { display:flex; flex-direction:column; justify-content:space-between; }
.personal-fact small,.philosophy-card small { color:var(--accent); font-size:9px; font-weight:800; text-transform:uppercase; letter-spacing:.15em; }
.personal-fact strong { font:700 25px/1 var(--display); text-transform:uppercase; }
.philosophy-card { grid-column:span 2; display:flex; flex-direction:column; justify-content:center; background:var(--accent); color:#fff; }
.philosophy-card small { color:rgba(255,255,255,.62); }
.philosophy-card p { margin:22px 0 16px; max-width:680px; font:600 clamp(1.5rem,3vw,2.5rem)/1.2 var(--display); }
.philosophy-card footer { color:rgba(255,255,255,.66); font-size:10px; font-weight:800; text-transform:uppercase; letter-spacing:.16em; }
.interview-layout { max-width:1420px; margin:auto; display:grid; grid-template-columns:minmax(260px,.55fr) 1.45fr; gap:7vw; align-items:start; }
.interview-aside { position:sticky; top:100px; min-height:330px; display:flex; flex-direction:column; justify-content:flex-end; padding:30px; border-radius:22px; background:#111; color:#fff; }
.interview-aside span { margin-bottom:auto; color:var(--accent-light); font-size:9px; font-weight:800; text-transform:uppercase; letter-spacing:.16em; }
.interview-aside strong { font:800 100px/.8 var(--display); color:var(--accent); }
.interview-aside p { margin:25px 0 0; color:#888; font-size:14px; line-height:1.65; }
.interview-list { border-top:1px solid #cfcfcf; }
.interview-item { border-bottom:1px solid #cfcfcf; }
.interview-item summary { min-height:105px; display:grid; grid-template-columns:44px 1fr 36px; gap:18px; align-items:center; padding:20px 0; cursor:pointer; list-style:none; }
.interview-item summary::-webkit-details-marker { display:none; }
.interview-item summary span { color:var(--accent); font-size:10px; font-weight:800; }
.interview-item summary h3 { margin:0; font:700 clamp(1.15rem,2.2vw,1.65rem)/1.2 var(--display); }
.interview-item summary i { width:34px; height:34px; display:grid; place-items:center; border:1px solid #c8c8c8; border-radius:50%; font-style:normal; transition:.25s; }
.interview-item[open] summary i { transform:rotate(45deg); border-color:var(--accent); background:var(--accent); color:#fff; }
.interview-item > p { margin:0; padding:0 54px 28px 62px; color:#626262; font-size:16px; line-height:1.75; }

.scout-section { display:grid; grid-template-columns:minmax(300px,.8fr) 1.2fr; gap:8vw; background:#0d0d0d; color:#fff; }
.scout-heading { position:sticky; top:100px; align-self:start; }
.scout-heading > p:last-child { max-width:520px; color:#8f8f8f; font-size:16px; line-height:1.75; }
.scout-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:12px; }
.scout-card,.coach-quote { min-height:310px; margin:0; padding:30px; border:1px solid rgba(255,255,255,.12); border-radius:20px; background:#141414; }
.scout-card > span,.coach-quote > span { color:#777; font-size:8px; font-weight:800; text-transform:uppercase; letter-spacing:.16em; }
.scout-style { grid-column:1/-1; min-height:400px; background:linear-gradient(135deg,var(--accent),var(--accent-dark)); }
.scout-style > span { color:rgba(255,255,255,.65); }
.scout-style h3 { margin:45px 0 20px; font:800 clamp(4rem,7vw,7rem)/.75 var(--display); letter-spacing:-.04em; text-transform:uppercase; }
.scout-style p { max-width:580px; margin:0; color:rgba(255,255,255,.78); line-height:1.65; }
.scout-card ul { margin:35px 0 0; padding:0; list-style:none; }
.scout-card li { display:flex; align-items:center; gap:12px; padding:15px 0; border-bottom:1px solid rgba(255,255,255,.1); font-size:12px; }
.scout-card li i { width:24px; height:24px; display:grid; place-items:center; border-radius:50%; background:rgba(255,255,255,.07); color:var(--accent-light); font-style:normal; }
.assessment-pending { margin:44px 0 0; color:#9a9a9a; font-size:14px; line-height:1.7; }
.coach-quote { grid-column:1/-1; min-height:280px; display:flex; flex-direction:column; justify-content:center; }
.coach-quote p { margin:35px 0 25px; max-width:750px; font:500 clamp(1.6rem,3vw,2.7rem)/1.35 var(--display); }
.coach-quote footer { color:var(--accent-light); font-size:9px; font-weight:800; text-transform:uppercase; letter-spacing:.14em; }

.media-section { background:#eeeeee; }
.media-list { max-width:1420px; margin:auto; display:grid; grid-template-columns:repeat(5,1fr); gap:12px; }
.media-card { min-height:260px; display:flex; flex-direction:column; padding:26px; border:1px solid var(--line); border-radius:18px; background:#fff; transition:transform .25s,border-color .25s; transition-delay:var(--delay); }
.media-card:hover { transform:translateY(-5px); border-color:var(--accent); }
.media-card > span { color:var(--accent); font-size:8px; font-weight:800; text-transform:uppercase; letter-spacing:.15em; }
.media-card h3 { margin:45px 0 8px; font:700 27px/1 var(--display); text-transform:uppercase; }
.media-card p { margin:0; color:#888; font-size:11px; }
.media-card i { margin-top:auto; width:40px; height:40px; display:grid; place-items:center; border-radius:50%; background:#111; color:#fff; font-style:normal; }

.cv-section { padding-top:0; background:#eeeeee; }
.cv-card { position:relative; overflow:hidden; max-width:1420px; min-height:430px; margin:auto; display:flex; align-items:flex-end; justify-content:space-between; gap:50px; padding:55px; border-radius:28px; background:var(--accent); color:#fff; }
.cv-card h2 { font-size:clamp(3.8rem,7vw,7rem); }
.cv-card > div > p:last-child { max-width:580px; color:rgba(255,255,255,.72); line-height:1.65; }
.button-light { position:relative; z-index:2; flex-shrink:0; background:#fff; color:#111; }
.button-light:hover { transform:translateY(-3px); }
.cv-watermark { position:absolute; right:-20px; top:-85px; color:transparent; -webkit-text-stroke:2px rgba(255,255,255,.15); font:800 340px/.9 var(--display); }

.contact-section { display:grid; grid-template-columns:1.15fr minmax(330px,.65fr); gap:8vw; align-items:center; background:#fff; }
.contact-copy > p:nth-of-type(2) { max-width:620px; color:#777; font-size:16px; line-height:1.7; }
.contact-actions { display:flex; gap:12px; margin-top:36px; }
.button-dark-outline { border:1px solid #bbb; color:#111; }
.button-dark-outline:hover { border-color:#111; background:#111; color:#fff; }
.contact-card { padding:32px; border-radius:24px; background:#111; color:#fff; }
.contact-card-brand { display:flex; align-items:center; gap:15px; padding-bottom:24px; border-bottom:1px solid rgba(255,255,255,.12); }
.contact-card-brand .brand-logo-shell { width:112px; height:96px; flex-basis:112px; border-color:rgba(255,255,255,.28); }
.contact-card-brand div { display:flex; flex-direction:column; }
.contact-card-brand small { color:#777; font-size:8px; text-transform:uppercase; letter-spacing:.14em; }
.contact-card-brand strong { margin-top:5px; font:700 23px var(--display); text-transform:uppercase; }
.contact-card dl { margin:12px 0 28px; }
.contact-card dl div { padding:14px 0; border-bottom:1px solid rgba(255,255,255,.1); }
.contact-card dt { color:#666; font-size:8px; text-transform:uppercase; letter-spacing:.15em; }
.contact-card dd { margin:6px 0 0; font-size:12px; }
.guardian-contact-list { display:flex; gap:18px; flex-wrap:wrap; }
.guardian-contact-list a { display:flex; flex-direction:column; gap:4px; color:#fff; font-size:13px; }
.guardian-contact-list a small { color:#777; font-size:8px; text-transform:uppercase; letter-spacing:.13em; }
.guardian-contact-list a:hover { color:var(--accent-light); }
.qr-wrap { display:flex; align-items:center; gap:18px; padding:16px; border-radius:14px; background:#fff; color:#111; }
.qr-wrap img { width:78px; height:78px; border-radius:7px; }
.qr-wrap p { margin:0; }
.qr-wrap strong,.qr-wrap span { display:block; }
.qr-wrap strong { font:700 16px var(--display); text-transform:uppercase; }
.qr-wrap span { margin-top:5px; color:#888; font-size:8px; }

#site-footer { padding:55px 4vw 28px; background:#0a0a0a; color:#fff; display:grid; grid-template-columns:1fr auto; gap:55px; }
#site-footer > div > p { max-width:460px; margin:22px 0 0; color:#696969; font-size:12px; }
.footer-brand { display:inline-flex; }
.footer-brand .brand-logo-shell { width:108px; height:82px; flex-basis:108px; }
#site-footer nav { display:flex; gap:26px; align-items:center; font-size:10px; font-weight:700; text-transform:uppercase; letter-spacing:.1em; }
#site-footer nav a:hover { color:var(--accent-light); }
#site-footer > small { grid-column:1/-1; padding-top:25px; border-top:1px solid rgba(255,255,255,.1); color:#555; font-size:8px; text-transform:uppercase; letter-spacing:.1em; }

.lightbox,.video-modal { width:min(92vw,1100px); max-height:90vh; padding:0; border:0; border-radius:20px; overflow:hidden; background:#0a0a0a; color:#fff; }
.lightbox::backdrop,.video-modal::backdrop { background:rgba(0,0,0,.86); backdrop-filter:blur(8px); }
.lightbox > img { width:100%; max-height:78vh; object-fit:contain; }
.lightbox > div { display:flex; justify-content:space-between; padding:18px 22px; }
.lightbox > div strong { font:700 22px var(--display); text-transform:uppercase; }
.lightbox > div span { color:#777; font-size:10px; text-transform:uppercase; letter-spacing:.1em; }
.lightbox-close { position:absolute; z-index:5; right:14px; top:14px; width:42px; height:42px; border:0; border-radius:50%; background:#fff; color:#111; font-size:24px; cursor:pointer; }
.video-modal-body { aspect-ratio:16/9; }
.video-modal iframe { width:100%; height:100%; border:0; }
.toast { position:fixed; z-index:100; left:50%; bottom:22px; max-width:min(440px,calc(100vw - 36px)); padding:14px 18px; border-radius:12px; background:#fff; color:#111; box-shadow:0 15px 50px rgba(0,0,0,.26); font-size:12px; opacity:0; pointer-events:none; transform:translate(-50%,20px); transition:.25s; }
.toast.visible { opacity:1; transform:translate(-50%,0); }

.reveal { opacity:0; transform:translateY(24px); transition:opacity .7s ease,transform .7s ease; }
.reveal.in-view { opacity:1; transform:none; }
@media (prefers-reduced-motion:reduce) { html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}*{animation-duration:.01ms!important;animation-iteration-count:1!important} }

@media (max-width:960px) {
  .desktop-nav,.header-cta { display:none; }
  .menu-button { display:grid; place-content:center; gap:6px; width:44px; height:44px; border:1px solid rgba(255,255,255,.2); border-radius:50%; background:transparent; }
  .menu-button span { width:18px; height:1px; background:#fff; transition:.25s; }
  .mobile-nav { position:fixed; inset:0; z-index:-1; display:flex; visibility:hidden; opacity:0; flex-direction:column; justify-content:center; gap:20px; padding:90px 8vw 40px; background:#090909; transition:.25s; }
  .mobile-nav a { font:700 42px/1 var(--display); text-transform:uppercase; }
  .mobile-nav[aria-hidden="false"] { visibility:visible; opacity:1; }
  body.nav-open { overflow:hidden; }
  body.nav-open .menu-button span:first-child { transform:translateY(3.5px) rotate(45deg); }
  body.nav-open .menu-button span:last-child { transform:translateY(-3.5px) rotate(-45deg); }
  .hero { grid-template-columns:1fr; grid-template-rows:auto 56svh auto; }
  .hero-copy { padding:130px 5vw 40px; }
  .hero h1 { font-size:clamp(5rem,18vw,9rem); }
  .hero-visual { min-height:56svh; }
  .hero-visual::before { background:linear-gradient(180deg,#090909 0,transparent 24%),linear-gradient(0deg,#090909 0,transparent 28%); }
  .hero-visual > #hero-image { object-position:68% center; }
  .hero-club { top:22px; right:5vw; }
  .hero-facts { grid-template-columns:repeat(2,1fr); margin:0 5vw 58px; }
  .hero-facts div:nth-child(3) { border-left:0; padding-left:0; }
  .hero-facts div { padding-bottom:14px; }
  .scroll-cue { display:none; }
  .section { padding:90px 5vw; }
  .section-heading { grid-template-columns:1fr; gap:28px; }
  .profile-layout { grid-template-columns:1fr; }
  .player-card { position:relative; top:auto; max-width:520px; }
  .stats-section { grid-template-columns:1fr; }
  .stats-intro { position:relative; top:auto; }
  .video-featured { grid-column:span 12; min-height:520px; }
  .video-card:not(.video-featured) { grid-column:span 6; }
  .gallery-item,.gallery-item-1,.gallery-item-5,.gallery-item-6 { grid-column:span 6; }
  .gallery-page-hero { min-height:60svh; padding:145px 5vw 65px; }
  .gallery-grid-full { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .gallery-toolbar { align-items:flex-start; flex-direction:column; }
  .gallery-filters { justify-content:flex-start; }
  .achievements-section,.scout-section,.contact-section { grid-template-columns:1fr; }
  .achievement-heading,.scout-heading { position:relative; top:auto; }
  .attributes-layout { grid-template-columns:1fr; }
  .overall-rating { max-width:520px; }
  .career-timeline { grid-template-columns:repeat(2,1fr); gap:25px 0; }
  .career-timeline::before { display:none; }
  .career-item { padding-top:52px; }
  .personal-profile-grid { grid-template-columns:repeat(2,1fr); }
  .interview-layout { grid-template-columns:1fr; }
  .interview-aside { position:relative; top:auto; min-height:250px; }
  .media-list { grid-template-columns:repeat(2,1fr); }
  .cv-card { align-items:flex-start; flex-direction:column; }
  #site-footer { grid-template-columns:1fr; }
  #site-footer nav { flex-wrap:wrap; }
}

@media (max-width:620px) {
  .site-header { height:72px; padding:0 18px; }
  .site-header .brand-logo-shell { width:72px; height:48px; flex-basis:72px; }
  .site-header .brand-copy strong { font-size:13px; }
  .brand-copy small { display:none; }
  .hero-copy { padding-inline:18px; }
  .hero-actions { align-items:stretch; flex-direction:column; max-width:330px; }
  .hero-facts { margin-inline:18px; }
  .hero-club { right:18px; }
  .section { padding:74px 18px; }
  .section h2 { font-size:clamp(3.1rem,16vw,5rem); }
  .player-card-photo { height:345px; }
  .detail-grid { grid-template-columns:1fr; }
  .detail-grid div:nth-child(even) { padding-left:0; border-left:0; }
  .availability-bar { align-items:flex-start; flex-direction:column; }
  .player-story { grid-template-columns:1fr; }
  .player-story article { min-height:auto; }
  .stats-grid { grid-template-columns:1fr; }
  .stats-intro h2 { font-size:clamp(2.8rem,14vw,4.5rem); }
  .stat-card,.stat-card:nth-child(even) { min-height:190px; transform:translateY(20px); border-left:0; }
  .stat-card.in-view:nth-child(even) { transform:none; }
  .video-featured,.video-card:not(.video-featured) { grid-column:span 12; min-height:330px; }
  .video-featured .video-card-copy strong { font-size:38px; }
  .gallery-grid { grid-auto-rows:165px; }
  .gallery-item,.gallery-item-1,.gallery-item-5,.gallery-item-6 { grid-column:span 12; grid-row:span 2; }
  .gallery-preview-actions { align-items:flex-start; flex-direction:column; }
  .gallery-page-hero { min-height:62svh; padding:125px 18px 55px; }
  .gallery-page-copy h1 { font-size:clamp(4.2rem,22vw,7rem); }
  .gallery-page-copy > p:last-child { font-size:14px; }
  .gallery-grid-full { grid-template-columns:1fr; }
  .gallery-grid-full .gallery-item,.gallery-grid-full .gallery-item-1,.gallery-grid-full .gallery-item-2,.gallery-grid-full .gallery-item-5,.gallery-grid-full .gallery-item-6 { grid-column:auto; grid-row:auto; aspect-ratio:4/3; }
  .achievement-card { grid-template-columns:42px 1fr; }
  .achievement-card time { display:none; }
  .medal-grid,.honours-list { grid-template-columns:1fr; }
  .honours-list ul { columns:1; }
  .attribute-list { grid-template-columns:1fr; }
  .overall-rating { min-height:350px; padding:28px; }
  .career-timeline { grid-template-columns:1fr; }
  .personal-profile-grid { grid-template-columns:1fr; }
  .philosophy-card { grid-column:1; }
  .interview-item summary { grid-template-columns:34px 1fr 34px; gap:10px; }
  .interview-item > p { padding-left:44px; padding-right:8px; }
  .scout-grid { grid-template-columns:1fr; }
  .scout-style,.coach-quote { grid-column:1; }
  .scout-style { min-height:360px; }
  .media-list { grid-template-columns:1fr; }
  .cv-card { min-height:500px; padding:32px 24px; }
  .contact-actions { align-items:stretch; flex-direction:column; }
  .contact-card { padding:24px; }
  .qr-wrap { align-items:flex-start; }
  #site-footer { padding-inline:18px; }
}
