@import url('https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Manrope:wght@400;500;600;700;800&display=swap');

:root { --ink:#24152b; --forest:#932c90; --forest-deep:#3a123d; --orange:#f3971a; --cream:#f8eef8; --paper:#fffafd; --muted:#6e6171; --line:rgba(58,18,61,.16); --magenta:#a500a9; }
html { scroll-behavior:smooth; }
body { background:var(--paper); color:var(--ink); font-family:'Manrope',sans-serif; overflow-x:hidden; }
body, p, li { color:var(--ink); }
h1,h2,h3,h4,h5,h6 { color:var(--ink); font-family:'Manrope',sans-serif; letter-spacing:-.04em; }
p { line-height:1.75; }
a { color:inherit; }
.site-header { background:var(--forest-deep); border-bottom:1px solid rgba(255,255,255,.12); padding:11px 0; }
.site-header p, .site-header a { color:rgba(255,255,255,.78)!important; font-size:11px; letter-spacing:.04em; }
.site-header-icon { color:var(--orange); }
.navbar { background:var(--forest); padding:15px 0; }
.navbar .logo { max-height:62px; width:auto; object-fit:contain; }
.navbar-nav { align-items:center; gap:4px; }
.navbar .nav-link { color:rgba(255,255,255,.78); font-size:12px; font-weight:700; letter-spacing:.02em; padding:10px 13px!important; }
.navbar .nav-link:hover, .navbar .nav-link.active { color:#fff; }
.navbar-toggler { border-color:rgba(255,255,255,.4); }
.navbar-toggler-icon { filter:invert(1); }
.academy-nav-cta { background:var(--orange); color:var(--forest-deep)!important; border-radius:2px; padding:12px 17px!important; margin-left:8px; }
.academy-nav-cta:hover { background:#fff; color:var(--forest-deep)!important; }
.academy-hero { min-height:calc(100vh - 112px); position:relative; display:flex; align-items:center; overflow:hidden; background:var(--forest-deep); color:#fff; }
.academy-hero-media { position:absolute; inset:0; background:linear-gradient(90deg,rgba(8,30,21,.96) 0%,rgba(8,30,21,.74) 42%,rgba(8,30,21,.13) 100%),var(--academy-hero-image,url('../images/players/homeboys.jpeg')) center/cover; transform:scale(1.02); }
.academy-hero-grid { position:absolute; inset:0; background-image:linear-gradient(rgba(255,255,255,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.06) 1px,transparent 1px); background-size:72px 72px; mask-image:linear-gradient(90deg,#000,transparent 75%); }
.academy-hero-content { position:relative; z-index:1; padding:110px 0 145px; }
.eyebrow { font:500 11px 'DM Mono',monospace; letter-spacing:.12em; text-transform:uppercase; color:var(--magenta); margin-bottom:20px; }
.eyebrow-light { color:var(--orange); }
.academy-hero h1, .page-hero h1 { color:#fff; font-size:clamp(48px,7.2vw,104px); line-height:.98; max-width:880px; margin-bottom:28px; }
.academy-hero h1 span, .page-hero h1 span { color:var(--orange); }
.hero-lede { color:rgba(255,255,255,.82); font-size:clamp(17px,2vw,22px); line-height:1.5; max-width:610px; margin-bottom:35px; }
.hero-actions { display:flex; flex-wrap:wrap; gap:12px; align-items:center; }
.academy-btn { display:inline-flex; gap:15px; align-items:center; justify-content:center; min-height:50px; padding:14px 18px; border:1px solid transparent; border-radius:2px; font-size:12px; font-weight:800; letter-spacing:.01em; }
.academy-btn i { font-size:16px; }
.academy-btn-primary { background:var(--orange); color:var(--forest-deep); }
.academy-btn-primary:hover { background:#fff; color:var(--forest-deep); }
.academy-btn-ghost { color:#fff; border-color:rgba(255,255,255,.45); }
.academy-btn-ghost:hover { background:#fff; color:var(--forest-deep); }
.academy-btn-light { background:#fff; color:var(--forest-deep); }
.academy-btn-light:hover { background:var(--orange); color:var(--forest-deep); }
.academy-btn-outline { border-color:var(--forest); color:var(--forest); }
.academy-btn-outline:hover { background:var(--forest); color:#fff; }
.hero-note { border-left:1px solid var(--orange); padding-left:24px; max-width:230px; margin-left:auto; margin-bottom:20px; }
.hero-note-mark { color:var(--orange); font:500 12px 'DM Mono',monospace; }
.hero-note p { color:rgba(255,255,255,.72); font-size:13px; line-height:1.6; margin:14px 0 0; }
.hero-scroll { position:absolute; bottom:28px; left:calc(50% - 585px); color:rgba(255,255,255,.7); font:500 10px 'DM Mono',monospace; letter-spacing:.1em; text-transform:uppercase; }
.hero-scroll span { display:inline-block; width:30px; height:1px; background:var(--orange); vertical-align:middle; margin-right:10px; }
.academy-section { padding:115px 0; }
.section-cream { background:var(--cream); }
.section-paper { background:var(--paper); }
.section-dark { background:var(--forest-deep); }
.academy-section h2, .academy-cta h2 { font-size:clamp(36px,4.5vw,64px); line-height:1.04; margin:0 0 24px; }
.section-intro { color:var(--muted); font-size:17px; max-width:500px; }
.text-link { color:var(--forest); font-size:12px; font-weight:800; border-bottom:1px solid var(--forest); padding-bottom:5px; }
.text-link i { margin-left:9px; }
.text-link:hover { color:var(--magenta); border-color:var(--magenta); }
.mission-panel { background:#fff; border-left:4px solid var(--orange); padding:42px 48px; box-shadow:0 20px 60px rgba(18,35,29,.07); }
.mission-panel p { font-size:clamp(20px,2.3vw,30px); line-height:1.45; letter-spacing:-.03em; }
.mission-signature { display:flex; gap:20px; align-items:center; border-top:1px solid var(--line); padding-top:23px; margin-top:35px; }
.mission-signature span, .vision-list span, .model-card>span, .story-card-body>span { color:var(--magenta); font:500 10px 'DM Mono',monospace; text-transform:uppercase; letter-spacing:.08em; }
.mission-signature strong { font-size:12px; }
.section-heading { display:flex; justify-content:space-between; gap:40px; align-items:flex-end; }
.section-heading h2 { max-width:680px; }
.section-heading>p { color:rgba(255,255,255,.65); max-width:330px; margin-bottom:26px; font-size:13px; }
.section-heading-light h2 { color:#fff; }
.model-card { height:100%; min-height:240px; background:#5b1c5d; border:1px solid rgba(255,255,255,.12); padding:25px; transition:transform .25s,background .25s; }
.model-card:hover { transform:translateY(-5px); background:#73206f; }
.model-card>span { color:var(--orange); }
.model-card i { display:block; color:var(--orange); font-size:27px; margin:38px 0 20px; }
.model-card h3 { color:#fff; font-size:24px; margin-bottom:10px; }
.model-card p { color:rgba(255,255,255,.63); font-size:13px; line-height:1.6; margin:0; }
.image-story-wrap { position:relative; }
.image-story { width:100%; height:550px; object-fit:cover; }
.image-stamp { position:absolute; right:0; bottom:25px; width:124px; height:124px; display:flex; flex-direction:column; justify-content:center; align-items:center; background:var(--orange); color:var(--forest-deep); }
.image-stamp strong { font-size:36px; letter-spacing:-.08em; }
.image-stamp span { font:500 9px 'DM Mono',monospace; text-transform:uppercase; }
.vision-list { margin-top:35px; }
.vision-list>div { display:flex; gap:20px; border-top:1px solid var(--line); padding:17px 0; }
.vision-list p { margin:0; font-size:14px; color:var(--muted); }
.story-card { background:#fff; border:1px solid var(--line); height:100%; transition:transform .25s,box-shadow .25s; }
.story-card:hover { transform:translateY(-5px); box-shadow:0 20px 50px rgba(18,35,29,.09); }
.story-card img { display:block; width:100%; height:210px; object-fit:cover; }
.story-card-body { padding:25px; }
.story-card h3 { font-size:21px; line-height:1.2; margin:14px 0 10px; }
.story-card p { color:var(--muted); font-size:13px; line-height:1.6; }
.story-card strong { color:var(--forest); font-size:11px; }
.empty-state { border:1px dashed var(--line); padding:50px; text-align:center; }
.empty-state i { color:var(--magenta); font-size:30px; }
.empty-state p { color:var(--muted); }
.academy-cta { background:var(--forest); color:#fff; padding:85px 0; }
.academy-cta h2 { color:#fff; max-width:700px; }
.academy-cta p { color:rgba(255,255,255,.68); max-width:640px; }
.page-hero { padding:110px 0 90px; background:linear-gradient(100deg,rgba(8,30,21,.95),rgba(18,59,42,.72)),url('../images/players/Players-banner.jpg') center/cover; }
.page-hero p:not(.eyebrow) { color:rgba(255,255,255,.78); max-width:570px; font-size:17px; }
.standard-card { height:100%; min-height:250px; background:#fff; padding:32px; border:1px solid var(--line); }
.standard-card i { color:var(--magenta); font-size:30px; }
.standard-card h2 { font-size:25px; margin:28px 0 12px; }
.standard-card p { color:var(--muted); font-size:14px; line-height:1.7; }
.narrow-copy { max-width:760px; margin:0 auto; }
.banner-section { min-height:330px; padding:95px 0 60px; background:linear-gradient(100deg,rgba(8,30,21,.95),rgba(18,59,42,.72)),url('../images/players/Players-banner.jpg') center/cover; }
.banner-section h1 { color:#fff; font-size:clamp(40px,5vw,70px); }
.banner-section .breadcrumb-item, .banner-section .breadcrumb-item a { color:rgba(255,255,255,.75); font-size:11px; }
.services-section, .team-section { background:var(--cream); }
.services-thumb { background:#fff; border:1px solid var(--line); padding:22px; height:100%; box-shadow:none; }
.services-thumb .services-image { height:260px; object-fit:cover; }
.services-thumb p { font-size:13px; line-height:1.65; }
.services-title-link { color:var(--ink); }
.services-title-link:hover { color:var(--magenta); }
.featured-block { background:#fff; border:1px solid var(--line); }
.gallery-card { display:block; overflow:hidden; background:#fff; border:1px solid var(--line); }
.gallery-card .gallery-image { display:block; width:100%; height:280px; object-fit:cover; transition:transform .35s ease, filter .35s ease; }
.gallery-card:hover .gallery-image { transform:scale(1.04); filter:saturate(1.08); }
.site-footer { background:var(--forest-deep); }
.site-footer .logo { max-height:56px; }
.site-footer-title, .site-footer h5 { color:#fff; font-size:15px; }
.site-footer p, .site-footer li, .site-footer a { color:rgba(255,255,255,.62); font-size:12px; }
.site-footer a:hover { color:var(--orange); }
.site-footer-bottom { border-top:1px solid rgba(255,255,255,.1); }
.copyright-text { color:rgba(255,255,255,.45)!important; }
@media (max-width: 991px) { .navbar-nav { padding-top:16px; } .academy-nav-cta { margin:8px 0 0; display:inline-flex; width:max-content; } .academy-hero-content { padding:90px 0 120px; } .hero-scroll { left:20px; } .section-heading { display:block; } .section-heading>p { margin-top:16px; } }
@media (max-width: 575px) { .site-header p { font-size:10px; } .academy-section { padding:78px 0; } .academy-hero h1, .page-hero h1 { font-size:46px; } .hero-lede { font-size:16px; } .mission-panel { padding:30px 25px; } .image-story { height:360px; } .footer-menu { margin-left:0!important; margin-top:22px; } }
