.form-intro{position:fixed;inset:0;z-index:10000;color:#F6F3FA;background:var(--studio-bg,#0B0910);isolation:isolate;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Inter,sans-serif}
.form-intro>button{pointer-events:auto;border:1px solid var(--studio-border,#2E2B36);color:#E5E2EB;background:var(--studio-panel,#15121D);border-radius:9px;min-height:44px;padding:10px 14px;font:inherit;font-size:14px;font-weight:500;line-height:20px;cursor:pointer}
.form-intro>button:focus-visible{outline:2px solid var(--studio-lime,#956FFF);outline-offset:4px}
.form-intro{display:grid;place-items:center;pointer-events:auto;overflow:hidden;animation:form-intro-reveal var(--form-intro-duration,2400ms) cubic-bezier(.2,.7,.2,1) both}
.form-intro>button{position:absolute;right:max(24px,env(safe-area-inset-right));bottom:max(24px,env(safe-area-inset-bottom))}
.form-mission{padding:26px;margin:28px 0;border:1px solid var(--line,rgba(143,130,170,.2));border-radius:20px;background:var(--panel,rgba(126,100,183,.04));color:var(--text,inherit)}
.form-mission-head{display:flex;justify-content:space-between;gap:24px;align-items:center}.form-mission-head>div{min-width:0}
.form-mission-head>div>span{font-size:12px;font-weight:650;line-height:1.4;letter-spacing:.09em;color:var(--muted,#B1A8C5)}
.form-mission h2{font-size:clamp(21px,2.3vw,27px);font-weight:650;line-height:1.2;letter-spacing:-.025em;margin:9px 0 11px}
.form-mission p{max-width:62ch;color:var(--muted,#B1A8C5);font-size:15px;line-height:1.6;margin:0;text-wrap:pretty}
.form-mission-head>strong{font-size:34px;line-height:1.1;font-weight:600;white-space:nowrap;text-align:right;flex-shrink:0;font-variant-numeric:tabular-nums}
.form-mission-head>strong>small{font-size:19px;font-weight:450;color:var(--muted,#B1A8C5)}.form-mission-head>strong>span{display:block;font-size:12px;line-height:1.5;font-weight:450;margin-top:5px}
.form-mission-track{height:3px;background:var(--line,rgba(138,122,172,.18));border-radius:4px;margin:23px 0;overflow:hidden}.form-mission-track>i{display:block;height:100%;background:#9481BD}
.form-mission-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.form-mission-steps>button{display:flex;gap:12px;align-items:center;padding:17px 14px;text-align:left;border:1px solid var(--line,rgba(143,130,170,.2));border-radius:12px;background:transparent;color:inherit;min-width:0;min-height:86px;font:inherit;cursor:pointer}
.form-mission-steps>button>b{font-size:13px;color:var(--muted,#B1A8C5);font-variant-numeric:tabular-nums;width:25px;flex-shrink:0}.form-mission-steps>button.is-done>b{background:#a7dec8;color:#13382c;border-radius:50%;display:grid;place-items:center;width:25px;height:25px}
.form-mission-steps>button>span{display:grid;gap:5px;min-width:0}.form-mission-steps strong{font-size:15px;font-weight:600;line-height:1.3}.form-mission-steps small{font-size:13px;line-height:1.4;color:var(--muted,#B1A8C5);overflow-wrap:anywhere}.form-mission-steps i{font-size:18px;font-style:normal;margin-left:auto;flex-shrink:0;color:var(--muted,#B1A8C5)}
.form-mission-steps>button:focus-visible{outline:3px solid #9481BD;outline-offset:3px}.form-mission-steps>button:hover{background:var(--soft,rgba(143,130,170,.06))}
[data-form-role=athlete] [data-page-enter]{animation:form-athlete-enter .3s cubic-bezier(.2,.7,.2,1) both}
@keyframes form-athlete-enter{from{opacity:.4;transform:translateY(6px)}to{opacity:1;transform:none}}
@keyframes form-letter-in{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
@keyframes form-signal-in{from{opacity:0;transform:translate(-8px,8px)}to{opacity:1;transform:none}}
@keyframes form-caption-in{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}
@keyframes form-route-in{to{stroke-dashoffset:0}}
@keyframes form-intro-reveal{0%,84%{opacity:1}100%{opacity:0;visibility:hidden}}
@media(max-width:850px){.form-mission-steps{grid-template-columns:1fr}.form-mission-steps>button{min-height:74px}.form-mission{padding:22px}.form-mission-head{gap:18px}}
@media(max-width:480px){.form-mission-head{align-items:flex-start}.form-mission-head>strong{font-size:28px}.form-mission-head>strong>span{white-space:normal;max-width:75px}.form-mission{padding:18px}.form-mission p{font-size:14px}}
@media(prefers-reduced-motion:reduce){.form-intro,.form-intro *,[data-form-role=athlete] [data-page-enter]{animation:none!important;transform:none!important;opacity:1!important}.form-intro{display:none!important}}

/* SOMAGON photo library — horizontal category rails */
.v29-photo-page .v29-page-head{margin-bottom:18px}
.v29-photo-progress{display:grid;grid-template-columns:auto minmax(180px,1fr) minmax(220px,auto);gap:14px;align-items:center;margin:0 0 30px;padding:14px 16px;border:1px solid var(--v29-line);border-radius:12px;background:#0b1318}
.v29-photo-progress>div:first-child{display:flex;align-items:baseline;gap:8px;white-space:nowrap}
.v29-photo-progress>div:first-child strong{font-size:24px;line-height:1;color:#fff}
.v29-photo-progress>div:first-child strong small{font-size:12px;color:#8D879B}
.v29-photo-progress>div:first-child span{font-size:7px;font-weight:900;letter-spacing:.08em;color:#A09AAD;text-transform:uppercase}
.v29-photo-progress__bar{height:4px;border-radius:99px;background:#252030;overflow:hidden}
.v29-photo-progress__bar i{display:block;height:100%;border-radius:inherit;background:var(--v29-accent)}
.v29-photo-progress p{margin:0;color:#A09AAD;font-size:8px;line-height:1.45}
.v29-photo-category{margin:0 0 38px;min-width:0}
.v29-photo-category>header{display:flex;justify-content:space-between;align-items:end;gap:18px;margin:0 0 14px}
.v29-photo-category>header>span{display:none}
.v29-photo-category>header h2{margin:4px 0 5px;font-size:20px;line-height:1.1;color:#F6F5F8}
.v29-photo-category>header p{max-width:620px;margin:0;color:#958FA2;font-size:8px;line-height:1.5}
.v29-photo-category>header:after{content:"GLISSEZ →";flex:none;padding-bottom:2px;color:#AEA9B8;font-size:6px;font-weight:900;letter-spacing:.08em}
.v29-photo-row{display:grid!important;grid-template-columns:none!important;grid-auto-flow:column;grid-auto-columns:minmax(240px,31%);gap:12px!important;overflow-x:auto;overflow-y:hidden;padding:2px 2px 8px;scroll-snap-type:x mandatory;scroll-padding-inline:2px;overscroll-behavior-inline:contain;-webkit-overflow-scrolling:touch;scrollbar-width:none}
.v29-photo-row::-webkit-scrollbar{display:none}
.v29-photo-row .v29-photo-card{display:block;min-width:0;overflow:hidden;border:1px solid var(--v29-line);border-radius:14px;background:#0b1217;scroll-snap-align:start}
.v29-photo-row .v29-photo-card.has-photo{border-color:#3E394A}
.v29-photo-row .v29-photo-card>img,.v29-photo-row .v29-photo-card>.v29-photo-empty{display:block;width:100%;aspect-ratio:4/5;height:auto!important;object-fit:cover;object-position:center top;background:linear-gradient(145deg,#161220,#080e12)}
.v29-photo-row .v29-photo-empty{display:grid;place-content:center;text-align:center;gap:7px;color:#938D9F}
.v29-photo-row .v29-photo-empty b{font-size:13px}
.v29-photo-row .v29-photo-empty span{font-size:6px;letter-spacing:.08em}
.v29-photo-row .v29-photo-card>div:last-child{display:flex!important;flex-wrap:wrap;align-items:center;gap:6px!important;padding:11px!important}
.v29-photo-row .v29-photo-card>div:last-child>span{display:grid;gap:3px;flex:0 0 100%;min-width:0;margin-bottom:2px}
.v29-photo-row .v29-photo-card>div:last-child>span strong{font-size:9px}
.v29-photo-row .v29-photo-card>div:last-child>span small{font-size:6px;color:#948EA2}
.v29-photo-row .v29-photo-card label,.v29-photo-row .v29-photo-card button{display:grid;place-items:center!important;height:34px!important;min-width:34px;padding:0 9px!important;border:1px solid #3E394A!important;border-radius:8px!important;background:#161220!important;color:#F6F5F8!important;font-size:5.5px!important;font-weight:950!important;letter-spacing:.04em;cursor:pointer}
.v29-photo-row .v29-photo-card label{position:relative;flex:1 1 100px;border-color:#6C569B!important;background:#181520!important;color:var(--es-accent-ink)!important}
.v29-photo-row .v29-photo-card label input{position:absolute;opacity:0;pointer-events:none}
.v29-photo-row .v29-photo-card [data-crop-photo],.v29-photo-row .v29-photo-card [data-v30-place]{flex:1 1 90px}
.v29-photo-row .v29-photo-card [data-v29-photo-download],.v29-photo-row .v29-photo-card [data-remove-photo]{flex:0 0 34px;padding:0!important;font-size:14px!important;font-weight:500!important}
@media(max-width:900px){
 .v29-photo-progress{grid-template-columns:auto 1fr}.v29-photo-progress p{grid-column:1/-1}
 .v29-photo-row{grid-auto-columns:calc((100% - 24px)/3)}
}
@media(max-width:560px){
 .v29-photo-page{padding-left:10px;padding-right:10px}
 .v29-photo-page .v29-page-head{margin-bottom:14px}
 .v29-photo-page .v29-page-head h1{font-size:34px}
 .v29-photo-page .v29-page-head p{max-width:330px;font-size:8px;line-height:1.45}
 .v29-photo-progress{grid-template-columns:1fr auto;gap:10px;margin-bottom:26px;padding:12px}
 .v29-photo-progress__bar{grid-column:1/-1;grid-row:2}.v29-photo-progress p{grid-column:1/-1;font-size:7px}
 .v29-photo-category{margin-bottom:32px}
 .v29-photo-category>header{align-items:start;margin-bottom:12px}
 .v29-photo-category>header h2{font-size:18px}
 .v29-photo-category>header p{max-width:285px;font-size:7.5px}
 .v29-photo-category>header:after{padding-top:3px;font-size:5px}
 .v29-photo-row{grid-auto-columns:min(82vw,320px);gap:10px!important;margin-inline:-10px;padding:2px 10px 8px;scroll-padding-inline:10px}
 .v29-photo-row .v29-photo-card>div:last-child{padding:10px!important}
 .v29-photo-row .v29-photo-card>div:last-child>span strong{font-size:10px}
 .v29-photo-row .v29-photo-card>div:last-child>span small{font-size:6.5px}
 .v29-photo-row .v29-photo-card label,.v29-photo-row .v29-photo-card button{min-height:38px;height:38px!important;font-size:6px!important}
}
@media(prefers-reduced-motion:reduce){.v29-photo-row{scroll-behavior:auto}}

/* Home identity. The opening (experience.js) animates the mark once; the short-screen sizes live in welcome.css. */
html[data-theme] .form-welcome.fw-entry-page .fw-entry-identity{gap:8px;margin-bottom:28px;color:var(--es-ink)}
html[data-theme] .form-welcome.fw-entry-page .fw-entry-identity .fw-brand-wordmark{width:min(236px,100%);animation:none;transform:none}
/* Compact in normal text, naturally taller when text is enlarged. */
html[data-theme] .form-welcome.fw-entry-page .fw-role-actions{width:min(100%,286px);margin-inline:auto;gap:10px}
html[data-theme] .form-welcome.fw-entry-page .fw-entry .fw-role-choice{min-height:46px;height:auto;padding:11px 16px;border-radius:11px;font:500 calc(.9375rem * var(--elan-ui-scale,1))/1.4 var(--elan-ui-font,system-ui);letter-spacing:0;white-space:normal;word-break:normal;overflow-wrap:break-word}
html[data-theme] .form-welcome.fw-entry-page .fw-text-button,html[data-theme] .form-welcome.fw-entry-page .fw-demo-options>summary{min-height:44px;font-size:calc(.9375rem * var(--elan-ui-scale,1));line-height:1.45}
