/* =====================================================================
   Apogeo Studio — direction « session » : fond anthracite, grandes
   photos du studio, cartes arrondies, titres Syne, bleu Apogeo + doré.
   ===================================================================== */
@font-face{font-family:"Syne";src:url("../../fonts/syne-latin-wght-normal.woff2") format("woff2");font-weight:400 800;font-display:swap}
:root{
  --r-bg:#0f1115;--r-bg2:#14171c;--r-card:#1c1f25;--r-card2:#23272e;--r-line:rgba(255,255,255,.09);--r-line2:rgba(255,255,255,.16);
  --r-fg:#f3f5f8;--r-mut:#a2abb7;--r-acc:#4f8fd1;--r-acc-hi:#6aa5e2;--r-gold:#d7b46a;--r-gold-hi:#ecd19a;
  --r-h:"Syne","Montserrat",sans-serif;--r-rad:22px;
}
body.rhome,body.rpage{background:var(--r-bg);color:var(--r-fg)}
.rhome main,.rpage main{background:var(--r-bg)}
.sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* étiquettes « ACCUEIL | … » */
.rlabel{display:inline-flex;align-items:center;gap:.4rem;padding:.55rem .95rem;border-radius:9px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.06);
  font-size:.875rem;font-weight:500;color:#e7ebf0;margin-bottom:1.5rem;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.rlabel b{font-weight:600;text-transform:uppercase;letter-spacing:.02em}
.rlabel.center{display:flex;width:max-content;margin-inline:auto}
.rh1,.rh2{font-family:var(--r-h);font-weight:600;letter-spacing:-.015em;color:var(--r-fg)}
.rh2{font-size:clamp(2.1rem,4.3vw,3.5rem);line-height:1.08;max-width:18ch;text-wrap:balance}
.rh2.center,.rp.center{text-align:center;margin-inline:auto}
.rp{color:var(--r-mut);font-size:1.0625rem;line-height:1.65;max-width:56ch}
.rsec{padding-block:clamp(4.5rem,9vw,7.5rem)}
.rsec+.rsec{padding-top:clamp(1.5rem,4vw,3rem)}
.rhead{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:1.5rem 4rem;align-items:end;margin-bottom:clamp(2.25rem,4.5vw,3.5rem)}
.rhead .rlabel{margin-bottom:1.25rem}
.rhead .rp{margin-bottom:.4rem}
@media (max-width:860px){.rhead{grid-template-columns:minmax(0,1fr)}}

/* boutons */
.rbtn{display:inline-flex;align-items:center;justify-content:center;gap:.65rem;height:56px;padding:0 1.6rem;border-radius:12px;background:var(--r-acc);color:#fff;
  font-family:var(--r-h);font-weight:600;font-size:1rem;letter-spacing:.005em;text-decoration:none;border:1px solid var(--r-acc);transition:background .2s,border-color .2s,transform .2s;cursor:var(--cur-link,pointer)}
.rbtn svg{width:18px;height:18px}
.rbtn:hover{background:var(--r-acc-hi);border-color:var(--r-acc-hi);transform:translateY(-1px)}
.rbtn-line{background:transparent;border-color:rgba(255,255,255,.75);color:#fff}
.rbtn-line:hover{background:rgba(255,255,255,.08);border-color:#fff}
.rbtn.full{width:100%}
.rctas{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center}
.rlink{display:inline-flex;align-items:center;gap:.5rem;font-family:var(--r-h);font-weight:600;color:var(--r-fg);text-decoration:none;border-bottom:1px solid var(--r-gold);padding-bottom:.2rem}
.rlink svg{width:16px;height:16px}
.rlink:hover{color:var(--r-gold-hi)}
.rprice{font-family:var(--r-h);font-weight:600;font-size:1.0625rem;color:var(--r-gold-hi)}

/* héros */
.rhero{position:relative;isolation:isolate;min-height:min(92svh,900px);display:flex;align-items:center;text-align:center;padding:clamp(6rem,12vw,9rem) 0 clamp(5rem,10vw,8rem);overflow:hidden}
.rhero::before{content:"";position:absolute;inset:0;z-index:-2;background:var(--bg) center 40%/cover no-repeat;transform:scale(1.04)}
.rhero::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(15,17,21,.55) 0%,rgba(10,22,48,.55) 45%,var(--r-bg) 100%),radial-gradient(60% 60% at 50% 45%,rgba(15,17,21,.15),rgba(15,17,21,.6))}
.rhero-in{display:flex;flex-direction:column;align-items:center}
.rh1{font-size:clamp(2.9rem,7.6vw,7rem);line-height:1.02;max-width:15ch;display:flex;flex-direction:column}
.rh1 .fade{background:linear-gradient(180deg,#fff 15%,rgba(170,205,240,.55) 100%);-webkit-background-clip:text;background-clip:text;color:transparent}
.rlede{margin:1.75rem auto 2.5rem;max-width:52ch;font-size:clamp(1.0625rem,1.6vw,1.25rem);line-height:1.6;color:#dfe5ec}

/* ---------- fenêtres de session ---------- */
.ptwin{--pt-head:220px;position:relative;border-radius:16px;background:#1a1c20;border:1px solid #2c2f35;box-shadow:0 40px 90px -40px rgba(0,0,0,.9),0 0 0 1px rgba(0,0,0,.5);overflow:hidden;font-family:"Instrument Sans",system-ui,sans-serif;color:#d6dbe2}
.pt-bar{display:flex;align-items:center;gap:1rem;padding:.6rem 1rem;background:linear-gradient(180deg,#2b2e34,#22252a);border-bottom:1px solid #111317}
.pt-dots{display:flex;gap:6px}.pt-dots i{width:11px;height:11px;border-radius:50%;background:#3b3f46}.pt-dots i:nth-child(1){background:#e2574c}.pt-dots i:nth-child(2){background:#e5b440}.pt-dots i:nth-child(3){background:#5db650}
.pt-title{font-size:.8125rem;color:#9aa3ae;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1;min-width:0}
.pt-transport{display:flex;gap:4px;padding:3px;border-radius:8px;background:#15171b;border:1px solid #33363c}
.pt-tbtn{display:grid;place-items:center;width:34px;height:28px;border-radius:5px;border:0;background:#2a2d33;color:#c9ced6;cursor:var(--cur-link,pointer)}
.pt-tbtn svg{width:14px;height:14px;fill:currentColor}
.pt-tbtn:hover{background:#353941;color:#fff}
.pt-play[aria-pressed="true"]{background:#2f7d4f;color:#fff}
.pt-play .i-pause,.pt-rplay .i-pause{display:none}
.pt-play[aria-pressed="true"] .i-play,.pt-rplay[aria-pressed="true"] .i-play{display:none}
.pt-play[aria-pressed="true"] .i-pause,.pt-rplay[aria-pressed="true"] .i-pause{display:block}
.pt-counter{display:flex;flex-direction:column;align-items:flex-end;padding:.2rem .7rem;border-radius:6px;background:#0c0d10;border:1px solid #2c2f35;min-width:9.5rem}
.pt-counter b{font-family:"DM Mono",ui-monospace,monospace;font-weight:500;font-size:1rem;color:#7ee08f;letter-spacing:.04em;font-variant-numeric:tabular-nums}
.pt-counter small{font-family:"DM Mono",ui-monospace,monospace;font-size:.6875rem;color:#6d7682}
.pt-body{position:relative}
.pt-ruler{display:grid;grid-template-columns:var(--pt-head) 1fr;height:28px;background:#202328;border-bottom:1px solid #111317;font-family:"DM Mono",ui-monospace,monospace;font-size:.6875rem;color:#7d8590}
.pt-ruler-head{display:flex;align-items:center;padding-left:.9rem;border-right:1px solid #111317}
.pt-ruler-bars{position:relative;background:repeating-linear-gradient(90deg,transparent 0 calc(100%/24 - 1px),#2c2f35 calc(100%/24 - 1px) calc(100%/24))}
.pt-ruler-bars i{position:absolute;left:var(--x);top:6px;padding-left:4px;font-style:normal;border-left:1px solid #555b64;height:22px}
.ptlisten .pt-ruler-bars{background:repeating-linear-gradient(90deg,transparent 0 calc(25%/4 - 1px),#2c2f35 calc(25%/4 - 1px) calc(25%/4))}
.pt-track{display:grid;grid-template-columns:var(--pt-head) 1fr;min-height:62px;border-bottom:1px solid #111317;color:inherit;text-decoration:none;background:#1a1c20;transition:background .15s}
a.pt-track{cursor:var(--cur-link,pointer)}
.pt-track:hover{background:#202329}
.pt-head{position:relative;display:flex;align-items:center;gap:.6rem;padding:.5rem .7rem .5rem 1rem;background:#24272c;border-right:1px solid #111317}
.pt-head::before{content:"";position:absolute;left:0;top:0;bottom:0;width:5px;background:var(--c)}
.pt-num{font-family:"DM Mono",ui-monospace,monospace;font-size:.6875rem;color:#7d8590}
.pt-name{flex:1;min-width:0;font-size:.875rem;font-weight:600;color:#e8ecf1;line-height:1.25}
.pt-name small{display:block;font-weight:400;font-size:.75rem;color:#8a939e;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pt-rsm{display:flex;gap:3px}
.pt-rsm i,.pt-rsm button{display:grid;place-items:center;min-width:20px;height:18px;padding:0 3px;border-radius:3px;background:#33373e;color:#9aa3ae;font:600 .625rem/1 "DM Mono",monospace;font-style:normal;border:0}
.pt-track:hover .pt-rsm i:nth-child(2){background:#e5b440;color:#1a1c20}
.pt-solo{cursor:var(--cur-link,pointer)}
.pt-solo[aria-pressed="true"]{background:#e5b440!important;color:#1a1c20!important}
.pt-ab button{cursor:var(--cur-link,pointer)}.pt-ab button[aria-pressed="true"]{background:var(--r-acc);color:#fff}
.pt-lane{position:relative;background:repeating-linear-gradient(90deg,transparent 0 calc(100%/24 - 1px),rgba(255,255,255,.035) calc(100%/24 - 1px) calc(100%/24))}
.ptlisten .pt-lane{background:repeating-linear-gradient(90deg,transparent 0 calc(25%/4 - 1px),rgba(255,255,255,.035) calc(25%/4 - 1px) calc(25%/4))}
.pt-clip{position:absolute;left:var(--x);width:var(--w);top:6px;bottom:6px;border-radius:5px;overflow:hidden;background:color-mix(in srgb,var(--c) 30%,#14161a);border:1px solid color-mix(in srgb,var(--c) 75%,#000);transition:filter .2s,box-shadow .2s}
.pt-clip-name{position:absolute;left:0;right:0;top:0;padding:1px 6px;font-size:.6875rem;font-weight:600;color:#0d0f12;background:var(--c);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;z-index:1}
.pt-clip-desc{position:absolute;left:6px;right:6px;bottom:3px;font-size:.6875rem;color:#e8ecf1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;opacity:0;transition:opacity .2s;z-index:1;text-shadow:0 1px 2px #000}
.pt-wave{position:absolute;left:0;right:0;top:15px;bottom:2px;width:100%;height:calc(100% - 17px);fill:color-mix(in srgb,var(--c) 85%,#fff)}
a.pt-track:hover .pt-clip,.pt-clip.is-on{filter:brightness(1.25);box-shadow:0 0 0 1px var(--c),0 0 18px -4px var(--c)}
a.pt-track:hover .pt-clip-desc{opacity:1}
a.pt-track:hover .pt-wave{opacity:.35}
.pt-playhead{position:absolute;top:0;bottom:0;left:calc(var(--pt-head) + (100% - var(--pt-head)) * var(--p,0));width:2px;margin-left:-1px;background:#7ee08f;box-shadow:0 0 8px rgba(126,224,143,.7);pointer-events:none;z-index:3}
.pt-playhead::before{content:"";position:absolute;top:0;left:-5px;border:6px solid transparent;border-top:8px solid #7ee08f}
.pt-prog{position:absolute;top:15px;bottom:0;left:0;width:calc(var(--p,0)*100%);background:rgba(255,255,255,.12);border-right:2px solid #7ee08f;pointer-events:none}
.pt-real:not(.is-playing) .pt-prog{border-right-color:transparent}
.pt-rplay{display:grid;place-items:center;flex:none;width:30px;height:30px;border-radius:50%;border:0;background:var(--c);color:#0d0f12;cursor:var(--cur-link,pointer)}
.pt-rplay svg{width:12px;height:12px;fill:currentColor}
.pt-real .pt-lane{cursor:var(--cur-link,pointer)}
/* couleurs de pistes */
.c0{--c:#8b939f}.c1{--c:#6aa5e2}.c2{--c:#d7b46a}.c3{--c:#b27ae6}.c4{--c:#5fc1b0}.c5{--c:#e58a5b}.c6{--c:#7ad07f}.c7{--c:#e36d8f}.c8{--c:#e2d36a}.c9{--c:#56b6e8}
.ptlisten .pt-track{min-height:74px}
.pt-listen-grid{display:grid;grid-template-columns:minmax(0,1fr) 300px}
.pt-master{display:flex;flex-direction:column;gap:.75rem;padding:1rem;background:#202328;border-left:1px solid #111317}
.pt-master-title{font:600 .6875rem/1 "DM Mono",monospace;color:#8a939e;text-transform:uppercase;letter-spacing:.12em}
.pt-spec{display:block;width:100%;height:70px;border-radius:6px;background:#0c0d10;border:1px solid #2c2f35}
.pt-master .meters{display:grid;grid-template-columns:1fr 1fr;gap:.5rem}
.pt-master .meter{position:relative;padding:5px;border-radius:5px;background:#0b0d10;box-shadow:inset 0 2px 6px #000}
.pt-master .meter svg{display:block;width:100%;height:auto;border-radius:3px;filter:drop-shadow(0 0 10px rgba(241,205,140,.25))}
.pt-master .meter-ch{position:absolute;right:9px;bottom:7px;font:600 .625rem/1 "Montserrat",sans-serif;color:#2a2018}
.pt-master .plate-foot{display:flex;align-items:center;justify-content:space-between;margin:0;padding:0;font-size:.75rem;color:#8a939e}
.pt-master .demo-note{font-size:.75rem;line-height:1.5;color:#7d8590;margin-top:auto}
.ptlisten .led{width:9px;height:9px;border-radius:50%;background:#4a1a22}.ptlisten .led.on{background:#e04a5a;box-shadow:0 0 10px #e04a5a}
.ptlisten.is-playing .pt-demo[data-row] .pt-clip{filter:brightness(.8)}
.ptlisten .demo[data-mode="raw"] .pt-demo[data-row="raw"] .pt-clip,.ptlisten .demo[data-mode="mix"] .pt-demo[data-row="mix"] .pt-clip{filter:brightness(1.2);box-shadow:0 0 0 1px var(--c),0 0 20px -4px var(--c)}
.ptlisten .demo[data-mode="raw"] .pt-demo[data-row="mix"] .pt-clip,.ptlisten .demo[data-mode="mix"] .pt-demo[data-row="raw"] .pt-clip{opacity:.45}
@media (max-width:980px){.pt-listen-grid{grid-template-columns:minmax(0,1fr)}.pt-master{border-left:0;border-top:1px solid #111317}.pt-master .meters{max-width:420px}}
@media (max-width:640px){.ptwin{--pt-head:128px;border-radius:12px}.pt-title{display:none}.pt-counter{min-width:0}.pt-num,.pt-rsm i{display:none}.pt-name{font-size:.8125rem}.pt-name small{display:none}.pt-ruler-bars i:nth-child(even){display:none}}

/* ---------- à propos ---------- */
.rabout{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:clamp(2rem,5vw,4rem);align-items:stretch}
.rabout-text{display:flex;flex-direction:column}
.rabout-foot{margin-top:auto;padding-top:2.5rem;display:grid;gap:1.75rem;justify-items:start}
.rabout-visual{position:relative;min-height:600px}
.rabout-visual>img{position:absolute;right:0;top:0;width:62%;height:100%;object-fit:cover;border-radius:var(--r-rad)}
.rstack{position:relative;z-index:1;display:grid;gap:1rem;width:80%;padding-block:1.5rem}
.rstack li{display:flex;gap:1.1rem;align-items:flex-start;padding:1.5rem 1.6rem;border-radius:18px;background:linear-gradient(90deg,rgba(35,39,46,.97) 55%,rgba(35,39,46,.72));border:1px solid var(--r-line);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.rstack svg{flex:none;width:30px;height:30px;color:var(--r-acc-hi);margin-top:.15rem}
.rstack h3{font-family:var(--r-h);font-weight:600;font-size:1.3rem;margin-bottom:.35rem}
.rstack p{color:var(--r-mut);font-size:.9375rem;line-height:1.55}
@media (max-width:960px){.rabout{grid-template-columns:minmax(0,1fr)}.rabout-visual{min-height:0}.rabout-visual>img{position:relative;width:100%;height:auto;aspect-ratio:4/3}.rstack{width:auto;margin-top:-4rem;padding:0 1rem}}

/* ---------- prestations ---------- */
.rsvc{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(1.5rem,4vw,3.5rem);align-items:center;padding:clamp(1.5rem,3.5vw,3rem);border-radius:26px;background:var(--r-card);border:1px solid var(--r-line);margin-bottom:1.5rem}
.rsvc-num{display:block;font-family:var(--r-h);font-weight:700;font-size:clamp(3.5rem,7vw,6rem);line-height:1;color:#fff;margin-bottom:clamp(2rem,6vw,5rem)}
.rsvc-num.sm{font-size:2.25rem;margin-bottom:1.25rem;color:var(--r-gold-hi)}
.rsvc h3{font-family:var(--r-h);font-weight:600;font-size:clamp(1.6rem,2.8vw,2.35rem);letter-spacing:-.01em;margin-bottom:1rem}
.rsvc p{color:var(--r-mut);font-size:1.0625rem;line-height:1.65;max-width:50ch}
.rsvc-foot{display:flex;flex-wrap:wrap;align-items:center;gap:1rem 1.5rem;margin-top:2rem}
.rsvc-img{position:relative;margin:0;border-radius:20px;overflow:hidden;aspect-ratio:16/10}
.rsvc-img img{width:100%;height:100%;object-fit:cover;transition:transform .6s}
.rsvc:hover .rsvc-img img{transform:scale(1.03)}
.rsvc-img figcaption{position:absolute;left:1rem;right:1rem;bottom:1rem;display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.5rem}
.rsvc-img figcaption span{padding:.55rem .9rem;border-radius:10px;background:rgba(20,22,26,.6);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.12);font-size:.8125rem;font-weight:600;color:#fff;text-transform:uppercase;letter-spacing:.02em}
.rsvc:nth-of-type(even) .rsvc-img{order:-1}
.rmini{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.25rem;margin-top:.5rem}
.rmini article{padding:1.75rem 1.5rem;border-radius:20px;background:var(--r-card);border:1px solid var(--r-line)}
.rmini h3{font-family:var(--r-h);font-weight:600;font-size:1.25rem;margin-bottom:.6rem}
.rmini p{color:var(--r-mut);font-size:.9375rem;line-height:1.6}
@media (max-width:900px){.rsvc{grid-template-columns:minmax(0,1fr)}.rsvc:nth-of-type(even) .rsvc-img{order:0}.rsvc-num{margin-bottom:1.25rem}.rmini{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.rmini{grid-template-columns:minmax(0,1fr)}}

/* ---------- matériel ---------- */
.rwhy{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(2rem,6vw,5rem);align-items:start}
.rwhy-left img{display:block;width:100%;aspect-ratio:16/10;object-fit:cover;border-radius:var(--r-rad);margin-top:2.5rem}
.rwhy-list{display:grid;gap:2.25rem;padding-top:.5rem}
.rwhy-list li{display:flex;gap:1.5rem;align-items:flex-start}
.ricon{flex:none;display:grid;place-items:center;width:62px;height:62px;border-radius:14px;border:1.5px solid var(--r-acc);color:var(--r-acc-hi)}
.ricon svg{width:28px;height:28px}
.ricon.solid{background:var(--r-acc);border-color:var(--r-acc);color:#fff}
.rwhy-list h3{font-family:var(--r-h);font-weight:600;font-size:1.4rem;margin-bottom:.5rem}
.rwhy-list p{color:var(--r-mut);line-height:1.6}
.rwhy-more{padding-left:calc(62px + 1.5rem)}
@media (max-width:900px){.rwhy{grid-template-columns:minmax(0,1fr)}}

/* ---------- galerie ---------- */
.rgallery{position:relative;overflow:hidden;padding:clamp(3rem,7vw,5.5rem) clamp(1rem,3vw,2.5rem) clamp(3rem,6vw,5rem);border-radius:28px;border:1px solid var(--r-line2);background:radial-gradient(60% 50% at 50% 60%,rgba(79,143,209,.12),transparent 70%),#0d0f13}
.rgallery-wave{position:absolute;left:0;right:0;top:52%;width:100%;height:200px;fill:none;stroke:rgba(106,165,226,.35);stroke-width:2;filter:drop-shadow(0 0 6px rgba(79,143,209,.6))}
.rgallery .rh2,.rgallery .rp,.rgallery .rlabel{position:relative}
.rflow{position:relative;display:flex;justify-content:center;align-items:center;gap:clamp(.5rem,1.4vw,1.25rem);margin-top:clamp(2.5rem,5vw,4rem);perspective:1400px}
.rflow figure{margin:0;flex:0 1 220px;aspect-ratio:3/4;border-radius:18px;overflow:hidden;border:1px solid rgba(255,255,255,.25);transform:rotateY(var(--r,0deg));box-shadow:0 30px 60px -25px rgba(0,0,0,.9)}
.rflow figure.mid{flex-basis:250px;aspect-ratio:9/16;max-height:470px;transform:none;border-color:rgba(215,180,106,.6)}
.rflow img,.rflow video{display:block;width:100%;height:100%;object-fit:cover}
@media (max-width:760px){.rflow{overflow-x:auto;justify-content:flex-start;scroll-snap-type:x mandatory;padding-bottom:.5rem}.rflow figure{flex:0 0 62%;transform:none;scroll-snap-align:center}.rflow figure.mid{flex-basis:62%}}

/* ---------- déroulé ---------- */
.rsteps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.25rem}
.rsteps li{padding:2rem 1.6rem;border-radius:20px;background:var(--r-card);border:1px solid var(--r-line)}
.rsteps h3{font-family:var(--r-h);font-weight:600;font-size:1.3rem;margin-bottom:.6rem}
.rsteps p{color:var(--r-mut);line-height:1.6;font-size:.9375rem}
@media (max-width:980px){.rsteps{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.rsteps{grid-template-columns:minmax(0,1fr)}}

/* ---------- tarifs (accueil) ---------- */
.rtarifs{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:2.5rem 4rem;align-items:center;padding:clamp(2rem,5vw,3.5rem);border-radius:28px;background:radial-gradient(60% 80% at 100% 0%,rgba(79,143,209,.22),transparent 70%),var(--r-card);border:1px solid var(--r-line)}
.rtarifs .rh2{margin-bottom:2rem}
.rtarifs ul{display:grid;gap:.6rem}
.rtarifs ul a{display:flex;justify-content:space-between;gap:1rem;align-items:baseline;padding:1.1rem 1.25rem;border-radius:14px;background:rgba(255,255,255,.04);border:1px solid var(--r-line);color:var(--r-fg);text-decoration:none;transition:border-color .2s,background .2s}
.rtarifs ul a:hover{border-color:rgba(215,180,106,.6);background:rgba(255,255,255,.07)}
.rtarifs ul span{font-family:var(--r-h);font-weight:600}
.rtarifs ul b{font-family:var(--r-h);font-weight:600;color:var(--r-gold-hi);white-space:nowrap}
@media (max-width:860px){.rtarifs{grid-template-columns:minmax(0,1fr)}}

/* ---------- contact ---------- */
.rcontact{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(2rem,6vw,5rem);align-items:start}
.rinfo{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem 1.25rem;margin-top:2.5rem}
.rinfo li{display:flex;gap:1rem;align-items:center}
.rinfo small{display:block;font-family:var(--r-h);font-size:.9375rem;color:var(--r-mut);margin-bottom:.15rem}
.rinfo a,.rinfo span{font-family:var(--r-h);font-weight:600;font-size:1.05rem;color:var(--r-fg);text-decoration:none;overflow-wrap:anywhere}
.rinfo .ricon{width:56px;height:56px}
.rform{display:grid;gap:1rem;padding:clamp(1.5rem,4vw,3rem);border-radius:26px;background:var(--r-card);border:1px solid var(--r-line)}
.rrow{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.rform input,.rform select,.rform textarea{width:100%;padding:1.05rem 1.1rem;border-radius:12px;border:1px solid var(--r-line2);background:#2a2d33;color:var(--r-fg);font:inherit;font-size:1rem}
.rform textarea{min-height:150px;resize:vertical}
.rform input::placeholder,.rform textarea::placeholder{color:#7d8590}
.rform input:focus,.rform select:focus,.rform textarea:focus{outline:2px solid var(--r-acc);outline-offset:1px}
.rform .status{font-size:.875rem;color:var(--r-mut)}
.rform .hp{position:absolute;left:-9999px}
@media (max-width:900px){.rcontact{grid-template-columns:minmax(0,1fr)}}
@media (max-width:520px){.rinfo,.rrow{grid-template-columns:minmax(0,1fr)}}

/* ---------- chrome partagé ---------- */
.rhome .top,.rpage .top{background:rgba(15,17,21,.82)}
.rhome .foot,.rpage .foot{background:#0b0d10}
.rhome .top .btn-primary,.rpage .top .btn-primary{background:var(--r-acc);color:#fff;box-shadow:none;border-radius:12px}
.rhome .top .btn-primary:hover,.rpage .top .btn-primary:hover{background:var(--r-acc-hi)}
.rhome .mainnav a,.rpage .mainnav a{font-family:var(--r-h);font-weight:500}
.rhome .mainnav a:hover,.rhome .mainnav a[aria-current="page"],.rpage .mainnav a:hover,.rpage .mainnav a[aria-current="page"]{box-shadow:inset 0 -2px 0 var(--r-acc)}
.rh1{font-size:clamp(2.7rem,6.4vw,6rem);max-width:20ch}
.rh1 span{display:block}

/* ---------- pages intérieures « r » ---------- */
.rpage-head{padding:clamp(4rem,9vw,7rem) 0 clamp(2rem,4vw,3rem);background:radial-gradient(50% 120% at 85% 0%,rgba(79,143,209,.22),transparent 65%)}
.rh1.left{display:block;font-size:clamp(2.6rem,6vw,5.2rem);line-height:1.04;max-width:16ch;margin-bottom:1.5rem}
.rsec.tight-top{padding-top:1rem}
.rctas.left{justify-content:flex-start}
.rgrid-sheet{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem 2.5rem;padding:clamp(1.5rem,3.5vw,2.5rem);border-radius:24px;background:var(--r-card);border:1px solid var(--r-line)}
.rgrid-sheet a{display:flex;align-items:baseline;gap:.75rem;padding:.85rem 0;border-bottom:1px solid var(--r-line);color:var(--r-fg);text-decoration:none;font-family:var(--r-h)}
.rgrid-sheet a span{font-weight:600}
.rgrid-sheet a i{flex:1;border-bottom:1px dotted rgba(255,255,255,.22);transform:translateY(-4px)}
.rgrid-sheet a b{font-weight:600;color:var(--r-gold-hi);white-space:nowrap}
.rgrid-sheet a:hover span{color:var(--r-acc-hi)}
@media (max-width:860px){.rgrid-sheet{grid-template-columns:minmax(0,1fr)}.rgrid-sheet a{flex-wrap:wrap}.rgrid-sheet a i{display:none}.rgrid-sheet a b{margin-left:auto}}
.rtar-list{display:grid;gap:1.25rem}
.rtar{scroll-margin-top:96px;padding:clamp(1.5rem,3.5vw,2.5rem);border-radius:24px;background:var(--r-card);border:1px solid var(--r-line);transition:border-color .3s}
.rtar:target{border-color:rgba(215,180,106,.7);box-shadow:0 0 0 4px rgba(215,180,106,.12)}
.rtar header{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:.5rem 2rem;padding-bottom:1.25rem;margin-bottom:1.5rem;border-bottom:1px solid var(--r-line)}
.rtar h3{font-family:var(--r-h);font-weight:600;font-size:clamp(1.5rem,2.6vw,2.1rem)}
.rtar-price{font-family:var(--r-h);font-weight:600;font-size:clamp(1.25rem,2vw,1.6rem);color:var(--r-gold-hi)}
.rtar-body{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:1.5rem 3.5rem}
.rtar-sum{font-size:1.0625rem;line-height:1.65;color:#dde3ea}
.rtar-how{margin-top:1.25rem;padding:1rem 1.15rem;border-radius:14px;background:rgba(79,143,209,.1);border:1px solid rgba(79,143,209,.25);color:var(--r-mut);line-height:1.6;font-size:.9375rem}
.rtar-how strong{color:var(--r-fg)}
.rtar-inc-title{font-family:var(--r-h);font-weight:600;margin-bottom:.9rem}
.rtar-inc{display:grid;gap:.65rem;margin-bottom:1.75rem}
.rtar-inc li{display:flex;gap:.7rem;align-items:flex-start;color:#d6dce4;font-size:.9375rem}
.rtar-inc svg{flex:none;width:20px;height:20px;color:var(--r-acc-hi)}
@media (max-width:860px){.rtar-body{grid-template-columns:minmax(0,1fr)}}
.rfilters{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.25rem}
.rfilters button{height:42px;padding:0 1.1rem;border-radius:10px;border:1px solid var(--r-line2);background:transparent;color:var(--r-fg);font-family:var(--r-h);font-weight:600;cursor:var(--cur-link,pointer)}
.rfilters button[aria-pressed="true"]{background:var(--r-acc);border-color:var(--r-acc)}
.rvol{display:flex;align-items:center;gap:1rem;margin-top:1rem;color:var(--r-mut);font-size:.875rem}
.rnote{margin-top:1.5rem}
.rartists{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.25rem}
.rartists li{padding:1rem 1rem 1.5rem;border-radius:20px;background:var(--r-card);border:1px solid var(--r-line)}
.rartist-img{aspect-ratio:1;border-radius:14px;overflow:hidden;background:linear-gradient(160deg,#23324a,#14171c);display:grid;place-items:center;margin-bottom:1rem}
.rartist-img img{width:100%;height:100%;object-fit:cover}
.rartist-img span{font-family:var(--r-h);font-weight:700;font-size:3.5rem;color:var(--r-acc-hi)}
.rartists h3{font-family:var(--r-h);font-weight:600;font-size:1.2rem}
.rartists h3 a{color:inherit;text-decoration:none}
.rartists p{color:var(--r-mut);font-size:.9rem;margin-top:.35rem}
@media (max-width:900px){.rartists{grid-template-columns:repeat(2,minmax(0,1fr))}}
.pt-play.demo-play{height:28px;padding:0;border:0;border-radius:5px;gap:0;background:#2a2d33;animation:none}
.pt-play.demo-play svg{width:14px;height:14px;padding:0;background:none;color:inherit;box-shadow:none;animation:none}
.pt-play.demo-play[aria-pressed="true"]{background:#2f7d4f}
.pt-play.demo-play .i-pause{display:none}.pt-play.demo-play[aria-pressed="true"] .i-pause{display:block}.pt-play.demo-play[aria-pressed="true"] .i-play{display:none}
.pt-play.demo-play .sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
@media (max-width:560px){.rlabel{display:block;max-width:100%;font-size:.8125rem;line-height:1.45}.rlabel.center{width:auto}}

/* ---------- projets ---------- */
.rproj{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.6fr);gap:1rem;align-items:start}
.rproj-video{position:sticky;top:96px;margin:0;border-radius:24px;overflow:hidden;aspect-ratio:4/5;border:1px solid rgba(215,180,106,.45);background:#000}
.rproj-video video{display:block;width:100%;height:100%;object-fit:cover}
.rproj-video figcaption{position:absolute;left:1rem;right:1rem;bottom:1rem;display:grid;gap:.2rem;padding:1rem 1.15rem;border-radius:16px;background:rgba(15,17,21,.62);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.12)}
.rproj-video b{font-family:var(--r-h);font-weight:600;font-size:1.3rem}
.rproj-video small{color:var(--r-mut)}
.rproj-tag{justify-self:start;padding:.2rem .55rem;border-radius:6px;background:#e2574c;color:#fff;font:600 .6875rem/1.4 "DM Mono",monospace;text-transform:uppercase;letter-spacing:.06em}
.rproj-photos{columns:3 220px;column-gap:1rem}
.rproj-ph{display:block;width:100%;margin:0 0 1rem;padding:0;border:0;border-radius:18px;overflow:hidden;background:#000;break-inside:avoid;cursor:var(--cur-link,zoom-in);position:relative}
.rproj-ph img{display:block;width:100%;height:auto;transition:transform .6s,filter .4s}
.rproj-ph:hover img{transform:scale(1.04)}
.rproj-ph:focus-visible{outline:2px solid var(--r-acc);outline-offset:3px}
.rnames{display:flex;flex-wrap:wrap;align-items:center;gap:1rem 2rem;margin-top:2rem;padding:1.4rem 1.75rem;border-radius:20px;background:var(--r-card);border:1px solid var(--r-line)}
.rnames-l{font-size:.875rem;color:var(--r-mut)}
.rnames ul{display:flex;flex-wrap:wrap;gap:.6rem 2.2rem}
.rnames li{font-family:var(--r-h);font-weight:600;font-size:clamp(1.2rem,2.2vw,1.65rem);letter-spacing:-.01em}
.rnames li+li::before{content:"✦";color:var(--r-gold);font-size:.7em;margin-right:2.2rem;margin-left:-2.2rem;position:relative;left:1.1rem;opacity:.8}
.rnames a{color:inherit;text-decoration:none}.rnames a:hover{color:var(--r-gold-hi)}
@media (max-width:900px){.rproj{grid-template-columns:minmax(0,1fr)}.rproj-video{position:relative;top:0;max-width:440px}.rproj-photos{columns:2 150px;column-gap:.6rem}.rproj-ph{margin-bottom:.6rem;border-radius:14px}}
.lightbox{background:rgba(5,7,10,.94)}
.rproj-photos.gallery{display:block;grid-template-columns:none}
.rproj-photos.gallery button,.rproj-photos.gallery .rproj-ph{aspect-ratio:auto;height:auto}
.rproj-photos.gallery img{aspect-ratio:auto;height:auto;object-fit:fill}
@media (max-width:900px){#projets .rproj-photos .rproj-ph:nth-child(9):last-child{display:none}.rnames li+li::before{display:none}.rnames ul{gap:.4rem 1.4rem}}

/* ---------- annexes ---------- */
.ranx-head{padding-bottom:clamp(3rem,6vw,5rem)}
.ranx-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(2rem,5vw,4.5rem);align-items:center}
.ranx-crumbs{display:flex;gap:.5rem;font-size:.875rem;color:var(--r-mut);margin-bottom:1.25rem}
.ranx-crumbs a{color:var(--r-fg);text-decoration:none}.ranx-crumbs a:hover{color:var(--r-acc-hi)}
.ranx-lead{font-size:1.1875rem;color:#d6dce4;margin-bottom:1.5rem}
.ranx-chips{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:2rem}
.ranx-chips li{padding:.5rem .85rem;border-radius:10px;background:rgba(255,255,255,.07);border:1px solid var(--r-line);font-size:.8125rem;font-weight:600;text-transform:uppercase;letter-spacing:.02em}
.ranx-price{display:flex;flex-wrap:wrap;gap:1rem 2.5rem;margin-bottom:2rem;padding:1.1rem 1.25rem;border-radius:16px;background:var(--r-card);border:1px solid var(--r-line)}
.ranx-price small{display:block;font-size:.8125rem;color:var(--r-mut)}
.ranx-price b{font-family:var(--r-h);font-weight:600;font-size:1.35rem;color:var(--r-gold-hi)}
.ranx-visual{display:grid;gap:1rem}
.ranx-visual figure{margin:0;border-radius:24px;overflow:hidden;border:1px solid var(--r-line2);background:#000}
.ranx-visual img{display:block;width:100%;height:100%;object-fit:cover}
.ranx-visual.n1 figure{aspect-ratio:4/3.2}
.ranx-visual.n1 img{object-fit:cover}
.ranx-visual.n2{grid-template-columns:1fr 1fr}.ranx-visual.n2 figure{aspect-ratio:1}
.ranx-visual.n2 figure:nth-child(2){transform:translateY(2.5rem)}
.ranx-visual.n3{grid-template-columns:1.2fr 1fr;grid-template-rows:1fr 1fr}.ranx-visual.n3 figure:first-child{grid-row:span 2}
.ranx-visual.n3 figure{min-height:0}.ranx-visual.n3{height:min(560px,70vw)}
.ranx-detail{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem}
.ranx-box{padding:clamp(1.5rem,3vw,2.25rem);border-radius:24px;background:var(--r-card);border:1px solid var(--r-line)}
.ranx-box h2{font-family:var(--r-h);font-weight:600;font-size:1.5rem;margin-bottom:1.25rem}
.ranx-box .rtar-inc{margin:0}
.ranx-steps{display:grid;gap:1rem;counter-reset:s}
.ranx-steps li{counter-increment:s;display:grid;grid-template-columns:40px 1fr;gap:.2rem 1rem}
.ranx-steps li::before{content:counter(s);grid-row:span 2;display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:var(--r-acc);font-family:var(--r-h);font-weight:700}
.ranx-steps b{font-family:var(--r-h);font-weight:600}
.ranx-steps span{color:var(--r-mut);font-size:.9375rem;line-height:1.55}
.ranx-nav{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.ranx-nav a{display:flex;align-items:center;gap:1rem;padding:1.25rem 1.5rem;border-radius:18px;background:var(--r-card);border:1px solid var(--r-line);color:var(--r-fg);text-decoration:none;border-left:5px solid var(--c)}
.ranx-nav a.next{justify-content:flex-end;text-align:right;border-left:1px solid var(--r-line);border-right:5px solid var(--c)}
.ranx-nav a:hover{background:var(--r-card2)}
.ranx-nav svg{width:20px;height:20px;flex:none}
.ranx-nav span{font-family:var(--r-h);font-weight:600;font-size:1.15rem}
.ranx-nav small{display:block;font-family:"DM Mono",monospace;font-weight:400;font-size:.75rem;color:var(--r-mut)}
@media (max-width:900px){.ranx-grid,.ranx-detail{grid-template-columns:minmax(0,1fr)}.ranx-visual.n2 figure:nth-child(2){transform:none}}
@media (max-width:560px){.ranx-nav{grid-template-columns:minmax(0,1fr)}}

/* session des annexes : groupes et vignettes */
.pt-group{padding:.35rem 1rem;background:#16181c;border-bottom:1px solid #111317;font:600 .6875rem/1.4 "DM Mono",monospace;color:#8a939e;text-transform:uppercase;letter-spacing:.12em}
.ptann .pt-track{min-height:70px}
.pt-thumb{position:absolute;left:0;top:15px;bottom:0;width:58px;background:center/cover no-repeat;border-right:1px solid color-mix(in srgb,var(--c) 70%,#000);z-index:1}
.ptann .pt-wave{left:58px;width:calc(100% - 58px)}
.ptann .pt-clip-desc{left:64px}
@media (max-width:640px){.pt-thumb{width:40px}.ptann .pt-wave{left:40px;width:calc(100% - 40px)}}
.ranx-head .rh1.left{font-size:clamp(2.4rem,5vw,4.4rem);overflow-wrap:break-word;hyphens:auto}
.ranx-visual.n1 figure{aspect-ratio:auto}
.ranx-visual.n1 img{height:auto}
.ranx-visual.n2{align-items:start}

/* grille des annexes sous la session */
.rann-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;margin-top:1.25rem}
.rann{position:relative;display:grid;gap:.2rem;padding:.75rem .75rem 1.1rem;border-radius:18px;background:var(--r-card);border:1px solid var(--r-line);color:var(--r-fg);text-decoration:none;transition:border-color .25s,transform .25s}
.rann:hover{border-color:var(--c);transform:translateY(-3px)}
.rann-img{display:block;aspect-ratio:16/10;border-radius:12px;overflow:hidden;margin-bottom:.75rem;background:#000}
.rann-img img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.rann:hover .rann-img img{transform:scale(1.05)}
.rann-num{position:absolute;top:1.25rem;left:1.25rem;padding:.2rem .5rem;border-radius:6px;background:var(--c);color:#0d0f12;font:600 .75rem/1.3 "DM Mono",monospace}
.rann b{font-family:var(--r-h);font-weight:600;font-size:1.15rem;padding-inline:.35rem}
.rann small{color:var(--r-mut);padding-inline:.35rem}
@media (max-width:980px){.rann-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
/* équipe */
.rteam{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem}
.rmember{display:grid;gap:1.25rem;align-content:start;padding:1rem 1rem 1.75rem;border-radius:24px;background:var(--r-card);border:1px solid var(--r-line)}
.rmember>div:last-child{padding-inline:.5rem}
.rmember-img{aspect-ratio:4/3.4;border-radius:16px;overflow:hidden;display:grid;place-items:center;background:radial-gradient(70% 70% at 50% 30%,rgba(79,143,209,.35),transparent 70%),linear-gradient(160deg,#1d2a3d,#121419)}
.rmember-img img{width:100%;height:100%;object-fit:cover}
.rmember-img span{font-family:var(--r-h);font-weight:700;font-size:5rem;color:rgba(255,255,255,.85)}
.rmember-role{font-size:.875rem;color:var(--r-gold-hi);font-weight:600;margin-bottom:.3rem}
.rmember h3{font-family:var(--r-h);font-weight:600;font-size:1.6rem;margin-bottom:.5rem}
.rmember p{color:var(--r-mut);line-height:1.6}
.rmember-da{padding:1.75rem;align-content:space-between}
.rmember-da ul{display:grid;gap:1rem}
.rmember-da li{display:flex;gap:.8rem;align-items:flex-start;color:var(--r-mut);font-size:.9375rem;line-height:1.55}
.rmember-da li b{display:block;font-family:var(--r-h);color:var(--r-fg);font-size:1.05rem}
.rmember-da svg{flex:none;width:22px;height:22px;color:var(--r-acc-hi)}
@media (max-width:980px){.rteam{grid-template-columns:repeat(2,minmax(0,1fr))}.rmember-da{grid-column:1/-1}}
@media (max-width:560px){.rteam{grid-template-columns:minmax(0,1fr)}}
/* matériel dans la galerie */
.rgear{position:relative;display:flex;flex-wrap:wrap;justify-content:center;gap:.5rem;margin:1.5rem auto 0;max-width:760px}
.rgear li{padding:.45rem .85rem;border-radius:10px;background:rgba(255,255,255,.06);border:1px solid var(--r-line);font-size:.8125rem;font-weight:600}
.center-link{position:relative;text-align:center;margin-top:1.25rem}
.rproj-side{position:relative}
.rproj-photos.is-collapsed{max-height:980px;overflow:hidden;-webkit-mask-image:linear-gradient(180deg,#000 82%,transparent);mask-image:linear-gradient(180deg,#000 82%,transparent)}
.rproj-photos.is-open{max-height:none;-webkit-mask-image:none;mask-image:none}
.rproj-more{display:flex;margin:1rem auto 0}
.rproj-photos.is-open+.rproj-more{display:none}
@media (max-width:900px){.rproj-photos.is-collapsed{max-height:760px}}
/* grille régulière des photos de projets */
.rproj-photos,.rproj-photos.gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;columns:auto}
.rproj-photos .rproj-ph{margin:0;aspect-ratio:4/5}
.rproj-photos .rproj-ph img,.rproj-photos.gallery img{width:100%;height:100%;object-fit:cover}
.rproj-photos.is-collapsed{max-height:none;overflow:visible;-webkit-mask-image:none;mask-image:none}
.rproj-photos.is-collapsed .rproj-ph:nth-child(n+7){display:none}
@media (max-width:900px){.rproj-photos,.rproj-photos.gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem}}
.rsvc-list{display:grid;gap:1rem}
.rsvc-row{display:grid;grid-template-columns:220px minmax(0,1fr) auto;gap:1.75rem;align-items:center;padding:1rem;border-radius:22px;background:var(--r-card);border:1px solid var(--r-line);border-left:5px solid var(--c);color:var(--r-fg);text-decoration:none;transition:background .2s,transform .2s}
.rsvc-row:hover{background:var(--r-card2);transform:translateX(4px)}
.rsvc-row-img{aspect-ratio:16/10;border-radius:14px;overflow:hidden;background:#000}
.rsvc-row-img img{width:100%;height:100%;object-fit:cover}
.rsvc-row-text{display:grid;gap:.35rem}
.rsvc-row-text small{font:500 .75rem/1 "DM Mono",monospace;color:var(--c)}
.rsvc-row-text b{font-family:var(--r-h);font-weight:600;font-size:1.6rem}
.rsvc-row-text span{color:var(--r-mut);line-height:1.6;max-width:62ch}
.rsvc-row-price{display:flex;align-items:center;gap:1rem;padding-right:.75rem;font-family:var(--r-h);font-weight:600;color:var(--r-gold-hi);white-space:nowrap}
.rsvc-row-price i{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;border:1px solid var(--r-line2);color:#fff}
.rsvc-row-price svg{width:18px;height:18px}
.rsvc-row:hover .rsvc-row-price i{background:var(--c);border-color:var(--c);color:#0d0f12}
@media (max-width:860px){.rsvc-row{grid-template-columns:minmax(0,1fr);gap:1rem}.rsvc-row-price{justify-content:space-between;padding:0 .25rem .25rem}}
.media-error,.media-fallback{margin:.5rem 0 0;font-size:.875rem;color:var(--r-mut)}
.media-error a,.media-fallback a{color:var(--r-acc-hi)}
.video.vfile video{display:block;width:100%;border-radius:16px;background:#000}

/* ---------- projets par artiste ---------- */
.rpj-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.25rem}
.rpj{display:flex;flex-direction:column;border-radius:22px;background:var(--r-card);border:1px solid var(--r-line);overflow:hidden;scroll-margin-top:100px;transition:border-color .25s}
.rpj:target{border-color:var(--r-gold)}
.rpj-media{position:relative;aspect-ratio:4/5;background:#000;overflow:hidden}
.rpj-media video,.rpj-media img{display:block;width:100%;height:100%;object-fit:cover}
.rpj-media .media-error{position:absolute;inset:auto 1rem 1rem;margin:0}
.rpj-tag{position:absolute;top:.85rem;left:.85rem;padding:.3rem .6rem;border-radius:7px;background:rgba(15,17,21,.7);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);font:600 .6875rem/1.3 "DM Mono",monospace;text-transform:uppercase;letter-spacing:.05em;color:#fff}
.rpj-sound{position:absolute;right:.75rem;bottom:.75rem;display:grid;place-items:center;width:40px;height:40px;border-radius:50%;border:1px solid rgba(255,255,255,.25);background:rgba(15,17,21,.6);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);color:#fff;cursor:var(--cur-link,pointer)}
.rpj-sound svg{width:18px;height:18px}.rpj-sound .i-on{display:none}
.rpj-sound[aria-pressed="true"]{background:var(--r-acc);border-color:var(--r-acc)}
.rpj-sound[aria-pressed="true"] .i-on{display:block}.rpj-sound[aria-pressed="true"] .i-off{display:none}
.rpj-body{display:grid;gap:.35rem;padding:1.1rem 1.15rem 1.25rem}
.rpj-body h3{font-family:var(--r-h);font-weight:600;font-size:1.3rem;letter-spacing:-.01em;line-height:1.15}
.rpj-body p{color:var(--r-mut);font-size:.9375rem}
.rpj-body p small{display:block;font-size:.8125rem;margin-top:.15rem}
.rpj-thumbs{display:flex!important;gap:.4rem;margin-top:.5rem}
.rpj-thumbs button{flex:0 0 56px;width:56px;height:56px;padding:0;border:1px solid var(--r-line2);border-radius:10px;overflow:hidden;background:#000;aspect-ratio:auto}
.rpj-thumbs img{width:100%;height:100%;object-fit:cover}
.rpj-link{margin-top:.5rem;font-family:var(--r-h);font-weight:600;font-size:.875rem;color:var(--r-gold-hi);text-decoration:none}
@media (max-width:1100px){.rpj-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:520px){.rpj-grid{grid-template-columns:minmax(0,1fr)}.rpj-media{aspect-ratio:4/4.6}}
.rroster,.rsession{margin-top:2.5rem;padding:clamp(1.25rem,3vw,2rem);border-radius:24px;background:var(--r-card);border:1px solid var(--r-line)}
.rroster-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:.5rem 1rem;padding-bottom:1rem;margin-bottom:1rem;border-bottom:1px solid var(--r-line)}
.rroster-head h3{font-family:var(--r-h);font-weight:600;font-size:1.5rem}
.rroster-head span{color:var(--r-mut);font-size:.875rem}
.rroster ol{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:2.5rem}
.rroster li>a,.rroster li>span{display:grid;grid-template-columns:2rem 40px minmax(0,1fr) auto;gap:.9rem;align-items:center;padding:.7rem .25rem;border-bottom:1px solid var(--r-line);color:var(--r-fg);text-decoration:none}
.rroster li>a:hover{background:rgba(255,255,255,.03)}
.rroster li>a:hover b{color:var(--r-gold-hi)}
.rr-n{font:500 .75rem/1 "DM Mono",monospace;color:var(--r-mut)}
.rroster img,.rroster i{width:40px;height:40px;border-radius:50%;object-fit:cover}
.rroster i{display:grid;place-items:center;font-style:normal;font-family:var(--r-h);font-weight:700;background:linear-gradient(160deg,#24324a,#171a20);color:#cfe0f5;border:1px solid var(--r-line2)}
.rroster b{font-family:var(--r-h);font-weight:600;font-size:1.15rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rroster em{font-style:normal;font:600 .6875rem/1.3 "DM Mono",monospace;text-transform:uppercase;letter-spacing:.05em;color:var(--r-gold-hi);padding:.25rem .5rem;border:1px solid rgba(215,180,106,.4);border-radius:6px}
@media (max-width:760px){.rroster ol{grid-template-columns:minmax(0,1fr)}}
.rsession-grid{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem}
.rsession-grid button{padding:0;border:0;border-radius:14px;overflow:hidden;background:#000;aspect-ratio:1;cursor:var(--cur-link,zoom-in)}
.rsession-grid img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.rsession-grid button:hover img{transform:scale(1.04)}
.rsession-grid.is-collapsed button:nth-child(n+9){display:none}
.rsession-grid.is-open+.rproj-more{display:none}
@media (max-width:760px){.rsession-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.rsession-grid.is-collapsed button:nth-child(n+7){display:none}}
.rpj-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}
@media (max-width:520px){.rpj-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem}.rpj-body{padding:.8rem}.rpj-body h3{font-size:1.05rem}.rpj-media{aspect-ratio:4/5.4}}
.brand img,.foot-logo{filter:none!important}
.brand img{height:40px}
.foot-logo{height:48px}
@media (max-width:520px){.brand img{height:32px}}

/* ---------- console de mixage ---------- */
.mx{margin-top:1rem;border-radius:16px;background:#17191d;border:1px solid #2c2f35;box-shadow:0 30px 70px -40px rgba(0,0,0,.9);overflow:hidden;font-family:"Instrument Sans",system-ui,sans-serif;color:#d6dbe2}
.mx-top{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem 1.5rem;padding:.8rem 1rem;background:linear-gradient(180deg,#2b2e34,#22252a);border-bottom:1px solid #111317}
.mx-title{display:grid;gap:.15rem}.mx-title b{font-family:var(--r-h);font-weight:600;font-size:1.05rem;color:#fff}
.mx-now{font-size:.8125rem;color:#8a939e}.mx.is-live .mx-now{color:#7ee08f}
.mx-actions{display:flex;flex-wrap:wrap;gap:.5rem}
.mx-sel select,.mx-btn{height:36px;padding:0 .8rem;border-radius:8px;border:1px solid #3a3e45;background:#15171b;color:#e3e7ec;font:600 .8125rem/1 "Instrument Sans",sans-serif;cursor:var(--cur-link,pointer)}
.mx-btn[aria-pressed="true"]{background:#e5b440;border-color:#e5b440;color:#1a1c20}
.mx-rack{display:grid;grid-template-columns:.8fr 2.2fr 1.6fr .9fr .9fr 1.3fr 1.2fr;gap:1px;background:#0e1013}
.mx-mod{background:#1d2025;padding:.85rem .8rem 1rem;display:flex;flex-direction:column;gap:.6rem;transition:opacity .2s}
.mx-mod header{display:flex;align-items:center;justify-content:space-between;gap:.5rem;font:600 .6875rem/1 "DM Mono",monospace;text-transform:uppercase;letter-spacing:.1em;color:#8a939e}
.mx-mod.is-off .kn-wrap,.mx-mod.is-off canvas,.mx-mod.is-off .mx-gr{opacity:.35}
.mx-pow{width:30px;height:16px;border-radius:9px;border:0;background:#3a3e45;position:relative;cursor:var(--cur-link,pointer)}
.mx-pow::after{content:"";position:absolute;top:2px;left:2px;width:12px;height:12px;border-radius:50%;background:#8a939e;transition:transform .2s,background .2s}
.mx-pow[aria-pressed="true"]{background:#2f7d4f}.mx-pow[aria-pressed="true"]::after{transform:translateX(14px);background:#fff}
.mx-mod:not([data-mod="eq"]):not([data-mod="comp"]):not([data-mod="fx"]):not([data-mod="master"]){align-items:center}
.mx-mod[data-mod="input"],.mx-mod[data-mod="sat"],.mx-mod[data-mod="stereo"]{align-items:stretch}
.mx-mod[data-mod="input"] .kn-wrap,.mx-mod[data-mod="sat"] .kn-wrap,.mx-mod[data-mod="stereo"] .kn-wrap{margin-inline:auto}
.mx-grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:.4rem .2rem}
.mx-grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem .2rem}
.mx-grid2{display:grid;grid-template-columns:repeat(2,1fr);gap:.5rem .2rem}
.kn-wrap{display:grid;justify-items:center;gap:.25rem;text-align:center;min-width:0}
.kn{--a:-135deg;position:relative;width:46px;height:46px;border-radius:50%;cursor:ns-resize;touch-action:none;
  background:radial-gradient(circle at 50% 35%,#3c4048,#22252a 70%);box-shadow:inset 0 1px 0 rgba(255,255,255,.12),0 2px 6px rgba(0,0,0,.6),0 0 0 3px #15171b,0 0 0 4px #2c2f35}
.kn::before{content:"";position:absolute;inset:-6px;border-radius:50%;background:conic-gradient(from -135deg,#d7b46a 0deg,#d7b46a calc(var(--a) + 135deg),transparent calc(var(--a) + 135deg),transparent 270deg,transparent 360deg);
  -webkit-mask:radial-gradient(circle,transparent 25px,#000 26px,#000 28px,transparent 29px);mask:radial-gradient(circle,transparent 25px,#000 26px,#000 28px,transparent 29px);opacity:.9}
.kn i{position:absolute;left:50%;top:5px;width:3px;height:14px;margin-left:-1.5px;border-radius:2px;background:#fff;transform-origin:50% 18px;transform:rotate(var(--a))}
.kn:focus-visible{outline:2px solid var(--r-acc);outline-offset:6px}
.kn.is-drag{box-shadow:inset 0 1px 0 rgba(255,255,255,.12),0 0 0 3px #15171b,0 0 0 4px #d7b46a}
.kn-l{font-size:.6875rem;color:#a2abb7;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.kn-v{font:500 .6875rem/1 "DM Mono",monospace;color:#7ee08f}
.mx-eq{display:block;width:100%;height:120px;border-radius:8px;background:#0c0d10;border:1px solid #2c2f35}
.mx-gr{grid-column:span 1;display:grid;gap:.3rem;align-content:center;font-size:.6875rem;color:#a2abb7;text-align:center}
.mx-gr-bar{height:8px;border-radius:4px;background:#0c0d10;border:1px solid #2c2f35;overflow:hidden;direction:rtl}
.mx-gr-bar i{display:block;height:100%;width:0;background:#e5b440}
.mx-gr output{font:500 .6875rem/1 "DM Mono",monospace;color:#e5b440}
.mx-master{display:grid;grid-template-columns:1fr 1fr;gap:.6rem .3rem;align-items:start}
.mx-meters{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:4px 6px;height:110px;grid-template-rows:1fr auto}
.mx-meters div{position:relative;border-radius:4px;background:#0c0d10;border:1px solid #2c2f35;overflow:hidden}
.mx-meters i{position:absolute;left:0;right:0;bottom:0;height:0;background:linear-gradient(0deg,#3fb56d 0%,#3fb56d 70%,#e5b440 85%,#e2574c 100%);background-size:100% 106px;background-position:bottom;transition:height .05s}
.mx-meters span{font:500 .625rem/1 "DM Mono",monospace;color:#8a939e;text-align:center}
.mx-rms{grid-column:1/-1;font:500 .6875rem/1.4 "DM Mono",monospace;color:#8a939e;text-align:center}
.mx-rms output{color:#d6dbe2}
.mx-note{padding:.7rem 1rem;font-size:.8125rem;color:#7d8590;border-top:1px solid #111317}
.mx.is-bypassed .mx-rack{filter:saturate(.3) brightness(.85)}
@media (max-width:1180px){.mx-rack{grid-template-columns:repeat(4,minmax(0,1fr))}.mx-mod[data-mod="eq"]{grid-column:span 2}.mx-mod[data-mod="comp"]{grid-column:span 2}}
@media (max-width:640px){.mx-rack{grid-template-columns:repeat(2,minmax(0,1fr))}.mx-mod[data-mod="eq"],.mx-mod[data-mod="comp"],.mx-mod[data-mod="fx"],.mx-mod[data-mod="master"]{grid-column:1/-1}.mx-grid4{grid-template-columns:repeat(4,1fr)}.kn{width:40px;height:40px}.kn i{transform-origin:50% 15px;height:11px}}
/* bascule de version dans la piste */
.pt-ab-lane{position:absolute;right:8px;top:18px;z-index:4;display:flex;gap:3px;padding:3px;border-radius:7px;background:rgba(12,13,16,.8);border:1px solid #2c2f35}
.pt-ab-lane button{height:22px;padding:0 .55rem;border:0;border-radius:4px;background:transparent;color:#a2abb7;font:600 .6875rem/1 "Instrument Sans",sans-serif;cursor:var(--cur-link,pointer)}
.pt-ab-lane button[aria-pressed="true"]{background:var(--r-gold);color:#14161a}

/* ---------- écoute : formes d'onde réelles, bascule WAV / Final Mix Master ---------- */
.pt-wave-real .pk{fill:color-mix(in srgb,var(--c) 45%,transparent)}
.pt-wave-real .rm{fill:color-mix(in srgb,var(--c) 80%,#fff)}
.ptlisten .pt-track{min-height:84px;transition:background .25s}
.ptlisten .pt-clip{transition:filter .3s,opacity .3s,box-shadow .3s}
.ptlisten .pt-real.is-playing{background:#1f2227}
.ptlisten .pt-real.is-playing .pt-clip{box-shadow:0 0 0 1px var(--c),0 0 22px -6px var(--c)}
.ptlisten .pt-real.is-muted .pt-clip{opacity:.42;filter:saturate(.5)}
.ptlisten .pt-real.is-muted .pt-prog{border-right-color:rgba(255,255,255,.35)}
.ptlisten .pt-rplay{transition:transform .15s}.ptlisten .pt-rplay:active{transform:scale(.92)}
.ptlisten .pt-playhead{opacity:0;transition:opacity .3s}.ptlisten.is-playing .pt-playhead{opacity:1}
.ptlisten .pt-prog{transition:none}
.pt-empty{padding:1.5rem;color:#8a939e}
.pt-ruler-bars i{white-space:nowrap}

/* ---------- console informative ---------- */
.mx-static .kn{cursor:default;pointer-events:none}
.mx-static .kn::before{transition:opacity .4s}
.mx-static .mx-rack{grid-template-columns:.8fr 2.1fr 1.4fr .8fr 1.2fr 1.3fr;transition:filter .4s}
.mx-static[data-state="before"] .mx-rack>.mx-mod:not([data-mod="out"]){filter:saturate(.25) brightness(.8)}
.mx-static[data-state="before"] .kn::before{opacity:.25}
.mx-badges{display:flex;flex-wrap:wrap;gap:.4rem}
.mx-badge{display:inline-flex;align-items:center;height:30px;padding:0 .75rem;border-radius:999px;border:1px solid #3a3e45;color:#8a939e;font-size:.75rem;font-weight:600;transition:background .3s,color .3s,border-color .3s}
.mx-static[data-state="before"] [data-badge="before"]{background:#3a3e45;color:#fff;border-color:#4a4f57}
.mx-static[data-state="after"] [data-badge="after"]{background:var(--r-gold,#d7b46a);color:#14161a;border-color:transparent}
.mx-led{width:7px;height:7px;border-radius:50%;background:#3a3e45;transition:background .3s,box-shadow .3s}
.mx-static[data-state="after"] .mx-led{background:#7ee08f;box-shadow:0 0 8px #7ee08f}
.mx-static[data-state="before"] [data-mod="out"] .mx-led{background:#7ee08f;box-shadow:0 0 8px #7ee08f}
.mx-static .mx-mod{align-items:stretch}
.mx-static [data-mod="input"] .kn-wrap,.mx-static [data-mod="stereo"] .kn-wrap{margin:auto}
.mx-static .mx-eq{height:90px}
.mx-eq .grid line{stroke:rgba(255,255,255,.08);stroke-width:1;vector-effect:non-scaling-stroke}
.mx-eq .curve{fill:none;stroke:var(--r-gold,#d7b46a);stroke-width:2;vector-effect:non-scaling-stroke}
.mx-static .mx-meters{height:96px}
.mx-loud{display:grid;gap:.3rem;margin:.5rem 0 0;font-size:.75rem}
.mx-loud div{display:flex;justify-content:space-between;gap:.5rem}
.mx-loud dt{color:#8a939e}.mx-loud dd{margin:0;font:500 .75rem/1.3 "DM Mono",monospace;color:#e3e7ec}
.mx-meters i.hot{background-position:top}
@media (max-width:1180px){.mx-static .mx-rack{grid-template-columns:repeat(3,minmax(0,1fr))}.mx-static .mx-mod[data-mod="eq"]{grid-column:span 2}}
@media (max-width:640px){.mx-static .mx-rack{grid-template-columns:repeat(2,minmax(0,1fr))}.mx-static .mx-mod[data-mod="eq"],.mx-static .mx-mod[data-mod="out"]{grid-column:1/-1}.ptlisten .pt-track{min-height:72px}}
@media (prefers-reduced-motion:reduce){.ptlisten .pt-clip,.mx-static .mx-rack,.mx-badge{transition:none}}
.ptlisten .pt-body{display:flex;flex-direction:column}
.ptlisten .pt-tracks{flex:1;display:grid;grid-auto-rows:minmax(84px,1fr)}
.ptlisten .pt-clip{top:10px;bottom:10px}
.mx-static [data-mod="out"] .mx-meters{width:100%;max-width:140px;margin:0 auto}
@media (max-width:640px){
  .mx-static .mx-mod[data-mod="stereo"]{order:-1}.mx-static .mx-mod[data-mod="input"]{order:-2}
  .mx-static .mx-mod[data-mod="comp"],.mx-static .mx-mod[data-mod="master"]{grid-column:1/-1}
  .ptlisten .pt-counter b{font-size:.9375rem}
  .mx-badges{width:100%}
}
@media (max-width:640px){.pt-dur{display:none}}

/* ---------- catalogue des artistes ---------- */
.rart-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:1rem;list-style:none;margin:0;padding:0}
.rart a{display:flex;flex-direction:column;gap:.75rem;color:var(--r-fg);text-decoration:none}
.rart-pic{position:relative;display:block;aspect-ratio:1;border-radius:18px;overflow:hidden;background:var(--r-card);border:1px solid var(--r-line)}
.rart-pic img{display:block;width:100%;height:100%;object-fit:cover;filter:saturate(.85) contrast(1.04);transition:transform .5s cubic-bezier(.2,.7,.2,1),filter .4s}
.rart-pic::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(15,17,21,.55));pointer-events:none}
.rart a:hover .rart-pic img,.rart a:focus-visible .rart-pic img{transform:scale(1.04);filter:saturate(1) contrast(1.04)}
.rart a:focus-visible{outline:none}.rart a:focus-visible .rart-pic{outline:2px solid var(--r-gold);outline-offset:3px}
.rart.no-photo .rart-pic{display:grid;place-items:center;background:radial-gradient(70% 70% at 30% 25%,rgba(79,143,209,.28),transparent 70%),linear-gradient(160deg,#1f2530,#15181d)}
.rart.no-photo .rart-pic::after{display:none}
.rart-pic i{font-style:normal;font-family:var(--r-h);font-weight:700;font-size:clamp(2.5rem,6vw,4.25rem);color:var(--r-gold-hi);opacity:.9;transition:transform .4s}
.rart a:hover .rart-pic i{transform:scale(1.08)}
.rart-play{position:absolute;right:.65rem;bottom:.65rem;z-index:1;display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--r-gold);color:#14161a}
.rart-play svg{width:14px;height:14px}
.rart-meta{display:grid;gap:.15rem;padding-inline:.15rem}
.rart-meta b{font-family:var(--r-h);font-weight:600;font-size:1.1rem;line-height:1.2;transition:color .2s}
.rart a:hover .rart-meta b{color:var(--r-gold-hi)}
.rart-meta small{color:var(--r-mut);font-size:.8125rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@media (max-width:1100px){.rart-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media (max-width:820px){.rart-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:520px){.rart-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.rart-meta b{font-size:1rem}}

/* ---------- fiche artiste ---------- */
.rafi-grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(1.5rem,5vw,4.5rem);align-items:center}
.rafi-pic{aspect-ratio:1;border-radius:26px;overflow:hidden;background:var(--r-card);border:1px solid var(--r-line);box-shadow:0 40px 80px -40px rgba(0,0,0,.9)}
.rafi-pic img{display:block;width:100%;height:100%;object-fit:cover}
.rafi-pic.no-photo{display:grid;place-items:center;background:radial-gradient(70% 70% at 30% 25%,rgba(79,143,209,.3),transparent 70%),linear-gradient(160deg,#1f2530,#15181d)}
.rafi-pic i{font-style:normal;font-family:var(--r-h);font-weight:700;font-size:clamp(5rem,14vw,10rem);color:var(--r-gold-hi)}
.rafi-text .rh1{margin-bottom:1rem}
.rafi-lead{max-width:52ch;margin-bottom:1.5rem}
.rafi-text .ranx-chips li{text-transform:none;letter-spacing:0}
.rafi-videos{display:grid;gap:1.25rem}
.rafi-videos.n1{max-width:960px;margin-inline:auto}
.rafi-videos.n2{grid-template-columns:repeat(2,minmax(0,1fr))}
.rafi-video{margin:0;border-radius:20px;overflow:hidden;background:var(--r-card);border:1px solid var(--r-line)}
.rafi-video video{display:block;width:100%;max-height:78vh;background:#000}
.rafi-video figcaption{display:flex;flex-wrap:wrap;align-items:baseline;gap:.25rem .75rem;padding:1rem 1.25rem}
.rafi-video figcaption b{font-family:var(--r-h);font-weight:600;font-size:1.15rem}
.rafi-video figcaption span{color:var(--r-mut);font-size:.875rem}
.rafi-photos{display:grid!important;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:.75rem}
.rafi-photos button{padding:0;border:0;border-radius:16px;overflow:hidden;aspect-ratio:4/5;background:#000;cursor:var(--cur-link,zoom-in)}
.rafi-photos img{width:100%;height:100%;object-fit:cover;transition:transform .4s}
.rafi-photos button:hover img{transform:scale(1.03)}
.rartist .ranx-nav a{--c:var(--r-gold)}
@media (max-width:820px){.rafi-grid{grid-template-columns:minmax(0,1fr)}.rafi-pic{max-width:420px}.rafi-videos.n2{grid-template-columns:minmax(0,1fr)}}
@media (prefers-reduced-motion:reduce){.rart-pic img,.rart-pic i,.rafi-photos img{transition:none}}
.rart-more{margin-top:clamp(2rem,5vw,3.5rem)}
.rart-more h2{font-family:var(--r-h);font-weight:600;font-size:1.25rem;margin-bottom:1rem;color:var(--r-mut)}
.rart-mini{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:.6rem;list-style:none;margin:0;padding:0}
.rart-mini a{display:flex;align-items:center;gap:.75rem;padding:.6rem .9rem .6rem .6rem;border-radius:14px;background:var(--r-card);border:1px solid var(--r-line);color:var(--r-fg);text-decoration:none;transition:border-color .2s,background .2s}
.rart-mini a:hover{border-color:rgba(215,180,106,.45);background:var(--r-card2)}
.rart-mini i{display:grid;place-items:center;flex:none;width:40px;height:40px;border-radius:10px;font-style:normal;font-family:var(--r-h);font-weight:700;color:var(--r-gold-hi);background:linear-gradient(160deg,#24324a,#171a20)}
.rart-mini b{font-family:var(--r-h);font-weight:600;font-size:1rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

/* ---------- calendrier de réservation : états lisibles ---------- */
.cal button.d-free::after{background:#7ee08f}
.cal button.d-few::after{background:var(--r-gold)}
.cal button.d-few{border-color:rgba(215,180,106,.45)}
.cal button.d-full{text-decoration:line-through;text-decoration-color:rgba(255,255,255,.35)}
.cal button.d-closed{opacity:.35}
.cal button:not(:disabled):hover{border-color:var(--r-acc-hi)}
.cal-legend{display:flex;flex-wrap:wrap;gap:.5rem 1.1rem;margin:.9rem 0 0;padding:0;list-style:none;font-size:.8125rem;color:var(--r-mut)}
.cal-legend li{display:flex;align-items:center;gap:.4rem}
.cal-legend i{width:8px;height:8px;border-radius:50%}
.lg-free{background:#7ee08f}.lg-few{background:var(--r-gold)}.lg-full{background:transparent;border:1px solid rgba(255,255,255,.45)}.lg-closed{background:rgba(255,255,255,.18)}
.slots button.taken{text-decoration:line-through;opacity:.38;cursor:not-allowed;border-style:dashed}
.slots-note{margin-top:.8rem;font-size:.8125rem;color:var(--r-mut)}
.slots-alert{margin-top:1rem;padding:.75rem 1rem;border-radius:12px;background:rgba(215,180,106,.12);border:1px solid rgba(215,180,106,.45);color:var(--r-gold-hi);font-size:.875rem}
.rafi-videos.n1{display:flex;justify-content:center;max-width:none}
.rafi-videos.n1 .rafi-video{width:fit-content;max-width:100%}
.rafi-videos.n1 .rafi-video video{width:auto;max-width:100%;max-height:78vh;margin:0 auto}
.rafi-videos.n1 .rafi-video figcaption{max-width:min(100%,960px)}

/* =====================================================================
   Pages secondaires (FAQ, galerie, réservation, contact, studio, compte…)
   construites avec les anciens thèmes clairs : on les ramène sur la
   palette anthracite + bleu Apogeo de l'accueil, sans toucher au HTML.
   ===================================================================== */
.rpage .t-dark,.rpage .t-taupe,.rpage .t-night,.rpage .t-petrol,.rpage .t-wine,.rpage .t-sand,.rpage .t-ivory,.rpage .t-sage,.rpage .t-terra,.rpage .t-gold{
  --bg:var(--r-bg);--fg:var(--r-fg);--muted:var(--r-mut);--line:var(--r-line2);--surface:var(--r-card);--surface-2:var(--r-card2);
  --accent:var(--r-acc-hi);--accent-hi:#8dbbea;--accent-lo:#2f5f8f;--btn-bg:var(--r-acc);--btn-fg:#fff;
  --grad:linear-gradient(90deg,var(--r-acc),var(--r-gold));--field:#14171c;color-scheme:dark}
.rpage .t-ivory,.rpage .t-sage{--bg:var(--r-bg2)}
.rpage .sec{padding-block:clamp(3.5rem,7vw,6rem)}
.rpage .rpage-head+.sec{padding-top:clamp(1rem,2.5vw,2rem)}
.rpage .rpage-head .rh1 b,.rpage .sec .display b{font-weight:inherit;color:var(--r-mut)}
.rpage .sec .display,.rpage .sec h2,.rpage .panel h2,.rpage .price h3{font-family:var(--r-h);letter-spacing:-.01em}
.rpage .eyebrow{color:var(--r-gold)}
.rpage .eyebrow::before{background:var(--r-gold)}
.rpage .panel,.rpage .card,.rpage .empty,.rpage .faq details,.rpage .review{background:var(--r-card);border-color:var(--r-line);border-radius:var(--r-rad)}
.rpage .empty p{color:var(--r-mut)}
.rpage .btn{border-radius:12px;font-family:var(--r-h);font-weight:600}
.rpage .btn-primary{background:var(--r-acc);border-color:var(--r-acc);color:#fff}
.rpage .btn-primary:hover{background:var(--r-acc-hi);border-color:var(--r-acc-hi)}
.rpage .btn-ghost{border-color:var(--r-line2);color:var(--r-fg)}
.rpage .btn-ghost:hover{border-color:var(--r-fg);background:rgba(255,255,255,.06)}
.rpage input:not([type=checkbox]):not([type=radio]):not([type=range]),.rpage select,.rpage textarea{background:var(--field);color:var(--r-fg);border-color:var(--r-line2)}
.rpage input::placeholder,.rpage textarea::placeholder{color:#6f7884}
.rpage input:focus,.rpage select:focus,.rpage textarea:focus{border-color:var(--r-acc-hi);outline:2px solid rgba(79,143,209,.35);outline-offset:1px}
.rpage .gallery img{border-radius:14px}
.rpage a:not(.btn):not(.rbtn):not(.rlink){text-decoration-color:color-mix(in srgb,currentColor 40%,transparent)}
/* bannière cookies : carte sombre, mêmes boutons que le site */
.rpage .cookie{background:var(--r-card2);color:var(--r-fg);border:1px solid var(--r-line2);border-radius:18px;--fg:var(--r-fg);--muted:var(--r-mut);--line:var(--r-line2);--field:#14171c;color-scheme:dark}
.rpage .cookie h2{font-family:var(--r-h);text-transform:none;letter-spacing:-.005em;font-size:1.125rem}
.rpage .cookie p{color:var(--r-mut)}
.rpage .cookie a.gold{color:var(--r-gold-hi)}
.rpage .cookie .btn-primary{background:var(--r-acc);color:#fff}
.rpage .cookie .btn-ghost{border-color:var(--r-line2);color:var(--r-fg)}
.rpage .cookie .cats{border-top-color:var(--r-line2)}

/* réservation : passerelle vers la commande à distance */
.rswitch{margin:0 0 1.5rem;padding:.9rem 1.1rem;border-radius:14px;background:var(--r-card);border:1px solid var(--r-line);color:var(--r-mut);font-size:.9375rem}
.rswitch a{color:var(--r-acc-hi);font-weight:600;margin-left:.25rem;white-space:nowrap}

/* barre de réservation collante (mobile uniquement) */
.rsticky{display:none}
@media (max-width:767px){
  .rsticky{position:fixed;left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom));z-index:60;display:flex;align-items:center;justify-content:center;gap:.6rem;height:54px;border-radius:14px;
    background:var(--r-acc);color:#fff;font-family:var(--r-h);font-weight:600;font-size:1rem;text-decoration:none;box-shadow:0 14px 40px -12px rgba(0,0,0,.8);
    transform:translateY(140%);transition:transform .3s ease}
  .rsticky svg{width:18px;height:18px}
  .rsticky.on{transform:none}
  .rsticky[hidden]{display:none}
  body:has(.rsticky.on) .wa{bottom:calc(78px + env(safe-area-inset-bottom))}
}
@media (prefers-reduced-motion:reduce){.rsticky{transition:none}}

/* accueil mobile : l'essentiel, le détail reste sur les pages dédiées */
@media (max-width:767px){
  #prestations .ptwin{display:none}
  #projets .rpj-grid>.rpj:nth-child(n+5){display:none}
  #projets .rpj-thumbs,#projets .rroster,#projets .rsession{display:none!important}
  #ecouter .mx{display:none}
  .rteam{display:flex;gap:.9rem;overflow-x:auto;scroll-snap-type:x mandatory;margin-inline:-16px;padding:0 16px 6px;scrollbar-width:none}
  .rteam::-webkit-scrollbar{display:none}
  .rteam>.rmember{flex:0 0 84%;scroll-snap-align:start}
  .rpj-tag,.pt-clip-name,.pt-clip-desc,.pt-group,.pt-ruler-head{font-size:12px}
}

/* =====================================================================
   Finitions (octobre 2026) : même identité sombre, travaillée plus finement.
   Rythme vertical régulier, titres plus serrés, cartes plus calmes,
   bande des artistes sous l'accueil, en-tête allégé.
   ===================================================================== */
/* en-tête : un seul lien de compte, le bouton Réserver garde la place */
.top-actions .top-link+.top-link{display:none}
.rhome .top,.rpage .top{background:rgba(15,17,21,.86);border-bottom:1px solid rgba(255,255,255,.07)}
.mainnav a{letter-spacing:.06em}

/* titres : plus serrés, coupures équilibrées */
.rh1{letter-spacing:-.03em;text-wrap:balance}
.rh2{letter-spacing:-.025em;line-height:1.04}
.rp,.rlede{text-wrap:pretty}
.rlabel{background:rgba(255,255,255,.05);border-color:rgba(255,255,255,.08);font-size:.8125rem;padding:.45rem .8rem}

/* rythme : sections séparées par un filet discret plutôt que par des vides inégaux */
.rsec{padding-block:clamp(4.5rem,8.5vw,7rem)}
.rsec+.rsec{padding-top:clamp(4.5rem,8.5vw,7rem);border-top:1px solid rgba(255,255,255,.06)}

/* accueil : repères chiffrés sous les boutons */
.rhero-facts{display:flex;flex-wrap:wrap;justify-content:center;gap:.75rem 2.75rem;margin:2.75rem 0 0;padding-top:1.5rem;border-top:1px solid rgba(255,255,255,.14)}
.rhero-facts div{display:grid;gap:.15rem;text-align:center}
.rhero-facts dt{font-size:.8125rem;color:rgba(243,245,248,.62)}
.rhero-facts dd{margin:0;font-family:var(--r-h);font-weight:600;font-size:1.05rem;color:#fff;font-variant-numeric:tabular-nums}

/* bande « Ils ont enregistré ici » */
.rlineup{padding:clamp(2.75rem,5.5vw,4.25rem) 0;background:var(--r-bg2);border-block:1px solid rgba(255,255,255,.06)}
.rlineup-t{margin:0 0 1rem;font-family:var(--r-h);font-weight:600;font-size:.9375rem;color:var(--r-mut);letter-spacing:0}
.rlineup-names{margin:0;font-family:var(--r-h);font-weight:600;font-size:clamp(1.6rem,3.6vw,3.1rem);line-height:1.16;letter-spacing:-.025em;color:var(--r-fg);text-wrap:balance}
.rlineup-names a{color:inherit;text-decoration:none;transition:color .2s}
.rlineup-names a:hover,.rlineup-names a:focus-visible{color:var(--r-acc-hi)}
.rlineup-names i{font-style:normal;font-weight:400;color:var(--r-gold);opacity:.8}

/* cartes : rayon plus sobre, contours plus fins, survol calme */
.rann,.rmember,.rform,.rtarifs,.rsvc-row,.rart-pic,.rafi-pic,.rafi-video,.rroster,.rsession{border-radius:16px}
.rann{transition:border-color .2s,transform .25s}
.rann:hover{transform:translateY(-2px)}
.rmember{padding:.9rem .9rem 1.6rem}
.rmember-img{border-radius:12px}
.rpj-media{border-radius:14px}
.rtarifs li a{transition:background .2s}
.rtarifs li a:hover{background:rgba(255,255,255,.03)}

/* formulaires : champs plus nets */
.rform input,.rform select,.rform textarea{background:#191c21;border-color:rgba(255,255,255,.12)}
.rform input:focus,.rform select:focus,.rform textarea:focus{border-color:var(--r-acc-hi);background:#1d2026}

/* pied de page */
.foot{border-top:1px solid rgba(255,255,255,.07)}

@media (max-width:767px){
  .rhero-facts{display:grid;grid-template-columns:repeat(3,auto);justify-content:center;gap:.5rem 1.1rem;margin-top:2rem}
  .rhero-facts dd{font-size:.875rem}
  .rhero-facts dt{font-size:.75rem}
  .rlineup-names{font-size:clamp(1.4rem,7vw,2rem)}
  .rsec,.rsec+.rsec{padding-block:clamp(3.25rem,12vw,4.5rem)}
}
@media (prefers-reduced-motion:reduce){.rann{transition:none}.rann:hover{transform:none}}

/* accueil : sans doublons (les artistes sont dans la bande du haut, les photos dans la galerie,
   la chaîne de mastering complète reste sur la page Écouter) */
.rhome #projets .rroster,.rhome #projets .rsession,.rhome #ecouter .mx{display:none!important}

/* page Avis : formulaire pour les artistes */
.ravis-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:clamp(2rem,5vw,4.5rem);align-items:start}
.ravis-grid .rh2{margin-bottom:1rem}
.ravis-consent{display:flex;gap:.6rem;align-items:flex-start;font-size:.9rem;color:var(--r-mut);line-height:1.5}
.ravis-consent input{width:auto!important;margin-top:.2rem;accent-color:var(--r-acc)}
@media (max-width:860px){.ravis-grid{grid-template-columns:minmax(0,1fr)}}

/* =====================================================================
   Réservation : plus visible, plus lisible, plusieurs prestations
   ===================================================================== */
.rpage .book{gap:clamp(1.25rem,3vw,2rem)}
.rpage .bstep{background:var(--r-card);border:1px solid var(--r-line2);border-radius:18px;padding:clamp(1.25rem,3vw,2rem)}
.rpage .bstep+.bstep{margin-top:1.1rem}
.rpage .bstep>h2{align-items:center;gap:.85rem;font-family:var(--r-h);font-weight:600;font-size:clamp(1.3rem,2.2vw,1.6rem);letter-spacing:-.015em;color:var(--r-fg);margin-bottom:.5rem}
.rpage .bstep>h2 .mono{display:grid;place-items:center;flex:none;width:36px;height:36px;border-radius:50%;background:var(--r-acc);color:#fff;font-family:var(--r-h);font-size:1rem;font-weight:700}
.rpage .bstep.off{opacity:.38}
.rpage .bstep.off>h2 .mono{background:rgba(255,255,255,.12)}
.bhint{margin:0 0 1.25rem;color:var(--r-mut);font-size:1rem;line-height:1.55}

/* cartes de prestation à cocher */
.choices.multi{grid-template-columns:repeat(auto-fill,minmax(min(100%,17rem),1fr));gap:.8rem}
.choices.multi .choice{display:flex;flex-direction:column;border:1.5px solid var(--r-line2);border-radius:14px;background:rgba(255,255,255,.02);transition:border-color .2s,background .2s}
.choices.multi .choice:hover{border-color:rgba(255,255,255,.3)}
.choices.multi .choice.on{border-color:var(--r-acc-hi);background:rgba(79,143,209,.1)}
.choices.multi .choice label{border:0!important;background:none!important;box-shadow:none!important;padding:1.15rem 1.2rem 1.1rem 3.3rem;gap:.35rem;flex:1}
.choices.multi .choice label b{font-family:var(--r-h);font-weight:600;font-size:1.15rem;color:var(--r-fg)}
.choices.multi .choice label span{font-size:.95rem;line-height:1.5;color:#b9c1cc}
.choices.multi .choice label em{font-size:1.05rem;color:var(--r-gold-hi);margin-top:.2rem}
.choices.multi .choice label small{font-size:.85rem;color:var(--r-mut)}
.choices.multi .tick{position:absolute;left:1.15rem;top:1.2rem;width:22px;height:22px;border-radius:6px;border:2px solid rgba(255,255,255,.45);transition:background .15s,border-color .15s}
.choices.multi .choice.on .tick{background:var(--r-acc-hi);border-color:var(--r-acc-hi)}
.choices.multi .choice.on .tick::after{content:"";position:absolute;left:6px;top:2px;width:6px;height:11px;border:solid #fff;border-width:0 2.5px 2.5px 0;transform:rotate(45deg)}
.choices.multi .choice input:focus-visible+label .tick{outline:2px solid var(--r-acc-hi);outline-offset:3px}
.hours{display:flex;align-items:center;gap:.6rem;margin:0 1.2rem 1.1rem 3.3rem;padding-top:.9rem;border-top:1px solid var(--r-line2)}
.hours[hidden]{display:none}
.hours span{color:var(--r-mut);font-size:.95rem;margin-right:auto}
.hours button{width:40px;height:40px;border-radius:10px;border:1px solid var(--r-line2);background:rgba(255,255,255,.06);color:var(--r-fg);font-size:1.3rem;line-height:1;cursor:pointer}
.hours button:hover:not(:disabled){border-color:var(--r-acc-hi)}
.hours button:disabled{opacity:.35;cursor:default}
.hours output{min-width:4.5rem;text-align:center;font-family:var(--r-h);font-weight:600;font-size:1.1rem;color:var(--r-fg)}

/* options à ajouter */
.extras{margin-top:1.5rem}
.extras .lbl{font-family:var(--r-h);font-weight:600;font-size:1rem;color:var(--r-fg);margin:0 0 .7rem;text-transform:none;letter-spacing:0}
.extras .lbl span{font-family:inherit;font-weight:400;color:var(--r-mut);font-size:.9rem}
.chips{display:flex;flex-wrap:wrap;gap:.5rem}
.chip{position:relative;cursor:pointer}
.chip input{position:absolute;opacity:0;pointer-events:none}
.chip span{display:inline-flex;align-items:center;gap:.4rem;padding:.6rem 1rem;border-radius:999px;border:1px solid var(--r-line2);color:#d3d9e1;font-size:.95rem;transition:all .15s}
.chip span::before{content:"+";font-weight:700;color:var(--r-mut)}
.chip input:checked+span{border-color:var(--r-gold);background:rgba(215,180,106,.12);color:#fff}
.chip input:checked+span::before{content:"✓";color:var(--r-gold-hi)}
.chip input:focus-visible+span{outline:2px solid var(--r-acc-hi);outline-offset:2px}
.btotal{margin:1.25rem 0 0;padding:.9rem 1.1rem;border-radius:12px;background:rgba(79,143,209,.12);border:1px solid rgba(79,143,209,.35);color:var(--r-fg);font-size:1rem}
.btotal b{font-family:var(--r-h)}
.btotal.warn{background:rgba(215,180,106,.14);border-color:rgba(215,180,106,.5);color:var(--r-gold-hi)}

/* calendrier et heures : plus grands */
.rpage .cal-head{margin-bottom:.9rem}
.rpage .cal-head b{font-family:var(--r-h);font-size:1.2rem;text-transform:capitalize;color:var(--r-fg)}
.rpage .cal-nav{width:44px;height:44px;border-radius:12px;border:1px solid var(--r-line2);background:rgba(255,255,255,.04);color:var(--r-fg);font-size:1.4rem}
.rpage .cal{gap:.4rem}
.rpage .cal .dow{color:var(--r-mut);font-size:.85rem;text-transform:uppercase}
.rpage .cal button{max-height:3.8rem;border-radius:10px;font-size:1.05rem;font-weight:600;border-color:var(--r-line2);color:var(--r-fg)}
.rpage .cal button:disabled{color:rgba(255,255,255,.22)}
.rpage .cal button[aria-pressed="true"]{background:var(--r-acc);color:#fff}
.rpage .slots{gap:.5rem;grid-template-columns:repeat(auto-fill,minmax(5.5rem,1fr))}
.rpage .slots button{padding:.85rem .5rem;border-radius:12px;font-family:var(--r-h);font-size:1rem;font-weight:600;border-color:var(--r-line2);color:var(--r-fg)}
.rpage .slots button[aria-pressed="true"]{background:var(--r-acc);color:#fff;border-color:var(--r-acc)}
.rpage .slots-note,.rpage .cal-legend{font-size:.9rem}
.rpage #slots-wrap .lbl{font-family:var(--r-h);font-size:1.05rem;color:var(--r-fg);text-transform:none;letter-spacing:0}

/* récapitulatif */
.rpage .summary{background:var(--r-card2);border:1px solid rgba(79,143,209,.4);border-radius:18px;padding:1.6rem}
.rpage .summary h2{font-family:var(--r-h);font-size:1.3rem;color:var(--r-fg)}
.rpage .sumrows{font-size:1rem;gap:.7rem}
.rpage .sumrows dt{color:var(--r-mut)}
.rpage .sumrows dd{color:var(--r-fg)}
.rpage .sumrows .items{flex-direction:column;gap:.45rem}
.rpage .sumrows .items dd{text-align:left;display:grid;gap:.35rem}
.rpage .sumrows .items dd span{display:flex;justify-content:space-between;gap:1rem;color:var(--r-fg)}
.rpage .sumrows .items dd span b{font-weight:600;white-space:nowrap}
.rpage .sumrows .now{color:var(--r-gold-hi)}
.rpage .summary .btn-primary{height:54px;font-size:1.05rem}
.rpage .summary .btn-primary:disabled{background:rgba(79,143,209,.35);border-color:transparent;color:rgba(255,255,255,.7)}
.rpage .summary .check{font-size:.95rem;color:#c9d0d9}
.rpage .bstep .field label{color:#c9d0d9;font-size:.95rem;text-transform:none;letter-spacing:0;font-family:var(--r-h);font-weight:500}
.rpage .auth-switch button{font-size:1rem}
@media (max-width:640px){.choices.multi .choice label{padding-left:3rem}.hours{margin-left:1.2rem}}

/* timeline Pro Tools : clips sans vignette photo, la forme d'onde prend toute la place */
.ptann .pt-wave{left:0;width:100%}
.ptann .pt-clip-desc{left:8px}
@media (max-width:640px){.ptann .pt-wave{left:0;width:100%}}

/* « Présenter mon projet » : carte allongée sur toute la largeur de l'équipe */
.rteam .rmember-da{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:1.5rem 3rem;align-items:center;padding:clamp(1.5rem,3vw,2.25rem) clamp(1.5rem,3.5vw,2.75rem)}
.rteam .rmember-da ul{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem 2.5rem;margin:0}
.rteam .rmember-da li{font-size:1rem}
.rteam .rmember-da li b{font-size:1.15rem;margin-bottom:.15rem}
.rteam .rmember-da .rbtn{white-space:nowrap;padding:0 2rem}
@media (max-width:860px){.rteam .rmember-da{grid-template-columns:minmax(0,1fr)}.rteam .rmember-da ul{grid-template-columns:minmax(0,1fr)}.rteam .rmember-da .rbtn{width:100%}}
@media (max-width:767px){.rteam .rmember-da{flex:0 0 84%}}

/* bouton d'appel flottant, à gauche, sur toutes les pages */
.callfab{position:fixed;left:1rem;bottom:1rem;z-index:40;display:flex;align-items:center;gap:.55rem;height:3.4rem;padding:0 1.15rem 0 1rem;border-radius:999px;background:var(--r-acc);color:#fff;text-decoration:none;
  font-family:var(--r-h);font-weight:600;font-size:.95rem;box-shadow:0 12px 32px -10px rgba(0,0,0,.75);transition:background .2s,transform .2s}
.callfab:hover{background:var(--r-acc-hi);transform:translateY(-2px)}
.callfab svg{width:22px;height:22px;flex:none}
.callfab::before{content:"";position:absolute;inset:0;border-radius:inherit;box-shadow:0 0 0 0 rgba(79,143,209,.55);animation:callpulse 2.8s ease-out infinite}
@keyframes callpulse{0%{box-shadow:0 0 0 0 rgba(79,143,209,.5)}70%,100%{box-shadow:0 0 0 14px rgba(79,143,209,0)}}
@media (max-width:767px){
  .callfab{width:3.4rem;padding:0;justify-content:center}
  .callfab span{display:none}
  body:has(.rsticky.on) .callfab{bottom:calc(78px + env(safe-area-inset-bottom))}
}
@media (prefers-reduced-motion:reduce){.callfab::before{animation:none}.callfab{transition:none}}

/* page contact */
.ctc-head .rh1.left{margin-bottom:1rem}
.ctc-actions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.9rem;margin-top:2.25rem}
.ctc-card{display:flex;align-items:center;gap:1rem;padding:1.15rem 1.25rem;border-radius:16px;background:var(--r-card);border:1px solid var(--r-line2);color:var(--r-fg);text-decoration:none;transition:border-color .2s,background .2s,transform .2s;min-width:0}
.ctc-card:hover{border-color:var(--r-acc-hi);transform:translateY(-2px)}
.ctc-card.primary{background:var(--r-acc);border-color:var(--r-acc)}
.ctc-card.primary:hover{background:var(--r-acc-hi)}
.ctc-card .ci{display:grid;place-items:center;flex:none;width:46px;height:46px;border-radius:12px;background:rgba(255,255,255,.08)}
.ctc-card.primary .ci{background:rgba(255,255,255,.18)}
.ctc-card .ci svg{width:22px;height:22px}
.ctc-card span{display:grid;gap:.1rem;min-width:0}
.ctc-card small{font-size:.85rem;color:var(--r-mut)}
.ctc-card.primary small{color:rgba(255,255,255,.8)}
.ctc-card b{font-family:var(--r-h);font-weight:600;font-size:1.02rem;overflow-wrap:anywhere}
.ctc-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:clamp(1.5rem,3vw,2.5rem);align-items:start}
.rpage .ctc-form{display:grid;grid-template-columns:1fr 1fr;gap:1.1rem 1rem;background:var(--r-card);border:1px solid var(--r-line2);border-radius:18px;padding:clamp(1.4rem,3vw,2.25rem)}
.ctc-form h2,.ctc-box h2{grid-column:1/-1;font-family:var(--r-h);font-weight:600;font-size:1.35rem;color:var(--r-fg);margin:0 0 .25rem}
.ctc-form .full{grid-column:1/-1}
.rpage .ctc-form label{font-family:var(--r-h);font-weight:500;font-size:1rem;color:#d3d9e1;text-transform:none;letter-spacing:0}
.rpage .ctc-form label span{color:var(--r-mut);font-weight:400}
.rpage .ctc-form input,.rpage .ctc-form select,.rpage .ctc-form textarea{font-size:1.05rem;padding:.95rem 1rem;border-radius:12px;background:#191c21;border:1px solid rgba(255,255,255,.14)}
.rpage .ctc-form textarea{min-height:170px}
.ctc-form .form-foot{display:flex;flex-wrap:wrap;align-items:center;gap:1rem 1.25rem}
.ctc-form .btn-primary{height:54px;padding:0 1.8rem;font-size:1.05rem}
.ctc-form .status{font-size:.92rem;color:var(--r-mut);flex:1;min-width:14rem}
.ctc-side{display:grid;gap:1rem}
.ctc-box{padding:1.4rem 1.5rem;border-radius:18px;background:var(--r-card);border:1px solid var(--r-line2)}
.ctc-box h2{font-size:1.1rem;margin-bottom:.5rem}
.ctc-box p{color:#c9d0d9;font-size:1rem;line-height:1.55;margin:0 0 .9rem}
.ctc-box p:last-child{margin-bottom:0}
.ctc-box .btn{display:inline-flex;align-items:center;gap:.5rem}
.ctc-box .btn svg{width:18px;height:18px}
.ctc-link{color:var(--r-acc-hi);font-weight:600}
.rpage #contact .map{margin-top:clamp(1.5rem,3vw,2.5rem);border-radius:18px}
@media (max-width:1000px){.ctc-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.ctc-grid{grid-template-columns:minmax(0,1fr)}}
@media (max-width:560px){.ctc-actions{grid-template-columns:minmax(0,1fr)}.rpage .ctc-form{grid-template-columns:minmax(0,1fr)}}
.ctc-card.primary{background:#3a73b8;border-color:#3a73b8}.ctc-card.primary:hover{background:#4583c9}

/* Deux espaces séparés dans l'en-tête : Espace client / Espace admin */
.top-actions .top-client,.top-actions .top-admin{display:inline-flex;align-items:center;gap:.4rem;white-space:nowrap;border-radius:999px;padding:.38rem .8rem;border:1px solid rgba(255,255,255,.18);color:rgba(255,255,255,.86);font-size:.86rem}
.top-actions .top-client:hover{border-color:rgba(255,255,255,.45);color:#fff}
.top-actions .top-admin{color:#9cc0ff;border-color:rgba(156,192,255,.35)}
.top-actions .top-admin:hover{background:rgba(156,192,255,.1);color:#fff}
.top-actions [aria-current="page"].top-client,.top-actions [aria-current="page"].top-admin{background:rgba(255,255,255,.08)}
.drawer .spaces{display:grid;grid-template-columns:1fr 1fr;gap:.6rem}
.drawer .spaces .btn{justify-content:center;text-align:center}
.drawer .btn.top-admin{border-color:rgba(156,192,255,.45);color:#9cc0ff}
@media (min-width:1081px){.top-actions .top-link.top-admin{display:inline-flex}}
@media (min-width:1081px) and (max-width:1339px){.top-actions .btn .long{display:none}.top-actions .top-client,.top-actions .top-admin{padding:.38rem .65rem;font-size:.82rem}.mainnav{gap:0}.mainnav a{padding-inline:.55rem}}
@media (min-width:1081px) and (max-width:1180px){.top-actions .top-client span,.top-actions .top-admin span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.mainnav a{font-size:.88rem;padding-inline:.45rem}.top-actions .top-client,.top-actions .top-admin{padding:.45rem}}
@media (max-width:1080px){.top-actions .top-link.top-client,.top-actions .top-link.top-admin{display:none}}

/* Espace client / Espace admin : pages d'entrée partagées */
.auth2{display:grid;grid-template-columns:minmax(0,30rem) minmax(0,1fr);gap:clamp(2rem,5vw,5rem);align-items:start}
.auth-card{background:#151a22;border:1px solid rgba(255,255,255,.1);border-radius:14px;padding:clamp(1.25rem,3vw,2rem);display:grid;gap:1.1rem}
.space-tabs{display:grid;grid-template-columns:1fr 1fr;background:#0d1117;border:1px solid rgba(255,255,255,.1);border-radius:10px;padding:4px;gap:4px}
.space-tabs a{text-align:center;padding:.7rem .5rem;border-radius:7px;text-decoration:none;font-weight:600;font-size:.95rem;color:rgba(255,255,255,.7)}
.space-tabs a:hover{color:#fff;background:rgba(255,255,255,.05)}
.space-tabs a[aria-current="page"]{background:#3a73b8;color:#fff}
.space-tabs a[aria-current="page"]:last-child{background:#26406a;color:#cfe0ff}
.auth-mode{display:flex;gap:1.25rem;border-bottom:1px solid rgba(255,255,255,.1)}
.auth-mode a{padding:.25rem 0 .7rem;text-decoration:none;color:rgba(255,255,255,.6);font-size:.95rem;border-bottom:2px solid transparent;margin-bottom:-1px}
.auth-mode a[aria-current="page"]{color:#fff;border-color:#5b95dc}
.auth-form{display:grid;gap:1rem}
.auth-form .field{display:grid;gap:.4rem}
.auth-form label{font-size:.9rem;font-weight:600;color:rgba(255,255,255,.85)}
.auth-form label small{font-weight:400;color:rgba(255,255,255,.55)}
.auth-form input{width:100%;min-height:3rem;padding:.7rem .9rem;border-radius:8px;border:1px solid rgba(255,255,255,.16);background:#0d1117;color:#fff;font-size:1rem}
.auth-form input:focus{outline:2px solid #5b95dc;outline-offset:1px;border-color:transparent}
.auth-submit{width:100%;justify-content:center;min-height:3rem}
.auth-forgot{justify-self:center;font-size:.9rem;color:#9cc0ff}
.auth-h{font-size:1.25rem;margin:0}
.auth-p{margin:0;color:rgba(255,255,255,.72);line-height:1.6}
.auth-sep{display:flex;align-items:center;gap:.8rem;color:rgba(255,255,255,.45);font-size:.85rem;margin-top:.4rem}
.auth-sep::before,.auth-sep::after{content:"";flex:1;height:1px;background:rgba(255,255,255,.12)}
.auth-side h2{font-size:1.15rem;margin:0 0 1.2rem}
.auth-list,.auth-steps{list-style:none;margin:0;padding:0;display:grid;gap:1.1rem}
.auth-list li,.auth-steps li{display:grid;gap:.2rem;padding-left:1.4rem;position:relative}
.auth-list li::before{content:"";position:absolute;left:0;top:.55em;width:7px;height:7px;border-radius:50%;background:#5b95dc}
.auth-steps{counter-reset:s}
.auth-steps li{counter-increment:s;padding-left:2.3rem}
.auth-steps li::before{content:counter(s);position:absolute;left:0;top:0;width:1.6rem;height:1.6rem;border-radius:50%;border:1px solid rgba(156,192,255,.5);color:#9cc0ff;display:grid;place-items:center;font-size:.85rem;font-weight:600}
.auth-list b,.auth-steps b{color:#fff;font-weight:600}
.auth-list span,.auth-steps span{color:rgba(255,255,255,.65);line-height:1.55}
.auth-note{margin-top:1.6rem;color:rgba(255,255,255,.65)}
.auth-note a{color:#9cc0ff}
.auth-card .flash{margin:0}
@media (max-width:860px){.auth2{grid-template-columns:minmax(0,1fr)}}

/* Nouveau logo (planète couleur + lumière bleue). L'image contient une marge pour le halo :
   --lh = hauteur visible du logo ; la marge négative laisse la lumière déborder sans décaler la mise en page. */
.brand img,.foot-logo{--lh:44px;height:calc(var(--lh)*1.8468)!important;width:auto!important;max-width:none;filter:none!important}
.brand img{margin:calc(var(--lh)*-.4234)}
.brand{position:relative;z-index:1}
.foot-logo{--lh:58px;margin:calc(var(--lh)*-.4234) calc(var(--lh)*-.4234) calc(1.2rem - var(--lh)*.4234)}
@media (max-width:1339px){.brand img{--lh:40px}}
@media (max-width:1080px){.brand img{--lh:36px}}
@media (max-width:420px){.brand img{--lh:32px}}

/* ===== En-tête et pied de page blancs (logo couleur, texte noir) ===== */
body .top,.rhome .top,.rpage .top{background:#fff!important;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid #e4e7ec!important;color:#111418!important;box-shadow:0 1px 0 rgba(17,20,24,.02),0 6px 20px -14px rgba(17,20,24,.25)}
.top .mainnav a{color:#111418!important}
.top .mainnav a:hover,.top .mainnav a[aria-current="page"]{color:#000!important;box-shadow:inset 0 -2px 0 #2b5fc4!important}
.top .top-actions .top-client{color:#111418!important;border-color:#d3d8e0!important;background:#fff}
.top .top-actions .top-client:hover{background:#f2f4f7!important;border-color:#b9c0cb!important}
.top .top-actions .top-admin{color:#2b5fc4!important;border-color:#c5d4f2!important;background:#fff}
.top .top-actions .top-admin:hover{background:#eef3fd!important}
.top .top-actions [aria-current="page"].top-client,.top .top-actions [aria-current="page"].top-admin{background:#eef1f5!important}
.top .btn-primary{background:#2b5fc4!important;color:#fff!important}
.top .btn-primary:hover{background:#224fa8!important}
.top .burger{color:#111418!important;border-color:#d3d8e0!important;background:#fff}
/* logo clair : pas de halo, donc pas de marge à compenser */
.brand img{height:var(--lh)!important;margin:0!important}
.brand img{--lh:42px}
@media (max-width:1339px){.brand img{--lh:38px}}
@media (max-width:1080px){.brand img{--lh:32px}}
@media (max-width:420px){.brand img{--lh:30px}}
/* menu mobile blanc */
.drawer{background:#fff!important;color:#111418}
.drawer nav{border-bottom-color:#e4e7ec!important}
.drawer nav a{color:#111418!important}
.drawer nav a[aria-current="page"]{color:#2b5fc4!important}
.drawer .sub a{color:#4a515c!important}
.drawer .btn-ghost{color:#111418!important;border-color:#d3d8e0!important;background:#fff!important}
.drawer .btn.top-admin{color:#2b5fc4!important;border-color:#c5d4f2!important}
.drawer .btn-primary{background:#2b5fc4!important;color:#fff!important}
/* pied de page blanc */
.foot,.rhome .foot,.rpage .foot{background:#fff!important;color:#111418!important;border-top:1px solid #e4e7ec!important}
.foot p,.foot li{color:#3d434d!important}
.foot a{color:#111418!important}
.foot a:hover{color:#2b5fc4!important}
.foot h3,.foot .label{color:#6b7280!important}
.foot .socials a{border-color:#d3d8e0!important;color:#111418!important}
.foot .socials a:hover{border-color:#2b5fc4!important;color:#2b5fc4!important}
.foot-legal{border-top-color:#e4e7ec!important;color:#6b7280!important}
.foot-legal a,.foot-legal button,.foot-legal span{color:#4a515c!important}
.foot-logo{height:var(--lh)!important;margin:0 0 1.2rem!important;--lh:46px}
