/* Athlete identity and sponsorship studio. Loaded after the shared design system. */
.experience-page .premium-athlete-profile { --profile-ink:#101815; --profile-lime:#d8ff58; --profile-muted:#5b6861; padding-top:32px; }
.experience-page .premium-athlete-profile .profile-back { display:inline-flex; align-items:center; gap:10px; min-height:44px; margin-bottom:30px; font-size:13px; font-weight:650; text-decoration:none; color:var(--profile-muted); }
.experience-page .athlete-editorial-hero { display:grid; grid-template-columns:minmax(0,1.18fr) minmax(0,.82fr); gap:32px 64px; align-items:center; }
.experience-page .athlete-hero-copy { padding:24px 0; min-width:0; }
.experience-page .athlete-hero-tags { display:flex; align-items:center; flex-wrap:wrap; gap:10px; margin-bottom:36px; }
.experience-page .athlete-discipline { padding:7px 12px; background:var(--profile-ink); color:var(--profile-lime); font-size:11px; font-weight:750; letter-spacing:.1em; text-transform:uppercase; }
.experience-page .profile-demo-label { padding:6px 10px; border:1px solid #b4bdb5; color:#465348; font-size:11px; font-weight:650; border-radius:3px; }
.experience-page .athlete-hero-copy > .eyebrow { margin-bottom:14px; color:var(--profile-muted); }
.experience-page .premium-athlete-profile .athlete-hero-copy h1 { max-width:12ch; margin:0 0 24px; font-size:clamp(3.25rem,6vw,6rem); font-weight:750; line-height:.99; letter-spacing:-.065em; overflow-wrap:anywhere; }
.experience-page .athlete-hero-location { display:flex; flex-wrap:wrap; align-items:center; gap:9px; font-size:13px; margin-bottom:20px; color:var(--profile-muted); }
.experience-page .athlete-hero-location .material-symbols { font-size:18px; }
.experience-page .athlete-hero-bio { max-width:48ch; font-size:17px; line-height:1.7; margin:0 0 30px; }
.experience-page .athlete-hero-actions { display:flex; align-items:center; flex-wrap:wrap; gap:18px 24px; }
.experience-page .athlete-hero-actions .button { min-height:52px; gap:24px; }
.experience-page .athlete-hero-actions > .secondary { min-height:44px; display:inline-flex; align-items:center; font-size:13px; }
.experience-page .athlete-hero-trust { display:flex; align-items:center; gap:7px; margin:22px 0 0; font-size:11px; color:var(--profile-muted); }
.experience-page .athlete-hero-trust .material-symbols { font-size:16px; }
.experience-page .athlete-editorial-portrait { position:relative; align-self:stretch; margin:0; min-height:400px; max-height:540px; overflow:hidden; background:#e5e9df; border-radius:8px; }
.experience-page .athlete-editorial-portrait img { display:block; width:100%; height:100%; min-height:400px; max-height:540px; object-fit:cover; }
.experience-page .athlete-editorial-portrait.approved-model-portrait img { object-fit:contain; padding:20px; }
.experience-page .athlete-editorial-portrait figcaption { position:absolute; bottom:0; left:0; right:0; display:flex; justify-content:space-between; gap:16px; padding:18px 22px; background:var(--profile-ink); color:#f6f7f2; font-size:11px; font-weight:600; letter-spacing:.035em; }
.experience-page .athlete-editorial-portrait figcaption > :last-child { color:var(--profile-lime); font-size:16px; line-height:1; }
.experience-page .athlete-next-challenge { grid-column:1/-1; display:grid; grid-template-columns:230px minmax(0,1fr); align-items:center; gap:30px; padding:28px 0; border-top:1px solid #d4dbd0; border-bottom:1px solid #d4dbd0; }
.experience-page .athlete-next-label { display:flex; align-items:center; gap:12px; font-size:12px; font-weight:650; }
.experience-page .athlete-next-label .material-symbols { font-size:22px; }
.experience-page .athlete-next-challenge .profile-event { border:0; background:transparent; padding:0; margin:0; border-radius:0; }
.experience-page .athlete-next-challenge .profile-event > .material-symbols { display:none; }
.experience-page .athlete-next-challenge .profile-event h2 { font-size:21px; margin:0 0 8px; }
.experience-page .athlete-next-challenge .profile-event p { margin:0 0 5px; font-size:12px; }
.experience-page .athlete-next-challenge .profile-event .eyebrow { font-size:10px; margin-bottom:9px; }
.experience-page .athlete-next-challenge .competition-picker { width:100%; }
.experience-page .athlete-next-challenge .competition-picker-row { display:flex; gap:10px; }
.experience-page .athlete-next-challenge .competition-picker-row select { flex:1; min-width:0; }
.experience-page .athlete-next-challenge .competition-picker-row button { min-height:44px; white-space:nowrap; }
.experience-page .athlete-next-challenge .competition-picker label { font-size:12px; }
.experience-page .athlete-next-challenge .competition-simulation-note { margin:8px 0 0; padding:0; border:0; }
.experience-page .athlete-next-challenge .competition-simulation-note summary { font-size:11px; min-height:32px; }
.experience-page .premium-athlete-profile .profile-jump-nav { display:flex; flex-wrap:wrap; gap:8px 32px; border:0; padding:16px 0; margin:0 0 46px; }
.experience-page .premium-athlete-profile .profile-jump-nav a { display:inline-flex; align-items:center; gap:18px; min-height:44px; color:var(--profile-muted); font-size:12px; }
.experience-page .premium-athlete-profile .profile-jump-nav a:first-child { color:var(--profile-ink); font-weight:750; }
.experience-page .premium-athlete-profile :is(#visualiza,#preferencias,#competiciones,#trayectoria) { scroll-margin-top:32px; }
.experience-page .studio-heading,.experience-page .profile-section-heading { display:flex; justify-content:space-between; align-items:end; gap:36px; margin-bottom:32px; }
.experience-page .studio-heading .eyebrow,.experience-page .profile-section-heading .eyebrow { margin-bottom:14px; }
.experience-page .studio-heading h2 { margin:0; font-size:clamp(2.5rem,4.5vw,4.25rem); line-height:1.04; letter-spacing:-.055em; }
.experience-page .studio-heading h2 span { color:#647161; }
.experience-page .studio-heading > p,.experience-page .profile-section-heading > p { max-width:32ch; margin:0 0 4px; font-size:14px; line-height:1.7; }
.experience-page .premium-athlete-profile .model-interaction { grid-template-columns:minmax(0,1.2fr) minmax(0,1fr); gap:32px; align-items:start; }
.experience-page .premium-athlete-profile .model-visual { position:sticky; top:24px; }
.experience-page .studio-stage-shell { position:relative; overflow:hidden; background:#101815; border:1px solid #293b2e; border-radius:12px; }
.experience-page .studio-stage-label,.experience-page .studio-stage-caption { position:relative; z-index:3; display:flex; align-items:center; gap:8px; padding:18px 22px; color:#e2eadf; font-size:10px; font-weight:600; letter-spacing:.055em; }
.experience-page .studio-stage-label { border-bottom:1px solid #2d3c30; }
.experience-page .studio-stage-label > :last-child { margin-left:auto; color:#b5c2b3; font-variant-numeric:tabular-nums; }
.experience-page .studio-live-dot { width:6px; height:6px; background:var(--profile-lime); border-radius:50%; }
.experience-page .premium-athlete-profile .model-stage { height:500px!important; min-height:0; border:0; border-radius:0; background:radial-gradient(ellipse at 50% 45%,#2b3e30 0,#101815 72%)!important; box-shadow:none; }
.experience-page .premium-athlete-profile .model-stage canvas { background:transparent!important; }
.experience-page .studio-stage-caption { justify-content:space-between; color:#b5c2b3; padding-top:12px; padding-bottom:18px; }
.experience-page .studio-stage-caption > :last-child { color:var(--profile-lime); font-size:12px; }
.experience-page .model-stage .viewer-loading { position:absolute; z-index:5; inset:0; display:flex; flex-direction:column; justify-content:center; align-items:center; gap:18px; padding:30px; background:#101815; color:#f6f7f2; text-align:center; pointer-events:none; }
.experience-page .model-stage .viewer-loading img { display:block; width:auto; height:70%; max-width:100%; object-fit:contain; opacity:.8; }
.experience-page .viewer-loading-label { max-width:40ch; font-size:12px; line-height:1.7; }
.experience-page .model-stage[aria-busy=true]::before { display:none; }
.experience-page .model-camera-controls[hidden],.experience-page .studio-stage-shell[hidden] { display:none!important; }
.experience-page .premium-athlete-profile .model-camera-controls { grid-template-columns:repeat(4,minmax(0,1fr)); gap:0; margin:12px 0 0; border:1px solid #ccd4c6; border-radius:6px; overflow:hidden; }
.experience-page .premium-athlete-profile .model-camera-controls button { display:flex; flex-direction:column; align-items:start; justify-content:center; gap:5px; padding:11px 12px; min-height:66px; border:0; border-right:1px solid #ccd4c6; border-radius:0; font-size:10px; text-align:left; color:#344231; background:transparent; }
.experience-page .premium-athlete-profile .model-camera-controls button:last-child { border-right:0; }
.experience-page .premium-athlete-profile .model-camera-controls button > span { font-size:9px; font-variant-numeric:tabular-nums; opacity:1; }
.experience-page .premium-athlete-profile .model-camera-controls button[aria-pressed=true] { background:#d8ff58; color:#101815; }
.experience-page .premium-athlete-profile .model-camera-controls button:hover:enabled { background:#e8eddf; }
.experience-page .premium-athlete-profile .model-camera-controls button[aria-pressed=true]:hover { background:#d8ff58; }
.experience-page .premium-athlete-profile #model-status { font-size:11px; margin:12px 0; }
.experience-page .premium-athlete-profile .model-fallback { border-color:#d4dbd0; padding:10px 0; font-size:11px; }
.experience-page .premium-athlete-profile .model-fallback summary { display:list-item; min-height:44px; padding:10px 0; }
.experience-page .model-fallback-content { padding:12px 0; }
.experience-page .model-fallback-content .model-preview { width:100%; max-height:460px; object-fit:contain; background:#e9ede3; border-radius:6px; }
.experience-page .model-fallback-content p { font-size:13px; line-height:1.7; margin:16px 0; }
.experience-page .model-fallback-content button { min-height:44px; }
.experience-page .studio-model-note { font-size:10px; line-height:1.7; color:var(--profile-muted); margin:12px 0 0; }
.experience-page .premium-athlete-profile .model-interaction .zone-controls { padding:28px; background:#fff; border:1px solid #d4dbd0; border-radius:10px; }
.experience-page .studio-config-heading { display:flex; justify-content:space-between; gap:16px; padding-bottom:20px; margin-bottom:24px; border-bottom:1px solid #e0e6db; }
.experience-page .studio-config-heading .eyebrow { margin:0; font-size:9px; color:#647161; }
.experience-page .premium-athlete-profile .step-heading { display:flex; align-items:center; gap:12px; }
.experience-page .premium-athlete-profile .step-heading > span { display:inline-flex; align-items:center; justify-content:center; width:28px; height:28px; flex:none; background:#f0f3eb; border:1px solid #d9e0d2; border-radius:50%; font-size:10px; color:#344231; }
.experience-page .premium-athlete-profile .step-heading h3 { margin:0; font-size:18px; letter-spacing:-.025em; }
.experience-page .premium-athlete-profile #zone-help { margin:14px 0 18px; font-size:12px; line-height:1.7; }
.experience-page .premium-athlete-profile .zone-buttons { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
.experience-page .premium-athlete-profile .zone-button { min-width:0; min-height:46px; padding:10px 12px; border:1px solid #d3dacc; border-radius:5px; background:#fff; color:#394834; text-align:left; font-size:11px; line-height:1.4; }
.experience-page .premium-athlete-profile .zone-button:hover { background:#f2f5eb; border-color:#849378; }
.experience-page .premium-athlete-profile .zone-button[aria-pressed=true] { background:#101815; border-color:#101815; color:#d8ff58; font-weight:700; }
.experience-page .studio-selection-row { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:4px 16px; margin-top:12px; }
.experience-page .studio-selection-row #zone-selection { margin:0; font-size:10px; }
.experience-page .studio-selection-row #full-body { min-height:44px; padding:6px 0; font-size:10px; }
.experience-page .premium-athlete-profile #logo-controls { min-width:0; margin:22px 0 0; padding:24px 0 0; border:0; border-top:1px solid #e0e6db; }
.experience-page .premium-athlete-profile #logo-controls legend { padding:0 10px 0 0; font-size:17px; font-weight:750; letter-spacing:-.025em; }
.experience-page #logo-controls legend .help { margin-left:6px; font-weight:400; font-size:10px; }
.experience-page .premium-athlete-profile #logo-controls label { font-size:12px; font-weight:600; }
.experience-page .premium-athlete-profile #logo-controls .field { margin-bottom:15px; }
.experience-page .premium-athlete-profile #logo-controls .help { font-size:10px; line-height:1.7; }
.experience-page .premium-athlete-profile input[type=file] { width:100%; min-width:0; font-size:10px; border:1px dashed #b6c3ac; padding:12px; background:#f7f9f3; border-radius:5px; }
.experience-page .premium-athlete-profile input[type=file]::file-selector-button { margin-right:10px; padding:8px 10px; border:1px solid #c3cdbb; border-radius:3px; color:#101815; background:#fff; font:inherit; cursor:pointer; }
.experience-page .logo-file-name { font-size:10px; color:#425537; overflow-wrap:anywhere; margin:9px 0 0; }
.experience-page .premium-athlete-profile .logo-example { display:flex; justify-content:space-between; gap:18px; min-height:44px; padding:0; font-size:11px; }
.experience-page .logo-privacy { display:flex; align-items:start; gap:6px; margin:8px 0 20px; }
.experience-page .logo-privacy .material-symbols { font-size:14px; }
.experience-page .premium-athlete-profile .logo-sliders { display:grid; grid-template-columns:1fr; gap:0; margin-top:18px; }
.experience-page .premium-athlete-profile .logo-value { font-weight:400; color:#66735e; font-size:10px; }
.experience-page .premium-athlete-profile input[type=range] { accent-color:#35502a; min-height:36px; padding:0; }
.experience-page .premium-athlete-profile .logo-position-controls summary,.experience-page .premium-athlete-profile .custom-logo-trial summary { min-height:44px; padding:10px 0; font-size:11px; cursor:pointer; }
.experience-page .premium-athlete-profile .logo-position-controls[open] > .field { margin-top:12px; }
.experience-page .logo-actions { display:flex; flex-wrap:wrap; justify-content:space-between; gap:6px 16px; }
.experience-page .logo-actions .text-button { min-height:44px; padding:6px 0; font-size:10px; text-decoration:underline; text-underline-offset:3px; }
.experience-page .premium-athlete-profile #logo-status { font-size:10px; line-height:1.7; padding:12px 14px; margin:10px 0 0; background:#f2f5eb; border-radius:4px; }
.experience-page .premium-athlete-profile .brand-preview { background:#f5f7ef; border:1px solid #dce3d4; border-radius:5px; padding:14px; }
.experience-page .premium-athlete-profile .brand-preview img { max-width:100%; object-fit:contain; }
.experience-page .premium-athlete-profile .proposal-primary { margin:24px -12px -12px; padding:24px 18px; border:1px solid #d4dec5; border-radius:6px; background:#f3f7ea; }
.experience-page .premium-athlete-profile .proposal-primary > p { font-size:12px; line-height:1.7; }
.experience-page .premium-athlete-profile .proposal-primary .proposal-context { margin:18px 0 12px; }
.experience-page .premium-athlete-profile .proposal-context p { margin:4px 0; font-size:11px; }
.experience-page .premium-athlete-profile .proposal-primary .proposal-event-name { font-size:12px; font-weight:650; }
.experience-page .premium-athlete-profile .proposal-primary .field label { font-size:11px; }
.experience-page .premium-athlete-profile .proposal-primary .button { width:100%; display:flex; justify-content:space-between; min-height:52px; margin:18px 0 14px; font-size:13px; }
.experience-page .premium-athlete-profile .proposal-primary p.help { margin:9px 0 0; font-size:10px; }
.experience-page .premium-athlete-profile .demo-lab { margin:26px 0 0; padding:16px 0 0; border-top:1px solid #e0e6db; }
.experience-page .premium-athlete-profile .demo-lab > summary { min-height:44px; font-size:11px; cursor:pointer; }
.experience-page .premium-athlete-profile .demo-lab .business { margin:18px 0 0; background:#f6f7f2; padding:18px 14px; }
.experience-page .studio-empty-note { margin-top:24px; font-size:12px; padding-top:20px; border-top:1px solid #d4dbd0; }
.experience-page .athlete-profile-section { padding:64px 0 0; margin:64px 0 0; border-top:1px solid #d4dbd0; }
.experience-page .profile-section-heading h2 { margin:0; font-size:clamp(2rem,3.5vw,3rem); line-height:1.1; letter-spacing:-.045em; }
.experience-page .athlete-preferences { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:40px; margin-top:36px; }
.experience-page .athlete-preferences > div { border-top:2px solid #101815; padding-top:18px; }
.experience-page .preference-index { display:block; margin-bottom:22px; font-size:10px; color:#647161; }
.experience-page .athlete-preferences h3 { font-size:15px; margin:0 0 12px; }
.experience-page .athlete-preferences p { font-size:13px; line-height:1.8; overflow-wrap:anywhere; }
.experience-page .profile-shared-measures { border-top:1px solid #d4dbd0; margin-top:24px; padding-top:12px; font-size:12px; }
.experience-page .profile-shared-measures summary { min-height:44px; padding-block:10px; cursor:pointer; }
.experience-page .profile-social-link { display:flex; align-items:center; flex-wrap:wrap; gap:12px 32px; margin-top:28px; }
.experience-page .profile-social-link a { min-height:44px; display:inline-flex; align-items:center; gap:22px; font-size:12px; }
.experience-page .profile-social-link p { margin:0; max-width:56ch; font-size:10px; }

@media(max-width:1050px) {
  .experience-page .athlete-editorial-hero { gap:28px 36px; }
  .experience-page .premium-athlete-profile .model-interaction { gap:24px; grid-template-columns:minmax(0,1.1fr) minmax(0,1fr); }
  .experience-page .premium-athlete-profile .model-interaction .zone-controls { padding:22px; }
  .experience-page .premium-athlete-profile .model-stage { height:460px!important; }
  .experience-page .premium-athlete-profile .model-camera-controls { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .experience-page .premium-athlete-profile .model-camera-controls button { min-height:56px; flex-direction:row; align-items:center; justify-content:start; gap:10px; border-bottom:1px solid #ccd4c6; }
  .experience-page .premium-athlete-profile .model-camera-controls button:nth-child(2) { border-right:0; }
  .experience-page .premium-athlete-profile .model-camera-controls button:nth-child(n+3) { border-bottom:0; }
}
@media(max-width:800px) {
  .experience-page .athlete-editorial-hero { grid-template-columns:minmax(0,1fr) minmax(0,.8fr); gap:24px; }
  .experience-page .athlete-hero-tags { margin-bottom:24px; }
  .experience-page .premium-athlete-profile .athlete-hero-copy h1 { font-size:clamp(2.5rem,7vw,4rem); }
  .experience-page .athlete-hero-bio { font-size:14px; }
  .experience-page .athlete-hero-actions { gap:10px 18px; }
  .experience-page .athlete-editorial-portrait,.experience-page .athlete-editorial-portrait img { min-height:350px; }
  .experience-page .athlete-next-challenge { grid-template-columns:1fr; gap:16px; }
  .experience-page .premium-athlete-profile .model-interaction { grid-template-columns:1fr; gap:24px; }
  .experience-page .premium-athlete-profile .model-visual { position:static; }
  .experience-page .premium-athlete-profile .model-stage { height:500px!important; }
  .experience-page .premium-athlete-profile .model-camera-controls { grid-template-columns:repeat(4,minmax(0,1fr)); }
  .experience-page .premium-athlete-profile .model-camera-controls button { flex-direction:column; align-items:start; border-bottom:0; }
  .experience-page .premium-athlete-profile .model-camera-controls button:nth-child(2) { border-right:1px solid #ccd4c6; }
  .experience-page .athlete-preferences { gap:24px; }
}
@media(max-width:560px) {
  .experience-page .premium-athlete-profile { padding-top:16px; }
  .experience-page .premium-athlete-profile .profile-back { margin-bottom:18px; }
  .experience-page .athlete-editorial-hero { grid-template-columns:1fr; gap:24px; }
  .experience-page .athlete-hero-copy { padding:0; }
  .experience-page .athlete-hero-tags { margin-bottom:24px; }
  .experience-page .premium-athlete-profile .athlete-hero-copy h1 { max-width:none; font-size:clamp(2.7rem,12vw,4rem); margin-bottom:18px; }
  .experience-page .athlete-hero-location { font-size:12px; }
  .experience-page .athlete-hero-bio { font-size:15px; margin-bottom:22px; }
  .experience-page .athlete-hero-actions { gap:10px 22px; }
  .experience-page .athlete-hero-actions .button { font-size:12px; }
  .experience-page .athlete-hero-trust { margin-top:16px; font-size:10px; }
  .experience-page .athlete-editorial-portrait { max-height:400px; aspect-ratio:1.1; min-height:0; }
  .experience-page .athlete-editorial-portrait img { min-height:0; max-height:none; }
  .experience-page .athlete-editorial-portrait figcaption { padding:15px 18px; }
  .experience-page .athlete-next-challenge { padding:24px 0; }
  .experience-page .athlete-next-challenge .competition-picker-row { flex-wrap:wrap; }
  .experience-page .athlete-next-challenge .competition-picker-row select { flex-basis:100%; width:100%; }
  .experience-page .premium-athlete-profile .profile-jump-nav { gap:0 24px; margin-bottom:32px; padding:12px 0; }
  .experience-page .premium-athlete-profile .profile-jump-nav a { font-size:10px; }
  .experience-page .studio-heading,.experience-page .profile-section-heading { flex-direction:column; align-items:start; gap:18px; margin-bottom:24px; }
  .experience-page .studio-heading h2 { font-size:clamp(2.25rem,10vw,3.5rem); }
  .experience-page .studio-heading > p,.experience-page .profile-section-heading > p { max-width:40ch; font-size:13px; }
  .experience-page .premium-athlete-profile .model-stage { height:400px!important; }
  .experience-page .studio-stage-label,.experience-page .studio-stage-caption { padding-inline:16px; }
  .experience-page .premium-athlete-profile .model-camera-controls { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .experience-page .premium-athlete-profile .model-camera-controls button { flex-direction:row; align-items:center; min-height:48px; border-bottom:1px solid #ccd4c6; font-size:11px; }
  .experience-page .premium-athlete-profile .model-camera-controls button:nth-child(2) { border-right:0; }
  .experience-page .premium-athlete-profile .model-camera-controls button:nth-child(n+3) { border-bottom:0; }
  .experience-page .premium-athlete-profile .model-interaction .zone-controls { padding:22px 18px; }
  .experience-page .premium-athlete-profile .zone-button { min-height:48px; font-size:12px; }
  .experience-page .premium-athlete-profile .step-heading h3 { font-size:18px; }
  .experience-page .premium-athlete-profile #logo-controls legend { font-size:17px; }
  .experience-page .premium-athlete-profile #logo-controls label { font-size:13px; }
  .experience-page .premium-athlete-profile .proposal-primary { margin-inline:-6px; padding:22px 16px; }
  .experience-page .athlete-profile-section { margin-top:40px; padding-top:40px; }
  .experience-page .athlete-preferences { grid-template-columns:1fr; gap:26px; margin-top:24px; }
  .experience-page .preference-index { margin-bottom:14px; }
  .experience-page .athlete-preferences h3 { font-size:16px; }
}
@media(prefers-reduced-motion:reduce) {
  .experience-page .premium-athlete-profile * { scroll-behavior:auto; transition:none; animation:none; }
}
/* Preserve the approved portrait's face in wide and narrow crops. */
.experience-page .athlete-editorial-portrait img{object-position:50% 18%}
.experience-page .premium-athlete-profile #visualiza{scroll-margin-top:110px}
@media(min-width:961px){.experience-page .premium-athlete-profile .model-visual{top:102px}}
