/* ═══════════════════════════════════════════════════════════════════
   RÉALISATIONS · Premium Portfolio v3 (Cubiflow × Framer × Linear)
   ═══════════════════════════════════════════════════════════════════ */

/* ─── HERO ─────────────────────────────────────────── */
.rp-hero{position:relative;padding:11rem 0 6rem;overflow:hidden;background:#000}
@media(min-width:1024px){.rp-hero{padding:14rem 0 8rem;min-height:90vh;display:flex;align-items:center}}
.rp-hero-bg{position:absolute;inset:0;pointer-events:none;z-index:0}
.rp-hero-blob{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:min(900px,90vw);height:min(900px,90vw);border-radius:50%;background:radial-gradient(circle,rgba(255,92,26,.18) 0%,rgba(255,92,26,0) 60%);filter:blur(60px);opacity:.7}
.rp-hero .container{position:relative;z-index:1;width:100%}

.rp-hero-meta{display:flex;justify-content:space-between;align-items:center;margin-bottom:3rem;font-family:'JetBrains Mono','SF Mono',Menlo,monospace;font-size:.72rem;letter-spacing:.18em;text-transform:uppercase}
.rp-hero-eye{display:inline-flex;align-items:center;gap:.55rem;color:rgba(34,216,133,.85)}
.rp-hero-eye-dot{width:7px;height:7px;border-radius:50%;background:#22D885;box-shadow:0 0 10px #22D885}
.rp-hero-counter{color:rgba(255,138,77,.7)}

.rp-hero-h1{font-family:'DM Sans',sans-serif;font-weight:800;font-size:clamp(3rem,9vw,7.5rem);line-height:.95;letter-spacing:-.045em;margin:0 0 2rem;display:flex;flex-direction:column;gap:.1em}
.rp-hero-line{display:block;background:linear-gradient(180deg,#fff,rgba(255,255,255,.45) 130%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.rp-hero-h1 em{font-style:italic;background:linear-gradient(180deg,#FFAA66,#FF5C1A);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}

.rp-hero-lead{font-size:clamp(1.05rem,1.6vw,1.25rem);line-height:1.55;color:rgba(255,255,255,.7);max-width:640px;margin:0 0 3.5rem;letter-spacing:-.005em}

.rp-hero-stats{display:flex;flex-wrap:wrap;gap:.85rem 1.6rem;align-items:center;margin-bottom:4rem}
.rp-hero-stat{display:flex;flex-direction:column;gap:.2rem}
.rp-hero-stat strong{font-family:'DM Sans',sans-serif;font-weight:700;font-size:clamp(1.4rem,2vw,1.8rem);line-height:1;letter-spacing:-.02em;color:#fff}
.rp-hero-stat strong i{font-style:normal;font-size:.6em;color:rgba(255,138,77,.7)}
.rp-hero-stat span{font-family:'JetBrains Mono','SF Mono',Menlo,monospace;font-size:.68rem;color:rgba(255,255,255,.5);letter-spacing:.06em;text-transform:uppercase}
.rp-hero-stat-sep{width:1px;height:32px;background:rgba(255,138,77,.18)}
@media(max-width:639px){.rp-hero-stat-sep{display:none}}

.rp-hero-scroll{display:inline-flex;align-items:center;gap:.6rem;font-family:'JetBrains Mono','SF Mono',Menlo,monospace;font-size:.72rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,138,77,.85);padding:.7rem 1.1rem;border-radius:9999px;border:1px solid rgba(255,138,77,.25);background:rgba(255,92,26,.04);transition:background .25s,border-color .25s,transform .25s}
.rp-hero-scroll:hover{background:rgba(255,92,26,.1);border-color:rgba(255,138,77,.5);transform:translateY(-2px)}
.rp-hero-scroll svg{width:14px;height:14px}

/* ─── FILTER BAR ───────────────────────────────────── */
.rp-filters{position:sticky;top:0;z-index:50;background:rgba(0,0,0,.85);backdrop-filter:saturate(140%) blur(18px);-webkit-backdrop-filter:saturate(140%) blur(18px);padding:1rem 0;border-bottom:1px solid rgba(255,255,255,.04)}
.rp-filter-bar{display:flex;align-items:center;gap:1.2rem;flex-wrap:wrap}
.rp-filter-label{font-family:'JetBrains Mono','SF Mono',Menlo,monospace;font-size:.68rem;font-weight:600;letter-spacing:.16em;color:rgba(255,138,77,.7);text-transform:uppercase;flex-shrink:0}
.rp-filter-track{display:flex;gap:.45rem;flex-wrap:wrap;flex:1}
.rp-filter-pill{position:relative;display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border-radius:9999px;background:transparent;border:1px solid rgba(255,255,255,.08);color:rgba(255,255,255,.65);font-family:'DM Sans',sans-serif;font-size:.85rem;font-weight:500;letter-spacing:-.005em;cursor:pointer;transition:color .3s,border-color .3s,background .3s,transform .3s;will-change:transform}
.rp-filter-pill:hover{color:#fff;border-color:rgba(255,138,77,.35);transform:translateY(-1px)}
.rp-filter-pill-name{position:relative}
.rp-filter-pill-count{font-family:'JetBrains Mono','SF Mono',Menlo,monospace;font-size:.62rem;font-weight:700;color:rgba(255,138,77,.55);padding:.15rem .42rem;border-radius:9999px;background:rgba(255,92,26,.08);letter-spacing:.04em;transition:color .3s,background .3s}
.rp-filter-pill.is-active{background:linear-gradient(135deg,rgba(255,92,26,.15),rgba(122,74,53,.15));border-color:rgba(255,138,77,.55);color:#fff;box-shadow:inset 0 1px 0 rgba(255,255,255,.06),0 8px 30px -12px rgba(255,92,26,.5)}
.rp-filter-pill.is-active .rp-filter-pill-count{color:#FFAA66;background:rgba(255,92,26,.22)}

/* ─── MOBILE — filter compact + scroll horizontal (v1.50.0) ─── */
@media(max-width:767px){
  .rp-filters{padding:.7rem 0}
  .rp-filter-bar{flex-wrap:nowrap;gap:.7rem;overflow:hidden}
  .rp-filter-label{font-size:.6rem;letter-spacing:.14em}
  .rp-filter-track{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none;padding-bottom:.25rem;mask-image:linear-gradient(90deg,transparent 0,#000 4%,#000 96%,transparent 100%);-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 4%,#000 96%,transparent 100%)}
  .rp-filter-track::-webkit-scrollbar{display:none}
  .rp-filter-pill{padding:.4rem .75rem;font-size:.75rem;flex-shrink:0;gap:.35rem}
  .rp-filter-pill-count{font-size:.55rem;padding:.1rem .32rem}
}

/* ─── PORTFOLIO GRID — 2/3/4/5 cols selon viewport (cards compactes) ────────────── */
.rp-grid-section{padding:5rem 0 6rem;background:#000;overflow:hidden}
.rp-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;max-width:1480px;margin:0 auto}
@media(max-width:419px){.rp-grid{grid-template-columns:minmax(0,1fr);gap:1.25rem}}
@media(min-width:768px){.rp-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem}}
@media(min-width:1024px){.rp-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:1.5rem}}
@media(min-width:1440px){.rp-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:1.5rem}}
/* Cards compactes : padding et type allégés pour cards plus petites */
.rp-card-meta{padding:1rem 1.1rem 1.1rem}
.rp-card-name{font-size:1rem}
.rp-card-tagline{font-size:.78rem;line-height:1.4;margin-top:.35rem}
.rp-card-tech{display:none}
.rp-card-impact{font-size:.58rem;padding:.18rem .45rem}

/* On neutralise les anciennes variantes bento — toutes les cartes sont uniformes */
.rp-card--feature,
.rp-card--large,
.rp-card--medium,
.rp-card--small{grid-column:span 1}

/* Card itself */
.rp-card{position:relative;border-radius:1.5rem;background:linear-gradient(160deg,rgba(15,10,8,.6),rgba(10,8,6,.6));border:1px solid rgba(255,255,255,.06);overflow:hidden;transition:transform .55s cubic-bezier(.2,.7,.2,1),border-color .55s,box-shadow .55s;will-change:transform}
.rp-card.is-hidden{display:none}
.rp-card-link{display:flex;flex-direction:column;color:#fff;text-decoration:none;height:100%}
.rp-card:hover{transform:translateY(-6px);border-color:rgba(255,138,77,.3);box-shadow:0 40px 80px -30px rgba(255,92,26,.35)}

/* Visual area (the mockup frame) — toutes les cartes : ratio uniforme et image confinée */
.rp-card-visual{position:relative;width:100%;max-width:100%;aspect-ratio:4/3;display:flex;align-items:center;justify-content:center;overflow:hidden;border-bottom:1px solid rgba(255,255,255,.05);padding:1.25rem;box-sizing:border-box;transition:transform .8s cubic-bezier(.2,.7,.2,1)}
.rp-card--feature .rp-card-visual,
.rp-card--large .rp-card-visual,
.rp-card--medium .rp-card-visual,
.rp-card--small .rp-card-visual{aspect-ratio:4/3;padding:1.25rem}
.rp-card:hover .rp-card-visual{transform:scale(1.02)}
.rp-card-visual > *{max-width:100%}

.rp-card-visual::before{content:'';position:absolute;inset:0;background-image:radial-gradient(circle at 30% 20%,rgba(255,255,255,.12),transparent 60%);pointer-events:none}
.rp-card-visual::after{content:'';position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px);background-size:36px 36px;mask-image:radial-gradient(ellipse 80% 60% at center,#000 30%,transparent 80%);-webkit-mask-image:radial-gradient(ellipse 80% 60% at center,#000 30%,transparent 80%);pointer-events:none}

/* Browser/phone frame */
.rp-card-frame{position:relative;width:100%;max-width:520px;border-radius:.85rem;background:linear-gradient(180deg,rgba(0,0,0,.25),rgba(0,0,0,.45));backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.18);box-shadow:0 30px 60px -20px rgba(0,0,0,.5),inset 0 1px 0 rgba(255,255,255,.15);overflow:hidden}
.rp-card-frame--phone{max-width:240px;aspect-ratio:9/16;border-radius:1.6rem}
.rp-card-frame-bar{display:flex;gap:.35rem;padding:.55rem .85rem;background:rgba(0,0,0,.25);border-bottom:1px solid rgba(255,255,255,.08)}
.rp-card-frame-bar span{width:9px;height:9px;border-radius:50%;background:rgba(255,255,255,.3)}
.rp-card-frame-bar span:first-child{background:rgba(255,255,255,.45)}
.rp-card-frame--phone .rp-card-frame-bar{padding:.45rem;justify-content:center;background:transparent;border-bottom:none}
.rp-card-frame--phone .rp-card-frame-bar span{width:50%;height:5px;border-radius:9999px;background:rgba(255,255,255,.3)}
.rp-card-frame--phone .rp-card-frame-bar span:nth-child(2),.rp-card-frame--phone .rp-card-frame-bar span:nth-child(3){display:none}

.rp-card-frame-content{position:relative;padding:0;display:flex;align-items:center;justify-content:center;min-height:120px;overflow:hidden;aspect-ratio:16/10}
.rp-card-frame--phone .rp-card-frame-content{aspect-ratio:9/16;min-height:240px}
.rp-card-frame-mark{font-family:'DM Sans',sans-serif;font-weight:800;font-size:clamp(1.4rem,3.5vw,2.6rem);line-height:1;letter-spacing:-.035em;color:#fff;text-align:center;text-shadow:0 4px 30px rgba(0,0,0,.5);padding:1.5rem 1.25rem}
.rp-card--feature .rp-card-frame-mark{font-size:clamp(2rem,5vw,4rem)}
.rp-card--small .rp-card-frame-mark{font-size:clamp(1.1rem,2.5vw,1.7rem)}

/* Real screenshot rendering with brand filter */
.rp-card-screen{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:top center;display:block;filter:grayscale(.55) brightness(.82) contrast(1.08) saturate(1.1);transition:filter .55s cubic-bezier(.2,.7,.2,1),transform .8s cubic-bezier(.2,.7,.2,1);will-change:filter}
.rp-card-screen-tint{position:absolute;inset:0;mix-blend-mode:soft-light;opacity:.65;pointer-events:none;transition:opacity .55s,mix-blend-mode .55s}
.rp-card-frame-content::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 50%,rgba(0,0,0,.35) 100%);pointer-events:none;opacity:.6;transition:opacity .45s}
.rp-card:hover .rp-card-screen{filter:grayscale(.05) brightness(.95) contrast(1) saturate(1.05);transform:scale(1.04)}
.rp-card:hover .rp-card-screen-tint{opacity:.18}
.rp-card:hover .rp-card-frame-content::after{opacity:.25}

.rp-card-year{position:absolute;top:1rem;right:1rem;font-family:'JetBrains Mono','SF Mono',Menlo,monospace;font-size:.62rem;font-weight:600;letter-spacing:.14em;color:rgba(255,255,255,.7);background:rgba(0,0,0,.4);padding:.32rem .55rem;border-radius:9999px;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}

/* Card meta below visual */
.rp-card-meta{padding:1.4rem 1.4rem 1.5rem;display:flex;flex-direction:column;gap:.65rem;flex:1}
.rp-card--feature .rp-card-meta{padding:2rem 2.5rem 2.2rem}
.rp-card-head{display:flex;justify-content:space-between;align-items:baseline;gap:.85rem;flex-wrap:wrap}
.rp-card-name{font-family:'DM Sans',sans-serif;font-weight:700;font-size:clamp(1.1rem,1.6vw,1.4rem);line-height:1.2;letter-spacing:-.015em;color:#fff;margin:0}
.rp-card--feature .rp-card-name{font-size:clamp(1.6rem,2.4vw,2.1rem)}
.rp-card-impact{font-family:'JetBrains Mono','SF Mono',Menlo,monospace;font-size:.7rem;font-weight:700;letter-spacing:.05em;color:#FFAA66;padding:.25rem .55rem;border-radius:9999px;background:rgba(255,92,26,.08);border:1px solid rgba(255,138,77,.22);white-space:nowrap}
.rp-card-tagline{color:rgba(255,255,255,.82);font-size:.95rem;line-height:1.5;margin:0;letter-spacing:-.005em;font-weight:500}
.rp-card-context{color:rgba(255,255,255,.62);font-size:.85rem;line-height:1.6;margin:0;letter-spacing:-.002em;display:-webkit-box;-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.rp-card--feature .rp-card-context{-webkit-line-clamp:4;line-clamp:4;font-size:.92rem}
/* Description harmonisée — max 4 lignes pour TOUTES les cartes */
.rp-card-desc{color:rgba(255,255,255,.7);font-size:.88rem;line-height:1.55;margin:0;letter-spacing:-.002em;display:-webkit-box;-webkit-line-clamp:4;line-clamp:4;-webkit-box-orient:vertical;overflow:hidden;min-height:calc(.88rem * 1.55 * 4)}
.rp-card--feature .rp-card-desc{font-size:.95rem}
.rp-card-foot{display:flex;align-items:center;justify-content:space-between;gap:.85rem;padding-top:.6rem;flex-wrap:wrap;border-top:1px dashed rgba(255,138,77,.12);min-height:2.2rem}
/* Bouton "Lire plus" — affiché sur chaque carte, anime au hover */
.rp-card-readmore{display:inline-flex;align-items:center;gap:.4rem;margin-top:auto;padding:.55rem .9rem;border-radius:9999px;background:rgba(255,92,26,.06);border:1px solid rgba(255,138,77,.25);color:#FFAA66;font-family:'JetBrains Mono','SF Mono',Menlo,monospace;font-size:.7rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;align-self:flex-start;transition:background .3s cubic-bezier(.2,.7,.2,1),border-color .3s,color .3s,transform .3s,box-shadow .3s;width:fit-content}
.rp-card-readmore svg{width:14px;height:14px;transition:transform .3s cubic-bezier(.2,.7,.2,1)}
.rp-card:hover .rp-card-readmore{background:linear-gradient(135deg,rgba(255,92,26,.22),rgba(255,138,77,.16));border-color:rgba(255,138,77,.55);color:#fff;transform:translateY(-1px);box-shadow:0 12px 28px -12px rgba(255,92,26,.5)}
.rp-card:hover .rp-card-readmore svg{transform:translateX(3px)}
.rp-card-sector{font-family:'JetBrains Mono','SF Mono',Menlo,monospace;font-size:.65rem;font-weight:500;letter-spacing:.08em;color:rgba(255,255,255,.55);text-transform:uppercase}
.rp-card-tech{display:flex;gap:.3rem;flex-wrap:wrap}
.rp-card-tech span{font-family:'JetBrains Mono','SF Mono',Menlo,monospace;font-size:.6rem;font-weight:600;letter-spacing:.06em;color:rgba(255,255,255,.55);padding:.2rem .45rem;border-radius:9999px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08)}

.rp-card-arrow{position:absolute;top:1.2rem;left:1.2rem;width:36px;height:36px;border-radius:50%;background:rgba(0,0,0,.5);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;color:#fff;opacity:0;transform:translate(-6px,6px);transition:opacity .35s,transform .35s,background .35s;border:1px solid rgba(255,255,255,.2);z-index:2}
.rp-card-arrow svg{width:16px;height:16px}
.rp-card:hover .rp-card-arrow{opacity:1;transform:translate(0,0);background:rgba(255,92,26,.85);border-color:rgba(255,138,77,.6)}

/* ─── CASE STUDIES (3 deep-dives) ────────────────── */
.rp-cases{padding:7rem 0 6rem;background:linear-gradient(180deg,#000 0%,#0a0707 50%,#000 100%);position:relative}
.rp-cases-head{max-width:680px;margin:0 auto 5rem;text-align:center}
.rp-cases-head h2{font-family:'DM Sans',sans-serif;font-weight:700;font-size:clamp(2rem,4.5vw,3.4rem);line-height:1.05;letter-spacing:-.03em;margin:1rem 0;background:linear-gradient(180deg,#fff,rgba(255,255,255,.55) 130%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.rp-cases-head h2 em{font-style:italic;background:linear-gradient(180deg,#FFAA66,#FF5C1A);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.rp-cases-head p{color:rgba(255,255,255,.65);font-size:1rem;line-height:1.65;margin:0;max-width:520px;margin:0 auto}

.rp-case{max-width:1100px;margin:0 auto 5rem;padding:3rem 2rem;border-radius:1.5rem;background:linear-gradient(160deg,rgba(20,12,10,.6),rgba(10,7,5,.6));border:1px solid rgba(255,138,77,.16);position:relative;overflow:hidden}
@media(min-width:768px){.rp-case{padding:4rem 3rem}}
.rp-case::before{content:'';position:absolute;left:0;top:0;width:3px;height:60%;background:linear-gradient(180deg,#FFAA66,#FF5C1A);border-radius:0 9999px 9999px 0}
.rp-case:last-child{margin-bottom:0}

.rp-case-head{display:grid;grid-template-columns:auto 1fr;gap:2rem;align-items:start;margin-bottom:2.5rem}
@media(min-width:1024px){.rp-case-head{grid-template-columns:auto 1fr auto}}
.rp-case-num{font-family:'DM Sans',sans-serif;font-weight:800;font-size:clamp(3rem,5vw,4.5rem);line-height:.9;letter-spacing:-.04em;background:linear-gradient(180deg,#FFAA66,#FF5C1A);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.rp-case-tag{display:inline-block;font-family:'JetBrains Mono','SF Mono',Menlo,monospace;font-size:.7rem;font-weight:600;letter-spacing:.14em;color:rgba(255,138,77,.75);margin-bottom:.85rem;text-transform:uppercase}
.rp-case-titles h3{font-family:'DM Sans',sans-serif;font-weight:700;font-size:clamp(1.5rem,3vw,2.3rem);line-height:1.15;letter-spacing:-.025em;color:#fff;margin:0;background:linear-gradient(180deg,#fff,rgba(255,255,255,.7) 130%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.rp-case-titles h3 em{font-style:italic;background:linear-gradient(180deg,#FFAA66,#FF5C1A);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.rp-case-link{font-family:'JetBrains Mono','SF Mono',Menlo,monospace;font-size:.72rem;font-weight:600;letter-spacing:.14em;color:rgba(255,138,77,.85);padding:.55rem 1rem;border-radius:9999px;border:1px solid rgba(255,138,77,.3);background:rgba(255,92,26,.06);text-transform:uppercase;transition:background .25s,color .25s,transform .25s}
.rp-case-link:hover{background:rgba(255,92,26,.18);color:#FFCC88;transform:translateY(-1px)}

.rp-case-body{display:flex;flex-direction:column;gap:2.5rem}
.rp-case-cols{display:grid;grid-template-columns:1fr;gap:2rem}
@media(min-width:768px){.rp-case-cols{grid-template-columns:repeat(3,1fr)}}
.rp-case-col{display:flex;flex-direction:column;gap:.6rem}
.rp-case-col-title{font-family:'JetBrains Mono','SF Mono',Menlo,monospace;font-size:.68rem;font-weight:600;letter-spacing:.16em;color:rgba(255,138,77,.7);text-transform:uppercase;padding-bottom:.4rem;border-bottom:1px solid rgba(255,138,77,.15)}
.rp-case-col p{color:rgba(255,255,255,.78);font-size:.93rem;line-height:1.65;margin:0;letter-spacing:-.003em}

.rp-case-stats{display:grid;grid-template-columns:1fr;gap:1rem;padding:1.8rem;border-radius:1rem;background:rgba(255,92,26,.04);border:1px solid rgba(255,138,77,.18)}
@media(min-width:640px){.rp-case-stats{grid-template-columns:repeat(3,1fr)}}
.rp-case-stats div{display:flex;flex-direction:column;gap:.25rem;text-align:center;padding:.4rem 0}
.rp-case-stats strong{font-family:'DM Sans',sans-serif;font-weight:700;font-size:clamp(1.5rem,2.5vw,2.1rem);line-height:1;letter-spacing:-.025em;background:linear-gradient(180deg,#FFAA66,#FF5C1A);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.rp-case-stats span{font-family:'JetBrains Mono','SF Mono',Menlo,monospace;font-size:.66rem;color:rgba(255,255,255,.5);letter-spacing:.08em;text-transform:uppercase}

/* ─── TIMELINE COMPACTE ───────────────────────────── */
.rp-timeline{padding:6rem 0 5rem;background:#000}
.rp-timeline-head{max-width:680px;margin:0 auto 3rem;text-align:center}
.rp-timeline-head h2{font-family:'DM Sans',sans-serif;font-weight:700;font-size:clamp(1.8rem,3.6vw,2.8rem);line-height:1.1;letter-spacing:-.025em;margin:1rem 0 0;background:linear-gradient(180deg,#fff,rgba(255,255,255,.55) 130%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.rp-timeline-head h2 em{font-style:italic;background:linear-gradient(180deg,#FFAA66,#FF5C1A);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}

.rp-timeline-list{max-width:1100px;margin:0 auto;display:flex;flex-direction:column;border-radius:1.2rem;overflow:hidden;border:1px solid rgba(255,255,255,.06)}
.rp-timeline-row{display:grid;grid-template-columns:60px 1fr 30px;gap:1rem;align-items:center;padding:1.1rem 1.4rem;color:#fff;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.04);background:rgba(15,10,8,.4);transition:background .25s,padding-left .25s}
@media(min-width:768px){.rp-timeline-row{grid-template-columns:80px 200px 1fr 1fr 30px}}
.rp-timeline-row:last-child{border-bottom:none}
.rp-timeline-row:hover{background:rgba(255,92,26,.08);padding-left:2rem}
.rp-timeline-year{font-family:'JetBrains Mono','SF Mono',Menlo,monospace;font-size:.72rem;font-weight:600;letter-spacing:.08em;color:rgba(255,138,77,.7)}
.rp-timeline-name{font-family:'DM Sans',sans-serif;font-weight:600;font-size:1rem;letter-spacing:-.01em;color:#fff}
.rp-timeline-tag{font-size:.82rem;color:rgba(255,255,255,.55);letter-spacing:-.005em}
@media(max-width:767px){.rp-timeline-tag,.rp-timeline-sector{display:none}}
.rp-timeline-sector{font-family:'JetBrains Mono','SF Mono',Menlo,monospace;font-size:.66rem;letter-spacing:.06em;color:rgba(255,255,255,.45);text-transform:uppercase;text-align:right}
.rp-timeline-arrow{font-family:'JetBrains Mono','SF Mono',Menlo,monospace;color:rgba(255,138,77,.6);font-size:1.1rem;text-align:center;transition:transform .25s,color .25s}
.rp-timeline-row:hover .rp-timeline-arrow{transform:translateX(4px);color:#FFAA66}

/* ─── COMMON section-eyebrow ───────────────────── */
.rp-cases-head .section-eyebrow,.rp-timeline-head .section-eyebrow{display:inline-block;font-family:'JetBrains Mono','SF Mono',Menlo,monospace;font-size:.68rem;font-weight:600;letter-spacing:.16em;color:rgba(255,138,77,.7);text-transform:uppercase;margin-bottom:.5rem}

/* ─── rp-card-screen : image projet (featured image CPT) en pleine zone ─── */
.rp-card-screen{position:absolute;inset:0;width:100%;height:100%;max-width:100%;object-fit:cover;border-radius:0;z-index:1;transition:transform .9s cubic-bezier(.2,.7,.2,1)}
.rp-card:hover .rp-card-screen{transform:scale(1.05)}
.rp-card-visual:has(.rp-card-screen){padding:0}
.rp-card-visual:has(.rp-card-screen)::before,
.rp-card-visual:has(.rp-card-screen)::after{display:none}
.rp-card-visual:has(.rp-card-screen) .rp-card-year{z-index:2;background:rgba(0,0,0,.55);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);padding:.3rem .65rem;border-radius:9999px}

/* Padding mobile resserré pour cards à 2 par rangée */
@media(max-width:767px){
  .rp-card-meta{padding:1rem .9rem 1.1rem;gap:.55rem}
  .rp-card-name{font-size:1rem}
  .rp-card-tagline{font-size:.82rem;line-height:1.4}
  .rp-card-context{font-size:.74rem;line-height:1.45;-webkit-line-clamp:2;line-clamp:2}
  .rp-card-desc{font-size:.76rem;line-height:1.45;-webkit-line-clamp:3;line-clamp:3;min-height:calc(.76rem * 1.45 * 3)}
  .rp-card-impact{font-size:.6rem;padding:.2rem .45rem}
  .rp-card-foot{gap:.5rem;min-height:auto}
  .rp-card-tech{display:none}
  .rp-card-readmore{padding:.45rem .75rem;font-size:.62rem;letter-spacing:.06em}
  .rp-card-readmore svg{width:12px;height:12px}
}
