/* ==========================================================
   Les Réviseurs Engagé·es — compléments au système de design
   (style.css est partagé avec la plateforme des financeurs)
   ========================================================== */

.brand img{height:56px; width:auto;}
.site-footer .brand img{height:64px;}
.admin-side .brand img{height:52px;}

/* ---------- Hero ---------- */
.hero .h-xl{font-size:clamp(40px,5vw,68px); line-height:.98;}
.hero-stamp{position:absolute; left:-18px; bottom:-26px; background:var(--white); border:1.5px solid var(--noir); border-radius:6px; box-shadow:var(--shadow-red); padding:16px 20px; max-width:270px;}
.hero-stamp b{display:block; font-family:'Gothic821','Aptly',sans-serif; font-weight:400; text-transform:uppercase; letter-spacing:.04em; font-size:19px; line-height:1.15;}
.hero-stamp span{font-size:13.5px; color:var(--ink-soft); line-height:1.45; display:block; margin-top:4px;}
.hero-illus{position:relative; aspect-ratio:1/1; border-radius:8px 34px 12px 44px / 24px 10px 34px 12px; background:var(--rouge-wash); display:grid; place-items:center; overflow:hidden;}
.hero-illus .big{width:62%; height:auto;}
.hero-illus .sm{position:absolute; width:22%; height:auto;}

/* ---------- Bandeau agrément ---------- */
.agrement{display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:0;}
.agrement>div{padding:6px clamp(16px,3vw,40px);}
.agrement>div+div{border-left:1px solid var(--line);}
.agrement .k{font-family:'Gothic821','Aptly',sans-serif; text-transform:uppercase; letter-spacing:.06em; font-size:13px; color:var(--rouge-text);}
.agrement .v{font-family:'Gothic821','Aptly',sans-serif; font-size:clamp(24px,2.4vw,32px); line-height:1.1; margin-top:6px; text-transform:uppercase;}
.agrement p{font-size:14.5px; color:var(--ink-soft); margin-top:6px; line-height:1.5;}

/* ---------- Offres SCIC / SCOP ---------- */
.offer{position:relative; display:flex; flex-direction:column; gap:16px; padding:clamp(26px,3vw,40px); background:var(--white); border:1.5px solid var(--noir); border-radius:var(--radius); transition:box-shadow .22s var(--ease), transform .22s var(--ease); overflow:hidden;}
.offer:hover{box-shadow:var(--shadow-red); transform:translate(-2px,-2px);}
.offer .code{font-family:'Gothic821','Aptly',sans-serif; font-size:clamp(64px,8vw,104px); line-height:.9; color:var(--rouge);}
.offer .illus{right:18px; top:18px; width:clamp(56px,7vw,88px); height:auto; opacity:.95;}
.offer .per{display:flex; align-items:baseline; gap:10px; padding:14px 0; border-block:1px solid var(--line);}
.offer .per b{font-family:'Gothic821','Aptly',sans-serif; font-weight:400; font-size:30px; line-height:1;}
.offer .foot{margin-top:auto; display:flex; gap:14px; flex-wrap:wrap; padding-top:8px;}

/* ---------- Ce qu'on regarde ---------- */
.lens{display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:clamp(20px,3vw,40px);}
.lens .l{border-top:3px solid var(--noir); padding-top:22px;}
.lens .l img{width:64px; height:auto; margin-bottom:16px;}
.lens h3{font-size:24px; margin-bottom:10px;}

/* ---------- Déroulé (frise) ---------- */
.frise{display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:0; counter-reset:f;}
.frise .f{position:relative; padding:0 18px 0 0;}
.frise .f::before{counter-increment:f; content:counter(f); display:flex; align-items:center; justify-content:center; width:52px; height:52px; border-radius:50%; background:var(--rouge); color:var(--noir); font-family:'Gothic821','Aptly',sans-serif; font-size:26px; position:relative; z-index:1; border:2px solid var(--noir);}
.frise .f::after{content:""; position:absolute; top:26px; left:52px; right:0; height:2px; background:var(--noir);}
.frise .f:last-child::after{display:none;}
.frise h3{font-size:21px; margin:18px 0 8px;}
.frise .when{font-family:'Gothic821','Aptly',sans-serif; text-transform:uppercase; letter-spacing:.05em; font-size:12.5px; color:var(--rouge-text);}

/* ---------- Points contrôlés ---------- */
.perimetre{columns:2; column-gap:clamp(24px,4vw,56px);}
.perimetre .p{break-inside:avoid; padding:20px 0; border-top:1px solid var(--line);}
.perimetre .p h3{font-size:20px; display:flex; gap:12px; align-items:baseline; margin-bottom:10px;}
.perimetre .p h3 i{font-style:normal; color:var(--rouge); font-size:16px; min-width:24px;}
.perimetre .p li{font-size:15px; color:var(--ink-soft); padding-left:18px; position:relative; line-height:1.5; margin-top:6px;}
.perimetre .p li::before{content:""; position:absolute; left:0; top:.6em; width:8px; height:2px; background:var(--rouge);}

.law{display:flex; flex-direction:column; gap:0;}
.law>div{display:grid; grid-template-columns:130px minmax(0,1fr); gap:20px; padding:16px 0; border-bottom:1px solid var(--line); font-size:15.5px;}
.law>div:first-child{border-top:1px solid var(--line);}
.law b{font-family:'Gothic821','Aptly',sans-serif; font-weight:400; text-transform:uppercase; letter-spacing:.04em; color:var(--rouge-text);}
.law span{color:var(--ink-soft);}

/* ---------- Équipe ---------- */
.team{display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:clamp(20px,3vw,36px);}
.member{background:var(--white); border:1px solid var(--line); border-radius:var(--radius); padding:clamp(22px,2.4vw,30px); display:flex; flex-direction:column; gap:12px;}
.member .initials{width:84px; height:84px; font-size:28px; border-radius:8px 24px 10px 30px / 18px 8px 24px 10px;}
.member h3{font-size:24px;}
.member .role{font-family:'Gothic821','Aptly',sans-serif; text-transform:uppercase; letter-spacing:.05em; font-size:13.5px; color:var(--rouge-text);}
.member details summary{cursor:pointer; font-family:'Gothic821','Aptly',sans-serif; text-transform:uppercase; letter-spacing:.05em; font-size:14px; border-bottom:2px solid var(--rouge); display:inline-block; padding-bottom:2px; list-style:none;}
.member details summary::-webkit-details-marker{display:none;}
.member details[open] summary{margin-bottom:10px;}
.member .todo{font-size:13.5px; color:var(--ink-faint); font-style:italic;}

/* ---------- Questionnaire ---------- */
.wizard{display:grid; grid-template-columns:minmax(0,1fr) 340px; gap:clamp(28px,4vw,64px); align-items:start;}
.wizard .stepper{margin-bottom:28px;}
.qcard{background:var(--white); border:1px solid var(--line); border-radius:var(--radius); padding:clamp(24px,3vw,44px);}
.qcard h2{font-size:clamp(30px,3.4vw,44px); margin-bottom:8px;}
.qnav{display:flex; justify-content:space-between; gap:16px; margin-top:32px; padding-top:24px; border-top:1px solid var(--line); flex-wrap:wrap;}
.typepick{display:grid; grid-template-columns:1fr 1fr; gap:18px;}
.typepick button{text-align:left; padding:24px; border:1.5px solid var(--line); background:var(--white); border-radius:8px; transition:border-color .15s, background-color .15s, box-shadow .15s;}
.typepick button:hover{border-color:var(--noir);}
.typepick button[aria-pressed="true"]{border-color:var(--noir); background:var(--rouge-wash); box-shadow:4px 4px 0 var(--rouge);}
.typepick .code{font-family:'Gothic821','Aptly',sans-serif; font-size:52px; line-height:1; color:var(--rouge);}
.typepick b{display:block; font-family:'Gothic821','Aptly',sans-serif; font-weight:400; text-transform:uppercase; letter-spacing:.03em; font-size:17px; margin-top:6px;}
.typepick span{display:block; font-size:14px; color:var(--ink-soft); margin-top:6px; line-height:1.45;}
.siret-row{display:flex; gap:12px;}
.siret-row .input{flex:1;}
.hint{font-size:13.5px; color:var(--ink-faint); line-height:1.5;}
.err{font-size:13.5px; color:var(--rouge-text);}
.input.is-err{border-color:var(--rouge);}
.found{display:flex; gap:14px; align-items:flex-start; padding:16px 18px; border-radius:8px; background:#eef3e6; font-size:15px; line-height:1.5;}
.found svg{flex:none; color:#5b7a2e; margin-top:2px;}
.aside-card{background:var(--white); border:1px solid var(--line); border-radius:var(--radius); padding:24px;}
.aside-card h3{font-size:20px; margin-bottom:12px;}
.recap .kv>div{font-size:14.5px; padding:10px 0;}
.urg{padding:18px 20px; border-radius:8px; border:1.5px solid var(--line);}
.urg .big{font-family:'Gothic821','Aptly',sans-serif; font-size:30px; line-height:1.1; text-transform:uppercase;}
.urg--depassee,.urg--proche{border-color:var(--rouge); background:var(--rouge-wash);}
.urg--annee{border-color:#c98a14; background:#fcefd6;}
.urg--ok{border-color:#5b7a2e; background:#eef3e6;}
.urg--inconnue{background:var(--sand); border-color:transparent;}

/* ---------- Confirmation / e-mails ---------- */
.done-hero{display:flex; gap:24px; align-items:flex-start;}
.done-hero .seal{width:76px; height:76px; border-radius:50%; background:var(--rouge); border:2px solid var(--noir); display:grid; place-items:center; flex:none;}
.auto{display:flex; flex-direction:column; gap:14px;}
.auto .a{display:grid; grid-template-columns:40px minmax(0,1fr) auto; gap:16px; align-items:center; padding:16px 18px; border:1px solid var(--line); border-radius:8px; background:var(--white);}
.auto .a .n{width:40px; height:40px; border-radius:50%; background:var(--rouge-pale); display:grid; place-items:center; font-family:'Gothic821','Aptly',sans-serif; font-size:18px;}
.mail{border:1px solid var(--line); border-radius:8px; background:var(--white); overflow:hidden;}
.mail .hd{padding:14px 20px; background:var(--sand); font-size:14px; line-height:1.6;}
.mail .hd b{display:inline-block; min-width:52px; font-weight:400; color:var(--ink-faint);}
.mail .bd{padding:22px 20px; font-size:15.5px; line-height:1.65;}
.mail .bd p+p{margin-top:12px;}
.mail .att{display:inline-flex; gap:10px; align-items:center; padding:10px 14px; border:1px solid var(--line); border-radius:6px; font-size:14px; margin-top:14px;}

/* ---------- Espaces : avancement ---------- */
.track{display:flex; gap:6px; margin:6px 0 4px;}
.track i{flex:1; height:8px; border-radius:99px; background:var(--rouge-pale);}
.track i.on{background:var(--rouge);}
.track i.cur{background:var(--noir);}
.milestones{display:flex; flex-direction:column;}
.ms{display:grid; grid-template-columns:36px minmax(0,1fr); gap:16px; position:relative; padding-bottom:24px;}
.ms::before{content:""; position:absolute; left:17px; top:36px; bottom:0; width:2px; background:var(--line);}
.ms:last-child::before{display:none;}
.ms .dot{width:36px; height:36px; border-radius:50%; border:2px solid var(--line); background:var(--white); display:grid; place-items:center; font-family:'Gothic821','Aptly',sans-serif; font-size:15px; color:var(--ink-faint);}
.ms.is-done .dot{background:var(--noir); border-color:var(--noir); color:var(--white);}
.ms.is-done::before{background:var(--noir);}
.ms.is-cur .dot{background:var(--rouge); border-color:var(--noir); color:var(--noir);}
.ms b{display:block; font-family:'Gothic821','Aptly',sans-serif; font-weight:400; text-transform:uppercase; letter-spacing:.04em; font-size:18px; line-height:1.2; padding-top:6px;}
.ms p{font-size:14.5px; color:var(--ink-soft); margin-top:4px;}
.ms.is-todo b{color:var(--ink-faint);}

.docline{display:grid; grid-template-columns:minmax(0,1fr) auto auto; gap:14px; align-items:center; padding:14px 0; border-bottom:1px solid var(--line);}
.docline:first-child{border-top:1px solid var(--line);}
.docline b{font-weight:700; font-size:15.5px; display:block;}
.docline .files{display:flex; gap:6px; flex-wrap:wrap; margin-top:6px;}
.upl{position:relative; overflow:hidden;}
.upl input{position:absolute; inset:0; opacity:0; cursor:pointer;}
.select--sm{padding:8px 12px; font-size:14px; width:auto;}

/* ---------- Tableau de bord réviseur·es ---------- */
.topbar{display:flex; justify-content:space-between; align-items:center; gap:20px; padding:18px clamp(20px,3vw,40px); background:var(--white); border-bottom:1px solid var(--line); position:sticky; top:0; z-index:20;}
.page-pad{padding:clamp(24px,3vw,44px) clamp(20px,3vw,44px) 80px;}
.page-title{display:flex; justify-content:space-between; align-items:flex-end; gap:20px; flex-wrap:wrap; margin-bottom:28px;}
.board{display:grid; grid-template-columns:repeat(8,minmax(220px,1fr)); gap:14px; overflow-x:auto; padding-bottom:12px;}
.col{background:var(--sand); border-radius:var(--radius); padding:12px; min-height:240px; display:flex; flex-direction:column; gap:10px; transition:background-color .15s;}
.col.is-over{background:var(--rouge-pale);}
.col .ch{display:flex; justify-content:space-between; align-items:center; padding:4px 4px 6px; font-family:'Gothic821','Aptly',sans-serif; text-transform:uppercase; letter-spacing:.06em; font-size:13px;}
.col .ch em{font-style:normal; background:var(--white); border-radius:99px; padding:1px 9px; font-size:12.5px;}
.pcard{display:block; background:var(--white); border:1px solid var(--line); border-radius:8px; padding:14px; cursor:grab; transition:border-color .15s, box-shadow .15s;}
.pcard:hover{border-color:var(--noir); box-shadow:3px 3px 0 var(--rouge);}
.pcard.dragging{opacity:.5;}
.pcard b{display:block; font-weight:700; font-size:15px; line-height:1.3;}
.pcard .sub{font-size:13px; color:var(--ink-faint); margin-top:4px;}
.pcard .row{justify-content:space-between; margin-top:10px; gap:8px; flex-wrap:wrap;}
.tbadge{display:inline-flex; padding:2px 9px; border-radius:4px; font-family:'Gothic821','Aptly',sans-serif; font-size:12.5px; letter-spacing:.05em; background:var(--noir); color:var(--white);}
.tbadge--scop{background:var(--rouge); color:var(--noir);}
.newdot{display:inline-block; width:8px; height:8px; border-radius:50%; background:var(--rouge); margin-right:6px; vertical-align:middle;}
.task{display:flex; gap:14px; align-items:flex-start; padding:14px 0; border-bottom:1px solid var(--line);}
.task:last-child{border-bottom:0;}
.task input{accent-color:var(--rouge); width:18px; height:18px; margin-top:4px; flex:none;}
.task.is-done b{text-decoration:line-through; color:var(--ink-faint);}
.task b{display:block; font-weight:700; font-size:15px; line-height:1.4;}
.section-head{display:flex; justify-content:space-between; align-items:center; gap:16px; flex-wrap:wrap;}
.search{display:flex; align-items:center; gap:10px; padding:10px 14px; border:1.5px solid var(--line); border-radius:6px; background:var(--paper); flex:1; max-width:440px;}
.search input{border:0; background:transparent; font:inherit; font-size:15px; flex:1; outline:none;}
.viewswitch{display:inline-flex; border:1.5px solid var(--noir); border-radius:4px; overflow:hidden;}
.viewswitch button{padding:9px 16px; background:var(--white); border:0; font-family:'Gothic821','Aptly',sans-serif; text-transform:uppercase; letter-spacing:.05em; font-size:13.5px;}
.viewswitch button[aria-pressed="true"]{background:var(--noir); color:var(--white);}
.stagebar{display:flex; gap:6px; flex-wrap:wrap;}
.stagebar button{padding:9px 14px; border:1.5px solid var(--line); background:var(--white); border-radius:99px; font-family:'Gothic821','Aptly',sans-serif; text-transform:uppercase; letter-spacing:.04em; font-size:13px; color:var(--ink-faint);}
.stagebar button.is-done{color:var(--noir); border-color:var(--noir);}
.stagebar button.is-cur{background:var(--rouge); border-color:var(--noir); color:var(--noir);}
.atelier-cta{display:grid; grid-template-columns:minmax(0,1fr) auto; gap:20px; align-items:center; padding:24px 28px; background:var(--rouge-wash); border:1.5px solid var(--noir); border-radius:var(--radius); box-shadow:var(--shadow-red);}
.atelier-cta h3{font-size:26px;}

/* ---------- Convention (document imprimable) ---------- */
.doc-toolbar{position:sticky; top:0; z-index:10; background:var(--white); border-bottom:1px solid var(--line); padding:14px clamp(20px,3vw,40px); display:flex; justify-content:space-between; gap:16px; align-items:center; flex-wrap:wrap;}
.doc-sheet{max-width:820px; margin:40px auto 80px; background:var(--white); box-shadow:0 20px 60px -30px rgba(0,0,0,.35); padding:clamp(28px,6vw,80px); font-size:15.5px; line-height:1.7;}
.doc-sheet .cover{text-align:center; padding-bottom:36px; margin-bottom:36px; border-bottom:2px solid var(--noir);}
.doc-sheet .cover img{height:90px; width:auto; margin:0 auto 24px;}
.doc-sheet .cover .k{font-family:'Gothic821','Aptly',sans-serif; text-transform:uppercase; letter-spacing:.08em; font-size:13px; color:var(--rouge-text);}
.doc-sheet h1{font-size:clamp(26px,3vw,34px); margin:10px 0;}
.doc-sheet h2{font-size:19px; margin:30px 0 10px; color:var(--rouge-text);}
.doc-sheet p+p{margin-top:10px;}
.doc-sheet ol{list-style:decimal; padding-left:22px;} .doc-sheet ol li+li{margin-top:8px;}
.doc-sheet .parties p{margin-top:12px;}
.doc-sheet .sign{display:grid; grid-template-columns:1fr 1fr; gap:40px; margin-top:40px;}
.doc-sheet .sign div{border-top:1px solid var(--noir); padding-top:10px; min-height:110px; font-size:14px;}
.doc-sheet .draft{display:inline-block; padding:4px 12px; border:1.5px solid var(--rouge); color:var(--rouge-text); font-family:'Gothic821','Aptly',sans-serif; text-transform:uppercase; letter-spacing:.08em; font-size:12px; margin-bottom:18px;}
.doc-sheet .fill{background:var(--rouge-wash); padding:0 4px; border-radius:3px;}
@media print{
  .doc-toolbar,.no-print{display:none !important;}
  body{background:#fff;}
  .doc-sheet{box-shadow:none; margin:0; padding:0; max-width:none;}
  .doc-sheet .fill{background:none;}
  .doc-sheet h2{break-after:avoid;}
}

/* ---------- Responsive ---------- */
@media (max-width:1080px){
  .wizard{grid-template-columns:1fr;}
  .frise{grid-template-columns:1fr; gap:0;}
  .frise .f{display:grid; grid-template-columns:52px minmax(0,1fr); column-gap:20px; padding:0 0 28px;}
  .frise .f::before{grid-row:1/4;}
  .frise .f::after{top:52px; bottom:0; left:25px; width:2px; height:auto; right:auto;}
  .frise h3{margin:10px 0 6px;}
  .team{grid-template-columns:repeat(2,minmax(0,1fr));}
  .lens{grid-template-columns:1fr;}
  .hero-stamp{left:12px; bottom:-20px;}
}
@media (max-width:640px){
  .agrement,.team,.typepick{grid-template-columns:1fr;}
  .agrement>div+div{border-left:0; border-top:1px solid var(--line); margin-top:14px; padding-top:20px;}
  .perimetre{columns:1;}
  .law>div{grid-template-columns:1fr; gap:4px;}
  .siret-row{flex-direction:column;}
  .docline{grid-template-columns:1fr; gap:8px;}
  .done-hero{flex-direction:column;}
  .auto .a{grid-template-columns:40px minmax(0,1fr);}
  .auto .a>:last-child{grid-column:2;}
  .atelier-cta{grid-template-columns:1fr;}
  .doc-sheet .sign{grid-template-columns:1fr;}
  .topbar{flex-wrap:wrap;}
}

/* ---------- Page « La révision » : onglets SCIC / SCOP ---------- */
.statut-bar{position:sticky; top:84px; z-index:40; background:rgba(248,247,247,.94); backdrop-filter:blur(10px); -webkit-backdrop-filter:blur(10px); border-bottom:1px solid var(--line);}
.statut-bar .tabs{border-bottom:0;}
.statut-bar .tab{font-size:clamp(17px,1.8vw,22px); padding:18px 2px;}
[role="tabpanel"]>.section:first-child{padding-top:clamp(40px,5vw,72px);}

/* ---------- Accueil orienté demande ---------- */
.hero-cta{border:1.5px solid var(--noir); box-shadow:var(--shadow-red); background:var(--white); border-radius:var(--radius); padding:clamp(24px,3vw,36px);}
.hero-cta .typepick button{padding:18px;}
.hero-cta .typepick .code{font-size:40px;}
.steps--3{grid-template-columns:repeat(3,1fr);}
@media (max-width:1080px){.steps--3{grid-template-columns:1fr;}}

/* ---------- Connexion discrète dans l'en-tête ---------- */
.ss--login .ss-btn{border:0; background:transparent; padding:8px 4px; min-height:0; font-size:14px; gap:8px; color:var(--ink-soft);}
.ss--login .ss-btn:hover{background:transparent; color:var(--noir);}
.ss--login .ss-btn svg.ss-chev{width:14px; height:14px;}

/* ---------- Tableau : progression des tâches ---------- */
.mini-prog{height:5px; background:var(--sand); border-radius:99px; overflow:hidden; margin-top:10px;}
.mini-prog i{display:block; height:100%; width:var(--w); background:var(--noir); border-radius:99px;}
.mini-prog.is-late i{background:var(--rouge);}

/* ---------- Calendrier ---------- */
.cal-layout{display:grid; grid-template-columns:minmax(0,1fr) 320px; gap:20px; align-items:start;}
.cal{display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); border-top:1px solid var(--line); border-left:1px solid var(--line);}
.cal-h{padding:8px; font-family:'Gothic821','Aptly',sans-serif; text-transform:uppercase; letter-spacing:.06em; font-size:12px; color:var(--ink-faint); border-right:1px solid var(--line); border-bottom:1px solid var(--line); background:var(--paper);}
.cal-d{min-height:104px; padding:6px; border-right:1px solid var(--line); border-bottom:1px solid var(--line); display:flex; flex-direction:column; gap:4px; min-width:0;}
.cal-d.is-out{background:var(--paper);} .cal-d.is-out .cal-n{color:var(--ink-faint);}
.cal-n{font-family:'Gothic821','Aptly',sans-serif; font-size:15px;}
.cal-d.is-today .cal-n{display:inline-flex; width:26px; height:26px; align-items:center; justify-content:center; background:var(--rouge); border-radius:50%;}
.cal-ev{display:block; font-size:11.5px; line-height:1.3; padding:3px 6px; border-radius:4px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; transition:transform .15s;}
.cal-ev:hover{transform:translateX(2px);}
.cal-ev b{font-weight:700;}
.cal-ev--task{background:var(--rouge-pale);}
.cal-ev--late{background:var(--rouge); color:var(--noir);}
.cal-ev--legal{background:var(--noir); color:var(--white);}
.cal-legend{display:flex; gap:18px; margin-bottom:12px; color:var(--ink-soft); flex-wrap:wrap;}
.cal-legend span{display:inline-flex; align-items:center; gap:6px;}
.cal-dot{display:inline-block; width:12px; height:12px; border-radius:3px; padding:0;}
.agenda{display:flex; flex-direction:column;}
.ag{display:grid; grid-template-columns:64px minmax(0,1fr); gap:12px; padding:12px 0; border-bottom:1px solid var(--line); font-size:14.5px; line-height:1.4;}
.ag:last-child{border-bottom:0;}
.ag:hover b{color:var(--rouge-text);}
.ag-d{font-family:'Gothic821','Aptly',sans-serif; text-transform:uppercase; font-size:14px;}
.ag b{display:block; font-weight:700;}
@media (max-width:1280px){.cal-layout{grid-template-columns:1fr;}}
@media (max-width:820px){.cal-card{display:none;}}

/* Tableau de bord : empilement sur petits écrans */
.page-title>.row{flex-wrap:wrap;}
@media (max-width:1080px){
  #bottom, .admin-main .grid[style*="grid-template-columns:minmax(0,1fr) minmax(0,1fr)"], .admin-main .grid[style*="minmax(0,1.3fr)"]{grid-template-columns:1fr !important;}
}
@media (max-width:640px){ .viewswitch button{padding:8px 10px; font-size:12px;} }

/* ==========================================================
   Refonte : une seule échelle typographique, fonds clairs,
   illustrations maison, défilement plus léger
   ========================================================== */
:root{
  --fs-1:clamp(36px,4.2vw,56px);   /* titre de page */
  --fs-2:clamp(26px,2.6vw,36px);   /* titre de section */
  --fs-3:20px;                     /* titre de bloc */
  --fs-body:17px;
  --fs-small:14.5px;
  --fs-label:13px;                 /* surtitres, libellés, boutons */
}
body{font-size:var(--fs-body); line-height:1.6;}
.h-xl,.hero .h-xl{font-size:var(--fs-1); line-height:1;}
.h-l,.h-m{font-size:var(--fs-2); line-height:1.05;}
.h-s,.card h3,.step h3,.lens h3,.frise h3,.member h3,.atelier-cta h3,.perimetre .p h3,.aside-card h3{font-size:var(--fs-3); line-height:1.15;}
.lead{font-size:18px; line-height:1.55; max-width:52ch;}
.small,.kv>div,.perimetre .p li,.law>div,.notice,.docline b,.task b,.pcard b{font-size:var(--fs-small);}
.eyebrow,.field label,.tab,.link,.tag,.chip,.stepper .s,.member .role,.frise .when,.agrement .k,.col .ch{font-size:var(--fs-label);}
.btn{font-size:15px; padding:14px 24px;} .btn--sm{font-size:13.5px; padding:10px 16px;}
.qcard h2{font-size:var(--fs-2);}
.acc summary{font-size:17px; padding:18px 44px 18px 0;}
.urg .big{font-size:24px;}
.quote blockquote{font-size:var(--fs-2);}
.section{padding-block:clamp(56px,7vw,96px);}
.section--tight{padding-block:clamp(36px,4vw,56px);}
.hero{padding-block:clamp(32px,4.5vw,64px) clamp(40px,5vw,72px);}
.stack.gap-l{gap:24px;}

/* En-tête plus fin, pied de page clair */
.site-header .bar{min-height:72px;}
.brand img{height:48px;}
.site-footer{background:var(--white); color:var(--ink); border-top:1px solid var(--line); padding-block:48px 28px;}
.site-footer .legal{margin-top:32px;}
.site-footer .brand img{height:52px;}

/* Sections d'accent : rouge très pâle ou sable, jamais noires */
.section--wash{background:var(--rouge-wash);}
.section--sand{background:var(--sand);}

/* Titres de section */
.sec-head{display:flex; flex-direction:column; gap:12px; max-width:640px; margin-bottom:clamp(28px,3.5vw,44px);}
.sec-head--center{margin-inline:auto; text-align:center; align-items:center;}

/* Accueil */
.hero-cta{position:relative;}
.hero-cta .typepick .code{font-size:36px;}
.hero-cta .typepick button{padding:16px 18px;}
.hero-cta .typepick span{margin-top:2px;}
.hero-art{position:absolute; width:clamp(90px,10vw,140px); height:auto; right:-28px; top:-56px; transform:rotate(8deg); pointer-events:none;}
.trust{display:flex; gap:10px 24px; flex-wrap:wrap; font-size:var(--fs-small); color:var(--ink-soft);}
.trust span{display:inline-flex; gap:8px; align-items:center;}
.trust span::before{content:""; width:8px; height:8px; border-radius:50%; background:var(--rouge);}

.steps--3{grid-template-columns:repeat(3,1fr); gap:clamp(20px,3vw,40px);}
.step-i{display:flex; flex-direction:column; gap:10px;}
.step-i img{width:auto; height:120px; object-fit:contain; object-position:left bottom; margin-bottom:8px; transition:transform .4s var(--ease);}
.step-i:hover img{transform:rotate(-4deg) translateY(-4px);}
.step-i .n{font-family:'Gothic821','Aptly',sans-serif; color:var(--rouge-text); font-size:var(--fs-label); letter-spacing:.08em; text-transform:uppercase;}

.offer{padding:clamp(24px,2.6vw,32px); gap:12px;}
.offer .code{font-size:56px; line-height:.9;}
.offer:hover .code{letter-spacing:normal;}
.offer .art{position:absolute; right:clamp(16px,2vw,28px); top:clamp(16px,2vw,24px); width:clamp(84px,9vw,120px); height:auto; transition:transform .4s var(--ease);}
.offer:hover .art{transform:rotate(-6deg) scale(1.04);}
.offer .per{padding:10px 0;}
.offer .per b{font-size:22px;}

.cta-band{display:grid; grid-template-columns:auto minmax(0,1fr) auto; gap:clamp(20px,3vw,40px); align-items:center;}
.cta-band img{width:96px; height:auto;}
.cta-band h2{font-size:var(--fs-2);}

/* Page « La révision » */
.hero-illus-x{width:100%; max-width:420px; height:auto; margin-inline:auto;}
.lens{gap:clamp(24px,3vw,40px);}
.lens .l{border-top:0; padding-top:0;}
.lens .l img{width:auto; height:96px; margin-bottom:14px;}
.statut-bar{position:sticky; top:72px; z-index:40; background:var(--paper); border-bottom:1px solid var(--line);}
.statut-bar .tabs{border-bottom:0;}
.statut-bar .tab{font-size:17px; padding:16px 2px;}
.statut-sum{display:grid; grid-template-columns:minmax(0,1fr) 300px; gap:clamp(28px,5vw,72px); align-items:center;}
.statut-sum .art{width:100%; max-width:240px; height:auto; justify-self:center;}
.per-list{display:flex; flex-direction:column; border-top:1px solid var(--line);}
.per-list>div{display:grid; grid-template-columns:160px minmax(0,1fr); gap:16px; padding:12px 0; border-bottom:1px solid var(--line); align-items:baseline;}
.per-list b{font-family:'Gothic821','Aptly',sans-serif; font-weight:400; text-transform:uppercase; font-size:18px; letter-spacing:.02em;}
.per-list span{font-size:var(--fs-small); color:var(--ink-soft);}
.pts{display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 clamp(24px,4vw,56px);}
.pts details{border-bottom:1px solid var(--line);}
.pts details:nth-child(-n+2){border-top:1px solid var(--line);}
.pts summary{list-style:none; cursor:pointer; display:flex; gap:14px; align-items:baseline; padding:15px 32px 15px 0; position:relative; font-family:'Gothic821','Aptly',sans-serif; text-transform:uppercase; letter-spacing:.03em; font-size:17px; line-height:1.2;}
.pts summary::-webkit-details-marker{display:none;}
.pts summary i{font-style:normal; color:var(--rouge-text); font-size:var(--fs-label); min-width:22px;}
.pts summary::after{content:"+"; position:absolute; right:2px; top:50%; transform:translateY(-50%); color:var(--rouge); font-size:22px; transition:transform .25s var(--ease);}
.pts details[open] summary::after{transform:translateY(-50%) rotate(45deg);}
.pts ul{padding:0 0 16px 36px;}
.pts li{font-size:var(--fs-small); color:var(--ink-soft); position:relative; padding-left:16px; margin-top:4px; line-height:1.5;}
.pts li::before{content:""; position:absolute; left:0; top:.65em; width:7px; height:2px; background:var(--rouge);}
.refs summary{cursor:pointer; font-family:'Gothic821','Aptly',sans-serif; text-transform:uppercase; letter-spacing:.05em; font-size:var(--fs-label); display:inline-flex; gap:8px; border-bottom:2px solid var(--rouge); padding-bottom:3px; list-style:none;}
.refs summary::-webkit-details-marker{display:none;}
.refs[open] summary{margin-bottom:12px;}
.refs .law>div{grid-template-columns:110px minmax(0,1fr); padding:10px 0;}
.frise .f::before{width:40px; height:40px; font-size:20px;}
.frise .f::after{top:20px; left:40px;}
.frise h3{margin:14px 0 6px;}

/* Équipe */
.team{gap:16px;}
.member{padding:22px; gap:8px;}
.member .initials{width:56px; height:56px; font-size:20px;}
.member .head{display:flex; gap:14px; align-items:center;}
.engage{display:grid; grid-template-columns:200px minmax(0,1fr); gap:clamp(28px,5vw,72px); align-items:center;}
.engage img{width:100%; height:auto;}
.engage .check{display:grid; grid-template-columns:1fr 1fr; gap:4px 32px;}

/* Questionnaire : tout à l'écran */
.demande-top{display:flex; justify-content:space-between; align-items:flex-end; gap:20px; flex-wrap:wrap; margin-bottom:18px;}
.demande-top h1{font-size:var(--fs-2);}
.wizard{grid-template-columns:minmax(0,1fr) 300px; gap:clamp(20px,3vw,40px);}
.wizard .stepper{margin-bottom:14px; gap:8px;}
.stepper .s{padding:5px 12px 5px 5px; gap:8px;}
.stepper .s i{width:24px; height:24px; font-size:12px;}
.qcard{padding:clamp(20px,2.4vw,32px);}
.qcard h2{margin-bottom:4px;}
.qcard .eyebrow{display:none;}
.qnav{margin-top:20px; padding-top:16px;}
.typepick{gap:12px;}
.typepick button{padding:16px 18px;}
.typepick .code{font-size:36px;}
.typepick b{font-size:14px;}
.typepick span{font-size:13.5px; margin-top:4px;}
.qcard .radio{padding:12px 16px;}
.qcard .mt-l{margin-top:20px;}
.qcard .mt-m{margin-top:16px;}
.qcard .form-grid{gap:12px 16px;}
.qcard .input,.qcard .select{padding:11px 14px; font-size:15.5px;}
.qcard .textarea{min-height:76px; padding:11px 14px; font-size:15.5px;}
.qcard .field{gap:6px;}
.wizard aside{top:96px !important;}
.aside-card{padding:20px;}
.recap .kv>div{padding:8px 0; font-size:14px;}
.done-art{width:150px; height:auto; flex:none;}
.empty-art{width:110px; height:auto; margin:0 auto 12px; opacity:.9;}

/* Apparitions plus légères, pas d'animation permanente */
.rv{opacity:0; transform:translateY(12px); transition:opacity .45s var(--ease), transform .45s var(--ease); transition-delay:var(--d,0s);}
.rv.is-in{opacity:1; transform:none;}
@media (prefers-reduced-motion: reduce){ .rv{opacity:1; transform:none;} }

@media (min-width:1081px){ .qcard .form-grid--3{grid-template-columns:repeat(3,minmax(0,1fr));} }
@media (max-width:1080px){
  .steps--3{grid-template-columns:1fr;}
  .step-i{display:grid; grid-template-columns:96px minmax(0,1fr); gap:4px 20px; align-items:center;}
  .step-i img{height:80px; grid-row:1/4; margin:0; object-position:center;}
  .statut-sum,.engage{grid-template-columns:1fr;}
  .statut-sum .art{max-width:160px; order:-1; justify-self:start;}
  .engage img{max-width:140px;}
  .hero-art{right:-6px; top:-48px; width:90px;}
  .wizard aside{position:static !important;}
}
@media (max-width:640px){
  .pts{grid-template-columns:1fr;}
  .pts details:nth-child(2){border-top:0;}
  .cta-band{grid-template-columns:1fr; text-align:left;}
  .cta-band img{width:72px;}
  .engage .check{grid-template-columns:1fr;}
  .per-list>div{grid-template-columns:1fr; gap:2px;}
  .offer .art{width:72px;}
}
@media (min-width:1081px){ .team{grid-template-columns:repeat(4,minmax(0,1fr));} }

/* ---------- Accueil : date et échéance fusionnées ---------- */
.field label .opt{text-transform:none; letter-spacing:0; font-family:'Aptly',sans-serif; opacity:.8;}
.me-out{font-size:13.5px; line-height:1.4; color:var(--ink-faint); min-height:1.4em;}
.me-out b{color:var(--noir);}
.me-out.is-depassee b,.me-out.is-proche b{color:var(--rouge-text);}
.hero-cta .form-grid{align-items:start;}

/* ---------- Ce qui est révisé : paquet de cartes ---------- */
.deck-wrap{position:relative;}
.deck-wrap .pts{display:grid;}
.deck-wrap.is-ready .pts{display:none;}
.deck-wrap:not(.is-ready) .deck,.deck-wrap:not(.is-ready) .deck-foot{display:none;}
.deck{position:relative; height:clamp(380px,44vw,460px); perspective:1600px; cursor:grab; touch-action:pan-y; overflow:hidden; outline:none;}
.deck.drag{cursor:grabbing;}
.kcard{position:absolute; left:50%; top:46%; width:var(--cw); aspect-ratio:4/5.2; margin:calc(var(--cw) * -.65) 0 0 calc(var(--cw) * -.5); padding:calc(var(--cw) * .07); display:flex; flex-direction:column; background:var(--white); border:1.5px solid var(--noir); border-radius:10px; box-shadow:0 22px 36px -26px rgba(0,0,0,.45); will-change:transform; cursor:pointer; user-select:none; -webkit-user-select:none;}
.kcard.act{box-shadow:6px 6px 0 var(--rouge), 0 22px 36px -26px rgba(0,0,0,.45);}
.kcard:focus-visible{outline:3px solid var(--rouge); outline-offset:4px;}
.kcard.gone{visibility:hidden;}
.kcard .kn,.flip .kn{font-family:'Gothic821','Aptly',sans-serif; color:var(--rouge-text); font-size:calc(var(--cw) * .09); line-height:1;}
.kcard .pic{flex:1; display:grid; place-items:center; min-height:0;}
.kcard .pic img{max-width:78%; max-height:100%; object-fit:contain; pointer-events:none;}
.kcard b{font-family:'Gothic821','Aptly',sans-serif; font-weight:400; text-transform:uppercase; letter-spacing:.02em; font-size:calc(var(--cw) * .075); line-height:1.1; min-height:2.2em;}
.kcard .frm{position:absolute; left:-10%; top:-7.7%; width:120%; height:115.4%; overflow:visible; pointer-events:none; opacity:0; transition:opacity .15s;}
.kcard .frm path{fill:none; stroke:var(--noir); stroke-width:.8; stroke-linecap:round; stroke-linejoin:round; stroke-dasharray:.94 .06;}
.kcard:hover .frm{opacity:1;}
.kcard:hover .frm path{animation:loopdraw .7s var(--ease) both, loopspin 4s linear .7s infinite;}
@keyframes loopdraw{from{stroke-dasharray:0 1;}to{stroke-dasharray:.94 .06;}}
@keyframes loopspin{to{stroke-dashoffset:-1;}}
.deck-foot{display:flex; justify-content:center; align-items:center; gap:14px; margin-top:4px;}
.deck-foot .cnt{font-family:'Gothic821','Aptly',sans-serif; font-size:15px; letter-spacing:.06em; min-width:64px; text-align:center;}
.dnav{width:42px; height:42px; border-radius:50%; border:1.5px solid var(--noir); background:var(--white); display:grid; place-items:center; font-size:16px; transition:transform .25s var(--ease), box-shadow .25s;}
.dnav:hover{transform:translate(-1px,-1px); box-shadow:3px 3px 0 var(--rouge);}

/* Carte retournée */
.dv{position:fixed; inset:0; z-index:500; perspective:2200px; visibility:hidden;}
.dv.on{visibility:visible;}
.dv .veil{position:absolute; inset:0; background:rgba(248,247,247,.7); -webkit-backdrop-filter:blur(8px); backdrop-filter:blur(8px); opacity:0; transition:opacity .5s var(--ease);}
.dv.show .veil{opacity:1;}
.flip{position:absolute; transform-style:preserve-3d; transition:left .8s var(--ease), top .8s var(--ease), width .8s var(--ease), height .8s var(--ease), transform .8s var(--ease); --cw:240px;}
.flip.tr0{transition:none;}
.flip.turned{transform:rotateY(180deg);}
.flip>.face{position:absolute; inset:0; -webkit-backface-visibility:hidden; backface-visibility:hidden; background:var(--white); border:1.5px solid var(--noir); border-radius:12px; overflow:hidden; box-shadow:8px 8px 0 var(--rouge), 0 30px 60px -30px rgba(0,0,0,.4);}
.flip>.front{padding:7%; display:flex; flex-direction:column;}
.flip>.front .pic{flex:1; display:grid; place-items:center;} .flip>.front .pic img{max-width:78%; max-height:100%;}
.flip>.front b{font-family:'Gothic821','Aptly',sans-serif; font-weight:400; text-transform:uppercase; font-size:18px;}
.flip>.back{transform:rotateY(180deg); display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);}
.b-art{position:relative; background:var(--rouge-wash); display:grid; place-items:center; padding:12%;}
.b-art img{width:100%; max-width:300px; height:auto;}
.b-art .kn{position:absolute; left:24px; top:18px; font-size:56px;}
.b-info{padding:clamp(24px,3.4vw,44px); display:flex; flex-direction:column; gap:12px; overflow:auto;}
.b-info h3{font-size:var(--fs-2); line-height:1.05; padding-right:36px;}
.b-info ul{display:flex; flex-direction:column; gap:8px; margin-top:4px;}
.b-info li{position:relative; padding-left:20px; font-size:15.5px; line-height:1.5;}
.b-info li::before{content:""; position:absolute; left:0; top:.65em; width:10px; height:2px; background:var(--rouge);}
.b-acts{margin-top:auto; padding-top:16px; display:flex; justify-content:space-between; gap:16px;}
.b-acts .link{background:none; border-top:0; border-left:0; border-right:0; cursor:pointer;}
.xclose{position:absolute; top:14px; right:14px; z-index:6; width:38px; height:38px; border-radius:50%; border:0; display:grid; place-items:center; background:var(--noir); color:var(--white); font-size:15px; transition:transform .4s var(--ease);}
.xclose:hover{transform:rotate(90deg);}
@media (max-width:820px){
  .flip>.back{grid-template-columns:1fr; grid-template-rows:150px minmax(0,1fr);}
  .b-art{padding:18px;} .b-art img{max-width:120px;} .b-art .kn{font-size:40px;}
  .b-info{padding:20px;}
}

/* ==========================================================
   Scènes épinglées : la section reste à l'écran, le défilement
   fait avancer les cartes (accueil, ce qui est révisé, déroulé)
   ========================================================== */
.pin{--pin-top:72px; --per:42svh; position:relative;}
.pin.is-ready{height:calc(100svh - var(--pin-top) + var(--len) * var(--per));}
.pin.is-ready>.pin-stage{position:sticky; top:var(--pin-top); height:calc(100svh - var(--pin-top)); display:flex; align-items:center; overflow:hidden;}
.pin:not(.is-ready)>.pin-stage{padding-block:clamp(56px,7vw,96px);}
.pin-grid{display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:clamp(24px,4vw,64px); align-items:center; width:100%;}
.pin-info{display:flex; flex-direction:column; gap:14px; max-width:400px;}
.pin-cur{margin-top:clamp(12px,3vh,36px); padding-top:18px; border-top:1.5px solid var(--noir); min-height:150px; transition:opacity .2s, transform .2s var(--ease);}
.pin-cur.out{opacity:0; transform:translateY(6px);}
.pin-cur .cnt{display:block; font-family:'Gothic821','Aptly',sans-serif; color:var(--rouge-text); font-size:var(--fs-label); letter-spacing:.08em;}
.pin-cur h3{font-size:var(--fs-2); line-height:1.05; margin:8px 0 10px;}
.pin-cur p{font-size:16px; max-width:34ch;}
.pin-cur .link{background:none; border-top:0; border-left:0; border-right:0; cursor:pointer; margin-top:4px;}
.pin-dots{display:flex; gap:6px;}
.pin-dots i{width:22px; height:3px; border-radius:2px; background:var(--line); transition:background-color .3s;}
.pin-dots i.on{background:var(--noir);}
.pin .deck-wrap{min-width:0;}
.pin .deck{height:min(560px, calc(100svh - var(--pin-top) - 80px)); cursor:pointer; touch-action:auto;}
.pin .kcard{top:50%;}
.pin.is-ready .steps{display:none;}
.pin:not(.is-ready) .deck-wrap{display:none;}
.pin:not(.is-ready) .pin-cur,.pin:not(.is-ready) .pin-dots{display:none;}
.pin:not(.is-ready) .pin-grid{grid-template-columns:1fr;}
.steps--4{grid-template-columns:repeat(4,1fr);}
.pin .deck-wrap .pts{display:none;}
.pin:not(.is-ready) .deck-wrap .pts{display:grid;}
html.dv-lock{overflow:hidden;}

/* Déroulé : version épurée */
.pin-flow{display:flex; flex-direction:column; gap:clamp(32px,6vh,64px); width:100%;}
.frise{grid-template-columns:repeat(5,minmax(0,1fr));}
.frise .f{padding:0 20px 0 0;}
.frise .f::before{content:""; counter-increment:none; width:14px; height:14px; border:0; border-radius:50%; background:var(--noir); font-size:0;}
.frise .f::after{top:6px; left:14px; height:2px; background:var(--line);}
.frise .when{font-size:var(--fs-label); color:var(--ink-faint); margin-top:18px;}
.frise h3{font-size:var(--fs-3); margin:6px 0 6px;}
.frise p{font-size:var(--fs-small);}
.frise.is-live .f::before{background:var(--line); transition:background-color .3s, transform .4s var(--ease);}
.frise.is-live .f.on::before{background:var(--noir);}
.frise.is-live .f.cur::before{background:var(--rouge); transform:scale(1.5);}
.frise.is-live .f::after{background:linear-gradient(var(--noir),var(--noir)) left/calc(var(--s,0) * 100%) 100% no-repeat, var(--line);}
.frise.is-live .f .when,.frise.is-live .f h3,.frise.is-live .f p{opacity:.25; transition:opacity .4s var(--ease);}
.frise.is-live .f.on .when,.frise.is-live .f.on h3,.frise.is-live .f.on p{opacity:1;}
.frise.is-live .f.cur .when{color:var(--rouge-text);}

@media (max-width:1080px){
  .steps--4{grid-template-columns:1fr 1fr;}
  .pin-grid{grid-template-columns:1fr; gap:8px; align-content:center;}
  .pin-info{max-width:none; gap:8px;}
  .pin-info>p{display:none;}
  .pin-cur{min-height:0; margin-top:4px; padding-top:10px; display:grid; grid-template-columns:auto 1fr; column-gap:12px; align-items:baseline;}
  .pin-cur .cnt{grid-row:1;}
  .pin-cur h3{font-size:22px; margin:0;}
  .pin-cur p,.pin-cur .link{grid-column:1/-1; margin-top:4px;}
  .pin .deck{height:min(440px, calc(100svh - var(--pin-top) - 230px));}
  .pin-dots{order:-1;}
  .frise{grid-template-columns:1fr;}
  .frise .f{display:grid; grid-template-columns:14px minmax(0,1fr); column-gap:18px; padding:0 0 14px;}
  .frise .f::before{grid-row:1/4; margin-top:4px;}
  .frise .f::after{top:20px; bottom:0; left:6px; width:2px; height:auto; right:auto;}
  .frise.is-live .f::after{background:linear-gradient(var(--noir),var(--noir)) top/100% calc(var(--s,0) * 100%) no-repeat, var(--line);}
  .frise .when{margin-top:0;}
  .frise p{display:none;}
  .frise.is-live .f.cur p{display:block;}
}
@media (max-width:640px){ .steps--4{grid-template-columns:1fr;} }

/* ---------- SCOP / SCIC : deux cartes empilées ---------- */
.statut-pick{display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:clamp(32px,6vw,96px); align-items:center;}
.pick-stack{position:relative; height:clamp(380px,36vw,460px);}
.scard{position:absolute; top:0; left:0; width:min(300px,62%); aspect-ratio:4/5.2; display:flex; flex-direction:column; gap:6px; padding:22px; text-align:left; background:var(--white); border:1.5px solid var(--noir); border-radius:12px; box-shadow:0 22px 36px -26px rgba(0,0,0,.45); transition:transform .6s var(--ease), box-shadow .3s, z-index 0s .25s; transform:translate(58%,26px) rotate(7deg) scale(.9); z-index:1; cursor:pointer;}
.scard.is-front{transform:rotate(-3deg); z-index:2; box-shadow:8px 8px 0 var(--rouge), 0 22px 36px -26px rgba(0,0,0,.45); cursor:default;}
.scard:not(.is-front):hover{transform:translate(64%,14px) rotate(9deg) scale(.92);}
.scard .kn{font-family:'Gothic821','Aptly',sans-serif; color:var(--rouge); font-size:56px; line-height:.9;}
.scard .pic{flex:1; display:grid; place-items:center; min-height:0;}
.scard .pic img{max-width:72%; max-height:100%; object-fit:contain;}
.scard b{font-family:'Gothic821','Aptly',sans-serif; font-weight:400; text-transform:uppercase; font-size:16px; line-height:1.15;}
.scard .per{font-size:var(--fs-small); color:var(--ink-soft);}
.scard .hint{position:absolute; right:14px; top:16px; font-family:'Gothic821','Aptly',sans-serif; text-transform:uppercase; letter-spacing:.06em; font-size:12px; background:var(--noir); color:var(--white); padding:5px 9px; border-radius:6px 9px 5px 10px; opacity:0; transition:opacity .25s;}
.scard:not(.is-front) .hint{opacity:1;}
.statut-sum-txt h2{font-size:var(--fs-2);}
@media (max-width:1080px){
  .statut-pick{grid-template-columns:1fr;}
  .pick-stack{height:clamp(320px,90vw,420px); max-width:520px;}
}
@media (max-width:640px){ .scard{width:58%; padding:16px;} .scard .kn{font-size:44px;} .scard b{font-size:13px;} }

/* ==========================================================
   Espace réviseur·es : menu de gauche et tableau de bord
   ========================================================== */
.admin-side{gap:2px; padding:20px 14px;}
.admin-side .brand{padding:0 10px 14px;}
.admin-side .brand img{height:44px;}
.side-link{padding:9px 12px; font-size:15px; gap:12px;}
.side-link span{flex:1;}
.side-n{font-style:normal; font-size:12px; font-weight:700; background:var(--rouge); color:var(--noir); border-radius:99px; padding:1px 8px;}
.admin-side .section-lbl{display:flex; justify-content:space-between; padding:16px 12px 6px;}
.side-projects{display:flex; flex-direction:column; gap:1px;}
.side-proj{display:grid; grid-template-columns:8px minmax(0,1fr) auto; gap:10px; align-items:center; padding:8px 12px; border-radius:8px; font-size:14px; color:var(--ink-soft); transition:background-color .15s;}
.side-proj:hover{background:var(--sand); color:var(--noir);}
.side-proj.is-active{background:var(--rouge-pale); color:var(--noir); font-weight:700;}
.side-proj .nm{white-space:nowrap; overflow:hidden; text-overflow:ellipsis;}
.side-proj .st{font-family:'Gothic821','Aptly',sans-serif; text-transform:uppercase; letter-spacing:.04em; font-size:11px; color:var(--ink-faint); font-weight:400;}
.side-proj .st.late{color:var(--rouge-text);}
.tdot{width:8px; height:8px; border-radius:50%; background:var(--noir);}
.tdot--scop{background:var(--rouge);}
.side-sub{display:flex; flex-direction:column; margin:2px 0 6px 22px; border-left:1.5px solid var(--line);}
.side-sub .side-link{padding:6px 12px; font-size:13.5px;}
.side-sub .side-link.is-active{background:transparent; color:var(--rouge-text);}
.side-out{display:grid; place-items:center; width:34px; height:34px; border-radius:8px; color:var(--ink-soft);}
.side-out:hover{background:var(--sand); color:var(--noir);}

.page-title .h-l{font-size:var(--fs-2);}
.kpi-card{padding:18px 20px;}
.kpi-card .v{font-size:34px;}
.dash-grid{display:grid; grid-template-columns:minmax(0,1.2fr) minmax(0,1fr); gap:16px; align-items:start;}
.todo-g+.todo-g{margin-top:14px;}
.todo-h{font-family:'Gothic821','Aptly',sans-serif; text-transform:uppercase; letter-spacing:.06em; font-size:12.5px; color:var(--ink-faint); padding-bottom:4px; border-bottom:1px solid var(--line);}
.todo-h span{opacity:.7;}
.task--sm{padding:9px 0; gap:12px; cursor:pointer;}
.task--sm b{font-size:14.5px; font-weight:400;}
.task--sm input{margin-top:3px;}
.task--sm a:hover{text-decoration:underline;}
.ptable{display:flex; flex-direction:column;}
.prow{display:grid; grid-template-columns:minmax(0,1.3fr) minmax(0,1fr) minmax(0,1.2fr) 24px; gap:20px; align-items:center; padding:12px 8px; border-bottom:1px solid var(--line); border-radius:6px; transition:background-color .15s;}
.prow:last-child{border-bottom:0;}
.prow:hover{background:var(--paper);}
.prow .nm{display:flex; gap:10px; align-items:center; min-width:0;}
.prow .nm b{white-space:nowrap; overflow:hidden; text-overflow:ellipsis; font-size:15px;}
.prow .stg .track{margin-top:6px;}
.prow .nx{display:flex; flex-direction:column; min-width:0;}
.prow .nx>span:first-child{white-space:nowrap; overflow:hidden; text-overflow:ellipsis;}
.prow .go{color:var(--ink-faint);}
.ag{grid-template-columns:72px minmax(0,1fr) auto;}

@media (max-width:1080px){
  .dash-grid{grid-template-columns:1fr;}
  .prow{grid-template-columns:minmax(0,1fr) 24px; gap:6px 12px;}
  .prow .stg,.prow .nx{grid-column:1;}
  .prow .go{grid-row:1; grid-column:2;}
  .side-projects,.side-sub{display:none;}
}

/* ==========================================================
   Page de connexion
   ========================================================== */
.login-page{background:var(--paper);}
.login{display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); min-height:100svh;}
.login-art{position:relative; background:var(--rouge-wash); display:flex; flex-direction:column; justify-content:center; align-items:center; padding:48px; gap:28px; border-right:1px solid var(--line);}
.login-art .brand{position:absolute; left:40px; top:28px;}
.login-art .brand img{height:48px;}
.login-illus{width:min(380px,70%); height:auto;}
.login-quote{font-family:'Gothic821','Aptly',sans-serif; text-transform:uppercase; font-size:var(--fs-3); line-height:1.2; text-align:center; max-width:22ch;}
.login-form{position:relative; display:grid; place-items:center; padding:72px clamp(20px,5vw,72px) 48px;}
.login-back{position:absolute; right:clamp(20px,4vw,48px); top:32px;}
.login-box{width:100%; max-width:400px; display:flex; flex-direction:column; gap:18px;}
.login-box h1{font-size:var(--fs-2);}
.login-box form{display:flex; flex-direction:column; gap:16px;}
.seg{display:grid; grid-template-columns:1fr 1fr; border:1.5px solid var(--noir); border-radius:6px; overflow:hidden;}
.seg button{padding:11px; border:0; background:var(--white); font-family:'Gothic821','Aptly',sans-serif; text-transform:uppercase; letter-spacing:.05em; font-size:13.5px;}
.seg button[aria-pressed="true"]{background:var(--noir); color:var(--white);}
.login-row{display:flex; justify-content:space-between; align-items:center; gap:12px; flex-wrap:wrap;}
.login-row label{display:inline-flex; gap:8px; align-items:center;}
.login-row input{accent-color:var(--rouge);}
.login-row a{text-decoration:underline; color:var(--ink-soft);}
.login-demo{margin-top:-6px;}
.login-sep{display:flex; align-items:center; gap:12px; color:var(--ink-faint); font-size:var(--fs-small); margin-top:6px;}
.login-sep::before,.login-sep::after{content:""; flex:1; height:1px; background:var(--line);}
.login-link{display:inline-flex; align-items:center; gap:8px; font-family:'Gothic821','Aptly',sans-serif; text-transform:uppercase; letter-spacing:.05em; font-size:14px; color:var(--ink-soft); padding:8px 4px;}
.login-link:hover,.login-link.is-active{color:var(--noir);}
@media (max-width:820px){
  .login{grid-template-columns:1fr;}
  .login-art{padding:84px 24px 28px; gap:14px;}
  .login-illus{width:130px;}
  .login-quote{font-size:16px;}
  .login-art .brand{left:20px; top:18px;}
  .login-back{top:-56px; right:20px; z-index:2;}
  .login-form{padding:32px 20px 48px;}
}

/* Espace coopérative : en-tête et notifications */
.pro-user{display:flex; align-items:center; gap:14px;}
.notif{display:grid; grid-template-columns:40px minmax(0,1fr) auto; gap:14px; align-items:start; padding:14px 0; border-bottom:1px solid var(--line);}
.notif:last-child{border-bottom:0;}
.notif .ico{width:40px; height:40px; border-radius:50%; display:grid; place-items:center; background:var(--sand);}
.notif.is-prog .ico{background:var(--white); border:1.5px dashed var(--line-strong);}
.notif b{display:block; font-size:15px;}
.notif .meta{text-align:right; white-space:nowrap;}
.notif details summary{cursor:pointer; font-size:13px; color:var(--ink-faint); list-style:none; margin-top:4px;}
.notif details summary::-webkit-details-marker{display:none;}
.notif details .mail{margin-top:10px;}
.notif-h{font-family:'Gothic821','Aptly',sans-serif; text-transform:uppercase; letter-spacing:.06em; font-size:12.5px; color:var(--ink-faint); margin:18px 0 2px;}
.notif-h:first-child{margin-top:0;}

/* ==========================================================
   TEST : texte blanc sur orange (à la place du noir)
   Pour revenir en arrière, supprimer ce bloc.
   ========================================================== */
::selection{color:var(--white);}
.btn--red,.btn--red:hover{color:var(--white);}
.tbadge--scop,.side-n,.cal-ev--late,.stagebar button.is-cur,.ms.is-cur .dot,.stepper .s.is-on i,.cal-d.is-today .cal-n{color:var(--white);}
/* éléments qui étaient sur fond noir */
.seg button[aria-pressed="true"],
.viewswitch button[aria-pressed="true"],
.xclose,
.scard .hint,
.ms.is-done .dot{background:var(--rouge); color:var(--white);}
.ms.is-done .dot{border-color:var(--rouge);}
.seg{border-color:var(--rouge);}

/* ==========================================================
   Scènes épinglées, version 2 : titre en haut, cartes sur
   toute la largeur en grand arc, texte et navigation dessous
   ========================================================== */
.pin.is-ready>.pin-stage{display:flex; flex-direction:column; align-items:stretch;}
.pin-head{width:100%; padding-top:clamp(20px,4vh,44px); display:flex; flex-direction:column; gap:8px; align-items:center; text-align:center; position:relative; z-index:2;}
.pin .deck-wrap{flex:1; min-height:0; position:relative;}
.pin .deck{position:absolute; inset:0; height:auto; overflow:visible; cursor:pointer;}
.pin .kcard{top:50%;}
.pin-foot{position:relative; z-index:500; background:inherit; padding:14px 0 clamp(16px,3vh,32px); box-shadow:0 -30px 30px -10px var(--white);}
.pin.section--white .pin-foot{background:var(--white);}
.pin-foot-in{display:grid; grid-template-columns:auto minmax(0,560px) auto; justify-content:center; align-items:center; gap:clamp(14px,3vw,40px);}
.pin-foot .pin-cur{margin:0; padding:0; border:0; min-height:0; text-align:center; display:flex; flex-direction:column; align-items:center; gap:4px;}
.pin-foot .pin-cur h3{font-size:clamp(20px,2vw,26px); margin:2px 0;}
.pin-foot .pin-cur p{font-size:15.5px; max-width:44ch;}
.pin-foot .pin-dots{justify-content:center; margin-top:12px; order:0;}
.pin.is-ready .pin-cur{display:flex;}
/* la frise garde sa mise en page */
.pin-flow{position:relative; justify-content:center; height:100%;}
.frise-art{width:clamp(96px,9vw,130px); height:auto; transform:rotate(-4deg); margin-bottom:calc(-1 * clamp(16px,3vh,40px)); pointer-events:none;}
.pin.is-ready .pin-flow{padding-bottom:clamp(40px,8vh,96px);}

@media (max-width:1080px){
  .pin-head{padding-top:16px;}
  .pin-head .small{display:none;}
  .pin-foot-in{grid-template-columns:auto minmax(0,1fr) auto; gap:10px;}
  .pin-foot .pin-cur{display:flex;}
  .pin-foot .pin-cur p{font-size:14px;}
  .frise-art{width:72px;}
}

/* Portraits dessinés de l'équipe */
.member .portrait{width:88px; height:88px; object-fit:contain; flex:none; transition:transform .3s var(--ease);}
.member:hover .portrait{transform:rotate(-4deg) scale(1.05);}
.member .head{gap:12px;}

/* Écrans peu hauts : tout tient dans la scène */
@media (max-height:760px){
  .pin-head{padding-top:12px; gap:2px;}
  .pin-head .eyebrow{display:none;}
  .pin-head .small{display:none;}
  .pin-foot{padding:8px 0 12px;}
  .pin-foot .pin-cur p{display:none;}
  .pin-foot .pin-dots{margin-top:6px;}
  .pin-foot .dnav{width:36px; height:36px;}
}

/* Photos de l'équipe : même traitement (noir et blanc chaud, grain) et même cadrage */
.member .photo-m{width:100%; height:auto; aspect-ratio:1; object-fit:cover; border-radius:8px 28px 10px 34px / 20px 8px 28px 10px; margin-bottom:6px; transition:transform .35s var(--ease), box-shadow .35s var(--ease);}
.member:hover .photo-m{transform:rotate(-1.5deg); box-shadow:6px 6px 0 var(--rouge);}

/* Cartes : l'illustration reste dans sa zone, quelle que soit sa proportion */
.kcard .pic{position:relative; flex:1; min-height:0; margin:6% 0 8%;}
.kcard .pic img{position:absolute; inset:0; width:100%; height:100%; max-width:none; max-height:none; object-fit:contain; padding:0 6%;}
.flip>.front .pic{position:relative;}
.flip>.front .pic img{position:absolute; inset:0; width:100%; height:100%; object-fit:contain; padding:6%;}
.b-art img{max-height:70%; object-fit:contain;}

/* Photos de l'équipe : vrais rectangles arrondis */
.member .photo-m{border-radius:12px;}

/* Bas des scènes épinglées : plus d'air sous la navigation */
.pin-foot{padding-bottom:clamp(28px,6vh,64px);}
.pin + .section{padding-top:clamp(48px,6vw,80px);}
@media (max-height:760px){ .pin-foot{padding-bottom:18px;} }

/* « Ce que nous regardons » : trois cartes posées en éventail, même pivot que les paquets */
.lens{grid-template-columns:repeat(3,minmax(0,280px)); justify-content:center; gap:clamp(16px,2.4vw,36px); counter-reset:lens; padding-block:12px 24px;}
.lens .l{position:relative; background:var(--white); border:1.5px solid var(--noir); border-radius:12px; padding:20px 22px 24px; display:flex; flex-direction:column; box-shadow:0 22px 36px -26px rgba(0,0,0,.45); transform-origin:50% 260%; transition:transform .45s var(--ease), box-shadow .3s var(--ease);}
.lens .l:nth-child(1){transform:rotate(-5deg);}
.lens .l:nth-child(3){transform:rotate(5deg);}
.lens .l:hover{transform:rotate(0) translateY(-6px); box-shadow:6px 6px 0 var(--rouge), 0 22px 36px -26px rgba(0,0,0,.45); z-index:2;}
.lens .l::before{counter-increment:lens; content:"0" counter(lens); font-family:'Gothic821','Aptly',sans-serif; color:var(--rouge-text); font-size:20px; line-height:1;}
.lens .l img{height:110px; width:100%; object-fit:contain; margin:14px 0 18px;}
.lens .l:hover img{transform:none;}
.lens h3{margin-bottom:8px;}
@media (max-width:1080px){
  .lens{grid-template-columns:minmax(0,340px); }
  .lens .l:nth-child(1),.lens .l:nth-child(3){transform:none;}
}

/* Haut des scènes épinglées : le titre respire par rapport à la section précédente */
.pin-head{padding-top:clamp(48px,9vh,96px);}
@media (max-height:760px){ .pin-head{padding-top:24px;} }
.pin-flow .sec-head p{max-width:60ch;}
@media (max-height:760px){ .pin-flow .sec-head p{display:none;} }
/* Équipe : monogramme en attendant les nouveaux portraits */
.member .photo-vide{display:grid; place-items:center; background:var(--rouge-wash); color:var(--rouge-text);}
.member .photo-vide span{font-family:'Gothic821','Aptly',sans-serif; font-size:clamp(48px,5vw,72px); letter-spacing:.04em;}
@media (min-width:1081px){ .team{grid-template-columns:repeat(3,minmax(0,1fr));} }
/* Connexion par code */
.form-error{color:var(--rouge-text); margin-top:12px;}
#deja{display:flex; flex-wrap:wrap; gap:10px 14px; align-items:center; margin-bottom:18px;}
.login-demo-box summary{cursor:pointer; text-decoration:underline; color:var(--ink-soft); list-style:none;}
.login-demo-box summary::-webkit-details-marker{display:none;}
