:root{
  --pitch:#0F1B14; --pitch-2:#152A1D; --card:#FFFFFF; --ink:#16201A;
  --text-sub:#5D685F; --turf:#2F6B3C; --turf-dark:#1E4A28;
  --foil:#B08D2B; --foil-light:#E7D9AE;
  --low:#2E7D46; --low-bg:#E4F0E6;
  --med:#B4771B; --med-bg:#F5E9D4;
  --high:#B8332C; --high-bg:#F5DFDD;
}
*{box-sizing:border-box;}
body{
  margin:0; background:var(--pitch); color:var(--ink); font-family:'Inter',sans-serif;
  background-image:radial-gradient(circle at 1px 1px, rgba(255,255,255,0.06) 1px, transparent 0);
  background-size:22px 22px;
}
a{color:inherit;}
.eyebrow{font-family:'Space Mono',monospace;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--foil);}
.h-display{font-family:'Teko',sans-serif;font-weight:600;text-transform:uppercase;letter-spacing:.01em;line-height:1;}

.btn-primary{display:inline-block;padding:14px 26px;border:none;border-radius:8px;background:var(--foil);color:var(--pitch);font-family:'Teko',sans-serif;font-weight:600;font-size:18px;text-transform:uppercase;letter-spacing:.02em;cursor:pointer;text-decoration:none;text-align:center;transition:transform .15s ease, box-shadow .15s ease, background .15s ease;}
.btn-primary:hover{background:var(--foil-light);transform:translateY(-2px);box-shadow:0 8px 20px rgba(176,141,43,.35);}
.btn-secondary{display:inline-block;padding:13px 24px;border:1px solid rgba(255,255,255,.25);border-radius:8px;background:transparent;color:#EFEEE7;font-family:'Teko',sans-serif;font-weight:600;font-size:18px;text-transform:uppercase;letter-spacing:.02em;cursor:pointer;text-decoration:none;text-align:center;transition:transform .15s ease, border-color .15s ease, color .15s ease;}
.btn-secondary:hover{border-color:var(--foil);color:var(--foil-light);transform:translateY(-2px);}

/* Cards get real depth instead of sitting flat on the pitch background */
.card{background:var(--card);border-radius:12px;box-shadow:0 1px 2px rgba(0,0,0,.06), 0 12px 28px rgba(0,0,0,.22);transition:transform .15s ease, box-shadow .15s ease;}
.card.lift:hover{transform:translateY(-4px);box-shadow:0 4px 8px rgba(0,0,0,.08), 0 20px 40px rgba(0,0,0,.3);}
.card-accent{border-top:3px solid var(--turf);}

.site-header{max-width:1000px;margin:0 auto;padding:20px 20px 0;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;}
.site-header nav{display:flex;align-items:center;gap:18px;flex-wrap:wrap;}
.site-header nav a{font-size:13px;color:#B7BDB4;text-decoration:none;transition:color .15s ease;}
.site-header nav a:hover{color:var(--foil-light);}
.nav-toggle{display:none;background:transparent;border:1px solid rgba(255,255,255,.25);border-radius:8px;width:40px;height:40px;align-items:center;justify-content:center;color:#EFEEE7;cursor:pointer;flex-shrink:0;}
.nav-toggle svg{width:20px;height:20px;}
@media (max-width:680px){
  .site-header{position:relative;padding:16px 20px;}
  .nav-toggle{display:flex;}
  .site-header nav{display:none;position:absolute;top:100%;left:0;right:0;flex-direction:column;align-items:stretch;gap:0;background:var(--pitch-2);padding:6px 20px 14px;border-radius:0 0 12px 12px;box-shadow:0 16px 30px rgba(0,0,0,.35);z-index:30;}
  .site-header nav.nav-open{display:flex;}
  .site-header nav a{width:100%;padding:12px 0;font-size:15px;border-bottom:1px solid rgba(255,255,255,.08);}
  .site-header nav a:last-child{border-bottom:none;}
  .site-header nav .btn-primary{margin-top:10px;}
}
.site-footer{max-width:1000px;margin:0 auto;padding:40px 20px 60px;}
.site-footer .links{display:flex;gap:18px;flex-wrap:wrap;font-size:13px;color:#B7BDB4;margin-bottom:20px;}
.site-footer .links a{text-decoration:none;color:inherit;}
.disclaimer{padding:16px 20px;border:1px solid rgba(255,255,255,.1);border-radius:10px;color:#9AA093;font-size:11px;line-height:1.7;}
.disclaimer strong{color:#C9CDC0;}

/* Scroll-reveal: JS toggles .in-view once an element crosses the viewport */
.reveal{opacity:0;transform:translateY(18px);transition:opacity .6s ease, transform .6s ease;}
.reveal.in-view{opacity:1;transform:translateY(0);}

.icon-badge{width:36px;height:36px;border-radius:9px;background:var(--turf);display:flex;align-items:center;justify-content:center;flex-shrink:0;color:#fff;}
.icon-badge svg{width:18px;height:18px;}

.stat-strip{display:flex;background:var(--pitch-2);border-radius:12px;padding:26px 20px;}
.stat-strip .stat-item{flex:1;text-align:center;padding:0 18px;border-left:1px solid rgba(255,255,255,.1);}
.stat-strip .stat-item:first-child{border-left:none;}
.stat-strip .stat-num{font-family:'Teko',sans-serif;font-weight:600;font-size:21px;color:var(--foil-light);line-height:1.2;text-transform:uppercase;letter-spacing:.01em;}
.stat-strip .stat-label{font-family:'Space Mono',monospace;font-size:10.5px;letter-spacing:.05em;text-transform:uppercase;color:#9AA093;margin-top:7px;line-height:1.5;}
@media (max-width:640px){.stat-strip{flex-direction:column;gap:18px;}.stat-strip .stat-item{border-left:none;border-top:1px solid rgba(255,255,255,.1);padding:14px 0 0;}.stat-strip .stat-item:first-child{border-top:none;padding-top:0;}}

/* Interactive injury history body diagram */
.injury-panel{position:relative;background:linear-gradient(160deg, #3E7A4A 0%, #2A5F6E 45%, #1C3A54 100%);border-radius:14px;padding:24px 20px 20px;overflow:visible;}
.injury-figure-wrap{position:relative;max-width:200px;margin:0 auto;}
.injury-body{display:block;width:100%;height:auto;}
.injury-body .mesh{fill:none;stroke:rgba(255,255,255,.55);stroke-width:.9;}
.injury-body .mesh-bold{fill:none;stroke:rgba(255,255,255,.8);stroke-width:1.2;}
.injury-pin{position:absolute;width:24px;height:24px;margin:-12px 0 0 -12px;border-radius:50%;background:var(--high);border:2px solid rgba(255,255,255,.85);display:flex;align-items:center;justify-content:center;font-family:'Space Mono',monospace;font-weight:700;font-size:11px;color:#fff;cursor:pointer;box-shadow:0 2px 8px rgba(184,51,44,.55);z-index:5;}
.injury-pin:hover,.injury-pin.open{z-index:20;}
.injury-pin::after{content:'';position:absolute;inset:-6px;border-radius:50%;border:1.5px solid var(--high);opacity:.6;animation:injury-pulse 2.2s ease-out infinite;}
@keyframes injury-pulse{0%{transform:scale(.8);opacity:.7;}70%{transform:scale(1.7);opacity:0;}100%{opacity:0;}}
.injury-bubble{position:absolute;bottom:calc(100% + 10px);left:50%;transform:translateX(-50%) translateY(4px);width:210px;background:var(--card);border-radius:10px;box-shadow:0 12px 28px rgba(0,0,0,.35);padding:12px 14px;text-align:left;opacity:0;pointer-events:none;transition:opacity .15s ease, transform .15s ease;z-index:10;}
.injury-bubble::after{content:'';position:absolute;top:100%;left:50%;transform:translateX(-50%);border:7px solid transparent;border-top-color:var(--card);}
.injury-pin:hover .injury-bubble,.injury-pin.open .injury-bubble{opacity:1;pointer-events:auto;transform:translateX(-50%) translateY(0);}
.injury-bubble-date{font-family:'Space Mono',monospace;font-size:9.5px;letter-spacing:.05em;text-transform:uppercase;color:var(--text-sub);margin-bottom:3px;}
.injury-bubble-title{font-family:'Teko',sans-serif;font-weight:600;font-size:16px;color:var(--ink);line-height:1.15;margin-bottom:4px;}
.injury-bubble-desc{font-size:11.5px;color:var(--text-sub);line-height:1.5;}
.injury-marker-delete{margin-top:8px;background:none;border:none;color:var(--high);font-family:'Space Mono',monospace;font-size:10px;text-transform:uppercase;cursor:pointer;padding:0;}
.injury-pin[data-align="left"] .injury-bubble{left:0;transform:translateX(0) translateY(4px);}
.injury-pin[data-align="left"] .injury-bubble::after{left:16px;transform:translateX(0);}
.injury-pin[data-align="left"].open .injury-bubble,.injury-pin[data-align="left"]:hover .injury-bubble{transform:translateX(0) translateY(0);}
.injury-pin[data-align="right"] .injury-bubble{left:auto;right:0;transform:translateX(0) translateY(4px);}
.injury-pin[data-align="right"] .injury-bubble::after{left:auto;right:16px;transform:translateX(0);}
.injury-pin[data-align="right"].open .injury-bubble,.injury-pin[data-align="right"]:hover .injury-bubble{transform:translateX(0) translateY(0);}
.injury-panel[data-clickable="true"]{cursor:crosshair;}