@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@600;700;800;900&family=Manrope:wght@400;600;700;800&display=swap');
:root{--bg:#07101f;--panel:#0e1b30;--text:#f7f9fc;--muted:#9dafc8;--accent:#57e389;--accent2:#4a7dff;--line:#22334e;--danger:#ff6577}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:radial-gradient(circle at 80% 0,#162b51 0,transparent 35%),var(--bg);color:var(--text);font-family:Manrope,system-ui,sans-serif}a{color:inherit;text-decoration:none}main{min-height:80vh}.site-header{height:82px;max-width:1240px;margin:auto;padding:0 28px;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;gap:12px;align-items:center}.brand span:last-child{display:flex;flex-direction:column}.brand small{color:var(--muted)}.brand-ball{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,var(--accent),var(--accent2));color:#06111d;font-weight:900}.site-header nav{display:flex;gap:30px;color:#c9d5e6}.site-header nav a:hover{color:var(--accent)}.menu{display:none;background:none;border:0;color:white;font-size:25px}.hero{min-height:610px;max-width:1240px;margin:auto;padding:70px 28px;display:grid;grid-template-columns:1.25fr .75fr;align-items:center;gap:40px}.eyebrow{text-transform:uppercase;letter-spacing:.17em;font-size:.75rem;color:var(--accent);font-weight:800}.hero h1,.page-head h1,.detail h1,.contact h1{font-size:clamp(3rem,8vw,7rem);line-height:.93;margin:16px 0}.hero h1 span{color:transparent;-webkit-text-stroke:1px #b8c7db}.lead{font-size:1.15rem;line-height:1.8;color:#c1cee0;max-width:780px}.actions{display:flex;gap:12px;flex-wrap:wrap;align-items:center}.button{display:inline-flex;align-items:center;justify-content:center;padding:13px 20px;border:1px solid var(--line);border-radius:12px;font:inherit;font-weight:800;cursor:pointer;background:none;color:white}.primary{background:var(--accent);border-color:var(--accent);color:#06111d}.ghost{background:#ffffff08}.danger{background:var(--danger);border-color:var(--danger);color:#21060b}.small{padding:8px 12px;font-size:.82rem}.hero-art{height:430px;position:relative;display:grid;place-items:center}.number{font-size:16rem;font-weight:900;color:#ffffff08;-webkit-text-stroke:2px #ffffff18;z-index:2}.orb{position:absolute;border-radius:50%;filter:blur(1px)}.orb.one{width:250px;height:250px;background:linear-gradient(135deg,var(--accent),transparent);top:30px;right:20px}.orb.two{width:160px;height:160px;border:35px solid var(--accent2);bottom:10px;left:20px}.stats{max-width:1184px;margin:0 auto 80px;display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line);border-radius:18px;overflow:hidden;background:#0b1729cc}.stats div{padding:28px;border-right:1px solid var(--line);display:flex;flex-direction:column}.stats div:last-child{border:0}.stats strong{font-size:1.6rem}.stats span{color:var(--muted);font-size:.82rem}.section{max-width:1240px;margin:auto;padding:70px 28px}.section.compact{padding-top:25px}.section-head{display:flex;align-items:end;justify-content:space-between;margin-bottom:28px}.section h2,.cta h2,.profile-copy h2{font-size:clamp(2rem,4vw,3.6rem);margin:4px 0}.section-head>a{color:var(--accent)}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.video-card{background:var(--panel);border:1px solid var(--line);border-radius:18px;overflow:hidden;transition:.25s}.video-card:hover{transform:translateY(-5px);border-color:#3f5f8e}.poster{display:block;position:relative;aspect-ratio:16/9;background:#020812;overflow:hidden}.poster img,.poster video{width:100%;height:100%;object-fit:cover}.play{position:absolute;inset:0;margin:auto;width:54px;height:54px;border-radius:50%;display:grid;place-items:center;background:#ffffffde;color:#07101f;padding-left:4px}.tag{position:absolute;left:12px;top:12px;background:#06101dcc;padding:7px 10px;border-radius:999px;font-size:.7rem}.card-body{padding:20px}.card-body h3{margin:5px 0 12px}.card-body p:last-child{color:var(--muted);font-size:.88rem;line-height:1.6}.cta,.contact{max-width:1184px;margin:70px auto;padding:70px;border-radius:24px;background:linear-gradient(135deg,#172d50,#0d2135);border:1px solid var(--line)}footer{max-width:1184px;margin:auto;padding:35px 0 55px;border-top:1px solid var(--line);display:flex;justify-content:space-between;color:var(--muted);font-size:.85rem}.page-head,.detail{max-width:1184px;margin:auto;padding:80px 0 25px}.page-head h1{font-size:clamp(3rem,7vw,6rem)}.page-head p{color:var(--muted)}.filters{max-width:1184px;margin:20px auto;display:flex;gap:10px;flex-wrap:wrap}.filters a{padding:9px 14px;border:1px solid var(--line);border-radius:999px;color:var(--muted)}.filters a.active{background:var(--accent);color:#06111d;border-color:var(--accent)}.player-wrap{aspect-ratio:16/9;border-radius:20px;overflow:hidden;background:#000}.player-wrap video{width:100%;height:100%}.back{display:inline-block;color:var(--muted);margin-bottom:22px}.detail-grid{display:grid;grid-template-columns:2fr 1fr;gap:50px;padding:40px 0}.detail-grid h1{font-size:clamp(2.3rem,5vw,4.8rem)}aside{background:var(--panel);padding:28px;border:1px solid var(--line);border-radius:16px}dl{margin:0}dt{color:var(--muted);font-size:.76rem;text-transform:uppercase;letter-spacing:.12em}dd{margin:5px 0 22px;font-weight:700}.profile-grid{max-width:1184px;margin:30px auto 100px;display:grid;grid-template-columns:1fr 1.5fr;gap:60px;align-items:center}.profile-number{font-size:18rem;font-weight:900;text-align:center;color:#ffffff08;-webkit-text-stroke:2px var(--accent)}.profile-copy p{color:var(--muted);line-height:1.8}.profile-list{display:grid;grid-template-columns:1fr 1fr;gap:10px 30px}.privacy{margin-top:30px;color:var(--muted);max-width:650px}.empty{grid-column:1/-1;padding:50px;border:1px dashed var(--line);border-radius:16px;text-align:center;color:var(--muted)}.empty a{color:var(--accent)}
.admin-body{background:#08111f}.admin-shell{max-width:1100px;margin:50px auto;padding:30px}.admin-shell.narrow{max-width:850px}.admin-top{display:flex;justify-content:space-between;align-items:center}.admin-top h1{font-size:3rem;margin:4px 0}.admin-list{display:grid;gap:12px;margin-top:30px}.admin-list article{display:flex;align-items:center;justify-content:space-between;padding:20px;background:var(--panel);border:1px solid var(--line);border-radius:14px}.admin-list article>div:first-child{display:flex;flex-direction:column;gap:5px}.admin-list span{color:var(--muted);font-size:.82rem}.login-card{width:min(420px,calc(100% - 30px));margin:8vh auto;padding:38px;background:var(--panel);border:1px solid var(--line);border-radius:20px;display:grid;gap:18px}.login-card h1{margin:0}.login-card p,.login-card>a{color:var(--muted)}label{display:grid;gap:8px;font-weight:700;font-size:.86rem}input,textarea{width:100%;padding:13px;border:1px solid var(--line);border-radius:10px;background:#07111f;color:white;font:inherit}textarea{resize:vertical}.admin-form{display:grid;gap:22px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.checks{display:flex;gap:30px}.checks label{display:flex;align-items:center}.checks input{width:auto}.alert,.success{padding:13px 16px;border-radius:10px}.alert{background:#4b1720;color:#ffbac3}.success{background:#113c2b;color:#abffd0;margin:20px 0}.admin-list form,.actions form{margin:0}
@media(max-width:800px){.site-header{padding:0 18px}.menu{display:block}.site-header nav{display:none;position:absolute;z-index:10;top:75px;left:18px;right:18px;background:var(--panel);padding:22px;border-radius:14px;flex-direction:column}.site-header nav.open{display:flex}.hero{grid-template-columns:1fr;padding-top:35px;min-height:auto}.hero-art{height:230px}.number{font-size:9rem}.stats{grid-template-columns:1fr 1fr;margin:30px 18px}.stats div:nth-child(2){border-right:0}.grid{grid-template-columns:1fr}.cta,.contact,.page-head,.detail,.filters,.profile-grid,footer{margin-left:18px;margin-right:18px}.cta,.contact{padding:35px 25px}.detail-grid,.profile-grid{grid-template-columns:1fr}.profile-number{font-size:10rem}.form-grid{grid-template-columns:1fr}.admin-top,.admin-list article{align-items:flex-start;flex-direction:column;gap:16px}.page-head{padding-top:45px}.detail{padding-top:45px}footer{padding-left:0;padding-right:0}.hero h1{font-size:3.5rem}}

/* Profil administrable */
.admin-shell.wide{max-width:1200px}.admin-profile-form{display:grid;gap:22px}.admin-card,.content-card{background:var(--panel);border:1px solid var(--line);border-radius:20px;padding:24px}.admin-card h2{margin-top:0}.photo-admin{display:grid;grid-template-columns:220px 1fr;gap:24px;align-items:center}.photo-preview{width:220px;height:280px;border-radius:18px;overflow:hidden;border:1px solid var(--line);background:#07101f}.photo-preview img{width:100%;height:100%;object-fit:cover}.photo-placeholder{height:100%;display:grid;place-items:center;color:var(--muted)}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.admin-profile-form label{display:grid;gap:7px;font-weight:700}.admin-profile-form label small,.help{font-weight:400;color:var(--muted)}.admin-profile-form input,.admin-profile-form textarea{width:100%;box-sizing:border-box;background:#07101f;border:1px solid var(--line);border-radius:10px;color:var(--text);padding:12px;font:inherit}.admin-profile-form textarea{resize:vertical}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.repeat-list{display:grid;gap:12px}.repeat-row{display:grid;grid-template-columns:110px 1fr 1.4fr auto;gap:10px}.repeat-block{padding:16px;border:1px solid var(--line);border-radius:14px;background:#ffffff05}.repeat-block .section-heading input{flex:1}.sticky-save{position:sticky;bottom:14px;display:flex;justify-content:flex-end;padding:12px;background:#07101fe8;border:1px solid var(--line);border-radius:16px;backdrop-filter:blur(12px)}
.profile-visual{position:relative;min-height:520px;border-radius:24px;overflow:hidden;border:1px solid var(--line);background:linear-gradient(145deg,#0e2548,#07101f)}.profile-visual img{width:100%;height:100%;min-height:520px;object-fit:cover;display:block}.profile-visual .profile-number{height:100%;min-height:520px;display:grid;place-items:center;font-size:12rem;font-weight:950;color:#ffffff18}.profile-badge{position:absolute;right:18px;bottom:18px;background:#07101fdd;border:1px solid #ffffff33;padding:9px 14px;border-radius:999px;font-weight:900}.profile-columns{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:24px}.tag-list{display:flex;flex-wrap:wrap;gap:10px}.tag-list span{padding:9px 13px;border-radius:999px;background:#1677ff18;border:1px solid #1677ff55}.check-list{display:grid;gap:10px;padding-left:22px}.profile-section{margin-top:24px}.timeline{display:grid;gap:0}.timeline article{display:grid;grid-template-columns:90px 1fr;gap:20px;padding:18px 0;border-bottom:1px solid var(--line)}.timeline article:last-child{border-bottom:0}.timeline-year{font-weight:900;color:var(--accent)}.timeline h3{margin:0 0 5px}.timeline p{margin:0;color:var(--muted)}.rich-text{white-space:pre-line;line-height:1.75;color:var(--muted)}
@media(max-width:760px){.photo-admin,.form-grid,.profile-columns{grid-template-columns:1fr}.repeat-row{grid-template-columns:1fr}.photo-preview{width:100%;height:360px}.profile-visual,.profile-visual img,.profile-visual .profile-number{min-height:420px}.section-heading{align-items:flex-start;flex-wrap:wrap}}

/* Profil moderne — dashboard sportif */
.profile-modern{max-width:1460px;margin:28px auto 90px;padding:0 28px;display:grid;grid-template-columns:minmax(330px,430px) minmax(0,1fr);gap:20px;align-items:start}.profile-identity-card{position:sticky;top:24px;border:1px solid #24364f;border-radius:22px;overflow:hidden;background:linear-gradient(180deg,#0c1b2e,#091321);box-shadow:0 26px 80px #0008}.profile-photo-modern{position:relative;min-height:710px;overflow:hidden;background:linear-gradient(145deg,#142b47,#060c15)}.profile-photo-modern>img{width:100%;height:710px;display:block;object-fit:cover;object-position:center top}.profile-photo-fallback{height:710px;display:grid;place-items:center;background:radial-gradient(circle at 50% 25%,#234a75,transparent 38%),linear-gradient(145deg,#0e2038,#07101f)}.profile-photo-fallback span{font:900 8rem/1 'Barlow Condensed',Manrope,sans-serif;color:#ffffff20;-webkit-text-stroke:2px #4b8fff}.profile-photo-shade{position:absolute;inset:0;background:linear-gradient(180deg,transparent 43%,#07101fdd 76%,#07101f 100%)}.profile-name-overlay{position:absolute;left:28px;right:28px;bottom:28px}.profile-first-name{margin:0;font:800 2.1rem/1 'Barlow Condensed',Manrope,sans-serif;text-transform:uppercase}.profile-name-overlay h1{margin:0;font:900 clamp(3.2rem,5vw,5.2rem)/.9 'Barlow Condensed',Manrope,sans-serif;text-transform:uppercase;letter-spacing:.01em}.profile-role{margin:14px 0 0;color:#438cff;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.identity-stats{display:grid;grid-template-columns:repeat(3,1fr);padding:22px 16px}.identity-stats div{min-width:0;padding:4px 13px;text-align:center;border-right:1px solid var(--line)}.identity-stats div:last-child{border:0}.identity-stats strong{display:block;overflow:hidden;text-overflow:ellipsis;font-size:.96rem}.identity-stats span{display:block;margin-top:7px;color:var(--muted);font-size:.67rem;text-transform:uppercase;letter-spacing:.08em}.profile-dashboard{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:16px}.profile-panel{padding:25px;border:1px solid #22344d;border-radius:18px;background:linear-gradient(145deg,#101e2d,#0b1623);box-shadow:0 14px 45px #0003}.panel-title{margin-bottom:22px}.panel-title h2{position:relative;display:inline-block;margin:0;padding-bottom:12px;font:800 1.65rem/1 'Barlow Condensed',Manrope,sans-serif;text-transform:uppercase;letter-spacing:.02em}.panel-title h2:after{content:"";position:absolute;left:0;bottom:0;width:62px;height:2px;background:#438cff}.profile-info-panel{grid-column:span 8}.profile-bio-panel{grid-column:span 4}.profile-qualities-panel{grid-column:span 4}.profile-objectives-panel{grid-column:span 4}.profile-achievements-panel{grid-column:span 4}.profile-custom-panel{grid-column:span 6}.profile-contact-panel{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:30px}.profile-contact-panel p{max-width:700px;color:var(--muted);line-height:1.7}.info-columns{display:grid;grid-template-columns:1fr 1fr;gap:24px}.info-list-second{padding-left:24px;border-left:1px solid var(--line)}.info-row{display:grid;grid-template-columns:26px minmax(100px,.85fr) minmax(0,1.15fr);gap:8px;align-items:center;padding:9px 0}.info-icon{color:#438cff;font-weight:900;text-align:center}.info-row dt{font-size:.65rem}.info-row dd{margin:0;font-size:.86rem}.profile-body-text{white-space:pre-line;color:#d5deeb;line-height:1.75}.profile-muted{color:var(--muted)}.profile-feature-list{list-style:none;margin:0;padding:0;display:grid;gap:14px}.profile-feature-list li{display:grid;grid-template-columns:24px 1fr;gap:10px;color:#e7edf7;line-height:1.45}.profile-feature-list li span{color:#438cff}.achievement-timeline{display:grid}.achievement-timeline article{display:grid;grid-template-columns:66px 14px 1fr;gap:12px;align-items:start}.achievement-year{padding:5px 7px;border-radius:6px;background:linear-gradient(135deg,#4454c8,#2448a5);font-size:.75rem;font-weight:900;text-align:center}.achievement-marker{position:relative;width:10px;height:10px;margin-top:8px;border-radius:50%;background:#438cff;box-shadow:0 0 0 4px #438cff18}.achievement-marker:after{content:"";position:absolute;top:14px;left:4px;width:1px;height:calc(100% + 52px);background:#31588d}.achievement-timeline article:last-child .achievement-marker:after{display:none}.achievement-copy{padding:0 0 22px}.achievement-copy h3{margin:2px 0 5px;font-size:.9rem}.achievement-copy p{margin:0;color:var(--muted);font-size:.78rem;line-height:1.55}.profile-email{display:inline-flex;gap:9px;color:#70a4ff;font-weight:700}.profile-modern+.site-footer{max-width:1460px}
@media(max-width:1180px){.profile-modern{grid-template-columns:340px 1fr}.profile-photo-modern,.profile-photo-modern>img,.profile-photo-fallback{height:610px;min-height:610px}.profile-info-panel{grid-column:1/-1}.profile-bio-panel,.profile-qualities-panel,.profile-objectives-panel,.profile-achievements-panel{grid-column:span 6}}
@media(max-width:860px){.profile-modern{grid-template-columns:1fr;padding:0 18px}.profile-identity-card{position:relative;top:auto}.profile-photo-modern,.profile-photo-modern>img,.profile-photo-fallback{height:min(760px,115vw);min-height:520px}.profile-bio-panel,.profile-qualities-panel,.profile-objectives-panel,.profile-achievements-panel,.profile-custom-panel{grid-column:1/-1}.profile-contact-panel{align-items:flex-start;flex-direction:column}.info-columns{grid-template-columns:1fr}.info-list-second{padding:0;border:0;border-top:1px solid var(--line);padding-top:12px}}
@media(max-width:520px){.profile-modern{padding:0 12px}.profile-panel{padding:20px}.profile-photo-modern,.profile-photo-modern>img,.profile-photo-fallback{height:128vw;min-height:480px}.profile-name-overlay{left:20px;right:20px;bottom:22px}.profile-name-overlay h1{font-size:3.25rem}.identity-stats{padding:16px 8px}.identity-stats div{padding:4px 7px}.info-row{grid-template-columns:22px 1fr}.info-row dd{grid-column:2;margin-top:-3px}.profile-contact-panel .button{width:100%}}


/* ATHLETE PROFILE V2 */
.athlete-profile{
  width:min(1440px,calc(100% - 48px));
  margin:28px auto 72px;
  display:grid;
  grid-template-columns:360px minmax(0,1fr);
  gap:20px;
  align-items:start;
}
.athlete-card{
  overflow:hidden;
  border:1px solid #2c4e79;
  border-radius:20px;
  background:linear-gradient(180deg,#0d1c2f,#091421);
  box-shadow:0 24px 70px rgba(0,0,0,.38);
}
.athlete-photo{position:relative;height:620px;overflow:hidden;background:#0c1b2d}
.athlete-photo>img{width:100%;height:100%;display:block;object-fit:cover;object-position:center top}
.athlete-photo-placeholder{height:100%;display:grid;place-items:center;background:radial-gradient(circle at 50% 25%,#254f7b,transparent 36%),#0b1727}
.athlete-photo-placeholder span{font:900 7rem/1 'Barlow Condensed',Manrope,sans-serif;color:#ffffff24}
.athlete-photo-gradient{position:absolute;inset:0;background:linear-gradient(180deg,transparent 46%,rgba(5,13,24,.42) 65%,#07101f 96%)}
.athlete-name{position:absolute;left:22px;right:22px;bottom:28px;min-width:0}
.athlete-firstname{display:block;margin-bottom:5px;font:700 2rem/1 'Barlow Condensed',Manrope,sans-serif;text-transform:uppercase;letter-spacing:.01em}
.athlete-name h1{
  max-width:100%;margin:0;overflow-wrap:anywhere;
  font-family:'Barlow Condensed',Manrope,sans-serif;
  font-size:clamp(3.1rem,4.3vw,4.6rem);
  font-weight:900;line-height:.84;letter-spacing:-.025em;text-transform:uppercase;
}
.athlete-name h1[data-name-length="10"],.athlete-name h1[data-name-length="11"],.athlete-name h1[data-name-length="12"]{font-size:clamp(2.85rem,3.8vw,4.15rem)}
.athlete-name h1[data-name-length="13"],.athlete-name h1[data-name-length="14"],.athlete-name h1[data-name-length="15"]{font-size:clamp(2.55rem,3.4vw,3.75rem)}
.athlete-name p{margin:15px 0 0;color:#4f91ff;font-size:.94rem;font-weight:900;letter-spacing:.055em;text-transform:uppercase}
.athlete-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));padding:22px 12px 24px}
.athlete-summary>div{min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:0 12px;text-align:center;border-right:1px solid #253750}
.athlete-summary>div:last-child{border-right:0}
.club-mark{width:42px;height:42px;margin-bottom:7px;display:grid;place-items:center;border:2px solid #9ebee7;border-radius:50%;font:900 1.5rem/1 'Barlow Condensed';color:white}
.athlete-summary strong{max-width:100%;font-size:.81rem;line-height:1.3;overflow-wrap:anywhere}
.athlete-summary .summary-value{font:800 1.75rem/1 'Barlow Condensed',Manrope,sans-serif}
.athlete-summary small{margin-top:9px;color:#91a4be;font-size:.62rem;text-transform:uppercase;letter-spacing:.09em}
.athlete-dashboard{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:16px}
.sport-card{padding:24px;border:1px solid #243a57;border-radius:16px;background:linear-gradient(145deg,rgba(15,31,48,.98),rgba(9,21,34,.98));box-shadow:0 14px 38px rgba(0,0,0,.18)}
.sport-information{grid-column:span 8}.sport-presentation{grid-column:span 4}.sport-qualities{grid-column:span 4}.sport-objectives{grid-column:span 4}.sport-achievements{grid-column:span 4}.sport-custom{grid-column:span 6}.sport-contact{grid-column:1/-1}
.sport-card-title{display:flex;align-items:center;gap:11px;margin-bottom:22px}
.sport-card-title>span{color:#4287ff;font-size:1.55rem;line-height:1}
.sport-card-title h2{position:relative;margin:0;padding-bottom:11px;font:800 1.55rem/1 'Barlow Condensed',Manrope,sans-serif;text-transform:uppercase;letter-spacing:.01em}
.sport-card-title h2:after{content:"";position:absolute;left:0;bottom:0;width:40px;height:2px;background:#438cff}
.sport-info-columns{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.sport-info-columns dl{margin:0}.sport-info-columns dl+dl{padding-left:24px;border-left:1px solid #263b55}
.sport-info-row{display:grid;grid-template-columns:24px minmax(92px,.85fr) minmax(0,1.15fr);gap:8px;align-items:center;min-height:43px}
.sport-icon{color:#4287ff;text-align:center;font-weight:900}
.sport-info-row dt{color:#8297b3;font-size:.62rem;line-height:1.2;text-transform:uppercase;letter-spacing:.055em}
.sport-info-row dd{margin:0;color:#f2f6fc;font-size:.81rem;font-weight:750;line-height:1.35;overflow-wrap:anywhere}
.sport-rich-text{white-space:pre-line;color:#d4dfec;font-size:.87rem;line-height:1.72}
.sport-muted{color:#91a4be;line-height:1.65}
.sport-list{list-style:none;margin:0;padding:0;display:grid;gap:13px}
.sport-list li{display:grid;grid-template-columns:22px 1fr;gap:9px;align-items:start;font-size:.87rem;line-height:1.45}
.sport-list li span{width:16px;height:16px;margin-top:2px;display:grid;place-items:center;border:1px solid currentColor;border-radius:50%;font-size:.6rem}
.blue-list li span{color:#4287ff}.green-list li span{color:#46e69a}
.sport-timeline{display:grid;gap:0}
.sport-timeline article{display:grid;grid-template-columns:56px 14px minmax(0,1fr);gap:11px;align-items:start}
.sport-year{padding:6px 5px;border-radius:6px;background:linear-gradient(135deg,#405bd3,#254aaf);font-size:.69rem;font-weight:900;text-align:center}
.sport-dot{position:relative;width:10px;height:10px;margin-top:8px;border-radius:50%;background:#438cff;box-shadow:0 0 0 4px rgba(67,140,255,.15)}
.sport-dot:after{content:"";position:absolute;top:14px;left:4px;width:1px;height:58px;background:#315b91}
.sport-timeline article:last-child .sport-dot:after{display:none}
.sport-timeline article>div{padding-bottom:20px}.sport-timeline h3{margin:1px 0 4px;font-size:.82rem;line-height:1.35}.sport-timeline p{margin:0;color:#9aabc1;font-size:.73rem;line-height:1.5}
.sport-contact{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:24px;align-items:center}
.sport-contact .sport-card-title{margin-bottom:10px}.sport-contact p{margin:0;color:#a6b6ca;font-size:.86rem;line-height:1.6}
.contact-email{padding:12px 16px;border:1px solid #243d61;border-radius:9px;color:#4d91ff;font-size:.82rem;font-weight:750;white-space:nowrap}
.sport-contact-button{display:inline-flex;align-items:center;justify-content:center;gap:18px;padding:13px 18px;border-radius:8px;background:#4ce59b;color:#06140f;font-size:.83rem;font-weight:900;white-space:nowrap}
.athlete-profile+.site-footer{max-width:1440px}
@media(max-width:1220px){
  .athlete-profile{grid-template-columns:330px minmax(0,1fr)}
  .athlete-photo{height:580px}
  .sport-information{grid-column:1/-1}.sport-presentation,.sport-qualities,.sport-objectives,.sport-achievements{grid-column:span 6}
}
@media(max-width:900px){
  .athlete-profile{width:min(760px,calc(100% - 28px));grid-template-columns:1fr}
  .athlete-photo{height:min(760px,112vw)}
  .athlete-name h1{font-size:clamp(3.2rem,12vw,5.2rem)!important}
  .sport-information,.sport-presentation,.sport-qualities,.sport-objectives,.sport-achievements,.sport-custom{grid-column:1/-1}
  .sport-contact{grid-template-columns:1fr}.contact-email,.sport-contact-button{width:100%;white-space:normal}
}
@media(max-width:600px){
  .athlete-profile{width:calc(100% - 20px);margin-top:14px}
  .athlete-photo{height:128vw;min-height:470px}
  .athlete-name{left:18px;right:18px}.athlete-firstname{font-size:1.65rem}.athlete-name h1{font-size:3.25rem!important}
  .athlete-name p{font-size:.78rem}.athlete-summary{padding-left:6px;padding-right:6px}.athlete-summary>div{padding:0 7px}
  .sport-card{padding:20px}.sport-info-columns{grid-template-columns:1fr}.sport-info-columns dl+dl{padding:12px 0 0;border-left:0;border-top:1px solid #263b55}
  .sport-info-row{grid-template-columns:23px 1fr}.sport-info-row dd{grid-column:2}.sport-card-title h2{font-size:1.4rem}
}
