/* Help visitors recognise their situation before describing a file's progress. */
.profile-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;align-items:start;scroll-margin-top:24px}
.profile-card{margin:0;min-width:0;background:#fffaf2;border:1px solid #cdb58d;border-radius:18px;overflow:hidden;box-shadow:0 8px 24px #65481d0b}
.profile-card>summary{display:grid;grid-template-columns:96px minmax(0,1fr) 18px;align-items:center;gap:12px;list-style:none;min-height:158px;padding:16px;cursor:pointer;color:#19364d;text-align:left}
.profile-card>summary::-webkit-details-marker{display:none}
.profile-photo{display:block;width:96px;height:112px;object-fit:cover;object-position:center 30%;border-radius:12px;background-color:#ede0c9}
.profile-student-photo{height:96px;background-image:url(assets/vies-en-france.webp);background-size:300% 200%;background-position:left top;background-repeat:no-repeat}
.profile-retirement .profile-photo{object-position:center 20%}
.profile-label{display:block;min-width:0}
.profile-label>strong{display:block;font-size:20px;line-height:1.25;letter-spacing:-.4px}
.profile-label>span{display:block;font-size:14px;line-height:1.45;margin-top:7px}
.profile-label>.profile-hint{display:block;color:#983d28;font-size:13px;line-height:1.4;margin-top:10px;font-weight:700}
.profile-expand{align-self:start;margin-top:2px;font-size:24px;line-height:1;font-weight:500;color:#a5462e}
.profile-card[open] .profile-expand{transform:rotate(45deg)}
.profile-card[open]>summary{border-bottom:1px solid #dac8a8;background:#f8edda}
.profile-card>summary:hover{background:#f8edda}
.profile-card>summary:focus-visible{outline:3px solid #a5462e;outline-offset:-4px}
.profile-content{padding:0 22px 22px;font-size:17px;line-height:1.6}
.profile-content>p{margin:20px 0}
.profile-content .profile-precision{padding:12px 14px;border-left:3px solid #b5833c;background:#f3e8d4;font-size:15px;line-height:1.5}
.profile-service-link{display:block;padding:10px 0;min-height:44px;font-size:15px;line-height:1.5;font-weight:650;color:#19364d;text-decoration:underline;text-underline-offset:3px}
.profile-content>.button{display:flex;justify-content:center;text-align:center;white-space:normal;font-size:16px;line-height:1.5;padding:12px 15px;min-height:48px;margin-top:16px}
.profile-content a:focus-visible,.profile-contact a:focus-visible{outline:3px solid #b34a31;outline-offset:4px}
.profile-contact{background:#19364d;color:#fffaf2;border-radius:18px;padding:22px;min-height:158px;border:1px solid #c49a50}
.profile-contact h3{font-size:23px;line-height:1.3;margin:0 0 10px;color:#fffaf2}
.profile-contact p{font-size:16px;line-height:1.6;margin:0 0 16px}
.profile-contact .button{font-size:16px;min-height:44px;padding:10px 16px}
.profile-intro{font-size:17px;line-height:1.65;max-width:900px;margin:28px 0 14px}
.application-stage{margin-top:28px;padding-top:8px;border-top:1px solid #cbb58e}
.application-stage>summary{font-size:18px;line-height:1.5;padding:14px 0;font-weight:700;color:#19364d}
.application-stage .needs-guide{margin:12px 0 0}
@media(max-width:1100px){.profile-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){
 .profile-grid{grid-template-columns:1fr;gap:12px}
 .profile-card>summary{grid-template-columns:84px minmax(0,1fr) 16px;gap:12px;padding:14px;min-height:136px}
 .profile-photo{width:84px;height:100px}.profile-student-photo{height:84px}
 .profile-label>strong{font-size:20px}.profile-label>span{font-size:14px;margin-top:5px}.profile-label>.profile-hint{margin-top:7px}
 .profile-content{padding:0 18px 20px}
 .profile-contact{padding:22px;min-height:0}
 .application-stage>summary{font-size:17px}
}
@media(max-width:360px){.profile-card>summary{grid-template-columns:72px minmax(0,1fr) 14px;gap:10px;padding:12px}.profile-photo{width:72px;height:92px}.profile-student-photo{height:72px}.profile-label>strong{font-size:18px}.profile-label>.profile-hint{font-size:12px}}
