/* RS PERFORMANCE ÉPERNAY — DESIGN PUBLIC UNIFIÉ
  Style des pages vitrines inspiré de la nouvelle page d'accueil.
  Charge APRÈS les CSS d'origine pour conserver toutes les animations et le fonctionnement.
  Ne touche pas aux espaces client/admin File Service et aux scripts techniques. */
:root{--rs-ui-red:#d35261;--rs-ui-ink:#0b0d11;--rs-ui-ink-2:#111319;--rs-ui-line:rgba(247,248,251,.12);--rs-ui-muted:#b4b8c2;--rs-ui-white:#f4f4f6}
html{scroll-padding-top:98px}
body.rs-public{background:#0b0d11;color:#f4f4f6;font-family:Inter,system-ui,-apple-system,'Segoe UI',Arial,sans-serif;-webkit-font-smoothing:antialiased}
body.rs-public :is(a,button,input,select,textarea):focus-visible{outline:2px solid #d5e8fa;outline-offset:3px}
body.rs-public main{background:#0b0d11;overflow:clip}
/* En-tête commun : identité conservée, style cohérent */
body.rs-public .top{background:rgba(8,10,14,.97)!important;border-bottom:1px solid rgba(255,255,255,.09)!important;box-shadow:none!important;backdrop-filter:blur(14px);position:relative;z-index:80}
body.rs-public .nav{min-height:84px;gap:21px;align-items:center}
body.rs-public .logo img{width:clamp(165px,18vw,205px);max-height:58px;object-fit:contain}
body.rs-public .logo small{font-size:.55rem;letter-spacing:.25em;color:#b6bbc7}
body.rs-public .links{gap:clamp(7px,.95vw,18px)}
body.rs-public .links a{position:relative;color:#c0c3cb!important;font-weight:760!important;font-size:.79rem!important;letter-spacing:0!important;white-space:nowrap;padding:12px 0;text-shadow:none!important}
body.rs-public .links a:hover,body.rs-public .links a.active{color:#fff!important}
body.rs-public .links a.active:after{content:"";position:absolute;bottom:3px;left:0;right:0;width:auto;height:2px;background:var(--rs-ui-red)!important}
body.rs-public .nav>.btn{background:#cf4e5d!important;border:1px solid #d35b68!important;color:#fff!important;border-radius:4px!important;padding:11px 18px!important;font-size:.82rem!important;font-weight:800!important;box-shadow:none!important;white-space:nowrap;min-width:max-content}
body.rs-public .nav>.btn:hover{background:#e25d6a!important}
body.rs-public .menu-toggle{background:#15181e;color:#f4f4f6;border:1px solid #343942;border-radius:4px}
/* Typographie et composition : mêmes échelles sur l'ensemble des pages */
body.rs-public :is(.rp-hero h1,.ap-hero h1,.er-hero h1,.rv-hero h1,.rsr-immo-hero h1,.rsp-page-hero h1,.rs-public-intro h1){font-size:clamp(2.85rem,4.25vw,4.45rem)!important;line-height:1.075!important;letter-spacing:-.058em!important;font-weight:850!important;margin-bottom:24px;max-width:790px;text-wrap:balance}
body.rs-public .rs-hero h1{font-size:clamp(2.85rem,4.25vw,4.45rem)!important;line-height:1.075!important}
body.rs-public :is(.rp-hero h1,.ap-hero h1,.er-hero h1,.rv-hero h1,.rsr-immo-hero h1) em{font-style:normal}
body.rs-public :is(.rp-lead,.ap-lead,.er-lead,.rv-lead,.rsr-immo-lead,.rs-public-intro p){font-size:1rem!important;line-height:1.76!important;max-width:600px!important;color:#c0c2cb!important}
body.rs-public :is(.rp-eyebrow,.ap-eyebrow,.er-topline,.rv-eyebrow,.rsr-eyebrow,.rsp-kicker,.rs-public-kicker){font-size:.71rem!important;letter-spacing:.145em!important;line-height:1.5;font-weight:850;text-transform:uppercase}
body.rs-public :is(.rp-section,.ap-section,.er-section,.rv-section,.rsr-immo-symptoms,.rsr-immo-services,.rsr-immo-process,.rsr-immo-faq,.rsr-immo-final){border-bottom:1px solid rgba(255,255,255,.065);box-shadow:none}
body.rs-public :is(.rp-section,.ap-section,.er-section,.rv-section,.rsr-immo-symptoms,.rsr-immo-services,.rsr-immo-process,.rsr-immo-faq) :is(h2,.section-head h2,.rp-section-head h2,.ap-section-head h2,.er-section-head h2,.rv-section-head h2,.rsr-intro-pair h2,.rsr-process-heading h2){font-size:clamp(2rem,3.05vw,3.15rem)!important;line-height:1.15!important;letter-spacing:-.045em!important;font-weight:830!important}
body.rs-public :is(.rp-final,.ap-conclusion,.er-outro,.rv-outro,.rsr-immo-final) h2{font-size:clamp(2rem,3.35vw,3.4rem)!important;line-height:1.15!important;letter-spacing:-.045em!important}
body.rs-public :is(.rp-section,.ap-section,.er-section,.rv-section,.rsr-immo-symptoms,.rsr-immo-services,.rsr-immo-process,.rsr-immo-faq){padding-top:clamp(58px,6.4vw,94px)!important;padding-bottom:clamp(58px,6.4vw,94px)!important}
/* Sections subtilement alternées, éléments solides plutôt que gros effets lumineux */
body.rs-public .rp-section-shade,body.rs-public .ap-section-shade,body.rs-public .er-section-alt,body.rs-public .rv-section-alt,body.rs-public .rsr-immo-services,body.rs-public .rsr-immo-faq{background:#12141a!important}
body.rs-public :is(.rp-section,.ap-section,.er-section,.rv-section,.rsr-immo-services,.rsr-immo-faq) p{line-height:1.76}
body.rs-public :is(.rp-section,.ap-section,.rv-section,.rsr-immo-services) :is(.rp-stage-shell,.rp-side-panel,.rp-solution-card,.ap-system-card,.ap-alert-card,.rv-card,.rsr-immo-service-card){box-shadow:none!important;border-radius:7px!important}
body.rs-public :is(.rp-section,.ap-section,.er-section,.rv-section,.rsr-immo-services) a:not(.btn):not(.rsr-button-primary):hover{text-decoration-color:var(--rs-ui-red)}
/* Présentations des héros : même structure éditoriale et espace maîtrisé */
body.rs-public :is(.rp-hero,.ap-hero,.er-hero,.rv-hero,.rsr-immo-hero){background-color:#0d0f14!important;border-bottom:1px solid var(--rs-ui-line);padding:clamp(56px,5.9vw,85px) 0 clamp(58px,5.7vw,85px)!important}
body.rs-public :is(.rp-hero-grid,.ap-hero-grid,.er-hero-grid,.rv-hero-grid,.rsr-immo-hero-layout){gap:clamp(22px,4vw,65px)!important;align-items:center}
body.rs-public :is(.rp-tags,.ap-badges,.er-pills,.rv-loc){margin-bottom:19px!important}
body.rs-public :is(.rp-tags>span,.ap-badges>span,.er-pills>span){box-shadow:none!important;border-radius:4px!important}
body.rs-public :is(.rp-hero,.ap-hero,.er-hero,.rv-hero,.rsr-immo-hero) :is(.rp-ticks,.ap-points,.er-inline-perks,.rv-hero-proof,.rsr-immo-benefits){padding-top:20px!important;margin-top:25px!important;border-top:1px solid rgba(255,255,255,.12)!important;color:#b5bac2}
body.rs-public :is(.rp-button,.ap-yellow-button,.er-btn-green,.rv-primary,.rsr-button-primary){box-shadow:none!important;border-radius:4px!important;min-height:49px;font-weight:820!important}
body.rs-public :is(.rp-outline,.ap-outline,.er-btn-outline){box-shadow:none!important;border-radius:4px!important}
/* Accents originaux des spécialités préservés */
body.rs-public.rp-page{--rs-section-accent:#e26a76}
body.rs-public.er-page{--rs-section-accent:#69d6a0}
body.rs-public.ap-page{--rs-section-accent:#f3ca69}
body.rs-public.rv-page{--rs-section-accent:#de7081}
body.rs-public.rsr-immo-page{--rs-section-accent:#6fafd9}
body.rs-public :is(.rp-eyebrow,.rv-eyebrow,.rsr-eyebrow){color:var(--rs-section-accent)!important}
body.rs-public.er-page .er-topline{color:#80d9ac!important}
body.rs-public.ap-page .ap-eyebrow{color:#f2d189!important}
body.rs-public.rp-page .rp-hero .rp-button{background:#ce5160!important;border-color:#ce5160!important}
body.rs-public.rp-page .rp-hero .rp-button:hover{background:#e4606e!important}
/* Les interfaces animées sont conservées intactes, mais leurs cadres s'intègrent au nouveau design. */
body.rs-public .rp-hero-dash{border-radius:9px!important;border-color:rgba(255,255,255,.16)!important;background:linear-gradient(160deg,#191d23,#0d1016)!important;box-shadow:0 20px 55px rgba(0,0,0,.2)!important}
body.rs-public .ap-obd-panel,body.rs-public .rv-review-device,body.rs-public .rsr-immo-visual{border-radius:9px!important;box-shadow:0 18px 55px rgba(0,0,0,.25)!important}
body.rs-public .rsr-immo-visual{width:min(100%,425px)!important;max-width:425px!important}
body.rs-public .rsr-immo-hero-copy h1{max-width:620px!important}
body.rs-public .rsr-immo-visual svg{max-height:280px}
body.rs-public :is(.rp-hero-dash,.ap-obd-panel,.rv-review-device,.rsr-immo-visual){will-change:auto}
body.rs-public.er-page .fuel-live{box-shadow:none!important}
/* Bandeaux de navigation internes conservés mais épurés */
body.rs-public :is(.rp-anchor-nav,.ap-anchor-nav,.er-anchor-nav,.rv-anchor-nav){background:#14161b!important;border-top:1px solid rgba(255,255,255,.08);border-bottom:1px solid rgba(255,255,255,.08);box-shadow:none!important}
/* Foire aux questions : lignes sobres */
body.rs-public :is(.rp-section,.ap-section,.er-section,.rv-section,.rsr-immo-faq) details{border-color:rgba(255,255,255,.12)!important;box-shadow:none!important}
body.rs-public :is(.rp-section,.ap-section,.er-section,.rv-section,.rsr-immo-faq) summary{font-weight:740}
/* Avis et réalisations : même esprit que l'accueil */
body.rs-public.rv-page .rv-google-card{background:#15181e}
body.rs-public .rsp-page-hero{background:#0d1016!important;padding:79px 0 76px;border-bottom:1px solid var(--rs-ui-line)}
body.rs-public .rsp-page-hero h1{max-width:820px}
body.rs-public .rsp-page-hero p{max-width:780px;color:#bac0c9;font-size:1rem;line-height:1.75}
/* Devis : en-tête éditorial + formulaire original préservé */
body.rs-public .rs-public-intro{padding:79px 0 46px;background:linear-gradient(125deg,#12151b,#0b0d11);border-bottom:1px solid var(--rs-ui-line)}
body.rs-public .rs-public-intro .wrap{max-width:1200px}
body.rs-public .rs-public-kicker{display:block;color:#d76d79;position:relative;padding-left:33px}
body.rs-public .rs-public-kicker:before{content:"";width:23px;height:2px;position:absolute;background:#e05b69;left:0;top:50%}
body.rs-public .rs-public-intro h1{margin:20px 0 18px}
body.rs-public .rs-public-intro h1 em{color:#e26b79;font-style:normal}
body.rs-public .rs-public-intro-line{height:1px;background:linear-gradient(90deg,#cb505c,rgba(255,255,255,.12),transparent);max-width:330px;margin-top:29px}
body.rs-public main>.section{padding-top:45px}
body.rs-public .contact-info,body.rs-public .formbox{background:#13161c!important;border-color:rgba(255,255,255,.14)!important;box-shadow:none!important;border-radius:8px!important}
body.rs-public :is(.formbox input,.formbox select,.formbox textarea){background:#0d1016;color:#f5f5f5;border-color:#39404b;border-radius:4px}
body.rs-public .formbox button.btn{background:#d15260!important;border:1px solid #d15260!important;border-radius:4px!important;box-shadow:none!important}
body.rs-public .formbox button.btn:hover{background:#e5606e!important}
/* Bas de page aligné avec la nouvelle page d'accueil */
body.rs-public footer{background:#090b0e!important;box-shadow:none!important;border-top:1px solid var(--rs-ui-line)!important;color:#a9afba!important;padding:34px 0 39px!important;font-size:.8rem!important}
body.rs-public footer:before,body.rs-public footer:after{display:none!important}
body.rs-public footer .foot{gap:16px!important;align-items:flex-start}
body.rs-public footer .foot-links{gap:8px!important}
body.rs-public footer .foot-links a{padding:7px 12px!important;border:1px solid rgba(255,255,255,.16)!important;background:transparent!important;color:#c9cdd5!important;font-size:.75rem!important;border-radius:4px!important}
body.rs-public footer .foot-links a:hover{background:#242832!important;border-color:#d15260!important}
body.rs-public footer .notice{border-color:rgba(255,255,255,.10)!important;color:#999faa!important;font-size:.73rem!important}
/* Adaptation ordinateur portable, tablette et téléphone */
@media(max-width:1230px){
 body.rs-public .menu-toggle{display:block!important;order:3}
 body.rs-public .nav{position:relative}
 body.rs-public .nav>.btn{display:inline-flex!important;margin-left:auto}
 body.rs-public .links{display:none!important;position:absolute;top:100%;left:0;right:0;flex-direction:column;align-items:stretch;gap:0!important;padding:14px 21px 20px;background:#14171d!important;border:1px solid #343943;box-shadow:0 20px 45px rgba(0,0,0,.5);z-index:99}
 body.rs-public .links.open{display:flex!important}
 body.rs-public .links a{display:block;padding:12px 0!important;font-size:.88rem!important}
 body.rs-public .links a.active:after{display:none}
}
@media(max-width:960px){
 body.rs-public :is(.rp-hero-grid,.ap-hero-grid,.er-hero-grid,.rv-hero-grid,.rsr-immo-hero-layout){grid-template-columns:1fr!important;gap:35px!important}
 body.rs-public :is(.rp-hero-dash,.ap-obd-panel,.rv-review-device,.rsr-immo-visual,.er-hero-art){max-width:min(100%,660px)!important;margin-left:auto!important;margin-right:auto!important;justify-self:center!important}
 body.rs-public .rsr-immo-visual{max-width:460px!important}
}
@media(max-width:650px){
 body.rs-public .wrap{width:min(100% - 36px,1200px)!important}
 body.rs-public .logo img{width:170px!important}
 body.rs-public .nav{min-height:73px;gap:8px}
 body.rs-public .nav>.btn{font-size:.72rem!important;padding:10px 11px!important}
 body.rs-public .menu-toggle{font-size:1rem;padding:7px 9px}
 body.rs-public :is(.rp-hero,.ap-hero,.er-hero,.rv-hero,.rsr-immo-hero){padding:50px 0 53px!important}
 body.rs-public :is(.rp-hero h1,.ap-hero h1,.er-hero h1,.rv-hero h1,.rsr-immo-hero h1,.rsp-page-hero h1,.rs-public-intro h1,.rs-hero h1){font-size:clamp(2.45rem,10vw,3.15rem)!important;line-height:1.11!important;letter-spacing:-.05em!important}
 body.rs-public :is(.rp-section,.ap-section,.er-section,.rv-section,.rsr-immo-services,.rsr-immo-symptoms,.rsr-immo-process,.rsr-immo-faq) h2{font-size:clamp(1.9rem,7vw,2.5rem)!important}
 body.rs-public .rsr-immo-visual svg{max-height:240px}
 body.rs-public .rs-public-intro{padding:53px 0 37px}
 body.rs-public footer{padding:29px 0 90px!important}
 body.rs-public footer .foot-links a{width:auto!important}
}
@media(prefers-reduced-motion:reduce){body.rs-public :is(.rs-button,.btn,a){transition:none!important}}
