:root {
  color-scheme: light;
  --forest: #0b2d22;
  --deep: #061c16;
  --field: #2f6f45;
  --green: #638f51;
  --sage: #a9bba4;
  --cream: #f2f0e8;
  --paper: #faf9f4;
  --white: #ffffff;
  --ink: #112019;
  --muted: #69756e;
  --line: rgba(17, 32, 25, .15);
  --display: "Archivo Narrow", "Arial Narrow", sans-serif;
  --body: "Noto Sans SC", system-ui, sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--paper); color: var(--ink); font-family: var(--body); overflow-x: hidden; }
button, input, textarea { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
button { color: inherit; }
a { color: inherit; text-decoration: none; }
img { display: block; max-width: 100%; }
h1, h2, h3, h4, p { margin-top: 0; }
button:focus-visible, a:focus-visible, input:focus-visible, textarea:focus-visible { outline: 2px solid #b7d792; outline-offset: 3px; }

.site-header { position: fixed; z-index: 50; inset: 0 0 auto; height: 88px; padding: 0 clamp(20px, 4.5vw, 74px); display: grid; grid-template-columns: 150px 1fr auto 1fr 150px; align-items: center; color: #fff; border-bottom: 1px solid rgba(255,255,255,.18); transition: background .3s ease, height .3s ease, color .3s ease; }
.site-header.is-scrolled { height: 70px; background: rgba(6,28,22,.96); backdrop-filter: blur(16px); }
.menu-toggle { width: fit-content; padding: 0; border: 0; background: transparent; display: flex; align-items: center; gap: 6px; color: inherit; cursor: pointer; }
.menu-toggle i { display: block; width: 18px; height: 1px; background: currentColor; }
.menu-toggle i + i { margin-left: -24px; margin-top: 7px; width: 12px; }
.menu-toggle span { margin-left: 7px; font-size: 10px; letter-spacing: .12em; }
.desktop-nav { display: flex; justify-content: flex-start; gap: clamp(22px, 3vw, 50px); padding-left: 28px; }
.desktop-nav a { position: relative; font-size: 10px; font-weight: 500; letter-spacing: .14em; }
.desktop-nav a::after { content: ""; position: absolute; left: 0; right: 100%; bottom: -6px; height: 1px; background: #fff; transition: right .25s ease; }
.desktop-nav a:hover::after { right: 0; }
.desktop-nav.nav-right { justify-content: flex-end; padding: 0 28px 0 0; }
.header-club { display:grid;place-items:center;width:auto;height:auto;overflow:visible;transition:opacity .25s ease; }
.header-club:hover { opacity:.72; }
.header-club span { font:600 18px/1 var(--display);letter-spacing:.12em; }.header-club small { margin-top:5px;color:rgba(255,255,255,.58);font:500 6px var(--display);letter-spacing:.3em; }
.language-switch { display: flex; justify-content: flex-end; gap: 10px; }
.language-switch button { padding: 4px 0; border: 0; background: transparent; color: rgba(255,255,255,.55); font: 600 9px var(--display); cursor: pointer; }
.language-switch button.is-active { color: #fff; border-bottom: 1px solid #fff; }

.mobile-menu { position: fixed; z-index: 80; inset: 0; padding: clamp(35px, 7vw, 75px); background: var(--deep); color: #fff; transform: translateY(-100%); transition: transform .55s cubic-bezier(.77,0,.18,1); display: flex; flex-direction: column; }
.mobile-menu.is-open { transform: none; }
.menu-close { position: absolute; top: 28px; right: 34px; border: 0; background: none; color: #fff; font: 200 38px var(--body); cursor: pointer; }
.menu-kicker { color: #93ad9f; font: 500 10px var(--display); letter-spacing: .22em; }
.mobile-menu nav { display: grid; align-content: center; flex: 1; }
.mobile-menu nav a { width: fit-content; font: 500 clamp(38px, 7vw, 80px)/1.05 var(--display); text-transform: uppercase; transition: color .2s, transform .2s; }
.mobile-menu nav a:hover { color: #a9d28e; transform: translateX(10px); }
.mobile-menu footer { display: flex; justify-content: space-between; gap: 20px; color: #75877d; font: 500 9px var(--display); letter-spacing: .14em; }

.hero { position: relative; min-height: 100svh; overflow: hidden; background: url("assets/evergreen-hero.JPG") center/cover no-repeat; color: #fff; }
.hero-shade { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(3,20,14,.43), rgba(3,20,14,.02) 45%, rgba(3,20,14,.52)), linear-gradient(90deg, rgba(3,20,14,.36), transparent 48%); }
.hero-copy { position: absolute; z-index: 2; left: clamp(24px, 7vw, 110px); bottom: clamp(100px, 16vh, 155px); max-width: 760px; }
.eyebrow { margin-bottom: 9px; font: 600 10px var(--display); letter-spacing: .24em; text-transform: uppercase; }
.hero-copy h1 { margin: 0 0 25px; font-family: var(--display); font-weight: 500; letter-spacing: -.035em; text-transform: uppercase; }
.hero-copy h1 > span { display: block; }
.hero-line-primary { font-size: clamp(48px, 6.2vw, 88px); line-height: .94; }
.hero-line-secondary { display: flex!important; align-items: center; gap: clamp(10px,1.2vw,18px); width: fit-content; margin-top: 15px; font-size: clamp(26px,3.4vw,48px); line-height: 1; letter-spacing: -.015em; }
.hero-line-secondary > span:first-child { white-space: nowrap; }
html[lang="zh-CN"] .hero-copy h1 > span { white-space: nowrap; }
.wc26-mark { position: relative; flex: 0 0 auto; width: .68em; height: .86em; border: 1px solid rgba(255,255,255,.82); border-radius: 2px; display: grid; place-items: end center; padding-bottom: .08em; color: #fff; background: rgba(5,27,20,.22); box-shadow: 0 6px 20px rgba(0,0,0,.16); font: 700 .27em/1 var(--display); letter-spacing: -.04em; }
.wc26-mark i { position: absolute; top: .12em; left: 50%; width: .19em; height: .27em; border: 1px solid currentColor; border-width: 1px 1px 0; border-radius: 50% 50% 30% 30%; transform: translateX(-50%); }
.wc26-mark i::before { content:""; position:absolute; left:50%; top:100%; width:1px; height:.14em; background:currentColor; transform:translateX(-50%); }
.wc26-mark i::after { content:""; position:absolute; left:50%; top:calc(100% + .13em); width:.19em; height:1px; background:currentColor; transform:translateX(-50%); }
.wc26-mark b { font: inherit; }
.hero-copy p:last-child { max-width: 390px; margin: 0; font-size: 12px; font-weight: 300; letter-spacing: .06em; }
.hero-side-copy { position: absolute; z-index: 2; right: clamp(24px, 4vw, 65px); top: 50%; display: flex; gap: 25px; color: rgba(255,255,255,.7); font: 500 8px var(--display); letter-spacing: .2em; transform: rotate(90deg) translateX(50%); transform-origin: right center; }
.scroll-cue { position: absolute; z-index: 2; right: clamp(24px, 7vw, 110px); bottom: 48px; display: flex; align-items: center; gap: 18px; font: 500 9px var(--display); letter-spacing: .16em; }
.scroll-cue i { position: relative; display: block; width: 65px; height: 1px; background: rgba(255,255,255,.55); }
.scroll-cue i::after { content: ""; position: absolute; right: 0; top: -3px; width: 7px; height: 7px; border-right: 1px solid #fff; border-bottom: 1px solid #fff; transform: rotate(-45deg); }

.gallery-strip { padding: 96px clamp(24px, 7vw, 110px) 105px; background: var(--paper); overflow: hidden; }
.gallery-title, .section-heading, .squad-heading { padding-inline: clamp(24px, 7vw, 110px); }
.gallery-title { padding-inline: 0; display: grid; grid-template-columns: 30px minmax(0,1fr) minmax(230px,360px); align-items: end; gap: 22px; margin-bottom: 38px; }
.section-index { color: #8a968f; font: 500 9px var(--display); letter-spacing: .08em; }
.gallery-title h2, .section-heading h2, .squad-heading h2, .training-heading h2 { margin: 0; font: 500 clamp(38px, 5vw, 70px)/.95 var(--display); text-transform: uppercase; }
.gallery-title .eyebrow { color: var(--field); }
.gallery-intro { max-width: 340px; margin: 0 0 2px; color: #5f6e65; font-size: 13px; line-height: 1.8; }
.gallery-controls { display: flex; align-items: stretch; margin-bottom: 18px; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.gallery-controls button { position: relative; display: flex; align-items: center; justify-content: space-between; gap: 50px; min-width: 210px; padding: 17px 20px 16px; border: 0; border-right: 1px solid var(--line); background: transparent; color: #819087; cursor: pointer; font: 500 10px var(--display); letter-spacing: .08em; text-transform: uppercase; transition: color .25s, background .25s; }
.gallery-controls button::after { content: ""; position: absolute; left: 20px; right: 20px; bottom: -1px; height: 2px; background: var(--field); transform: scaleX(0); transform-origin: left; transition: transform .3s ease; }
.gallery-controls button b { font-size: 9px; font-weight: 500; opacity: .65; }
.gallery-controls button.is-active { color: var(--field); background: rgba(10,65,47,.035); }
.gallery-controls button.is-active::after { transform: scaleX(1); }
.club-media-carousel { display: grid; grid-template-columns: 58px minmax(0,1fr) 58px; align-items: center; gap: clamp(12px,2vw,28px); max-width: 1480px; margin: 0 auto; }
.club-media-stage { position: relative; height: clamp(430px,61vw,780px); overflow: hidden; background: var(--deep); box-shadow: 0 28px 70px rgba(6,28,22,.14); }
.club-media-card { width: 100%; height: 100%; padding: 0; border: 0; background: transparent; cursor: zoom-in; animation: mediaIn .42s cubic-bezier(.2,.7,.2,1) both; }
.club-media-card img { width: 100%; height: 100%; object-fit: contain; object-position: center; }
.gallery-arrow { display: grid; place-items: center; width: 54px; height: 54px; border: 1px solid rgba(11,45,34,.28); border-radius: 50%; background: transparent; color: var(--forest); font: 300 23px var(--display); cursor: pointer; transition: background .25s,color .25s,transform .25s; }
.gallery-arrow:hover { background: var(--forest); color: #fff; transform: scale(1.04); }
.gallery-progress { width: min(680px,60%); height: 2px; margin: 26px auto 0; overflow: hidden; background: rgba(11,45,34,.12); }
.gallery-progress i { display: block; width: 100%; height: 100%; background: var(--field); transform: scaleX(.05); transform-origin: left; transition: transform .35s ease; }
@keyframes mediaIn { from { opacity: 0; transform: scale(.985); } to { opacity: 1; transform: none; } }

.matches-section { padding: 95px 0 100px; background: var(--forest); color: #fff; overflow: hidden; }
.section-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 30px; margin-bottom: 43px; }
.section-heading > div { display: grid; grid-template-columns: 30px 1fr; }
.section-heading .section-index { grid-row: 1 / 3; color: #72877b; }
.section-heading .eyebrow { color: #9eb7a9; }
.section-heading > p { max-width: 300px; margin: 0; color: #8ea397; font-size: 10px; line-height: 1.7; }
.match-carousel-wrap { position: relative; display: grid; grid-template-columns: 55px 1fr 55px; gap: 12px; padding-inline: clamp(16px, 4vw, 55px); align-items: center; }
.round-arrow { width: 49px; height: 49px; border: 1px solid rgba(255,255,255,.23); border-radius: 50%; background: transparent; color: #fff; cursor: pointer; transition: .2s; }
.round-arrow:hover { background: #fff; color: var(--forest); }
.match-carousel { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(280px, 31.5%); gap: 1px; overflow-x: auto; scrollbar-width: none; scroll-behavior: smooth; }
.match-carousel::-webkit-scrollbar { display:none; }
.match-card { min-height: 294px; padding: 24px; border: 0; border-right: 1px solid rgba(255,255,255,.13); background: rgba(255,255,255,.025); color: #fff; cursor: pointer; text-align: left; transition: background .25s; }
.match-card:hover { background: rgba(255,255,255,.075); }
.match-meta { display: flex; align-items: center; justify-content: space-between; color: #90a49a; font: 500 8px var(--display); letter-spacing: .15em; }
.match-card h3 { margin: 34px 0 30px; color: #d8e2dc; font: 500 11px var(--display); text-align: center; letter-spacing: .12em; }
.match-score { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 12px; }
.match-team { display: grid; justify-items: center; gap: 9px; text-align: center; }
.club-disc { display: grid; place-items: center; width: 45px; height: 45px; border: 1px solid rgba(255,255,255,.45); border-radius: 50%; font: 600 16px var(--display); }
.club-disc.evergreen { border-radius: 0; transform: rotate(45deg) scale(.8); background: #e9eee8; color: var(--forest); }
.club-disc.evergreen span { transform: rotate(-45deg); }
.match-team b { font: 500 10px/1.2 var(--display); letter-spacing: .06em; }
.score-value { font: 500 41px var(--display); white-space: nowrap; }
.score-value small { display: block; color: #788e82; font: 500 7px var(--display); text-align: center; letter-spacing: .18em; }
.match-open { display: flex; align-items: center; justify-content: space-between; margin-top: 31px; padding-top: 14px; border-top: 1px solid rgba(255,255,255,.12); color: #9db1a6; font: 500 8px var(--display); letter-spacing: .12em; }
.carousel-progress { height: 1px; margin: 40px clamp(70px, 10vw, 160px) 0; background: rgba(255,255,255,.13); }
.carousel-progress i { display:block; width: 33%; height: 100%; background: #c8d8cf; transition: transform .2s; transform-origin:left; }

.squad-section { min-height: 100vh; padding: 100px 0 68px; background: var(--cream); overflow:hidden; }
.squad-heading { display: flex; justify-content: space-between; align-items: end; margin-bottom: 38px; }
.squad-heading > div:first-child { display:grid;grid-template-columns:30px 1fr; }
.squad-heading .section-index { grid-row:1/3; }.squad-heading .eyebrow { color:var(--field); }.squad-heading h2 { grid-column:2; }
.player-count { display:flex;align-items:center;gap:10px;color:#8d9892;font:500 12px var(--display); }.player-count span:first-child { color:var(--ink);font-size:28px; }.player-count i { width:35px;height:1px;background:#9ca69f; }
.player-stage { --player-accent:#d2b65c;position:relative;display:grid;grid-template-columns:minmax(390px,.95fr) minmax(490px,1.05fr);min-height:650px;margin-inline:clamp(24px,7vw,110px);background:var(--white);border-top:1px solid var(--line);border-bottom:1px solid var(--line);box-shadow:0 32px 90px rgba(9,39,29,.09); }
.player-visual { position:relative;overflow:hidden;background:radial-gradient(circle at 50% 34%,color-mix(in srgb,var(--player-accent) 20%,transparent),transparent 38%),linear-gradient(150deg,#d9e0d6,#9daf9f);perspective:1000px; }
.player-visual::before { content:"";position:absolute;z-index:1;inset:-50% -35%;background:linear-gradient(110deg,transparent 42%,rgba(255,255,255,.2) 49%,transparent 56%);transform:translateX(-45%);animation:playerSweep 7s ease-in-out infinite; }
.player-visual::after { content:"";position:absolute;z-index:2;inset:0;background:linear-gradient(180deg,rgba(4,26,18,.05) 35%,rgba(5,35,24,.73));pointer-events:none; }
.portrait-placeholder { --tilt-x:0deg;--tilt-y:0deg;position:absolute;z-index:4;left:50%;top:50%;width:min(63%,320px);aspect-ratio:3/4;transform:translate(-50%,-44%) rotateX(var(--tilt-x)) rotateY(var(--tilt-y));transform-style:preserve-3d;transition:transform .25s ease,box-shadow .35s ease;background:linear-gradient(165deg,rgba(11,45,34,.06),rgba(11,45,34,.32));border:1px solid rgba(255,255,255,.35);clip-path:polygon(50% 0,93% 17%,100% 79%,77% 100%,23% 100%,0 79%,7% 17%);display:grid;place-items:center;align-content:center;color:rgba(255,255,255,.82);text-align:center; }
.portrait-placeholder::before { content:"";width:92px;height:92px;border-radius:50%;background:rgba(255,255,255,.13);box-shadow:0 112px 0 45px rgba(255,255,255,.1); }
.player-portrait { position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:none;filter:saturate(.88) contrast(1.03); }
.player-video { position:absolute;z-index:1;display:none;max-width:none;height:auto;filter:saturate(.94) contrast(1.035); }
.portrait-placeholder.has-image { width:min(72%,355px);clip-path:none;background:#173c2d;box-shadow:0 30px 70px rgba(5,29,21,.28);animation:portraitIn .5s ease; }
.portrait-placeholder.has-image::before,.portrait-placeholder.has-image > span,.portrait-placeholder.has-image > small { display:none; }
.portrait-placeholder.has-image .player-portrait { display:block; }
.portrait-placeholder.has-video { width:min(80%,540px);clip-path:none;overflow:hidden;background:#071d16;border-color:rgba(255,255,255,.7);box-shadow:0 32px 75px rgba(5,29,21,.34),0 0 0 1px color-mix(in srgb,var(--player-accent) 50%,transparent);animation:portraitIn .58s cubic-bezier(.2,.75,.25,1); }
.portrait-placeholder.has-video::before,.portrait-placeholder.has-video > span,.portrait-placeholder.has-video > small,.portrait-placeholder.has-video .player-portrait { display:none; }
.portrait-placeholder.has-video .player-video { display:block; }
.portrait-placeholder.has-video.is-captain { border-color:#e0bd58;box-shadow:0 0 0 2px rgba(224,189,88,.4),0 32px 75px rgba(5,29,21,.38),0 0 45px rgba(224,189,88,.16); }
.player-video-progress { position:absolute;z-index:5;left:25px;right:25px;bottom:104px;height:2px;background:rgba(255,255,255,.22);overflow:hidden; }
.player-video-progress i { display:block;width:100%;height:100%;background:var(--player-accent);transform:scaleX(0);transform-origin:left; }
@keyframes portraitIn { from { opacity:.15;transform:translate(-50%,-42%) scale(.94) rotateX(var(--tilt-x)) rotateY(var(--tilt-y));filter:blur(5px); } }
@keyframes playerSweep { 0%,32%{transform:translateX(-55%)}65%,100%{transform:translateX(55%)} }
.player-stage.is-switching .portrait-placeholder.has-video { animation:portraitIn .58s cubic-bezier(.2,.75,.25,1); }
.player-stage.is-switching .player-summary,.player-stage.is-switching .ability-block { animation:dataSlideIn .48s ease both; }
.player-stage.is-switching .ability-block { animation-delay:.08s; }
@keyframes dataSlideIn { from{opacity:0;transform:translateX(18px)} }
.portrait-placeholder span { position:absolute;top:45%;font:500 17px/1.25 var(--display);letter-spacing:.15em; }.portrait-placeholder small { position:absolute;bottom:25px;font-size:8px;letter-spacing:.12em; }
.player-identity { position:absolute;z-index:3;left:35px;bottom:30px;color:#fff; }.player-identity p { margin:0 0 4px;font:500 9px var(--display);letter-spacing:.16em; }.player-identity h3 { margin:0;font:500 42px/1 var(--display);text-transform:uppercase; }
.player-data { position:relative;overflow:hidden;padding:clamp(32px,4vw,58px);display:grid;grid-template-rows:auto 1fr;gap:35px;background:linear-gradient(145deg,#fff 0%,#fff 66%,color-mix(in srgb,var(--player-accent) 6%,#fff)); }
.player-summary,.ability-block { position:relative;z-index:1; }
.player-index-line { display:flex;align-items:center;gap:11px;margin-bottom:18px;color:#819087;font:600 8px var(--display);letter-spacing:.17em; }
.player-index-line i { width:42px;height:1px;background:var(--line); }.player-index-line b { color:var(--player-accent);font-weight:600; }
.role-tag { display:inline-block;padding:7px 11px;background:var(--forest);color:#fff;border-left:3px solid var(--player-accent);font-size:9px;letter-spacing:.13em; }
.player-summary h3 { margin:18px 0 8px;font:500 clamp(42px,5vw,70px)/.9 var(--display);text-transform:uppercase; }
.player-summary > p { max-width:520px;margin-bottom:25px;color:var(--muted);font-size:11px;line-height:1.75; }
.recent-data { display:grid;grid-template-columns:repeat(4,1fr);border-block:1px solid var(--line); }
.recent-data span { display:grid;gap:5px;padding:15px 12px;border-right:1px solid var(--line); }.recent-data span:first-child{padding-left:0}.recent-data span:last-child{border:0}
.recent-data small { color:var(--muted);font-size:8px; }.recent-data b { font:500 20px var(--display); }
.ability-block { display:grid;align-content:end; }
.ability-head { display:flex;align-items:end;justify-content:space-between;border-bottom:1px solid var(--line);padding-bottom:10px; }.ability-head .eyebrow { color:var(--field);margin-bottom:3px; }.ability-head h4 { margin:0;font:500 25px var(--display); }.ability-head > span { display:flex;align-items:baseline; }.ability-head > span b { font:500 40px var(--display); }.ability-head > span small { color:var(--muted);font-size:9px; }
.ability-legend { display:grid;gap:9px; }.ability-legend span { display:grid;grid-template-columns:1fr auto;gap:8px;color:var(--muted);font-size:8px; }.ability-legend b { color:var(--forest);font:500 12px var(--display); }.ability-legend i { grid-column:1/-1;height:2px;background:#d8ded8; }.ability-legend i::after { content:"";display:block;width:var(--score);height:100%;background:var(--field); }
.player-arrow { position:absolute;z-index:5;top:50%;border:0;background:transparent;color:#fff;display:grid;gap:5px;cursor:pointer;font:300 28px var(--display); }.player-arrow small { font:500 7px var(--display);letter-spacing:.13em; }.player-prev { left:17px; }.player-next { right:17px;color:var(--forest);justify-items:end; }
.player-roster { display:flex;gap:5px;margin:28px clamp(24px,7vw,110px) 0;overflow-x:auto;scrollbar-width:none;padding-bottom:12px; }.player-roster::-webkit-scrollbar{display:none}.roster-dot { position:relative;flex:0 0 auto;min-width:70px;height:46px;padding:0 10px;border:1px solid var(--line);background:transparent;display:grid;grid-template-columns:auto 1fr;align-items:center;gap:8px;color:#78867e;font:500 9px var(--display);cursor:pointer;transition:.25s; }.roster-dot span{color:var(--ink);font-size:13px}.roster-dot small{max-width:44px;overflow:hidden;text-overflow:ellipsis;text-align:left;font-size:7px;letter-spacing:.08em;white-space:nowrap}.roster-dot:hover{border-color:var(--field);transform:translateY(-2px)}.roster-dot.is-active { min-width:92px;background:var(--forest);color:#a9beb2;border-color:var(--forest);box-shadow:0 10px 25px rgba(6,28,22,.18); }.roster-dot.is-active span{color:#fff}.roster-dot.is-active::after{content:"";position:absolute;left:10px;right:10px;bottom:5px;height:2px;background:var(--player-accent)}

/* Player profile — restrained 35/65 editorial layout */
.player-stage { grid-template-columns:minmax(330px,35fr) minmax(560px,65fr);min-height:720px;background:#f8f7f1;border:0;box-shadow:0 30px 80px rgba(6,28,22,.1); }
.player-visual { min-width:0;background:#07513f;perspective:1100px; }
.player-visual::before { display:none; }
.player-visual::after { z-index:2;background:linear-gradient(180deg,rgba(2,16,11,.02) 58%,rgba(2,16,11,.72)); }
.player-film-label { position:absolute;z-index:5;top:22px;left:26px;display:flex;align-items:center;gap:10px;color:rgba(255,255,255,.8);font:600 10px var(--display);letter-spacing:.18em; }
.player-film-label i { width:28px;height:1px;background:var(--player-accent); }
.portrait-placeholder { inset:54px 25px 104px;left:auto;top:auto;width:auto;aspect-ratio:auto;transform:perspective(1000px) rotateX(var(--tilt-x)) rotateY(var(--tilt-y));clip-path:none;overflow:hidden;border:1px solid rgba(255,255,255,.14);background:#064535;box-shadow:none;transition:transform .28s ease; }
.portrait-placeholder::before { width:84px;height:84px;box-shadow:0 105px 0 42px rgba(255,255,255,.07); }
.portrait-placeholder.has-video,.portrait-placeholder.has-image { inset:54px 25px 104px;width:auto;clip-path:none;background:#064535;border-color:rgba(255,255,255,.12);box-shadow:none;animation:none; }
.portrait-placeholder.has-video.is-captain { border-color:rgba(200,169,95,.6);box-shadow:0 0 0 1px rgba(200,169,95,.12); }
.player-video,.portrait-placeholder.has-video .player-video { inset:0;display:block;width:100%;height:100%;max-width:100%;object-fit:contain;background:#064535;filter:saturate(.94) contrast(1.025); }
.player-portrait { object-fit:contain;background:#064535; }
.player-video-progress { left:25px;right:25px;bottom:89px;height:1px;background:rgba(255,255,255,.18); }
.player-identity { z-index:4;left:25px;right:25px;bottom:24px;display:flex;align-items:end;justify-content:space-between;gap:15px; }
.player-identity span { color:rgba(255,255,255,.58);font:500 9px var(--display);letter-spacing:.14em; }
.player-identity p { margin:0;color:#fff;font:500 12px var(--display);letter-spacing:.12em; }
.player-data { padding:clamp(40px,4.6vw,68px);gap:28px;background:#eef3ee;color:var(--forest); }
.player-summary { align-self:start; }
.player-index-line { margin-bottom:20px;font-size:10px; }
.player-headline { display:flex;align-items:flex-end;gap:clamp(22px,3vw,44px);padding-bottom:20px;border-bottom:1px solid var(--line); }
.player-headline > strong { color:var(--forest);font:500 clamp(92px,10vw,150px)/.72 var(--display);letter-spacing:-.065em; }
.player-headline > div { min-width:0;flex:1; }
.player-headline small { display:block;margin-bottom:8px;color:#718178;font:600 10px var(--display);letter-spacing:.16em; }
.player-summary .player-headline h3 { margin:0;color:var(--forest);font:500 clamp(52px,6.4vw,96px)/.76 var(--display);letter-spacing:-.045em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis; }
.player-captain-badge { display:inline-flex;align-items:center;margin-top:14px;padding:8px 13px;border:1px solid #aa893d;background:#c8a95f;color:#fff;box-shadow:0 6px 16px rgba(133,101,26,.18);font:700 10px var(--display);letter-spacing:.16em; }.player-captain-badge::before{content:"C";display:grid;place-items:center;width:18px;height:18px;margin-right:8px;border:1px solid rgba(255,255,255,.7);border-radius:50%;font-size:9px;letter-spacing:0}.player-captain-badge[hidden]{display:none}
.player-note { display:flex;align-items:flex-start;gap:14px;max-width:600px;margin:18px 0 21px; }.player-note span { flex:0 0 auto;margin-top:1px;padding:5px 8px;background:#d6e4da;color:#315f4d;font:600 9px var(--display);letter-spacing:.1em; }.player-note p { margin:0;color:#52675c;font-size:12px;line-height:1.7; }
.player-facts { display:grid;grid-template-columns:.8fr 1fr 1.4fr;border-block:1px solid var(--line); }
.player-facts span { min-width:0;padding:15px 18px;border-right:1px solid var(--line);display:grid;gap:6px; }
.player-facts span:first-child { padding-left:0; }.player-facts span:last-child { border-right:0; }
.player-facts small { color:#5f766a;font-size:10px;letter-spacing:.08em; }.player-facts b { overflow:hidden;color:var(--forest);font:500 18px var(--display);text-overflow:ellipsis;white-space:nowrap; }
.ability-block { min-height:300px;padding:25px 28px 24px;background:#dce8df;color:var(--forest);display:grid;align-content:stretch;border-top:3px solid #27664f; }
.ability-head { align-items:center;padding-bottom:14px;border-bottom-color:rgba(11,45,34,.16); }
.ability-head .eyebrow { color:#587667;font-size:10px; }.ability-head h4 { color:var(--forest);font-size:27px; }
.ability-head > span { width:72px;height:72px;border:1px solid color-mix(in srgb,var(--overall-color,#27664f) 62%,transparent);border-radius:50%;display:grid;place-items:center;align-content:center;background:color-mix(in srgb,var(--overall-color,#27664f) 8%,rgba(255,255,255,.22)); }
.ability-head > span small { order:0;color:#587365;font-size:8px;letter-spacing:.1em; }.ability-head > span b { order:1;color:var(--forest);font-size:31px;line-height:.9; }
.ability-legend { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin-top:17px;border-top:1px solid rgba(11,45,34,.14);border-left:1px solid rgba(11,45,34,.14); }
.ability-legend span { min-height:92px;padding:15px 16px;grid-template-columns:1fr auto;align-content:space-between;gap:10px;color:#526e60;font-size:10px;font-weight:600;border-right:1px solid rgba(11,45,34,.14);border-bottom:1px solid rgba(11,45,34,.14); }
.ability-head > span b { color:var(--overall-color,#27664f); }
.ability-legend b { color:var(--score-color,#27664f);font-size:30px;line-height:.85; }.ability-legend i { height:2px;background:rgba(11,45,34,.12); }.ability-legend i::after { background:var(--score-color,#27664f); }
.ability-legend span.is-pending { color:#71877b; }.ability-legend span.is-pending b { color:#71877b; }.ability-legend span.is-pending i::after { width:0; }
.player-arrow { width:42px;height:42px;border:1px solid rgba(255,255,255,.28);border-radius:50%;place-items:center;background:rgba(5,27,20,.18);backdrop-filter:blur(8px);font-size:18px;transition:.2s; }
.player-arrow:hover { transform:translateY(-2px);background:rgba(5,27,20,.55); }.player-arrow small { display:none; }.player-prev { left:12px; }.player-next { right:12px;color:var(--forest);border-color:rgba(11,45,34,.23);background:rgba(248,247,241,.78); }
.roster-dot { min-width:82px;height:48px;background:#eef3ee; }.roster-dot span{font-size:15px}.roster-dot small{max-width:50px;font-size:9px}.roster-dot.is-active { min-width:102px;box-shadow:none; }
.player-stage.is-switching .portrait-placeholder.has-video { animation:playerVideoIn .5s cubic-bezier(.2,.75,.25,1); }
.player-stage.is-switching .player-summary,.player-stage.is-switching .ability-block { animation:profileDataIn .45s ease both; }
.player-stage.is-switching .ability-block { animation-delay:.06s; }
@keyframes playerVideoIn { from{opacity:.12;transform:perspective(1000px) translateY(12px) scale(.985)} }
@keyframes profileDataIn { from{opacity:0;transform:translateX(14px)} }

.training-section { position:relative;min-height:950px;padding:110px clamp(24px,7vw,110px);color:#fff;background:#102c22;overflow:hidden; }
.training-backdrop { position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,29,21,.92),rgba(5,29,21,.55) 49%,rgba(5,29,21,.9)),linear-gradient(0deg,rgba(5,29,21,.75),transparent 55%),url("assets/training-barcelona.JPG") center/cover no-repeat; }
.training-heading,.training-split { position:relative;z-index:2; }.training-heading { max-width:610px;margin-bottom:70px;display:grid;grid-template-columns:30px 1fr; }.training-heading .section-index { grid-row:1/5;color:#80978b; }.training-heading .eyebrow { color:#adc1b6; }.training-heading h2{grid-column:2;margin-bottom:15px}.training-heading > p:last-child{grid-column:2;max-width:420px;margin:0;color:#a9bbb1;font-size:11px;line-height:1.7}
.training-split { display:grid;grid-template-columns:1fr 1fr;border-top:1px solid rgba(255,255,255,.25);border-bottom:1px solid rgba(255,255,255,.25);backdrop-filter:blur(10px); }
.training-column { padding:32px clamp(22px,4vw,55px);background:rgba(5,26,19,.34); }.training-column + .training-column{border-left:1px solid rgba(255,255,255,.25)}
.training-column header { display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;color:#aabbb1;font:500 9px var(--display);letter-spacing:.14em; }.training-column header b { color:#fff;font:500 30px var(--display); }
.training-item { display:grid;grid-template-columns:74px 1fr auto;gap:18px;align-items:center;padding:19px 0;border-top:1px solid rgba(255,255,255,.14); }.training-item time { color:#9eb0a6;font:500 9px var(--display); }.training-item h3 { margin:0 0 4px;font-size:12px;font-weight:500; }.training-item p { margin:0;color:#8fa399;font-size:9px; }.training-item > span { color:#a6b8ae;font:500 9px var(--display); }
.line-button { width:100%;padding:18px 0 4px;border:0;border-top:1px solid rgba(255,255,255,.3);background:transparent;color:#fff;display:flex;justify-content:space-between;font-size:9px;cursor:pointer;letter-spacing:.08em; }

.site-footer { min-height:360px;padding:70px clamp(24px,7vw,110px) 38px;background:var(--deep);color:#fff;display:grid;grid-template-columns:1fr 1fr;align-items:start;gap:35px; }
.footer-wordmark { display:grid;gap:9px;align-content:start; }.footer-wordmark strong { font:500 clamp(30px,4vw,55px)/1 var(--display);letter-spacing:.08em; }.footer-wordmark small { color:#71847a;font:500 8px var(--display);letter-spacing:.2em; }
.site-footer > p { justify-self:end;font:400 22px var(--display);letter-spacing:.15em; }.site-footer nav { align-self:end;display:flex;gap:28px;font-size:9px; }.site-footer > small { align-self:end;justify-self:end;color:#72847a;font:500 8px var(--display);letter-spacing:.1em; }

dialog { padding:0;border:0;background:var(--paper);color:var(--ink);box-shadow:0 30px 100px rgba(0,0,0,.45); }.match-modal { width:min(850px,calc(100% - 28px));max-height:90vh;overflow:auto; }.gallery-modal { width:min(1050px,calc(100% - 28px));background:#071c15;color:#fff; }.gallery-modal img{display:block;width:100%;max-height:88vh;object-fit:contain}.modal-close { position:absolute;z-index:4;top:16px;right:17px;width:38px;height:38px;border:1px solid rgba(255,255,255,.4);border-radius:50%;background:rgba(4,23,17,.58);color:#fff;font-size:20px;cursor:pointer; }.match-modal::backdrop,.gallery-modal::backdrop{background:rgba(3,17,12,.82);backdrop-filter:blur(8px)}
.squad-video-modal { width:min(1100px,calc(100% - 28px));background:#061c16;overflow:hidden; }
.squad-video-modal video { display:block;width:100%;max-height:88vh;background:#000; }
.squad-video-modal::backdrop { background:rgba(3,17,12,.88);backdrop-filter:blur(8px); }
.modal-match-head { padding:45px;background:var(--forest);color:#fff;text-align:center; }.modal-match-head .match-score{max-width:470px;margin:28px auto 0}.modal-match-head h2{font:500 13px var(--display);letter-spacing:.14em}.modal-match-head .club-disc{width:58px;height:58px}.modal-match-head .score-value{font-size:54px}
.modal-tabs { display:flex;border-bottom:1px solid var(--line);padding:0 35px; }.modal-tabs button{padding:17px 14px;border:0;border-bottom:2px solid transparent;background:transparent;color:var(--muted);font-size:9px;cursor:pointer}.modal-tabs button.is-active{color:var(--forest);border-color:var(--forest)}
.modal-panel { display:none;padding:32px 45px 42px; }.modal-panel.is-active{display:block}.match-stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.match-stat-grid span{padding:16px;border:1px solid var(--line);display:grid;gap:6px}.match-stat-grid small{color:var(--muted);font-size:8px}.match-stat-grid b{font:500 23px var(--display)}
.video-placeholder { min-height:230px;background:linear-gradient(145deg,#123c2b,#071c15);color:#fff;display:grid;place-items:center;text-align:center; }.video-placeholder button{width:60px;height:60px;border:1px solid #fff;border-radius:50%;background:transparent;color:#fff;cursor:pointer}.video-placeholder p{margin:12px 0 0;font-size:10px}.moment-list{display:grid}.moment{display:grid;grid-template-columns:55px 1fr;gap:15px;padding:15px 0;border-bottom:1px solid var(--line)}.moment time{color:var(--field);font:600 17px var(--display)}.moment h4{margin:0 0 4px;font-size:11px}.moment p{margin:0;color:var(--muted);font-size:9px;line-height:1.6}
.comments-list{display:grid;gap:10px;margin-bottom:20px}.comment{padding:13px;background:#eef0eb;font-size:9px}.comment b{display:block;margin-bottom:4px}.comment-form{display:grid;grid-template-columns:1fr auto;gap:8px}.comment-form input{padding:11px;border:1px solid var(--line);background:#fff}.comment-form button{padding:0 16px;border:0;background:var(--forest);color:#fff;font-size:9px;cursor:pointer}
.toast { position:fixed;z-index:120;left:50%;bottom:28px;padding:12px 18px;background:var(--deep);color:#fff;font-size:9px;letter-spacing:.06em;transform:translate(-50%,25px);opacity:0;transition:.25s;pointer-events:none; }.toast.is-visible{opacity:1;transform:translate(-50%,0)}

@media (max-width: 980px) {
  .site-header{grid-template-columns:130px 1fr 130px}.desktop-nav{display:none}.header-club{grid-column:2}.language-switch{grid-column:3}
  .gallery-title{grid-template-columns:30px 1fr}.gallery-intro{grid-column:2;max-width:500px}.club-media-carousel{grid-template-columns:52px minmax(0,1fr) 52px;gap:14px}.club-media-stage{height:clamp(420px,65vw,650px)}
  .match-carousel{grid-auto-columns:minmax(290px,48%)}
  .player-stage{grid-template-columns:1fr;}.player-visual{min-height:620px}.player-data{min-height:600px}.player-next{top:76%;color:var(--forest)}.player-prev{top:24%}
}

@media (max-width: 700px) {
  .site-header{height:68px;padding:0 16px;grid-template-columns:90px 1fr 90px}.site-header.is-scrolled{height:60px}.menu-toggle span{display:none}.header-club{width:auto;height:auto}.header-club span{font-size:14px}.header-club small{font-size:5px}.language-switch{gap:7px}
  .hero{min-height:92svh;background-position:63% center}.hero-copy{left:20px;right:20px;bottom:90px}.hero-line-primary{font-size:44px}.hero-line-secondary{margin-top:11px;font-size:27px;gap:9px}.hero-side-copy{display:none}.scroll-cue{right:20px;bottom:30px}
  .gallery-strip{padding:65px 20px 72px}.matches-section,.squad-section{padding-block:65px}.gallery-title,.section-heading,.squad-heading{padding-inline:20px}.gallery-title{padding-inline:0;grid-template-columns:24px 1fr;gap:14px;margin-bottom:28px}.gallery-title h2{font-size:46px}.gallery-intro{grid-column:2;font-size:12px}.gallery-controls{overflow-x:auto}.gallery-controls button{min-width:175px;gap:25px;padding-inline:14px}.club-media-carousel{position:relative;display:block}.club-media-stage{height:62vw;min-height:260px;max-height:440px}.gallery-arrow{position:absolute;z-index:4;top:50%;width:43px;height:43px;border-color:rgba(255,255,255,.52);background:rgba(5,27,20,.52);color:#fff;transform:translateY(-50%)}.gallery-arrow:hover{transform:translateY(-50%);background:rgba(5,27,20,.78)}.gallery-prev{left:10px}.gallery-next{right:10px}.gallery-progress{width:74%;margin-top:20px}
  .section-heading{align-items:flex-start;flex-direction:column}.section-heading>p{margin-left:30px}.match-carousel-wrap{grid-template-columns:1fr;padding-inline:20px}.match-carousel{grid-auto-columns:86vw}.round-arrow{display:none}.carousel-progress{margin-inline:20px}
  .squad-heading{align-items:flex-start}.player-count{margin-top:28px}.player-stage{margin-inline:0;border:0;box-shadow:none}.player-visual{min-height:580px}.portrait-placeholder,.portrait-placeholder.has-video,.portrait-placeholder.has-image{inset:50px 24px 102px}.player-data{min-height:auto;padding:34px 20px}.player-headline{gap:17px}.player-headline>strong{font-size:76px}.player-summary .player-headline h3{font-size:52px}.player-facts{grid-template-columns:1fr 1fr}.player-facts span{padding:14px 12px}.player-facts span:nth-child(2){border-right:0}.player-facts span:last-child{grid-column:1/-1;border-top:1px solid var(--line);padding-left:0}.ability-block{padding:24px 18px}.ability-legend{grid-template-columns:repeat(2,1fr)}.player-next{top:43%;right:14px;color:#fff;border-color:rgba(255,255,255,.28);background:rgba(5,27,20,.18)}.player-prev{top:43%;left:14px}.player-roster{margin-inline:20px}
  .training-section{padding:75px 20px;min-height:auto}.training-heading{margin-bottom:45px}.training-split{grid-template-columns:1fr}.training-column+.training-column{border-left:0;border-top:1px solid rgba(255,255,255,.25)}.training-column{padding:28px 20px}.training-item{grid-template-columns:55px 1fr}.training-item>span{display:none}
  .site-footer{grid-template-columns:1fr;min-height:430px;padding:60px 20px 30px}.site-footer>p,.site-footer>small{justify-self:start}.site-footer nav{flex-wrap:wrap}
  .modal-match-head,.modal-panel{padding:35px 20px}.match-stat-grid{grid-template-columns:repeat(2,1fr)}.modal-tabs{padding:0 8px;overflow-x:auto}.comment-form{grid-template-columns:1fr}.comment-form button{min-height:40px}
}

@media (prefers-reduced-motion: reduce) { *,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important} }
