/* Page portfolio : bloc « Projet à la une » (dernier projet livré) et intitulé de la grille */

.pf-feat{position:relative;display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,1fr);gap:clamp(28px,4vw,56px);align-items:center;margin:0 0 3.2rem;padding:clamp(22px,3vw,40px);border-radius:24px;background:linear-gradient(145deg,rgba(247,147,29,.09),rgba(255,255,255,.02) 42%,rgba(255,255,255,.015));border:1px solid rgba(247,147,29,.32);overflow:hidden;isolation:isolate}
.pf-feat::before{content:"";position:absolute;inset:0;border-radius:inherit;padding:1px;background:linear-gradient(120deg,rgba(247,147,29,.75),rgba(247,147,29,0) 35%,rgba(247,147,29,0) 70%,rgba(247,147,29,.45));-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none}
.pf-feat-glow{position:absolute;z-index:-1;width:520px;height:520px;left:-120px;top:-160px;border-radius:50%;background:radial-gradient(circle,rgba(247,147,29,.22),rgba(247,147,29,0) 65%);filter:blur(10px);pointer-events:none}

/* Visuel : navigateur et captures flottantes */
.pf-feat-media{position:relative;padding:0 0 42px}
.pf-feat-media.is-single{padding-bottom:0}
.pf-feat-browser{display:block;position:relative;z-index:2;border-radius:14px;overflow:hidden;background:#101010;border:1px solid rgba(255,255,255,.1);box-shadow:0 30px 70px -20px rgba(0,0,0,.85),0 0 0 1px rgba(247,147,29,.12);transform:perspective(1400px) rotateY(4deg) rotateX(1deg);transition:transform .5s cubic-bezier(.2,.7,.2,1)}
.pf-feat:hover .pf-feat-browser{transform:perspective(1400px) rotateY(0) rotateX(0) translateY(-4px)}
.pf-feat-bar{display:flex;align-items:center;gap:6px;height:30px;padding:0 12px;background:#1b1b1b;border-bottom:1px solid rgba(255,255,255,.06)}
.pf-feat-bar span{width:9px;height:9px;border-radius:50%;background:#3a3a3a}
.pf-feat-bar span:first-child{background:var(--o,#F7931D)}
.pf-feat-bar em{margin-left:10px;padding:3px 12px;border-radius:999px;background:rgba(255,255,255,.05);font-style:normal;font-size:.68rem;color:#8d8d8d;letter-spacing:.02em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pf-feat-browser img,.pf-feat-float img{width:100%;height:auto;aspect-ratio:1829/1280;object-fit:cover;object-position:top}
.pf-feat-float{position:absolute;z-index:3;width:38%;border-radius:10px;overflow:hidden;border:1px solid rgba(255,255,255,.12);box-shadow:0 22px 50px -12px rgba(0,0,0,.9);transition:transform .5s cubic-bezier(.2,.7,.2,1)}
.pf-feat-float-a{right:-4%;bottom:0;transform:rotate(3deg)}
.pf-feat-float-b{left:6%;bottom:6px;width:30%;transform:rotate(-4deg);z-index:1}
.pf-feat:hover .pf-feat-float-a{transform:rotate(1deg) translateY(-6px)}
.pf-feat:hover .pf-feat-float-b{transform:rotate(-2deg) translateY(-4px)}

/* Texte */
.pf-feat-body{position:relative;z-index:2;min-width:0}
.pf-feat-top{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-bottom:14px}
.pf-feat-badge{display:inline-flex;align-items:center;gap:8px;padding:6px 14px 6px 12px;border-radius:999px;background:var(--o,#F7931D);color:#140a00;font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.pf-feat-dot{position:relative;width:8px;height:8px;border-radius:50%;background:#140a00}
.pf-feat-dot::after{content:"";position:absolute;inset:-4px;border-radius:50%;border:2px solid rgba(20,10,0,.55);animation:pfFeatPulse 1.8s ease-out infinite}
@keyframes pfFeatPulse{0%{transform:scale(.6);opacity:1}100%{transform:scale(1.6);opacity:0}}
.pf-feat-date{font-size:.78rem;font-weight:600;color:var(--mut,#9a9a9a)}
.pf-feat-cat{display:inline-flex;align-items:center;gap:6px;font-size:.72rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--o,#F7931D);margin-bottom:10px}
.pf-feat-body h2{font-size:clamp(1.55rem,2.5vw,2.25rem);line-height:1.15;font-weight:800;letter-spacing:-.02em;color:#fff;margin:0 0 10px}
.pf-feat-client{font-size:.92rem;color:#bdbdbd;margin:0 0 14px}
.pf-feat-client strong{color:#fff;font-weight:700}
.pf-feat-excerpt{font-size:.98rem;line-height:1.7;color:#cfcfcf;margin:0 0 18px}
.pf-feat-points{list-style:none;display:grid;gap:8px;margin:0 0 20px;padding:0}
.pf-feat-points li{display:flex;gap:10px;align-items:flex-start;font-size:.92rem;color:#e6e6e6}
.pf-feat-points i{flex:none;display:grid;place-items:center;width:22px;height:22px;margin-top:1px;border-radius:7px;background:rgba(247,147,29,.14);color:var(--o,#F7931D);font-size:.85rem}
.pf-feat-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:10px;margin:0 0 20px}
.pf-feat-kpi{padding:12px 14px;border-radius:12px;background:rgba(247,147,29,.07);border:1px solid rgba(247,147,29,.22)}
.pf-feat-kpi strong{display:block;font-size:1.45rem;line-height:1.1;font-weight:800;color:var(--o,#F7931D)}
.pf-feat-kpi span{display:block;margin-top:4px;font-size:.78rem;line-height:1.35;color:#cfcfcf}
.pf-feat-quote{position:relative;margin:0 0 20px;padding:16px 18px 14px 20px;border-radius:14px;background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.07);border-left:3px solid var(--o,#F7931D)}
.pf-feat-quote p{margin:0 0 12px;font-size:.95rem;line-height:1.6;font-style:italic;color:#f0f0f0}
.pf-feat-quote footer{display:flex;align-items:center;gap:10px}
.pf-feat-quote img,.pf-feat-initial{flex:none;width:36px;height:36px;border-radius:50%;object-fit:cover;border:2px solid rgba(247,147,29,.55)}
.pf-feat-initial{display:grid;place-items:center;background:rgba(247,147,29,.14);color:var(--o,#F7931D);font-weight:800;font-size:.9rem}
.pf-feat-quote footer>span:not(.pf-feat-initial):not(.pf-feat-stars){display:flex;flex-direction:column;line-height:1.3;min-width:0}
.pf-feat-quote strong{font-size:.86rem;color:#fff}
.pf-feat-quote small{font-size:.75rem;color:var(--mut,#9a9a9a)}
.pf-feat-stars{margin-left:auto;color:var(--o,#F7931D);font-size:.8rem;letter-spacing:1px;white-space:nowrap}
.pf-feat-stack{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 22px}
.pf-feat-stack span{padding:5px 11px;border-radius:999px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);font-size:.74rem;font-weight:600;color:#bdbdbd}
/* Technologies en plus : dans la même rangée une fois affichées ; le bouton reste en dernier. */
.pf-feat-stack .pf-feat-stack-extra:not([hidden]){display:contents}
.pf-feat-stack-more{display:inline-flex;align-items:center;gap:5px;padding:5px 12px;border-radius:999px;background:rgba(247,147,29,.08);border:1px dashed rgba(247,147,29,.5);font:inherit;font-size:.74rem;font-weight:700;color:var(--o,#F7931D);cursor:pointer;transition:background .2s,border-color .2s}
.pf-feat-stack-more:hover{background:rgba(247,147,29,.14);border-style:solid;border-color:var(--o,#F7931D)}
.pf-feat-stack-more:focus-visible{outline:2px solid var(--o,#F7931D);outline-offset:2px}
.pf-feat-stack .pf-feat-stack-more span{padding:0;border:0;border-radius:0;background:none;font-size:inherit;font-weight:inherit;color:inherit}
.pf-feat-stack-more i{font-size:.85rem;transition:transform .2s}
.pf-feat-stack-more[aria-expanded="true"] i{transform:rotate(180deg)}
.pf-feat-actions{display:flex;flex-wrap:wrap;gap:12px}
.pf-feat-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:13px 26px;border-radius:999px;background:linear-gradient(135deg,#F7931D 0,#e67e22 100%);color:#140a00;font-weight:800;font-size:.9rem;box-shadow:0 6px 22px rgba(247,147,29,.35);transition:.3s}
.pf-feat-btn:hover{transform:translateY(-2px);box-shadow:0 10px 30px rgba(247,147,29,.5);color:#140a00}
.pf-feat-ext{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 24px;border-radius:999px;border:1.5px solid rgba(247,147,29,.4);color:var(--o,#F7931D);font-weight:700;font-size:.9rem;transition:.3s}
.pf-feat-ext:hover{background:rgba(247,147,29,.08);border-color:var(--o,#F7931D);transform:translateY(-2px);color:var(--o,#F7931D)}

/* Intitulé de la grille sous le bloc */
.pf-grid-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin:0 0 1.4rem}
.pf-grid-head h2{font-size:1.15rem;font-weight:800;color:#fff;margin:0}
.pf-grid-head span{font-size:.85rem;color:var(--mut,#9a9a9a)}

@media (max-width:991px){
  .pf-feat{grid-template-columns:minmax(0,1fr)}
  .pf-feat-media{max-width:640px;width:100%;margin:0 auto}
  .pf-feat-browser{transform:none}
}
@media (max-width:640px){
  .pf-feat{padding:18px;border-radius:18px}
  .pf-feat-media{padding-bottom:28px}
  .pf-feat-float-b{display:none}
  .pf-feat-float-a{width:44%;right:-2%}
  .pf-feat-actions a{flex:1 1 100%}
  .pf-feat-stars{display:none}
  .pf-grid-head{flex-direction:column;gap:2px}
}
@media (prefers-reduced-motion:reduce){
  .pf-feat-dot::after{animation:none}
  .pf-feat-browser,.pf-feat-float{transition:none}
}
