/* Blédard Corp · pages « Réalisations » (liste + une page par projet), 06/10/2026
   Chargé après style.css (polices, couleurs, barre de menu, boutons, pied de page). Toutes les classes sont préfixées pc- pour ne rien heurter.
   Sans JavaScript : liste, fiches, frise verticale et galerie restent complètes. parcours.js ajoute : aperçu au survol, filtres, frise horizontale épinglée, glisser/agrandir. */
:root{--pc-sable-2:#E7DCC7;--pc-line:rgba(32,38,34,.13);--pc-pad:clamp(20px,5vw,64px)}
.pc-main{padding-top:clamp(92px,10vw,124px)}
.pc-light{background:var(--paper);color:var(--charbon)}
.pc-dark{background:var(--nuit);color:var(--ivoire)}
.pc-eyebrow{display:inline-flex;gap:10px;align-items:center;margin:0;font:700 12px/1 var(--f);letter-spacing:.15em;text-transform:uppercase;color:var(--terre)}
.pc-eyebrow::before{content:"";width:24px;height:2px;background:currentColor}
.pc-r{opacity:1}
.pc-js .pc-r{opacity:0;transform:translateY(52px) scale(.97);transition:opacity 1.1s var(--ease-out),transform 1.3s var(--ease-out);transition-delay:calc(var(--i,0) * 110ms)}
.pc-js .pc-r.in{opacity:1;transform:none}

/* ---------- Liste ---------- */
.pc-list{padding:clamp(24px,4vw,56px) 0 0}
.pc-head{display:flex;justify-content:space-between;align-items:end;gap:24px;flex-wrap:wrap}
.pc-head h1{margin:14px 0 0;font:800 clamp(40px,5.6vw,84px)/1.04 var(--f-display);letter-spacing:-.027em}
.pc-head h1 em{font-style:normal;color:var(--terre)}
.pc-count{text-align:right}
.pc-count b{display:block;font:800 clamp(40px,5vw,72px)/1 var(--f-display);color:var(--terre);letter-spacing:-.024em}
.pc-count span{font-size:14px;color:rgba(32,38,34,.7)}
.pc-filters{display:flex;gap:8px;flex-wrap:wrap;margin:clamp(24px,3vw,40px) 0 8px}
.pc-filters button{font:700 13px/1 var(--f);padding:11px 16px;border-radius:99px;border:0;cursor:pointer;background:transparent;box-shadow:inset 0 0 0 1.5px var(--pc-line);color:var(--charbon);transition:background .2s,color .2s}
.pc-filters button[aria-pressed="true"]{background:var(--charbon);color:var(--ivoire);box-shadow:none}
.pc-filters button:focus-visible{outline:2px solid var(--terre);outline-offset:3px}
.pc-rows{list-style:none;margin:0;padding:0;border-top:1.5px solid var(--charbon)}
.pc-rowwrap{display:grid;grid-template-rows:1fr;transition:grid-template-rows .5s var(--ease-out),opacity .4s}
.pc-rowwrap.out{grid-template-rows:0fr;opacity:0}
.pc-rowwrap>div{min-height:0;overflow:hidden}
.pc-row{display:grid;grid-template-columns:48px 150px 1fr auto auto 40px;gap:clamp(12px,2vw,28px);align-items:center;padding:clamp(18px,2.4vw,30px) 8px;border-bottom:1px solid var(--pc-line);text-decoration:none;color:inherit;transition:background .3s,padding .4s var(--ease-out)}
.pc-row:hover,.pc-row:focus-visible{background:var(--pc-sable-2);padding-left:22px}
.pc-row:focus-visible{outline:2px solid var(--terre);outline-offset:-2px}
.pc-n{font:800 14px/1 var(--f-display);color:rgba(32,38,34,.5)}
.pc-row h2{margin:0;font:800 clamp(22px,2.7vw,38px)/1 var(--f-display);letter-spacing:-.021em;transition:transform .5s var(--ease-out)}
.pc-row:hover h2{transform:translateX(10px)}
.pc-tag{font:700 12px/1 var(--f);padding:7px 12px;border-radius:99px;background:rgba(168,75,50,.12);color:var(--terre-dk);white-space:nowrap}
.pc-yr{font:700 13px/1 var(--f);color:rgba(32,38,34,.55)}
.pc-go{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;box-shadow:inset 0 0 0 1.5px var(--pc-line);font-style:normal;transition:transform .5s var(--ease-out),background .3s,color .3s}
.pc-row:hover .pc-go{background:var(--charbon);color:var(--ivoire);transform:rotate(45deg)}
.pc-pv{position:fixed;left:0;top:0;z-index:70;pointer-events:none;width:clamp(240px,22vw,340px);aspect-ratio:16/11;border-radius:16px;overflow:hidden;opacity:0;transform:scale(.85);transition:opacity .25s,transform .35s var(--ease-out);box-shadow:0 30px 60px -24px rgba(0,0,0,.6);background:var(--charbon)}
.pc-pv.on{opacity:1}
.pc-pv img{width:100%;height:100%;object-fit:cover;object-position:top center}
.pc-pv.sym{display:grid;place-items:center;background:var(--nuit)}
.pc-pv.sym img{width:auto;height:70%;object-fit:contain}
.pc-band{margin-top:clamp(40px,6vw,80px);padding:clamp(36px,5vw,64px) 0;text-align:center;color:var(--ivoire);background:linear-gradient(120deg,var(--terre),#C4603F)}
.pc-band h2{margin:0;font:800 clamp(30px,4vw,54px)/1 var(--f-display);letter-spacing:-.018em}
.pc-band p{margin:12px auto 22px;max-width:46ch;color:rgba(244,240,230,.9)}
@media (max-width:760px){.pc-row{grid-template-columns:30px 1fr 34px}.pc-tag,.pc-yr{display:none}.pc-pv{display:none}}

/* ---------- Page projet ---------- */
.pc-hero{padding:clamp(24px,4vw,56px) 0 clamp(28px,4vw,48px);text-align:center}
.pc-back{display:block;width:fit-content;margin:0 auto 22px;font:700 13px/1 var(--f);color:var(--sable);text-decoration:none}
.pc-back:hover{color:var(--ivoire)}
.pc-hero h1{margin:14px 0 0;font:800 clamp(36px,5vw,72px)/1.04 var(--f-display);letter-spacing:-.024em}
.pc-hero h1 .w{display:inline-block}
.pc-js .pc-hero h1 .w{opacity:0;transform:translateY(.5em);animation:pc-rise .9s var(--ease-out) forwards;animation-delay:calc(var(--i) * 90ms + 100ms)}
@keyframes pc-rise{to{opacity:1;transform:none}}
.pc-lead{margin:22px auto;max-width:56ch;color:rgba(244,240,230,.78)}
.pc-tags{display:flex;gap:8px;flex-wrap:wrap;justify-content:center}
.pc-chip{display:inline-flex;padding:7px 13px;border-radius:99px;box-shadow:inset 0 0 0 1px rgba(244,240,230,.25);font:700 12.5px/1 var(--f);color:var(--sable)}
.pc-offer{margin-top:18px;font-size:14px;color:var(--sable)}
.pc-shot{margin:clamp(24px,4vw,48px) auto;width:min(980px,100% - 2 * var(--pc-pad));border-radius:24px;overflow:hidden;background:var(--charbon-2);box-shadow:0 40px 80px -36px rgba(0,0,0,.8),0 0 0 1px rgba(244,240,230,.1)}
.pc-bar{display:flex;gap:7px;padding:11px 14px;background:var(--charbon-3)}
.pc-bar i{width:9px;height:9px;border-radius:50%;background:rgba(244,240,230,.3)}
.pc-zoom{overflow:hidden;aspect-ratio:16/10}
.pc-zoom img{width:100%;height:100%;object-fit:cover;object-position:top center;transform:scale(1.08);will-change:transform}
.pc-shot.sym .pc-zoom{display:grid;place-items:center;background:var(--nuit)}
.pc-shot.sym .pc-zoom img{width:auto;height:60%;transform:none;object-fit:contain}

/* Frise : verticale (repli, sans JavaScript) ou horizontale épinglée (ordinateur) */
.pc-tlh-head{width:min(640px,100% - 2 * var(--pc-pad));margin:clamp(40px,6vw,72px) auto 0;display:flex;justify-content:space-between;gap:12px 16px;align-items:end;flex-wrap:wrap}
.pc-tlh-head h2{margin:0;font:800 clamp(26px,3vw,40px)/1.05 var(--f-display);letter-spacing:-.018em}
.pc-tlh-head span{font:700 12px/1 var(--f);letter-spacing:.14em;text-transform:uppercase;color:var(--sable)}
.pc-tl{position:relative;list-style:none;width:min(640px,100% - 2 * var(--pc-pad));margin:clamp(24px,4vw,40px) auto clamp(40px,6vw,80px);padding:0 0 0 44px;--p:0;--d:1.4s}
.pc-tl::before{content:"";position:absolute;left:11px;top:6px;bottom:6px;width:2px;background:rgba(244,240,230,.14)}
.pc-tl::after{content:"";position:absolute;left:11px;top:6px;bottom:6px;width:2px;background:var(--terre);transform-origin:top;transform:scaleY(var(--p))}
.pc-st{position:relative;padding-bottom:clamp(30px,4vw,48px)}
.pc-dot{position:absolute;left:-44px;top:3px;width:24px;height:24px;border-radius:50%;background:var(--nuit);box-shadow:inset 0 0 0 2px rgba(244,240,230,.25);transition:box-shadow .5s,background .5s;z-index:1}
.pc-st.in .pc-dot,.pc-st.on .pc-dot{background:var(--terre);box-shadow:inset 0 0 0 2px var(--terre),0 0 0 6px rgba(168,75,50,.2)}
.pc-stem,.pc-st.img{display:none}
.pc-st small{font:700 11px/1 var(--f);letter-spacing:.14em;text-transform:uppercase;color:var(--terre)}
.pc-st h3{margin:8px 0 10px;font:800 clamp(22px,2.4vw,30px)/1.1 var(--f-display);letter-spacing:-.012em}
.pc-st p{margin:0;color:rgba(244,240,230,.78)}
.pc-st a{color:var(--sable)}
/* horizontal : la section s'épingle, la piste glisse de côté, chaque étape dessine sa tige et révèle son texte en arrivant au centre.
   --axis et --stem s'adaptent à la hauteur de la fenêtre ; l'axe démarre à la première étape (--ax0), jamais derrière la carte du projet. */
.pc-tlh-on .pc-tlh-stage{position:relative;height:100svh;min-height:560px;overflow:hidden}
.pc-tlh-on .pc-tlh-head{position:absolute;left:clamp(24px,5vw,72px);right:clamp(24px,5vw,72px);top:clamp(88px,11svh,124px);width:auto;margin:0;z-index:5}
.pc-tlh-on .pc-tl{position:absolute;left:0;top:0;bottom:0;width:max-content;margin:0;padding:0 0 0 clamp(40px,8vw,140px);display:flex;align-items:stretch;will-change:transform;--axis:62%;--stem:clamp(56px,10svh,104px);--ax0:0px}
.pc-tlh-on .pc-tl::before{left:var(--ax0);right:0;top:var(--axis);bottom:auto;width:auto;height:2px}
.pc-tlh-on .pc-tl::after{left:var(--ax0);right:0;top:var(--axis);bottom:auto;width:auto;height:2px;transform-origin:0 50%;transform:scaleX(var(--p))}
.pc-tlh-on .pc-st{flex:0 0 clamp(310px,26vw,390px);padding:0}
.pc-tlh-on .pc-st.img{display:block;flex:0 0 clamp(380px,34vw,520px)}
.pc-tlh-on .pc-dot{left:0;top:calc(var(--axis) - 12px)}
.pc-tlh-on .pc-stem{display:block;position:absolute;left:11px;width:2px;height:var(--stem);background:var(--terre);transition:transform var(--d) var(--ease-out)}
.pc-tlh-on .pc-st.up .pc-stem{bottom:calc(100% - var(--axis));transform-origin:50% 100%;transform:scaleY(0)}
.pc-tlh-on .pc-st.dn .pc-stem{top:var(--axis);transform-origin:50% 0;transform:scaleY(0)}
.pc-tlh-on .pc-st.on .pc-stem{transform:scaleY(1)}
.pc-tlh-on .pc-cp{position:absolute;left:0;width:min(330px,calc(100% - 16px));opacity:0;transition:opacity var(--d) var(--ease-out),transform var(--d) var(--ease-out)}
.pc-tlh-on .pc-st.up .pc-cp{bottom:calc(100% - var(--axis) + var(--stem) + 14px);transform:translateY(20px)}
.pc-tlh-on .pc-st.dn .pc-cp{top:calc(var(--axis) + var(--stem) + 14px);transform:translateY(-20px)}
.pc-tlh-on .pc-st.on .pc-cp{opacity:1;transform:none}
.pc-tlh-on .pc-imgcard{position:absolute;left:0;top:var(--axis);transform:translateY(-50%);z-index:3;width:min(calc(100% - 44px),calc(50svh * 1.6));aspect-ratio:16/10;margin:0;border-radius:18px;overflow:hidden;background:var(--charbon-2);box-shadow:0 34px 60px -26px rgba(0,0,0,.8),0 0 0 1px rgba(244,240,230,.12)}
.pc-tlh-on .pc-imgcard img{width:100%;height:100%;object-fit:cover;object-position:top center}
.pc-tlh-on .pc-imgcard.sym{display:grid;place-items:center;background:var(--nuit)}
.pc-tlh-on .pc-imgcard.sym img{width:auto;height:70%;object-fit:contain}
.pc-tlh-on .pc-st:last-child{flex-basis:clamp(520px,46vw,720px)}

/* Galerie en mosaïque : on glisse pour explorer, on clique pour agrandir */
.pc-gal{padding:clamp(24px,4vw,56px) 0}
.pc-lab{display:flex;justify-content:space-between;margin-bottom:14px;padding-bottom:14px;border-bottom:1px solid rgba(244,240,230,.14);font:700 11.5px/1 var(--f);letter-spacing:.14em;text-transform:uppercase;color:var(--terre)}
.pc-hint{margin:0 0 16px;font-size:13px;color:rgba(244,240,230,.62)}
.pc-note{margin:12px 0 0;font-size:12.5px;color:rgba(244,240,230,.55)}
.pc-bg{display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:clamp(150px,15vw,220px);grid-auto-flow:dense;gap:clamp(10px,1.4vw,18px)}
.pc-bt{position:relative;overflow:hidden;border-radius:20px;border:0;padding:0;text-align:left;color:inherit;font:inherit;background:var(--charbon-2);cursor:pointer;box-shadow:0 0 0 1px rgba(244,240,230,.1);user-select:none;-webkit-user-select:none;touch-action:manipulation}
.pc-bt.s22{grid-column:span 2;grid-row:span 2}.pc-bt.s12{grid-row:span 2}.pc-bt.s21{grid-column:span 2}
.pc-bt.is-drag{z-index:6;box-shadow:0 34px 60px -20px rgba(0,0,0,.75),0 0 0 1px rgba(244,240,230,.2)}
.pc-bt:focus-visible{outline:2px solid var(--sable);outline-offset:3px}
.pc-bt img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;pointer-events:none}
.pc-bt:hover img{filter:brightness(.82)}
.pc-cap{position:absolute;left:0;right:0;bottom:0;padding:54px 16px 14px;background:linear-gradient(to top,rgba(21,25,24,.9),transparent);opacity:0;transform:translateY(10px);transition:opacity .35s,transform .5s var(--ease-out)}
.pc-bt:hover .pc-cap,.pc-bt:focus-visible .pc-cap,.pc-bt.is-drag .pc-cap{opacity:1;transform:none}
.pc-cap b{display:block;font:800 17px/1.1 var(--f-display)}
.pc-cap span{display:block;margin-top:3px;font-size:13px;color:var(--sable)}
.pc-bt.txt{display:flex;flex-direction:column;justify-content:flex-end;padding:20px;background:linear-gradient(140deg,var(--charbon-3),var(--charbon-2))}
.pc-bt.txt.terre{background:linear-gradient(140deg,var(--terre),var(--terre-nuit))}
.pc-bt.txt b{font:800 clamp(20px,2vw,28px)/1.05 var(--f-display)}
.pc-bt.txt span{margin-top:8px;color:rgba(244,240,230,.8);font-size:15px}
.pc-js-drag .pc-bt{cursor:grab}
.pc-js-drag .pc-bt.is-drag{cursor:grabbing}
.pc-lb{position:fixed;inset:0;z-index:100;display:grid;place-items:center;background:rgba(21,25,24,.84);backdrop-filter:blur(8px);opacity:0;pointer-events:none;transition:opacity .35s}
.pc-lb[hidden]{display:none}
.pc-lb.on{opacity:1;pointer-events:auto}
.pc-lb-card{position:relative;width:min(940px,92vw);border-radius:22px;overflow:hidden;background:var(--charbon-2);color:var(--ivoire);box-shadow:0 50px 100px -30px rgba(0,0,0,.85);outline:0}
.pc-lb-media{position:relative;aspect-ratio:16/10;overflow:hidden;background:var(--nuit)}
.pc-lb-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.pc-lb-media.txt{display:grid;place-items:center;padding:40px;text-align:center;background:linear-gradient(140deg,var(--terre),var(--terre-nuit))}
.pc-lb-media.txt b{font:800 clamp(28px,4vw,48px)/1.05 var(--f-display)}
.pc-lb-cap{padding:18px 22px 22px}
.pc-lb-cap b{font:800 24px/1.1 var(--f-display)}
.pc-lb-cap p{margin:6px 0 0;color:var(--sable)}
.pc-lb-x{position:absolute;right:14px;top:14px;z-index:2;width:40px;height:40px;border-radius:50%;border:0;background:rgba(21,25,24,.78);color:var(--ivoire);font:700 18px/1 var(--f);cursor:pointer}
@media (max-width:820px){.pc-bg{grid-template-columns:1fr 1fr;grid-auto-rows:clamp(130px,34vw,200px)}.pc-bt.s22,.pc-bt.s21{grid-column:span 2}.pc-cap{opacity:1;transform:none}}

/* Projet piloté par + projet suivant */
.pc-by{width:min(620px,100% - 2 * var(--pc-pad));margin:clamp(24px,4vw,56px) auto;padding:26px;border-radius:22px;background:var(--charbon-2);box-shadow:0 0 0 1px rgba(244,240,230,.1);display:flex;gap:22px;align-items:center}
.pc-av{flex:none;display:grid;place-items:center;width:84px;height:84px;border-radius:20px;background:linear-gradient(140deg,var(--terre),var(--terre-nuit));font:800 30px/1 var(--f-display)}
.pc-by small{font:700 11px/1 var(--f);letter-spacing:.14em;text-transform:uppercase;color:var(--terre)}
.pc-by h2{margin:6px 0 2px;font:800 24px/1.1 var(--f-display)}
.pc-by p{margin:0;color:var(--sable);font-size:14px}
.pc-by .pc-chips{display:flex;gap:6px;flex-wrap:wrap;margin-top:12px}
.pc-by .pc-chip{font-size:11.5px;padding:6px 10px;color:rgba(244,240,230,.8)}
.pc-next{display:flex;justify-content:space-between;gap:16px;width:min(1240px,100% - 2 * var(--pc-pad));margin:0 auto;padding:18px 0 clamp(36px,5vw,64px);flex-wrap:wrap}
.pc-next a{display:block;font:800 clamp(18px,2vw,26px)/1.1 var(--f-display);text-decoration:none;color:var(--ivoire)}
.pc-next a span{display:block;margin-bottom:6px;font:700 11px/1 var(--f);letter-spacing:.12em;text-transform:uppercase;color:var(--sable)}
.pc-next a:last-child{text-align:right}
.pc-dark .pc-band{margin-top:0}
@media (max-width:820px){.pc-by{flex-direction:column;align-items:flex-start}}
@media (prefers-reduced-motion:reduce){.pc-js .pc-r{opacity:1;transform:none;transition:none}.pc-js .pc-hero h1 .w{animation:none;opacity:1;transform:none}.pc-row,.pc-row h2{transition:none}}

/* Logos clients (07/10/2026, soir) */
.pc-logo{width:150px;height:34px;object-fit:contain;object-position:left center}
.pc-hero-logo{display:block;width:auto;height:46px;margin:18px auto 0}
.pc-av-mask{display:grid;place-items:center;background:var(--charbon)}
.pc-av-mask img{width:auto;height:62%}
@media (max-width:640px){.pc-logo{height:22px}.pc-hero-logo{height:36px}}
@media (max-width:760px){.pc-row{grid-template-columns:30px 84px 1fr 34px}.pc-logo{width:84px;height:24px}}
