/* ==========================================================================
   Composants réutilisables
   ========================================================================== */

/* ---------- Tirage Harcourt : passe-partout blanc, jamais de cadre doré ---------- */
.rps-print{background:#fdfcfa;padding:clamp(7px,1.2vw,14px);margin:0;box-shadow:var(--sh-print);position:relative}
.rps-print img{width:100%;filter:grayscale(1) contrast(1.05)}
.rps-print--tilt-l{transform:rotate(-1.5deg)}
.rps-print--tilt-r{transform:rotate(1.5deg)}
.rps-print--w420{max-width:420px}
.rps-print--w460{max-width:460px}
.rps-bw img,img.rps-bw{filter:grayscale(1) contrast(1.05)}

/* ---------- Héros d'accueil ---------- */
.rps-hero{position:relative;overflow:hidden;padding-block:clamp(40px,6vw,80px) clamp(56px,7vw,96px)}
.rps-hero::before{content:"";position:absolute;inset:0;background:radial-gradient(520px 520px at 74% 46%,rgba(242,236,226,.16),rgba(242,236,226,.04) 45%,transparent 70%);pointer-events:none}
.rps-hero__mark{position:absolute;right:-6%;top:50%;transform:translateY(-50%);width:min(780px,70vw);opacity:.05;pointer-events:none}
.rps-hero__grid{position:relative;display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(28px,5vw,72px);align-items:center}
.rps-hero__grid>*{min-width:0}
.rps-hero h1::after{display:none}
.rps-facts{display:flex;flex-wrap:wrap;gap:10px 28px;margin-top:10px;font-size:.86rem;color:var(--gris)}
.rps-facts b{color:var(--papier);font-weight:500}
.rps-prints{position:relative;height:clamp(380px,46vw,560px)}
.rps-prints .rps-print{position:absolute;width:62%}
.rps-prints .rps-print img{aspect-ratio:var(--ar-portrait);object-fit:cover;object-position:50% 30%}
.rps-prints .rps-print--p1{right:4%;top:0;transform:rotate(2.5deg)}
.rps-prints .rps-print--p2{left:0;bottom:0;width:52%;transform:rotate(-2.5deg)}
/* Les deux tirages « se posent » une seule fois à l'ouverture */
.rps-prints .rps-print--p1{animation:rps-pose-r 1.1s var(--ease) both .15s}
.rps-prints .rps-print--p2{animation:rps-pose-l 1.1s var(--ease) both .35s}
@keyframes rps-pose-r{from{opacity:0;transform:translateY(18px) rotate(0)}to{opacity:1;transform:rotate(2.5deg)}}
@keyframes rps-pose-l{from{opacity:0;transform:translateY(18px) rotate(0)}to{opacity:1;transform:rotate(-2.5deg)}}
@media (max-width:820px){.rps-hero__grid{grid-template-columns:1fr}.rps-prints{height:min(110vw,460px)}}

/* ---------- En-tête de page intérieure ---------- */
.rps-phero{position:relative;overflow:hidden;padding-block:clamp(40px,6vw,76px)}
.rps-phero::before{content:"";position:absolute;inset:0;background:radial-gradient(480px 480px at 28% 50%,rgba(242,236,226,.13),transparent 70%);pointer-events:none}
.rps-phero>*{position:relative}
.rps-phero--tight{padding-bottom:24px}
.rps-crumbs{font-size:.78rem;color:var(--gris);letter-spacing:.06em;margin-bottom:18px}
.rps-crumbs ol{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;align-items:center;gap:6px}
.rps-crumbs li:not(:last-child)::after{content:"/";margin-left:6px;color:var(--gris-2)}
.rps-crumbs a{text-decoration:none;display:inline-flex;align-items:center;min-height:44px}
.rps-crumbs{margin-bottom:6px}
.rps-crumbs a:hover{color:var(--or-2)}

/* ---------- Duo produits ---------- */
.rps-duo{display:grid;grid-template-columns:1fr 1fr;gap:2px;background:var(--ligne)}
.rps-prod{background:var(--noir);display:grid;grid-template-rows:auto 1fr;text-decoration:none;min-width:0}
.rps-prod__vis{aspect-ratio:4/3;overflow:hidden;background:#000;position:relative}
.rps-prod__vis img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease)}
/* Pied de vignette commun : les deux cartes produits reposent sur le même noir */
.rps-prod__vis:not([data-illus])::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 58%,rgba(12,11,10,.5));pointer-events:none}
.rps-tag{position:absolute;left:16px;top:16px;z-index:1;background:var(--noir);border:1px solid var(--ligne-2);padding:6px 12px;font-size:.7rem;letter-spacing:var(--tr-caps);text-transform:uppercase}
.rps-prod__txt{padding:28px clamp(18px,3vw,36px) 34px;display:flex;flex-direction:column;gap:14px}
.rps-dash{margin:0;padding:0;list-style:none;display:grid;gap:6px;color:var(--papier-2)}
.rps-dash li::before{content:"";display:inline-block;width:14px;height:1px;background:var(--or-ligne);vertical-align:middle;margin-right:12px}
.rps-prod .rps-more{margin-top:auto;padding-top:10px}
@media (max-width:760px){.rps-duo{grid-template-columns:1fr}}
.rps-duo--3{grid-template-columns:repeat(3,1fr)}
@media (min-width:1001px){.rps-duo--3{max-width:1560px;margin-inline:auto}.rps-duo--3 .rps-prod__vis{aspect-ratio:3/2}}
@media (max-width:1000px){.rps-duo--3{grid-template-columns:1fr}}

/* ---------- Bandeau cinéma ---------- */
.rps-cine{position:relative;overflow:hidden;background:#000;aspect-ratio:var(--ar-cine);min-height:420px;max-height:760px;width:100%}
.rps-cine>img{width:100%;height:100%;object-fit:cover;object-position:62% 40%}
.rps-cine::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,7,6,.9) 0%,rgba(8,7,6,.75) 45%,rgba(8,7,6,0) 75%),linear-gradient(0deg,rgba(8,7,6,.5),transparent 40%);z-index:1}
.rps-cine__txt{position:absolute;inset:0;display:flex;align-items:center;z-index:2}
.rps-cine__txt .rps-wrap{width:100%}
.rps-cine__txt h2{max-width:13ch}
.rps-cine__txt .rps-lede{max-width:min(46ch,46vw)}
@media (max-width:760px){.rps-cine{aspect-ratio:auto;min-height:0;display:flex;flex-direction:column}.rps-cine>img{aspect-ratio:var(--ar-scene);height:auto}.rps-cine::before{display:none}.rps-cine__txt{position:static;padding-block:28px;background:var(--noir)}}

/* ---------- Chiffres et références ---------- */
.rps-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--ligne);border-block:1px solid var(--ligne)}
.rps-kpis>div{background:var(--noir);padding:var(--s-5);display:flex;flex-direction:column;gap:6px;min-width:0}
.rps-kpis b{font-family:var(--display);font-style:italic;font-size:clamp(2.4rem,5vw,3.4rem);font-weight:400;line-height:1;color:var(--or-2);font-variant-numeric:lining-nums}
.rps-kpis span{font-size:var(--fs-sm);color:var(--gris)}
@media (max-width:760px){.rps-kpis{grid-template-columns:1fr 1fr}}
.rps-refs{display:flex;flex-wrap:wrap;justify-content:center;gap:12px 38px;font-family:var(--display);font-size:clamp(1.05rem,2vw,1.3rem);color:var(--papier-2);margin:0;padding:0;list-style:none}
.rps-refs li{white-space:nowrap}

/* ---------- Cartes éditoriales ---------- */
/* Les trois cartes restent côte à côte sur tablette ; en une colonne sur mobile, format paysage */
@media (max-width:900px){.rps-g3.rps-arts{grid-template-columns:repeat(3,1fr);gap:16px}}
@media (max-width:640px){.rps-g3.rps-arts{grid-template-columns:1fr}.rps-arts__vis{aspect-ratio:var(--ar-scene)}}
/* Sur mobile, le titre des pages produit passe avant la grande photo */
@media (max-width:760px){.rps-phero .rps-g2>.rps-stack{order:-1}.rps-phero .rps-photo{max-width:420px}}
.rps-arts a{text-decoration:none;display:flex;flex-direction:column;gap:12px}
.rps-arts__vis,.rps-vis{overflow:hidden;background:#000;position:relative}
.rps-arts__vis{aspect-ratio:var(--ar-edito)}
.rps-arts img,.rps-vis img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease)}

.rps-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--s-5);counter-reset:s;margin:0;padding:0;list-style:none}
.rps-steps>li{border-top:1px solid var(--or-ligne);padding-top:16px;counter-increment:s;min-width:0}
.rps-steps>li::before{content:"0" counter(s);font-family:var(--cond);font-size:2rem;color:var(--or);display:block;line-height:1}
.rps-steps h3{font-size:var(--fs-h4);margin:8px 0 6px}
.rps-steps p{font-size:.92rem;color:var(--papier-2)}
.rps-steps--2{grid-template-columns:repeat(2,1fr)}
@media (max-width:900px){.rps-steps{grid-template-columns:1fr 1fr}}
@media (max-width:440px){.rps-steps{grid-template-columns:1fr}}

.rps-feat{border-top:1px solid var(--ligne-2);padding-top:18px;display:flex;flex-direction:column;gap:8px}
.rps-feat__k{font-family:var(--cond);font-size:1.25rem;letter-spacing:.06em;color:var(--papier)}
.rps-feat p{color:var(--papier-2);font-size:.95rem}

.rps-scene{display:flex;flex-direction:column;gap:12px;margin:0}
.rps-scene__vis{aspect-ratio:1/1;overflow:hidden;background:#000}
.rps-scene__vis--portrait{aspect-ratio:3/4}
.rps-scene img{width:100%;height:100%;object-fit:cover}
.rps-scene figcaption,.rps-scene>span{font-size:var(--fs-xs);letter-spacing:var(--tr-caps);text-transform:uppercase;color:var(--gris)}
/* Vidéo de démonstration (parcours smartphone) */
.rps-video{aspect-ratio:16/9;overflow:hidden;background:#000}
.rps-video__player{display:block;width:100%;height:100%;object-fit:cover}
.rps-video__steps{list-style:none;margin:var(--s-4) 0 0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:var(--s-5)}
.rps-video__steps li{font-size:var(--fs-xs);letter-spacing:var(--tr-caps);text-transform:uppercase;color:var(--gris)}
@media (max-width:900px){.rps-video__steps{grid-template-columns:1fr 1fr;gap:var(--s-2) var(--s-4)}}

.rps-chips{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none}
.rps-chip{border:1px solid var(--ligne-2);padding:5px 12px;font-size:.8rem;color:var(--papier-2);background:none;font-family:var(--body)}
button.rps-chip{cursor:pointer;min-height:44px;padding:8px 18px;letter-spacing:.08em}
a.rps-chip{display:inline-flex;align-items:center;min-height:44px;padding:8px 16px;text-decoration:none;letter-spacing:.06em}
button.rps-chip,a.rps-chip{transition:border-color var(--dur-1),color var(--dur-1),background var(--dur-1)}
button.rps-chip:hover,a.rps-chip:hover{border-color:var(--or);color:var(--or-2)}
button.rps-chip:active{background:var(--noir-3)}
/* Filtre choisi : velours (état actif), distinct du survol doré */
.rps-chip[aria-pressed="true"],.rps-chip[aria-pressed="true"]:hover{border-color:var(--velours-vif);color:var(--papier);background:var(--or-voile);box-shadow:inset 0 -2px 0 var(--velours-vif)}
/* Étiquettes non cliquables : une simple ligne typographique, pour ne pas ressembler aux boutons */
/* Le point séparateur précède chaque étiquette (sauf la première) : jamais orphelin en fin de ligne */
li.rps-chip{border:0;padding:0;font-size:.82rem;letter-spacing:.06em;color:var(--gris)}
li.rps-chip+li.rps-chip::before{content:"·";margin-right:10px;color:var(--or-ligne)}
.rps-chips:has(> li.rps-chip){gap:6px 10px}

/* ---------- Photos isolées ---------- */
.rps-photo{margin:0 auto;max-width:500px;position:relative;box-shadow:var(--sh-photo)}
.rps-photo img{width:100%}
.rps-photo figcaption{background:none;padding:12px 0 0;font-size:.72rem;letter-spacing:var(--tr-caps);text-transform:uppercase;color:var(--gris)}
.rps-photo--full{max-width:none}
.rps-wide{margin:0 auto var(--s-7);max-width:860px;position:relative;aspect-ratio:5/4;overflow:hidden;background:#000;box-shadow:var(--sh-photo)}
.rps-wide img{width:100%;height:100%;object-fit:cover;object-position:50% 40%}
@media (max-width:640px){.rps-wide{aspect-ratio:1/1}}
/* Mention visible sur tout visuel généré présentant un produit ou une scène (jamais présenté comme réel) */
[data-illus]{position:relative}
[data-illus]::after{content:"Visuel d'illustration";position:absolute;right:8px;bottom:8px;z-index:1;font-size:.6rem;letter-spacing:var(--tr-caps);text-transform:uppercase;background:rgba(8,7,6,.72);color:var(--papier-2);padding:4px 8px;pointer-events:none}
.rps-illus{font-size:.72rem;letter-spacing:var(--tr-caps);text-transform:uppercase;color:var(--gris-2);margin-top:8px}
/* Étalonnage commun des photos couleur de situation (sans effet visible sur les N&B ; tirages et packshots exclus) */
.rps-prod__vis img,.rps-cine>img,.rps-case__vis img,.rps-seg .rps-vis img,.rps-scene__vis img,.rps-model__vis img,.rps-arts__vis img,.rps-photo img,.rps-cmp__vis img{filter:var(--grade-couleur)}

/* ---------- Fiches modèles ---------- */
.rps-model{border:1px solid var(--ligne-2);display:flex;flex-direction:column;min-width:0}
.rps-model__vis{background:#000;aspect-ratio:4/3;overflow:hidden}
.rps-model__vis--square{aspect-ratio:1/1}
.rps-model__vis img{width:100%;height:100%;object-fit:cover}
.rps-model__body{padding:var(--s-6);display:flex;flex-direction:column;gap:12px;flex:1}
.rps-model__ideal{font-size:var(--fs-sm);color:var(--gris);border-top:1px solid var(--ligne);padding-top:12px;margin-top:auto}
.rps-dims{display:flex;gap:18px;font-variant-numeric:tabular-nums;flex-wrap:wrap;margin:0}
.rps-dims div{display:flex;flex-direction:column-reverse}
.rps-dims dd{margin:0;font-family:var(--cond);font-size:1.7rem;line-height:1;color:var(--papier)}
.rps-dims dt{font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;color:var(--gris)}

.rps-spec{width:100%;border-collapse:collapse;font-size:.95rem}
.rps-spec th,.rps-spec td{text-align:left;padding:14px 12px;border-bottom:1px solid var(--ligne);vertical-align:top}
.rps-spec th{font-weight:400;color:var(--gris);width:38%}
.rps-spec thead th{color:var(--or);font-size:var(--fs-xs);letter-spacing:var(--tr-caps);text-transform:uppercase;width:auto;font-weight:500}
.rps-spec td.rps-r{text-align:right}

.rps-shots{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:start}
.rps-shots img{box-shadow:var(--sh-photo)}

/* ---------- Avant / après IA ---------- */
.rps-ba{display:grid;grid-template-columns:.85fr auto 1.15fr;gap:18px;align-items:center}
.rps-ba>*{min-width:0}
.rps-ba figure{margin:0}
/* Le selfie garde sa couleur et sa lumière d'origine (c'est la démonstration) */
.rps-ba__before img{aspect-ratio:3/4;object-fit:cover;object-position:46% 30%;width:100%;outline:1px solid var(--ligne-2);outline-offset:-1px}
.rps-ba__before figcaption{font-size:var(--fs-xs);letter-spacing:var(--tr-caps);text-transform:uppercase;color:var(--gris);margin-top:10px}
.rps-ba__arrow{font-family:var(--display);font-size:2rem;color:var(--or)}

.rps-univ figure{margin:0;display:flex;flex-direction:column;gap:14px}
.rps-univ .rps-vis{aspect-ratio:var(--ar-scene)}
.rps-univ h3{font-size:var(--fs-h3);margin-bottom:6px}
/* Texte centré sous chaque tirage, dans l'axe de l'image */
.rps-univ figcaption{text-align:center;max-width:34ch;margin-inline:auto}

/* ---------- Portraits signature ---------- */
.rps-sig{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--s-4);margin:0;padding:0;list-style:none}
.rps-sig button{display:block;width:100%;padding:0;border:0;background:#000;cursor:zoom-in;overflow:hidden}
.rps-sig img{width:100%;aspect-ratio:var(--ar-portrait);object-fit:cover;transition:transform .8s var(--ease),opacity var(--dur-1)}
@media (max-width:820px){.rps-sig{grid-template-columns:repeat(2,1fr)}}

/* ---------- Portraits réels de cabine ---------- */
.rps-reels{display:grid;grid-template-columns:1fr 1fr 2fr;gap:16px;align-items:end;margin:0;padding:0;list-style:none}
.rps-reels>li{min-width:0}
.rps-reels button{display:block;width:100%;padding:0;border:0;background:none;cursor:zoom-in;box-shadow:var(--sh-photo)}
.rps-reels img{width:100%;transition:opacity var(--dur-1)}
.rps-reels button:hover img{opacity:.9}
@media (max-width:760px){.rps-reels{grid-template-columns:1fr 1fr}.rps-reels__wide{grid-column:1/-1}}

.rps-activ{display:grid;grid-template-columns:1.1fr repeat(3,1fr);gap:1px;background:var(--ligne);border:1px solid var(--ligne);margin-top:36px}
.rps-activ>div{background:var(--noir-2);padding:var(--s-5);display:flex;flex-direction:column;gap:4px;min-width:0}
.rps-activ b{font-weight:500}
.rps-activ span{font-size:var(--fs-sm)}
@media (max-width:820px){.rps-activ{grid-template-columns:1fr 1fr}}

.rps-incl{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--ligne);border:1px solid var(--ligne);margin:0;padding:0;list-style:none}
.rps-incl li{background:var(--noir-2);padding:var(--s-5);font-size:.92rem;min-width:0}
.rps-incl b{display:block;font-weight:500;color:var(--papier);margin-bottom:2px}
@media (max-width:760px){.rps-incl{grid-template-columns:1fr 1fr}}

/* ---------- Tarifs ---------- */
.rps-price{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}
.rps-price th,.rps-price td{padding:18px 14px;border-bottom:1px solid var(--ligne);text-align:left;font-weight:400;vertical-align:middle}
.rps-price th{width:100%}
.rps-price__name{font-family:var(--cond);font-size:1.5rem;letter-spacing:.05em}
.rps-price__desc{display:block;font-size:var(--fs-sm);color:var(--gris)}
.rps-price__val{white-space:nowrap;text-align:right}
.rps-price__val a{display:inline-flex;align-items:center;min-height:44px;font-size:.8rem;letter-spacing:.14em;text-transform:uppercase;color:var(--papier-2);text-decoration:underline;text-decoration-color:var(--ligne-2);text-underline-offset:6px;padding:0 2px;transition:color var(--dur-1),text-decoration-color var(--dur-1)}
.rps-price__val a:hover{color:var(--or-2);text-decoration-color:var(--or)}
.rps-price tr.is-star>*{background:var(--or-voile)}
.rps-price tr.is-star th{box-shadow:inset 2px 0 0 var(--velours-vif)}
.rps-badge{display:inline-block;margin-left:10px;font-family:var(--body);font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;border:1px solid var(--or);color:var(--or-2);padding:2px 8px;vertical-align:middle;white-space:nowrap}
@media (max-width:560px){
  .rps-price th,.rps-price td{padding:16px 8px}
  .rps-price__name{font-size:1.35rem}
  .rps-badge{display:table;margin:6px 0 4px}
}
@media (hover:hover){.rps-price tbody tr:not(.is-star):hover>*{background:rgba(242,236,226,.03)}}
.rps-card{border:1px solid var(--ligne-2);padding:var(--s-6);display:flex;flex-direction:column;gap:14px;min-width:0}

/* ---------- Comparatif ---------- */
.rps-cmp{border-collapse:collapse;width:100%}
.rps-cmp th,.rps-cmp td{padding:16px;border-bottom:1px solid var(--ligne);text-align:left;vertical-align:top;font-size:.95rem}
.rps-cmp thead th{font-family:var(--display);font-size:var(--fs-h3);font-weight:400;border-bottom-color:var(--ligne-2)}
.rps-cmp thead .rps-link{border:0}
.rps-cmp thead td{width:22%}
.rps-cmp thead th{width:39%}
.rps-cmp__vis{display:block;aspect-ratio:var(--ar-scene);margin-bottom:12px}
.rps-cmp__vis img{height:100%;margin:0}
.rps-cmp thead img{width:100%;aspect-ratio:var(--ar-scene);object-fit:cover;margin-bottom:12px}
.rps-cmp tbody th{color:var(--gris);font-weight:400;width:22%}
.rps-cmp td{width:39%}
@media (min-width:901px) and (hover:hover){.rps-cmp tbody tr:hover{background:rgba(242,236,226,.03)}}
/* Tablette et mobile : une fiche par critère, les deux expériences côte à côte */
@media (max-width:900px){
  .rps-cmp thead{display:none}
  .rps-cmp,.rps-cmp tbody,.rps-cmp tr,.rps-cmp th,.rps-cmp td{display:block;width:auto}
  .rps-cmp tr{display:grid;grid-template-columns:1fr 1fr;border-bottom:1px solid var(--ligne);padding-block:18px}
  .rps-cmp tbody th{width:auto;grid-column:1/-1;border:0;padding:0 0 8px;color:var(--or);font-size:var(--fs-xs);letter-spacing:var(--tr-caps);text-transform:uppercase;font-weight:500}
  .rps-cmp td{border:0;padding:0 12px 0 0;font-size:.9rem;line-height:1.5}
  .rps-cmp td+td{padding:0 0 0 12px;border-left:1px solid var(--ligne)}
  .rps-cmp td::before{content:attr(data-label);display:block;font-family:var(--body);font-size:.68rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gris);margin-bottom:6px}
}
.rps-choose{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--ligne);border:1px solid var(--ligne)}
.rps-choose>div{background:var(--noir-2);padding:var(--s-6);display:flex;flex-direction:column;gap:10px}
.rps-choose h3{font-size:var(--fs-h3)}
.rps-choose .rps-link{align-self:flex-start;display:inline-flex;align-items:center;min-height:44px;border-bottom:0;text-decoration:underline;text-decoration-color:var(--or-ligne);text-underline-offset:6px}
@media (max-width:560px){.rps-choose>div{padding:var(--s-5)}}
@media (max-width:820px){.rps-choose{grid-template-columns:1fr}}

/* Aide au choix */
.rps-quiz{border:1px solid var(--ligne-2);padding:clamp(20px,4vw,36px);display:flex;flex-direction:column;gap:22px}
.rps-quiz fieldset{border:0;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
.rps-quiz legend{font-family:var(--display);font-size:var(--fs-h4);margin-bottom:10px;padding:0}
.rps-quiz__opts{display:flex;flex-wrap:wrap;gap:8px}
.rps-quiz__res{border-top:1px solid var(--or-ligne);padding-top:20px}
.rps-quiz__res h3{font-size:var(--fs-h3);margin:6px 0 8px}

/* ---------- Segments événements ---------- */
.rps-seg{display:grid;grid-template-columns:280px 1fr;gap:36px;padding-block:36px;border-top:1px solid var(--ligne);scroll-margin-top:calc(var(--header-h) + 16px)}
.rps-seg>*{min-width:0}
.rps-seg .rps-vis{aspect-ratio:1/1}
@media (max-width:760px){.rps-seg{grid-template-columns:1fr}.rps-seg .rps-vis{max-width:320px}}
.rps-seg-nav{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}

/* ---------- Réalisations ---------- */
.rps-reflist{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--s-5)}
.rps-reflist>*{min-width:0}
@media (max-width:900px){.rps-reflist{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.rps-reflist{grid-template-columns:1fr;gap:32px}.rps-case__vis{aspect-ratio:3/2}}
.rps-case{display:flex;flex-direction:column;gap:10px}
.rps-case__vis{aspect-ratio:4/3;overflow:hidden;background:#000;padding:0;border:0;cursor:zoom-in;display:block;width:100%}
.rps-case__vis img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease)}
.rps-case__meta{font-size:var(--fs-xs);letter-spacing:var(--tr-caps);text-transform:uppercase;color:var(--gris)}
.rps-case h3{font-size:var(--fs-h3)}
.rps-count{font-size:var(--fs-sm);color:var(--gris);margin:0 0 18px}

/* ---------- Héritage ---------- */
.rps-legend-prints{position:relative;height:clamp(420px,48vw,600px);max-width:520px;width:100%;margin:0 auto}
.rps-legend-prints .rps-print{position:absolute}
.rps-legend-prints .rps-print--lp1{width:66%;right:0;top:0;transform:rotate(2deg)}
.rps-legend-prints .rps-print--lp2{width:52%;left:0;bottom:0;transform:rotate(-2.5deg)}
@media (max-width:760px){.rps-legend-prints{height:min(120vw,480px)}}
.rps-legend .rps-stack{border-top:1px solid var(--or-ligne);padding-top:18px;gap:10px}
.rps-legend h3{font-style:italic}

/* ---------- FAQ ---------- */
.rps-faq__cat{font-family:var(--body);font-size:var(--fs-xs);letter-spacing:var(--tr-eyebrow);text-transform:uppercase;color:var(--or);font-weight:500;margin-top:40px}
.rps-faq__item{border-bottom:1px solid var(--ligne)}
.rps-faq__item summary{cursor:pointer;padding:20px 0;font-family:var(--display);font-size:var(--fs-h4);list-style:none;display:flex;justify-content:space-between;gap:20px}
.rps-faq__item summary::-webkit-details-marker{display:none}
.rps-faq__item summary::after{content:"+";color:var(--or);font-family:var(--body);font-weight:300;font-size:1.5rem;line-height:1;flex-shrink:0}
.rps-faq__item[open] summary::after{content:"–"}
.rps-faq__item summary:hover{color:var(--or-2)}
.rps-faq__a{padding-bottom:22px;color:var(--papier-2);max-width:70ch}

/* Packshot détouré (fond transparent) posé sur le noir, et atouts en grille 2 × 2 à côté */
.rps-packshot{margin:0;justify-self:center;width:100%;max-width:380px}
.rps-packshot img{width:100%;height:auto;filter:drop-shadow(0 40px 50px rgba(0,0,0,.75))}
.rps-feats{display:grid;grid-template-columns:1fr 1fr;gap:32px 28px}
@media (max-width:760px){.rps-packshot{max-width:300px}}
@media (max-width:440px){.rps-feats{grid-template-columns:1fr}}

/* Pages légales : texte courant sur une colonne étroite */
.rps-legaltext{color:var(--papier-2);max-width:70ch}
.rps-legaltext h2{font-family:var(--body);font-size:var(--fs-xs);letter-spacing:var(--tr-eyebrow);text-transform:uppercase;color:var(--or);font-weight:500;margin:40px 0 12px}
.rps-legaltext h2:first-child{margin-top:0}
.rps-legaltext p,.rps-legaltext ul{margin:0 0 14px}
.rps-legaltext ul{padding-left:1.2em}
.rps-legaltext li{margin-bottom:6px}

/* ---------- Appel à l'action de fin de page ---------- */
.rps-cta{text-align:center;display:flex;flex-direction:column;align-items:center;gap:18px}
.rps-cta h2::after{margin-inline:auto}
.rps-cta .rps-lede{margin-inline:auto}

/* ---------- Visionneuse ---------- */
.rps-lightbox{border:0;padding:0;margin:0;width:100vw;height:100vh;height:100dvh;max-width:none;max-height:none;background:rgba(8,7,6,.96);color:var(--papier)}
.rps-lightbox::backdrop{background:rgba(8,7,6,.96)}
.rps-lightbox[open]{display:grid;grid-template-rows:1fr auto;animation:rps-fade var(--dur-1) ease both}
@keyframes rps-fade{from{opacity:0}to{opacity:1}}
.rps-lightbox__stage{display:grid;place-items:center;padding:56px 64px 8px;min-height:0}
.rps-lightbox__stage img{max-width:100%;max-height:calc(100vh - 150px);max-height:calc(100dvh - 150px);width:auto;height:auto;object-fit:contain;box-shadow:var(--sh-photo);animation:rps-fade var(--dur-1) ease both}
.rps-lightbox__bar{display:flex;align-items:center;justify-content:center;gap:18px;padding:14px 16px 24px;font-size:.8rem;letter-spacing:var(--tr-caps);text-transform:uppercase;color:var(--gris)}
/* Contrôles lisibles même sur un tirage blanc */
.rps-lightbox button{background:rgba(8,7,6,.62);border:1px solid var(--ligne-2);color:var(--papier);width:48px;height:48px;cursor:pointer;font-family:var(--display);font-size:1.7rem;line-height:1;transition:border-color var(--dur-1),color var(--dur-1)}
.rps-lightbox button:hover{border-color:var(--or);color:var(--or-2)}
.rps-lightbox button:focus-visible{outline-offset:2px;border-color:var(--or)}
.rps-lightbox button:active{background:var(--noir-3)}
.rps-lightbox__close{position:absolute;top:max(12px,env(safe-area-inset-top));right:max(12px,env(safe-area-inset-right))}
.rps-lightbox__prev,.rps-lightbox__next{position:absolute;top:50%;transform:translateY(-50%)}
.rps-lightbox__prev{left:8px}
.rps-lightbox__next{right:8px}
@media (max-width:640px){.rps-lightbox__stage{padding:64px 8px 8px}.rps-lightbox__bar{padding:14px 68px 26px;flex-direction:column;gap:4px;text-align:center;min-height:80px}.rps-lightbox__prev,.rps-lightbox__next{top:auto;bottom:16px;transform:none}}

/* ---------- Interactions : survol réservé aux souris, même effet au clavier ---------- */
@media (hover:hover){
  .rps-prod:hover .rps-prod__vis img,.rps-arts a:hover img,.rps-sig button:hover img,.rps-case__vis:hover img{transform:scale(1.03)}
  .rps-prod:hover h3,.rps-arts a:hover h3{color:var(--or-2)}
  .rps-prod:hover .rps-more{transform:translateX(4px)}
}
.rps-prod:focus-visible .rps-prod__vis img,.rps-arts a:focus-visible img,.rps-sig button:focus-visible img,.rps-case__vis:focus-visible img{transform:scale(1.03)}
.rps-prod:focus-visible h3,.rps-arts a:focus-visible h3{color:var(--or-2)}
.rps-prod:focus-visible .rps-more{transform:translateX(4px)}
.rps-prod:focus-visible,.rps-arts a:focus-visible,.rps-sig button:focus-visible,.rps-case__vis:focus-visible{outline-offset:-2px}

/* ---------- Finitions de mise en page ---------- */
.rps-hero .rps-orn{margin-block:-8px -6px}
/* Liens d'action isolés : cible de 44 px */
.rps-row .rps-link,.rps-cmp thead .rps-link,p.rps-note>.rps-link:only-child{display:inline-flex;align-items:center;min-height:44px;border-bottom:0;text-decoration:underline;text-decoration-color:rgba(201,164,92,.6);text-underline-offset:6px}
.rps-row .rps-link:hover,p.rps-note>.rps-link:only-child:hover{text-decoration-color:var(--or-2)}
.rps-cmp thead .rps-link{text-decoration:none}
/* Galerie smartphone : deux colonnes sur mobile plutôt que quatre visuels empilés */
@media (max-width:440px){#smartphone .rps-g4{grid-template-columns:1fr 1fr;gap:12px}#smartphone .rps-scene>span{letter-spacing:.12em}}
@media (max-width:560px){.rps-model__body,.rps-card{padding:var(--s-5)}}

/* ---------- Mobile : aucun texte sous 14 px ---------- */
@media (max-width:760px){
  .rps-btn,.rps-btn--sm{font-size:.875rem}
  .rps-badge,.rps-tag,.rps-dims dt,.rps-photo figcaption,.rps-illus,.rps-fcols h2{font-size:.875rem}
  .rps-note,.rps-chip,li.rps-chip,.rps-legal,.rps-more,.rps-facts,.rps-crumbs,.rps-price__val a,.rps-opt small{font-size:.875rem}
}

/* ---------- Actualités (bloc écrit par le back-office, écran Actualités) ---------- */
.rps-news{display:grid;gap:var(--s-7)}
.rps-news__h{font-size:clamp(1.5rem,2.6vw,2rem);margin:0 0 var(--s-5);padding-bottom:var(--s-3);border-bottom:1px solid var(--or-ligne)}
.rps-news__list{display:grid;gap:var(--s-6)}
.rps-news__item{display:grid;grid-template-columns:minmax(0,320px) minmax(0,1fr);gap:var(--s-5);align-items:start}
.rps-news__item:not(:has(.rps-news__vis)){grid-template-columns:minmax(0,1fr)}
.rps-news__item+.rps-news__item{padding-top:var(--s-6);border-top:1px solid var(--ligne)}
.rps-news__vis{aspect-ratio:4/3;overflow:hidden;background:#000}
.rps-news__vis img{width:100%;height:100%;object-fit:cover;display:block}
.rps-news__body{display:grid;gap:var(--s-3);max-width:68ch}
.rps-news__body>*{margin:0}
.rps-news__body h3{font-size:clamp(1.25rem,2vw,1.55rem)}
.rps-news__body .rps-link{justify-self:start}
.rps-news__meta{display:flex;flex-wrap:wrap;gap:6px 14px;align-items:baseline;font-size:var(--fs-sm);color:var(--gris)}
.rps-news__type{color:var(--or);font-size:var(--fs-xs);letter-spacing:var(--tr-caps);text-transform:uppercase}
.rps-news__meta time{color:var(--papier)}
.rps-news__group[hidden],.rps-news__none[hidden]{display:none}
@media (max-width:700px){.rps-news__item{grid-template-columns:minmax(0,1fr)}.rps-news__vis{aspect-ratio:3/2}}
