/*
Theme Name: SERVIPRA Sérénité
Theme URI: https://www.servipra.fr/
Author: SERVIPRA
Description: Thème WordPress léger pour Microsoft 365, cybersécurité, sauvegarde et MCO des TPE/PME.
Version: 1.1.18
Requires at least: 6.6
Tested up to: 7.0
Requires PHP: 8.1
Text Domain: servipra-serenite
License: GPL-2.0-or-later
*/
:root{--navy:#07192b;--navy2:#0c223a;--blue:#1677c8;--teal:#20a6a1;--orange:#f28c28;--ink:#13283e;--muted:#587087;--line:#d9e5ee;--surface:#f5f8fb;--success:#16856d;--shadow:0 18px 55px rgba(8,31,53,.11);--r:18px;--rl:28px;--container:1180px;--font:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:#fff;font:17px/1.65 var(--font);-webkit-font-smoothing:antialiased}body.nav-open{overflow:hidden}img,svg{max-width:100%;height:auto}a{color:var(--blue);text-decoration-thickness:.08em;text-underline-offset:.18em}a:hover{color:#104f86}button,input,select,textarea{font:inherit}h1,h2,h3,h4{margin:0 0 .6em;color:var(--navy);line-height:1.13;letter-spacing:-.035em}h1{font-size:clamp(2.35rem,4.7vw,4.25rem)}h2{font-size:clamp(2rem,4vw,3.45rem)}h3{font-size:clamp(1.2rem,2vw,1.5rem)}p{margin:0 0 1.2em}ul,ol{padding-left:1.25rem}:focus-visible{outline:3px solid var(--orange);outline-offset:3px}
.sp-container{width:min(calc(100% - 40px),var(--container));margin-inline:auto}.sp-narrow{width:min(calc(100% - 40px),820px);margin-inline:auto}.sp-section{padding:clamp(58px,6vw,86px) 0}.sp-section--surface{background:var(--surface)}.sp-section--navy{color:#d8e8f4;background:var(--navy)}.sp-section--navy h2,.sp-section--navy h3{color:#fff}.sp-section-head{max-width:790px;margin-bottom:34px}.sp-section-head p{color:var(--muted);font-size:1.1rem}.sp-section--navy .sp-section-head p{color:#bfd2e0}.sp-eyebrow{display:inline-flex;align-items:center;gap:9px;margin:0 0 18px;color:var(--blue);font-size:.78rem;font-weight:850;letter-spacing:.13em;text-transform:uppercase}.sp-eyebrow:before{content:"";width:26px;height:3px;border-radius:99px;background:linear-gradient(90deg,var(--teal),var(--orange))}.sp-section--navy .sp-eyebrow{color:#85dcd7}
.sp-skip-link{position:fixed;left:16px;top:-100px;z-index:9999;padding:12px 18px;color:#fff;background:var(--navy);border-radius:8px}.sp-skip-link:focus{top:16px}.sp-site-header{position:sticky;top:0;z-index:1000;background:rgba(255,255,255,.94);border-bottom:1px solid rgba(217,229,238,.9);backdrop-filter:blur(16px)}.admin-bar .sp-site-header{top:32px}.sp-header-inner{min-height:82px;display:flex;align-items:center;justify-content:space-between;gap:28px}.sp-brand{display:flex;align-items:center;flex:0 0 auto;text-decoration:none}.sp-brand img,.custom-logo{display:block;width:auto;max-width:245px;max-height:50px;object-fit:contain}.custom-logo-link{display:flex;align-items:center}.sp-main-nav{display:flex;align-items:center;gap:24px;margin-left:auto}.sp-main-nav ul{display:flex;align-items:center;gap:22px;list-style:none;margin:0;padding:0}.sp-main-nav a{color:var(--ink);font-size:.92rem;font-weight:750;text-decoration:none}.sp-main-nav a:hover,.sp-main-nav .current-menu-item>a{color:var(--blue)}.sp-header-cta{white-space:nowrap}.sp-nav-toggle{display:none;width:48px;height:48px;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:12px;background:#fff;cursor:pointer}.sp-nav-toggle span,.sp-nav-toggle span:before,.sp-nav-toggle span:after{display:block;width:22px;height:2px;border-radius:3px;background:var(--navy);transition:.2s}.sp-nav-toggle span{position:relative}.sp-nav-toggle span:before,.sp-nav-toggle span:after{content:"";position:absolute;left:0}.sp-nav-toggle span:before{top:-7px}.sp-nav-toggle span:after{top:7px}.nav-open .sp-nav-toggle span{background:transparent}.nav-open .sp-nav-toggle span:before{top:0;transform:rotate(45deg)}.nav-open .sp-nav-toggle span:after{top:0;transform:rotate(-45deg)}
.sp-button,.wp-block-button__link,button[type=submit]{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:13px 22px;color:#fff;background:linear-gradient(135deg,var(--blue),#0d5ea4);border:0;border-radius:999px;box-shadow:0 8px 24px rgba(22,119,200,.22);font-size:.94rem;font-weight:800;line-height:1.2;text-decoration:none;cursor:pointer;transition:.18s}.sp-button:hover,.wp-block-button__link:hover,button[type=submit]:hover{color:#fff;transform:translateY(-2px);box-shadow:0 12px 30px rgba(22,119,200,.3)}.sp-button--secondary{color:var(--navy);background:#fff;border:1px solid var(--line);box-shadow:none}.sp-button--secondary:hover{color:var(--blue);background:#fff;box-shadow:var(--shadow)}.sp-button--light{color:var(--navy);background:#fff;box-shadow:none}.sp-button--light:hover{color:var(--blue);background:#fff}.sp-actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:28px}
.sp-hero{position:relative;overflow:hidden;padding:clamp(52px,5vw,76px) 0 38px;background:radial-gradient(circle at 11% 16%,rgba(32,166,161,.12),transparent 25%),radial-gradient(circle at 82% 22%,rgba(22,119,200,.13),transparent 28%),linear-gradient(180deg,#fbfdff,#fff)}.sp-hero-grid{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1.07fr) minmax(380px,.93fr);align-items:center;gap:clamp(42px,7vw,92px)}.sp-hero h1{max-width:780px;line-height:1.06}.sp-hero h1 strong{color:var(--blue);font-weight:inherit}.sp-lead{max-width:760px;color:var(--muted);font-size:clamp(1.02rem,1.6vw,1.18rem)}.sp-proofline{display:flex;flex-wrap:wrap;gap:10px 22px;margin-top:28px;color:var(--muted);font-size:.93rem}.sp-proofline span{display:inline-flex;align-items:center;gap:8px}.sp-proofline span:before{content:"✓";display:inline-grid;place-items:center;width:21px;height:21px;color:#fff;background:var(--success);border-radius:50%;font-size:.72rem;font-weight:900}.sp-hero-visual{position:relative}.sp-hero-visual>img{display:block;filter:drop-shadow(0 26px 48px rgba(7,25,43,.08))}.sp-float-note{position:absolute;right:0;bottom:42px;max-width:255px;padding:16px 18px;background:rgba(255,255,255,.96);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow);font-size:.84rem;font-weight:700}.sp-float-note strong{display:block;margin-bottom:3px;color:var(--success)}.sp-statbar{position:relative;z-index:1;display:grid;grid-template-columns:repeat(4,1fr);margin-top:34px;background:#fff;border:1px solid var(--line);border-radius:var(--r);box-shadow:0 10px 35px rgba(8,31,53,.08)}.sp-stat{padding:23px 25px;border-right:1px solid var(--line)}.sp-stat:last-child{border-right:0}.sp-stat strong{display:block;color:var(--navy);font-size:1.2rem}.sp-stat span{display:block;color:var(--muted);font-size:.86rem}
.sp-grid{display:grid;gap:24px}.sp-grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}.sp-grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}.sp-grid--4{grid-template-columns:repeat(4,minmax(0,1fr))}.sp-card{position:relative;padding:30px;background:#fff;border:1px solid var(--line);border-radius:var(--r);box-shadow:0 5px 25px rgba(8,31,53,.035);transition:.2s}.sp-card:hover{transform:translateY(-5px);border-color:#b9d7eb;box-shadow:var(--shadow)}.sp-card p{color:var(--muted)}.sp-card-link{font-weight:800;text-decoration:none}.sp-card-number{display:inline-grid;place-items:center;width:42px;height:42px;margin-bottom:22px;color:var(--blue);background:#eaf4fb;border-radius:12px;font-size:.85rem;font-weight:900}.sp-feature-list{display:grid;gap:12px;margin:22px 0;padding:0;list-style:none}.sp-feature-list li{position:relative;padding-left:29px}.sp-feature-list li:before{content:"✓";position:absolute;left:0;color:var(--success);font-weight:900}.sp-split{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:clamp(40px,7vw,90px)}.sp-check-panel{padding:clamp(28px,4vw,48px);background:#fff;border:1px solid var(--line);border-radius:var(--rl);box-shadow:var(--shadow)}.sp-quote{margin:0;padding:clamp(32px,5vw,60px);color:#fff;background:linear-gradient(135deg,var(--navy2),#061322);border-radius:var(--rl);box-shadow:var(--shadow)}.sp-quote p{margin:0;color:#fff;font-size:clamp(1.4rem,3vw,2.2rem);line-height:1.35;letter-spacing:-.025em}.sp-quote footer{margin-top:24px;color:#a9c5d9;font-size:.92rem}.sp-process{counter-reset:process;display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.sp-process-step{position:relative;padding:28px 24px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.13);border-radius:var(--r)}.sp-process-step:before{counter-increment:process;content:"0" counter(process);display:block;margin-bottom:32px;color:#80d9d4;font-size:.8rem;font-weight:900;letter-spacing:.12em}.sp-process-step p{margin:0;color:#bcd1df;font-size:.94rem}.sp-logo-cloud{display:flex;flex-wrap:wrap;gap:10px}.sp-pill{display:inline-flex;padding:9px 13px;color:#123557;background:#edf5fa;border:1px solid #d3e5f1;border-radius:999px;font-size:.85rem;font-weight:800}.sp-offer{display:flex;flex-direction:column}.sp-kicker{color:var(--blue);font-size:.78rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase}.sp-price{margin:14px 0;color:var(--navy);font-size:1.65rem;font-weight:900;letter-spacing:-.04em}.sp-offer .sp-button{align-self:flex-start;margin-top:auto}.sp-offer--featured{border:2px solid var(--blue);box-shadow:var(--shadow)}.sp-offer--featured:before{content:"RECOMMANDÉ";position:absolute;top:18px;right:18px;padding:6px 10px;color:#fff;background:var(--blue);border-radius:999px;font-size:.67rem;font-weight:900;letter-spacing:.08em}.sp-band{display:grid;grid-template-columns:1fr auto;align-items:center;gap:36px;padding:clamp(34px,5vw,58px);color:#fff;background:linear-gradient(135deg,var(--blue),#0c497f);border-radius:var(--rl);box-shadow:var(--shadow)}.sp-band h2,.sp-band p{color:#fff}.sp-band h2{margin-bottom:10px;font-size:clamp(1.8rem,3.5vw,3rem)}.sp-band p{margin:0;opacity:.9}.sp-faq{display:grid;gap:12px}.sp-faq details{background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden}.sp-faq summary{position:relative;padding:21px 56px 21px 22px;color:var(--navy);font-weight:800;cursor:pointer;list-style:none}.sp-faq summary::-webkit-details-marker{display:none}.sp-faq summary:after{content:"+";position:absolute;right:22px;top:50%;transform:translateY(-50%);color:var(--blue);font-size:1.6rem}.sp-faq details[open] summary:after{content:"−"}.sp-faq details p{padding:0 22px 22px;margin:0;color:var(--muted)}
.sp-page-hero{padding:62px 0 48px;background:radial-gradient(circle at 80% 20%,rgba(32,166,161,.12),transparent 25%),linear-gradient(180deg,#f7fbfe,#fff);border-bottom:1px solid var(--line)}.sp-page-hero h1{max-width:950px;font-size:clamp(2.6rem,5vw,4.6rem)}.sp-page-hero p{max-width:780px;color:var(--muted);font-size:1.16rem}.sp-main-content{padding:70px 0 110px}.sp-prose{width:min(100%,900px)}.sp-prose h2{margin-top:1.8em;font-size:clamp(1.8rem,3vw,2.55rem)}.sp-prose h3{margin-top:1.5em}.sp-prose p,.sp-prose li{color:#334d65}.sp-notice{padding:20px 22px;background:#fff8ee;border:1px solid #f5d3a3;border-radius:14px}.sp-table-wrap{overflow-x:auto}.sp-table,.sp-prose table{width:100%;margin:28px 0;border-collapse:collapse;border:1px solid var(--line)}.sp-table th,.sp-table td,.sp-prose th,.sp-prose td{padding:14px 16px;text-align:left;border-bottom:1px solid var(--line)}.sp-table th,.sp-prose th{color:var(--navy);background:var(--surface)}.sp-post-list{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.sp-post-card{overflow:hidden;padding:0}.sp-post-card__body{padding:26px}.sp-post-card__meta{color:var(--muted);font-size:.82rem}.sp-post-card h2{font-size:1.4rem}.sp-post-card h2 a{color:inherit;text-decoration:none}
.sp-contact-layout{display:grid;grid-template-columns:.78fr 1.22fr;gap:52px;align-items:start}.sp-contact-card{padding:30px;color:#d9e7f2;background:var(--navy);border-radius:var(--r)}.sp-contact-card h2,.sp-contact-card h3{color:#fff}.sp-contact-card a{color:#fff}.sp-form{display:grid;gap:18px}.sp-form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}.sp-field label{display:block;margin-bottom:7px;color:var(--navy);font-size:.9rem;font-weight:800}.sp-field input,.sp-field select,.sp-field textarea{width:100%;min-height:50px;padding:12px 14px;color:var(--ink);background:#fff;border:1px solid #bdcfdd;border-radius:10px}.sp-field textarea{min-height:150px;resize:vertical}.sp-field input:focus,.sp-field select:focus,.sp-field textarea:focus{outline:0;border-color:var(--blue);box-shadow:0 0 0 4px rgba(22,119,200,.12)}.sp-consent{display:grid;grid-template-columns:auto 1fr;gap:10px;align-items:start;font-size:.84rem;color:var(--muted)}.sp-hp{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important}.sp-form-status{padding:14px 16px;border-radius:10px;font-weight:700}.sp-form-status--success{color:#0a5f4d;background:#e8f7f3;border:1px solid #a9ddcf}.sp-form-status--error{color:#912d36;background:#fff0f1;border:1px solid #e7b7bb}
.sp-site-footer{padding:72px 0 0;color:#b9ccdb;background:#061322}.sp-footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:42px}.sp-site-footer h2,.sp-site-footer h3{color:#fff}.sp-site-footer h3{font-size:.95rem}.sp-site-footer p{font-size:.92rem}.sp-site-footer ul{margin:0;padding:0;list-style:none}.sp-site-footer li{margin:8px 0}.sp-site-footer a{color:#c7d8e5;text-decoration:none}.sp-site-footer a:hover{color:#fff}.sp-footer-logo{width:auto;max-width:230px;height:42px;object-fit:contain;filter:brightness(0) invert(1);opacity:.96}.sp-footer-bottom{display:flex;justify-content:space-between;gap:24px;margin-top:56px;padding:23px 0;border-top:1px solid rgba(255,255,255,.1);font-size:.8rem}.sp-footer-bottom p{margin:0}.sp-footer-legal{display:flex;flex-wrap:wrap;gap:18px}.alignwide{width:min(1180px,calc(100vw - 40px));max-width:none;margin-left:50%;transform:translateX(-50%)}.screen-reader-text{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:1040px){.sp-header-cta{display:none}.sp-hero-grid{grid-template-columns:1fr .82fr}.sp-grid--4,.sp-process{grid-template-columns:repeat(2,1fr)}.sp-footer-grid{grid-template-columns:1.4fr 1fr 1fr}}
@media(max-width:860px){.admin-bar .sp-site-header{top:46px}.sp-nav-toggle{display:inline-flex;margin-left:auto}.sp-main-nav{position:fixed;inset:82px 0 auto;display:none;max-height:calc(100vh - 82px);padding:26px 20px;background:#fff;border-bottom:1px solid var(--line);box-shadow:var(--shadow);overflow:auto}.nav-open .sp-main-nav{display:block}.sp-main-nav ul{display:grid;gap:0}.sp-main-nav li{border-bottom:1px solid var(--line)}.sp-main-nav a{display:block;padding:15px 4px;font-size:1.05rem}.sp-hero-grid{grid-template-columns:1fr}.sp-hero-visual{max-width:620px;margin:auto}.sp-statbar{grid-template-columns:1fr 1fr;margin-top:28px}.sp-stat:nth-child(2){border-right:0}.sp-grid--3,.sp-post-list{grid-template-columns:repeat(2,1fr)}.sp-split,.sp-contact-layout{grid-template-columns:1fr}.sp-band{grid-template-columns:1fr}.sp-footer-grid{grid-template-columns:1fr 1fr}}
@media(max-width:620px){body{font-size:16px}.sp-container,.sp-narrow{width:min(calc(100% - 30px),var(--container))}.sp-header-inner{min-height:72px}.sp-brand img,.custom-logo{max-width:190px}.sp-main-nav{top:72px}.sp-hero{padding-top:42px}.sp-hero h1{font-size:clamp(2.15rem,10vw,3rem)}.sp-float-note{position:static;max-width:none;margin-top:14px}.sp-statbar,.sp-grid--2,.sp-grid--3,.sp-grid--4,.sp-process,.sp-post-list,.sp-form-row,.sp-footer-grid{grid-template-columns:1fr}.sp-stat{border-right:0;border-bottom:1px solid var(--line)}.sp-band{padding:30px}.sp-card{padding:25px}.sp-footer-bottom{flex-direction:column}.sp-actions .sp-button{width:100%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition-duration:.001ms!important;animation-duration:.001ms!important}}


/* SERVIPRA compact layout v1.0.4
 * Réduit la hauteur des sections et la longueur des pages
 * sans changer le contenu ni le positionnement commercial.
 */
.sp-site-header{--sp-header-h:68px}
.sp-header-inner{min-height:68px}
.sp-brand img,.custom-logo{max-height:54px}
.sp-main-nav{gap:18px}
.sp-main-nav ul{gap:18px}
.sp-main-nav a{font-size:.88rem}
.sp-button,.wp-block-button__link,button[type=submit]{min-height:46px;padding:11px 19px}

.sp-hero{padding:54px 0 34px}
.sp-hero-grid{gap:clamp(30px,5vw,65px)}
.sp-hero h1{font-size:clamp(2.5rem,5vw,4.35rem)}
.sp-lead{font-size:clamp(1rem,1.7vw,1.16rem)}
.sp-proofline{margin-top:20px}
.sp-statbar{margin-top:38px}
.sp-stat{padding:18px 20px}

.sp-section{padding:58px 0}
.sp-section-head{margin-bottom:32px}
.sp-section-head p{font-size:1rem}

.sp-card{padding:24px}
.sp-card-number{margin-bottom:16px}
.sp-feature-list{gap:9px;margin:16px 0}
.sp-split{gap:40px}
.sp-check-panel{padding:30px}
.sp-process-step{padding:22px 20px}
.sp-process-step:before{margin-bottom:22px}

.sp-page-hero{padding:58px 0 42px}
.sp-page-hero h1{font-size:clamp(2.35rem,4.5vw,4rem)}
.sp-main-content{padding:48px 0 72px}

.sp-quote{padding:38px}
.sp-band{padding:34px 38px}
.sp-band h2{font-size:clamp(1.65rem,3vw,2.55rem)}

.sp-site-footer{padding:54px 0 0}
.sp-footer-grid{gap:30px}
.sp-footer-bottom{margin-top:40px;padding:18px 0}

@media(max-width:860px){
  .sp-main-nav{top:68px;max-height:calc(100vh - 68px)}
  .sp-hero{padding-top:45px}
}
@media(max-width:620px){
  .sp-header-inner{min-height:64px}
  .sp-main-nav{top:64px}
  .sp-hero{padding:42px 0 28px}
  .sp-hero h1{font-size:clamp(2.35rem,11vw,3.2rem)}
  .sp-section{padding:48px 0}
  .sp-page-hero{padding:48px 0 34px}
  .sp-main-content{padding:40px 0 58px}
  .sp-card{padding:22px}
  .sp-band{padding:28px}
}


/* ==========================================================
   SERVIPRA 1.1.0 — Intégration de Shelby, mascotte SERVIPRA
   ========================================================== */
.sp-page-hero-grid{
	display:grid;
	grid-template-columns:minmax(0,1fr) minmax(280px,390px);
	align-items:center;
	gap:clamp(34px,6vw,78px);
}
.sp-page-hero-copy{min-width:0}
.sp-page-mascot{
	position:relative;
	overflow:hidden;
	min-height:250px;
	display:flex;
	align-items:center;
	justify-content:center;
	padding:10px;
	background:#fff;
	border:1px solid rgba(217,229,238,.88);
	border-radius:26px;
	box-shadow:0 18px 48px rgba(8,31,53,.10);
}
.sp-page-mascot:before{
	content:"";
	position:absolute;
	inset:auto -18% -38% 18%;
	height:72%;
	background:radial-gradient(circle,rgba(22,119,200,.13),transparent 68%);
	pointer-events:none;
}
.sp-page-mascot img{
	position:relative;
	z-index:1;
	display:block;
	width:100%;
	max-height:290px;
	object-fit:contain;
	border-radius:18px;
}
.sp-hero-visual{
	display:flex;
	align-items:center;
	justify-content:center;
	padding:8px;
}
.sp-hero-visual>img.sp-shelby-home{
	width:100%;
	max-height:430px;
	object-fit:contain;
	background:#fff;
	border:1px solid rgba(217,229,238,.72);
	border-radius:28px;
	box-shadow:0 20px 52px rgba(8,31,53,.10);
	filter:none;
}
.sp-shelby-caption{
	position:absolute;
	left:18px;
	bottom:15px;
	z-index:2;
	padding:7px 10px;
	color:#31536f;
	background:rgba(255,255,255,.9);
	border:1px solid rgba(217,229,238,.92);
	border-radius:999px;
	font-size:.72rem;
	font-weight:800;
	letter-spacing:.02em;
	backdrop-filter:blur(8px);
}
@media(max-width:860px){
	.sp-page-hero-grid{grid-template-columns:1fr}
	.sp-page-mascot{width:min(100%,520px);margin-inline:auto;min-height:220px}
	.sp-page-mascot img{max-height:260px}
}
@media(max-width:620px){
	.sp-page-mascot{min-height:190px;border-radius:20px}
	.sp-page-mascot img{max-height:220px}
	.sp-hero-visual>img.sp-shelby-home{max-height:310px;border-radius:20px}
	.sp-shelby-caption{display:none}
}


/* ==========================================================
   SERVIPRA 1.1.1 — Page Services plus compacte
   Ciblage volontairement limité à /services/ pour ne pas
   modifier la densité des autres pages du site.
   ========================================================== */
.sp-page-services .sp-page-hero{
	padding:34px 0 28px;
}
.sp-page-services .sp-page-hero-grid{
	grid-template-columns:minmax(0,1fr) minmax(250px,320px);
	gap:clamp(26px,4vw,52px);
}
.sp-page-services .sp-page-hero .sp-eyebrow{
	margin-bottom:10px;
}
.sp-page-services .sp-page-hero h1{
	font-size:clamp(2.25rem,4vw,3.55rem);
	margin-bottom:.34em;
}
.sp-page-services .sp-page-hero p{
	font-size:1.05rem;
	margin-bottom:0;
}
.sp-page-services .sp-page-mascot{
	min-height:190px;
	padding:8px;
	border-radius:22px;
}
.sp-page-services .sp-page-mascot img{
	max-height:215px;
}
.sp-page-services .sp-shelby-caption{
	left:14px;
	bottom:12px;
	padding:5px 8px;
	font-size:.68rem;
}

.sp-page-services .sp-main-content{
	padding:28px 0 48px;
}
.sp-page-services .sp-prose{
	width:100%;
}
.sp-page-services .sp-prose > .sp-lead{
	max-width:920px;
	margin-bottom:12px;
	font-size:1.02rem;
	line-height:1.55;
}
.sp-page-services .sp-prose > .sp-section:first-of-type{
	padding-top:14px !important;
	padding-bottom:28px;
}
.sp-page-services .sp-prose > .sp-section:first-of-type .sp-grid--2{
	grid-template-columns:repeat(3,minmax(0,1fr));
	gap:16px;
}
.sp-page-services .sp-card{
	padding:18px 19px;
	border-radius:18px;
}
.sp-page-services .sp-card:hover{
	transform:translateY(-3px);
}
.sp-page-services .sp-card-number{
	width:34px;
	height:34px;
	margin-bottom:10px;
	border-radius:10px;
	font-size:.76rem;
}
.sp-page-services .sp-card h2{
	margin-bottom:.42em;
	font-size:clamp(1.5rem,2.2vw,2rem);
	line-height:1.08;
}
.sp-page-services .sp-card p{
	margin-bottom:10px;
	font-size:.96rem;
	line-height:1.48;
}
.sp-page-services .sp-feature-list{
	gap:5px;
	margin:8px 0 0;
}
.sp-page-services .sp-feature-list li{
	padding-left:24px;
	font-size:.94rem;
	line-height:1.42;
}
.sp-page-services .sp-notice{
	padding:14px 18px;
	font-size:.94rem;
	line-height:1.5;
}
.sp-page-services .sp-prose > .sp-section:last-of-type{
	padding-top:26px;
}
.sp-page-services .sp-band{
	gap:24px;
	padding:26px 30px;
	border-radius:22px;
}
.sp-page-services .sp-band h2{
	margin-bottom:7px;
	font-size:clamp(1.55rem,2.6vw,2.25rem);
}
.sp-page-services .sp-band p{
	font-size:.96rem;
	line-height:1.5;
}
.sp-page-services .sp-band .sp-button{
	min-height:44px;
	padding:10px 18px;
}

.sp-page-services + .sp-site-footer{
	padding-top:38px;
}
body.sp-page-services .sp-site-footer{
	padding-top:38px;
}
body.sp-page-services .sp-footer-grid{
	gap:24px;
}
body.sp-page-services .sp-site-footer p{
	margin-bottom:.8em;
}
body.sp-page-services .sp-site-footer li{
	margin:5px 0;
}
body.sp-page-services .sp-footer-bottom{
	margin-top:28px;
	padding:15px 0;
}

@media(max-width:1040px){
	.sp-page-services .sp-prose > .sp-section:first-of-type .sp-grid--2{
		grid-template-columns:repeat(2,minmax(0,1fr));
	}
}
@media(max-width:860px){
	.sp-page-services .sp-page-hero{
		padding:32px 0 26px;
	}
	.sp-page-services .sp-page-hero-grid{
		grid-template-columns:1fr;
		gap:22px;
	}
	.sp-page-services .sp-page-mascot{
		width:min(100%,430px);
		min-height:170px;
	}
	.sp-page-services .sp-page-mascot img{
		max-height:195px;
	}
	.sp-page-services .sp-main-content{
		padding:24px 0 42px;
	}
}
@media(max-width:620px){
	.sp-page-services .sp-page-hero{
		padding:28px 0 22px;
	}
	.sp-page-services .sp-page-hero h1{
		font-size:clamp(2rem,10vw,2.7rem);
	}
	.sp-page-services .sp-page-mascot{
		min-height:155px;
	}
	.sp-page-services .sp-page-mascot img{
		max-height:180px;
	}
	.sp-page-services .sp-main-content{
		padding:22px 0 36px;
	}
	.sp-page-services .sp-prose > .sp-section:first-of-type{
		padding-top:10px !important;
		padding-bottom:22px;
	}
	.sp-page-services .sp-prose > .sp-section:first-of-type .sp-grid--2{
		grid-template-columns:1fr;
		gap:12px;
	}
	.sp-page-services .sp-card{
		padding:17px;
	}
	.sp-page-services .sp-band{
		padding:22px;
	}
}

/* ==========================================================
   SERVIPRA 1.1.3 — Densité "Services" sur toutes les pages
   Objectif : supprimer les zones mortes, sans supprimer de contenu.
   Base : version 1.1.1 validée sur /services/.
   ========================================================== */

/* ---------- Pages internes : hero identique à Services ---------- */
body.sp-page-compact .sp-page-hero{
	padding:34px 0 28px;
}
body.sp-page-compact .sp-page-hero-grid{
	grid-template-columns:minmax(0,1fr) minmax(250px,320px);
	gap:clamp(26px,4vw,52px);
}
body.sp-page-compact .sp-page-hero .sp-eyebrow{
	margin-bottom:10px;
}
body.sp-page-compact .sp-page-hero h1{
	margin-bottom:.34em;
	font-size:clamp(2.25rem,4vw,3.55rem);
}
body.sp-page-compact .sp-page-hero p{
	margin-bottom:0;
	font-size:1.05rem;
	line-height:1.5;
}
body.sp-page-compact .sp-page-mascot{
	min-height:190px;
	padding:8px;
	border-radius:22px;
}
body.sp-page-compact .sp-page-mascot img{
	max-height:215px;
}
body.sp-page-compact .sp-shelby-caption{
	left:14px;
	bottom:12px;
	padding:5px 8px;
	font-size:.68rem;
}

/* ---------- Début et fin de contenu : suppression des grandes bandes vides ---------- */
body.sp-page-compact .sp-main-content{
	padding:28px 0 48px;
}
body.sp-page-compact .sp-prose{
	width:100%;
}
body.sp-page-compact .sp-prose > .sp-lead{
	max-width:980px;
	margin:0 0 10px;
	font-size:1.02rem;
	line-height:1.55;
}
body.sp-page-compact .sp-prose > p{
	max-width:980px;
	margin-bottom:10px;
	line-height:1.55;
}

/* Les sections WordPress avaient 58-86 px de padding : on reprend la densité Services. */
body.sp-page-compact .sp-prose > .sp-section{
	padding:22px 0 26px !important;
}
body.sp-page-compact .sp-prose > .sp-section:first-of-type{
	padding-top:14px !important;
}
body.sp-page-compact .sp-prose > .sp-section:last-of-type{
	padding-top:22px !important;
	padding-bottom:0 !important;
}

/* ---------- Cause principale des grands vides signalés :
   les h2/h3 de .sp-prose héritaient d'un gros margin-top,
   y compris dans les cartes, bandes et blocs structurés. ---------- */
body.sp-page-compact .sp-prose > h2{
	margin:24px 0 8px;
	font-size:clamp(1.65rem,2.7vw,2.25rem);
}
body.sp-page-compact .sp-prose > h3{
	margin:20px 0 7px;
}
body.sp-page-compact .sp-prose .sp-card h2,
body.sp-page-compact .sp-prose .sp-card h3,
body.sp-page-compact .sp-prose .sp-band h2,
body.sp-page-compact .sp-prose .sp-section-head h2,
body.sp-page-compact .sp-prose .sp-split h2,
body.sp-page-compact .sp-prose .sp-check-panel h2,
body.sp-page-compact .sp-prose .sp-check-panel h3,
body.sp-page-compact .sp-prose .sp-process-step h2,
body.sp-page-compact .sp-prose .sp-process-step h3,
body.sp-page-compact .sp-prose .sp-contact-card h2,
body.sp-page-compact .sp-prose .sp-contact-card h3,
body.sp-page-compact .sp-prose .sp-contact-layout section > h2{
	margin-top:0 !important;
}
body.sp-page-compact .sp-prose .sp-eyebrow{
	margin-bottom:8px;
}
body.sp-page-compact .sp-section-head{
	margin-bottom:18px;
}
body.sp-page-compact .sp-section-head p{
	font-size:1rem;
}

/* ---------- Cartes : même densité que Services + suppression du vide sous 01/02/03 ---------- */
body.sp-page-compact .sp-grid{
	gap:16px;
}
body.sp-page-compact .sp-card{
	padding:18px 19px;
	border-radius:18px;
}
body.sp-page-compact .sp-card:hover{
	transform:translateY(-3px);
}
body.sp-page-compact .sp-card-number{
	width:34px;
	height:34px;
	margin-bottom:9px;
	border-radius:10px;
	font-size:.76rem;
}
body.sp-page-compact .sp-card h2{
	margin-bottom:.42em;
	font-size:clamp(1.45rem,2.1vw,1.95rem);
	line-height:1.08;
}
body.sp-page-compact .sp-card h3{
	margin-bottom:.42em;
	font-size:1.18rem;
	line-height:1.15;
}
body.sp-page-compact .sp-card p{
	margin-bottom:9px;
	font-size:.94rem;
	line-height:1.45;
}
body.sp-page-compact .sp-feature-list{
	gap:5px;
	margin:8px 0 0;
}
body.sp-page-compact .sp-feature-list li{
	padding-left:24px;
	font-size:.93rem;
	line-height:1.4;
}

/* Services, Cybersécurité et Sauvegarde : même occupation horizontale que Services.
   Les contenus utilisent historiquement sp-grid--2 bien qu'ils aient 4 à 6 cartes. */
body.sp-page-services .sp-prose > .sp-section:first-of-type .sp-grid--2,
body.sp-page-cybersecurite .sp-prose > .sp-section:first-of-type .sp-grid--2,
body.sp-page-sauvegarde-microsoft-365 .sp-prose > .sp-section:first-of-type .sp-grid--2{
	grid-template-columns:repeat(3,minmax(0,1fr));
	gap:16px;
}

/* ---------- Sections de méthode / fonds colorés ---------- */
body.sp-page-compact .sp-prose > .sp-section--surface,
body.sp-page-compact .sp-prose > .sp-section--navy{
	padding-top:28px !important;
	padding-bottom:28px !important;
}
body.sp-page-compact .sp-split{
	gap:28px;
}
body.sp-page-compact .sp-check-panel{
	padding:20px;
	border-radius:18px;
}
body.sp-page-compact .sp-quote{
	padding:26px;
	border-radius:20px;
}
body.sp-page-compact .sp-quote p{
	font-size:clamp(1.2rem,2.2vw,1.75rem);
}
body.sp-page-compact .sp-quote footer{
	margin-top:14px;
}
body.sp-page-compact .sp-process{
	gap:14px;
}
body.sp-page-compact .sp-process-step{
	padding:18px;
}
body.sp-page-compact .sp-process-step:before{
	margin-bottom:10px;
}
body.sp-page-compact .sp-process-step p{
	font-size:.91rem;
	line-height:1.42;
}

/* ---------- Notices, tableaux et CTA : aucun grand vide interne ---------- */
body.sp-page-compact .sp-notice{
	padding:14px 18px;
	font-size:.94rem;
	line-height:1.48;
}
body.sp-page-compact .sp-table,
body.sp-page-compact .sp-prose table{
	margin:14px 0 18px;
}
body.sp-page-compact .sp-table th,
body.sp-page-compact .sp-table td,
body.sp-page-compact .sp-prose th,
body.sp-page-compact .sp-prose td{
	padding:9px 12px;
	line-height:1.4;
}

body.sp-page-compact .sp-band{
	gap:24px;
	padding:22px 28px;
	border-radius:22px;
}
body.sp-page-compact .sp-band h2{
	margin:0 0 7px !important;
	font-size:clamp(1.55rem,2.6vw,2.25rem);
}
body.sp-page-compact .sp-band p{
	margin:0;
	font-size:.95rem;
	line-height:1.48;
}
body.sp-page-compact .sp-band .sp-button{
	min-height:44px;
	padding:10px 18px;
}

/* ---------- Contact ---------- */
body.sp-page-contact .sp-contact-layout{
	grid-template-columns:.82fr 1.18fr;
	gap:28px;
}
body.sp-page-contact .sp-contact-card{
	padding:22px;
}
body.sp-page-contact .sp-contact-card .sp-eyebrow{
	margin-bottom:8px;
}
body.sp-page-contact .sp-contact-card p{
	margin-bottom:10px;
}
body.sp-page-contact .sp-form{
	gap:12px;
}
body.sp-page-contact .sp-form-row{
	gap:12px;
}
body.sp-page-contact .sp-field label{
	margin-bottom:5px;
}
body.sp-page-contact .sp-field input,
body.sp-page-contact .sp-field select,
body.sp-page-contact .sp-field textarea{
	min-height:46px;
	padding:10px 12px;
}
body.sp-page-contact .sp-field textarea{
	min-height:112px;
}

/* ---------- Footer : même rapprochement que sur Services ---------- */
body.sp-page-compact .sp-site-footer,
body.sp-page-home-compact .sp-site-footer{
	padding-top:38px;
}
body.sp-page-compact .sp-footer-grid,
body.sp-page-home-compact .sp-footer-grid{
	gap:24px;
}
body.sp-page-compact .sp-site-footer p,
body.sp-page-home-compact .sp-site-footer p{
	margin-bottom:.8em;
}
body.sp-page-compact .sp-site-footer li,
body.sp-page-home-compact .sp-site-footer li{
	margin:5px 0;
}
body.sp-page-compact .sp-footer-bottom,
body.sp-page-home-compact .sp-footer-bottom{
	margin-top:28px;
	padding:15px 0;
}

/* ---------- Accueil : même principe de densité, sans changer son architecture ---------- */
body.sp-page-home-compact .sp-hero{
	padding:42px 0 30px;
}
body.sp-page-home-compact .sp-hero-grid{
	gap:clamp(28px,4vw,50px);
}
body.sp-page-home-compact .sp-hero h1{
	margin-bottom:.34em;
}
body.sp-page-home-compact .sp-actions{
	margin-top:16px;
	gap:10px;
}
body.sp-page-home-compact .sp-proofline{
	margin-top:14px;
}
body.sp-page-home-compact .sp-statbar{
	margin-top:22px;
}
body.sp-page-home-compact .sp-stat{
	padding:15px 18px;
}
body.sp-page-home-compact .sp-section{
	padding:38px 0;
}
body.sp-page-home-compact .sp-section-head{
	margin-bottom:20px;
}
body.sp-page-home-compact .sp-section-head .sp-eyebrow{
	margin-bottom:8px;
}
body.sp-page-home-compact .sp-card{
	padding:18px 19px;
}
body.sp-page-home-compact .sp-card-number{
	width:34px;
	height:34px;
	margin-bottom:9px;
}
body.sp-page-home-compact .sp-card h2,
body.sp-page-home-compact .sp-card h3,
body.sp-page-home-compact .sp-band h2,
body.sp-page-home-compact .sp-section-head h2{
	margin-top:0 !important;
}
body.sp-page-home-compact .sp-feature-list{
	gap:5px;
	margin:8px 0 0;
}
body.sp-page-home-compact .sp-band{
	padding:22px 28px;
}

/* ---------- Responsive ---------- */
@media(max-width:1040px){
	body.sp-page-services .sp-prose > .sp-section:first-of-type .sp-grid--2,
	body.sp-page-cybersecurite .sp-prose > .sp-section:first-of-type .sp-grid--2,
	body.sp-page-sauvegarde-microsoft-365 .sp-prose > .sp-section:first-of-type .sp-grid--2{
		grid-template-columns:repeat(2,minmax(0,1fr));
	}
}
@media(max-width:860px){
	body.sp-page-compact .sp-page-hero{
		padding:32px 0 26px;
	}
	body.sp-page-compact .sp-page-hero-grid{
		grid-template-columns:1fr;
		gap:22px;
	}
	body.sp-page-compact .sp-page-mascot{
		width:min(100%,430px);
		min-height:170px;
	}
	body.sp-page-compact .sp-page-mascot img{
		max-height:195px;
	}
	body.sp-page-compact .sp-main-content{
		padding:24px 0 42px;
	}
	body.sp-page-contact .sp-contact-layout{
		grid-template-columns:1fr;
		gap:22px;
	}
	body.sp-page-home-compact .sp-hero{
		padding:34px 0 26px;
	}
	body.sp-page-home-compact .sp-section{
		padding:32px 0;
	}
}
@media(max-width:620px){
	body.sp-page-compact .sp-page-hero{
		padding:28px 0 22px;
	}
	body.sp-page-compact .sp-page-hero h1{
		font-size:clamp(2rem,10vw,2.7rem);
	}
	body.sp-page-compact .sp-page-mascot{
		min-height:155px;
	}
	body.sp-page-compact .sp-page-mascot img{
		max-height:180px;
	}
	body.sp-page-compact .sp-main-content{
		padding:22px 0 36px;
	}
	body.sp-page-compact .sp-prose > .sp-section{
		padding:18px 0 22px !important;
	}
	body.sp-page-compact .sp-prose > .sp-section:first-of-type{
		padding-top:10px !important;
	}
	body.sp-page-compact .sp-grid{
		gap:12px;
	}
	body.sp-page-services .sp-prose > .sp-section:first-of-type .sp-grid--2,
	body.sp-page-cybersecurite .sp-prose > .sp-section:first-of-type .sp-grid--2,
	body.sp-page-sauvegarde-microsoft-365 .sp-prose > .sp-section:first-of-type .sp-grid--2{
		grid-template-columns:1fr;
		gap:12px;
	}
	body.sp-page-compact .sp-card{
		padding:17px;
	}
	body.sp-page-compact .sp-band{
		padding:20px;
	}
	body.sp-page-home-compact .sp-hero{
		padding:28px 0 22px;
	}
	body.sp-page-home-compact .sp-section{
		padding:28px 0;
	}
}

/* ==========================================================
   SERVIPRA 1.1.4 — Footer compact, plus clair et plus lisible
   ========================================================== */

.sp-site-footer{
	position:relative;
	padding:22px 0 0 !important;
	color:#e9f3f9;
	background:linear-gradient(135deg,#185a82 0%,#124d72 100%);
	box-shadow:inset 0 1px 0 rgba(255,255,255,.08);
}
.sp-site-footer::before{
	content:"";
	position:absolute;
	inset:0 0 auto;
	height:3px;
	background:linear-gradient(90deg,#1b9b8b 0%,#f0a34a 48%,#2582c5 100%);
}

.sp-footer-grid{
	grid-template-columns:1.25fr .9fr .9fr 1.05fr;
	gap:26px !important;
	align-items:start;
}

.sp-footer-brand{
	min-width:0;
}
.sp-footer-logo-wrap{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	min-width:174px;
	min-height:72px;
	padding:8px 12px;
	margin-bottom:12px;
	background:#fff;
	border:1px solid rgba(255,255,255,.72);
	border-radius:14px;
	box-shadow:0 8px 22px rgba(0,31,51,.18);
}
.sp-footer-logo-wrap .sp-brand,
.sp-footer-logo-wrap .custom-logo-link{
	display:flex;
	align-items:center;
	justify-content:center;
}
.sp-footer-logo-wrap .sp-footer-logo,
.sp-footer-logo-wrap .custom-logo{
	width:auto !important;
	height:auto !important;
	max-width:205px !important;
	max-height:72px !important;
	object-fit:contain;
	filter:none !important;
	opacity:1 !important;
}

.sp-footer-tagline{
	max-width:330px;
	margin:0 0 7px !important;
	color:#eef7fb;
	font-size:.88rem !important;
	line-height:1.45;
}
.sp-footer-signature{
	margin:0 !important;
	color:#fff;
	font-size:.88rem !important;
	line-height:1.35;
}

.sp-site-footer h2,
.sp-site-footer h3{
	color:#fff;
}
.sp-site-footer h3{
	margin:2px 0 9px;
	font-size:.9rem;
	line-height:1.2;
}
.sp-site-footer p{
	margin:0 0 7px !important;
	color:#eef7fb;
	font-size:.88rem !important;
	line-height:1.45;
}
.sp-site-footer ul{
	margin:0;
	padding:0;
}
.sp-site-footer li{
	margin:4px 0 !important;
	line-height:1.35;
}
.sp-site-footer a{
	color:#fff;
	text-decoration:none;
	text-underline-offset:3px;
}
.sp-site-footer a:hover,
.sp-site-footer a:focus-visible{
	color:#fff;
	text-decoration:underline;
}

.sp-footer-bottom{
	align-items:center;
	margin-top:18px !important;
	padding:12px 0 14px !important;
	border-top:1px solid rgba(255,255,255,.22);
	color:#edf6fb;
	font-size:.78rem;
}
.sp-footer-bottom p{
	margin:0 !important;
	font-size:.78rem !important;
}
.sp-footer-legal{
	gap:16px;
}

/* Le footer reste compact sur tablette et mobile, mais sans tasser les liens. */
@media(max-width:1040px){
	.sp-footer-grid{
		grid-template-columns:1.15fr 1fr 1fr;
		gap:24px !important;
	}
}
@media(max-width:860px){
	.sp-site-footer{
		padding-top:20px !important;
	}
	.sp-footer-grid{
		grid-template-columns:1fr 1fr;
		gap:22px !important;
	}
	.sp-footer-logo-wrap{
		min-width:160px;
		min-height:68px;
	}
	.sp-footer-logo-wrap .sp-footer-logo,
	.sp-footer-logo-wrap .custom-logo{
		max-width:190px !important;
		max-height:68px !important;
	}
}
@media(max-width:620px){
	.sp-site-footer{
		padding-top:18px !important;
	}
	.sp-footer-grid{
		grid-template-columns:1fr;
		gap:18px !important;
	}
	.sp-footer-logo-wrap{
		min-width:154px;
		min-height:66px;
		margin-bottom:10px;
	}
	.sp-footer-bottom{
		flex-direction:column;
		align-items:flex-start;
		gap:8px;
		margin-top:15px !important;
		padding:11px 0 13px !important;
	}
}

/* ==========================================================
   SERVIPRA 1.1.5 — Footer ultra-compact
   Couleur 1.1.4 conservée, uniquement la hauteur est réduite.
   ========================================================== */

.sp-site-footer{
	padding:14px 0 0 !important;
}

.sp-footer-grid{
	grid-template-columns:1.18fr .82fr .82fr 1fr;
	gap:18px !important;
}

.sp-footer-logo-wrap{
	min-width:148px !important;
	min-height:54px !important;
	padding:5px 9px !important;
	margin-bottom:7px !important;
	border-radius:11px !important;
}

.sp-footer-logo-wrap .sp-footer-logo,
.sp-footer-logo-wrap .custom-logo{
	max-width:170px !important;
	max-height:52px !important;
}

.sp-footer-tagline{
	max-width:300px !important;
	margin:0 0 4px !important;
	font-size:.80rem !important;
	line-height:1.30 !important;
}

.sp-footer-signature{
	margin:0 !important;
	font-size:.80rem !important;
	line-height:1.25 !important;
}

.sp-site-footer h3{
	margin:0 0 5px !important;
	font-size:.80rem !important;
	line-height:1.15 !important;
}

.sp-site-footer p{
	margin:0 0 4px !important;
	font-size:.80rem !important;
	line-height:1.30 !important;
}

.sp-site-footer li{
	margin:2px 0 !important;
	font-size:.88rem !important;
	line-height:1.22 !important;
}

.sp-footer-bottom{
	margin-top:10px !important;
	padding:8px 0 9px !important;
	font-size:.72rem !important;
}

.sp-footer-bottom p{
	font-size:.72rem !important;
	line-height:1.2 !important;
}

.sp-footer-legal{
	gap:12px !important;
}

/* Desktop large : les colonnes restent sur une seule ligne et le footer
   vise une hauteur visuelle proche de 170–190 px selon les polices. */
@media(min-width:1041px){
	.sp-footer-grid{
		align-items:start !important;
	}
}

/* Tablette */
@media(max-width:1040px){
	.sp-site-footer{
		padding-top:14px !important;
	}
	.sp-footer-grid{
		grid-template-columns:1.1fr 1fr 1fr !important;
		gap:16px !important;
	}
	.sp-footer-logo-wrap{
		min-width:142px !important;
		min-height:52px !important;
	}
	.sp-footer-logo-wrap .sp-footer-logo,
	.sp-footer-logo-wrap .custom-logo{
		max-width:164px !important;
		max-height:50px !important;
	}
}

/* Mobile : compact mais lisible */
@media(max-width:860px){
	.sp-footer-grid{
		grid-template-columns:1fr 1fr !important;
		gap:15px !important;
	}
}

@media(max-width:620px){
	.sp-site-footer{
		padding-top:13px !important;
	}
	.sp-footer-grid{
		grid-template-columns:1fr !important;
		gap:13px !important;
	}
	.sp-footer-logo-wrap{
		min-width:138px !important;
		min-height:50px !important;
		margin-bottom:6px !important;
	}
	.sp-footer-bottom{
		gap:6px !important;
		margin-top:8px !important;
		padding:7px 0 8px !important;
	}
}

/* ==========================================================
   SERVIPRA 1.1.6 — Accueil compact
   Référence de densité : page Services validée.
   Objectif : supprimer les espaces morts sans retirer de contenu.
   ========================================================== */

/* HERO : rapproche le contenu de l'en-tête et resserre la zone basse. */
body.sp-page-home-compact .sp-hero{
	padding:24px 0 18px !important;
}
body.sp-page-home-compact .sp-hero-grid{
	gap:clamp(24px,3.2vw,40px) !important;
}
body.sp-page-home-compact .sp-hero .sp-eyebrow{
	margin-bottom:6px !important;
}
body.sp-page-home-compact .sp-hero h1{
	margin-bottom:.26em !important;
	line-height:1.03;
}
body.sp-page-home-compact .sp-hero .sp-lead{
	margin-bottom:0 !important;
	line-height:1.48;
}
body.sp-page-home-compact .sp-actions{
	margin-top:11px !important;
	gap:9px !important;
}
body.sp-page-home-compact .sp-proofline{
	margin-top:9px !important;
	gap:7px 18px !important;
}
body.sp-page-home-compact .sp-statbar{
	margin-top:13px !important;
}
body.sp-page-home-compact .sp-stat{
	padding:11px 15px !important;
}
body.sp-page-home-compact .sp-stat strong{
	font-size:1.02rem;
}
body.sp-page-home-compact .sp-stat span{
	font-size:.79rem;
	line-height:1.28;
}

/* L'image Shelby reste importante mais n'impose plus une hauteur inutile. */
body.sp-page-home-compact .sp-hero-visual{
	padding:4px !important;
}
body.sp-page-home-compact .sp-hero-visual>img.sp-shelby-home{
	max-height:300px !important;
}
body.sp-page-home-compact .sp-float-note{
	right:6px;
	bottom:14px;
	max-width:225px;
	padding:10px 12px;
	font-size:.76rem;
	line-height:1.35;
}

/* SECTIONS : même philosophie que Services. */
body.sp-page-home-compact .sp-section{
	padding:20px 0 22px !important;
}
body.sp-page-home-compact .sp-section--surface,
body.sp-page-home-compact .sp-section--navy{
	padding-top:22px !important;
	padding-bottom:22px !important;
}
body.sp-page-home-compact .sp-section-head{
	margin-bottom:14px !important;
}
body.sp-page-home-compact .sp-section-head .sp-eyebrow,
body.sp-page-home-compact .sp-split .sp-eyebrow{
	margin-bottom:6px !important;
}
body.sp-page-home-compact .sp-section-head h2{
	margin-bottom:6px !important;
	line-height:1.06;
}
body.sp-page-home-compact .sp-section-head p{
	margin-bottom:0 !important;
	line-height:1.45;
}

/* Les blocs 2 colonnes avaient beaucoup d'air vertical. */
body.sp-page-home-compact .sp-split{
	gap:22px !important;
}
body.sp-page-home-compact .sp-split h2{
	margin-top:0 !important;
	margin-bottom:8px !important;
	line-height:1.06;
}
body.sp-page-home-compact .sp-split p{
	margin-bottom:9px;
	line-height:1.48;
}
body.sp-page-home-compact .sp-split .sp-feature-list{
	margin-top:7px !important;
}

/* Cartes du socle et offres. */
body.sp-page-home-compact .sp-grid{
	gap:14px !important;
}
body.sp-page-home-compact .sp-card{
	padding:16px 17px !important;
}
body.sp-page-home-compact .sp-card-number{
	width:32px !important;
	height:32px !important;
	margin-bottom:7px !important;
}
body.sp-page-home-compact .sp-card h3{
	margin:0 0 6px !important;
	line-height:1.12;
}
body.sp-page-home-compact .sp-card p{
	margin-bottom:7px !important;
	line-height:1.40;
}
body.sp-page-home-compact .sp-feature-list{
	gap:4px !important;
	margin:6px 0 8px !important;
}
body.sp-page-home-compact .sp-feature-list li{
	line-height:1.36;
}

/* Méthode SERVIPRA : réduit le grand vide en haut/bas du bandeau sombre. */
body.sp-page-home-compact .sp-process{
	gap:12px !important;
}
body.sp-page-home-compact .sp-process-step{
	padding:14px 15px !important;
}
body.sp-page-home-compact .sp-process-step:before{
	margin-bottom:7px !important;
}
body.sp-page-home-compact .sp-process-step h3{
	margin:0 0 6px !important;
	line-height:1.12;
}
body.sp-page-home-compact .sp-process-step p{
	line-height:1.38;
}

/* Bloc citation / partenaire de proximité. */
body.sp-page-home-compact .sp-quote{
	padding:20px 22px !important;
}
body.sp-page-home-compact .sp-quote p{
	font-size:clamp(1.15rem,2vw,1.7rem);
	line-height:1.30;
}
body.sp-page-home-compact .sp-quote footer{
	margin-top:10px !important;
}
body.sp-page-home-compact .sp-logo-cloud{
	gap:6px !important;
	margin-top:8px;
}
body.sp-page-home-compact .sp-pill{
	padding:6px 10px !important;
	font-size:.78rem !important;
}

/* Trois portes d'entrée : titre, cartes et boutons rapprochés. */
body.sp-page-home-compact .sp-offer .sp-button{
	margin-top:9px;
}
body.sp-page-home-compact .sp-offer--featured:before{
	top:14px;
	right:14px;
	padding:5px 8px;
}

/* FAQ : évite une nouvelle succession de grands espaces. */
body.sp-page-home-compact .sp-narrow .sp-section-head{
	margin-bottom:12px !important;
}
body.sp-page-home-compact .sp-faq{
	gap:7px !important;
}
body.sp-page-home-compact .sp-faq summary{
	padding:13px 48px 13px 17px !important;
	line-height:1.35;
}
body.sp-page-home-compact .sp-faq summary:after{
	right:17px;
}
body.sp-page-home-compact .sp-faq details p{
	padding:0 17px 14px !important;
	line-height:1.45;
}

/* CTA final. */
body.sp-page-home-compact .sp-section[style*="padding-top:0"]{
	padding-top:4px !important;
}
body.sp-page-home-compact .sp-band{
	padding:19px 24px !important;
	gap:20px !important;
}
body.sp-page-home-compact .sp-band h2{
	margin:0 0 5px !important;
}
body.sp-page-home-compact .sp-band p{
	line-height:1.42;
}

/* Responsive : on garde la compacité sans tasser le mobile. */
@media(max-width:860px){
	body.sp-page-home-compact .sp-hero{
		padding:22px 0 17px !important;
	}
	body.sp-page-home-compact .sp-section,
	body.sp-page-home-compact .sp-section--surface,
	body.sp-page-home-compact .sp-section--navy{
		padding-top:18px !important;
		padding-bottom:18px !important;
	}
	body.sp-page-home-compact .sp-hero-visual>img.sp-shelby-home{
		max-height:250px !important;
	}
}

@media(max-width:620px){
	body.sp-page-home-compact .sp-hero{
		padding:18px 0 15px !important;
	}
	body.sp-page-home-compact .sp-section,
	body.sp-page-home-compact .sp-section--surface,
	body.sp-page-home-compact .sp-section--navy{
		padding-top:16px !important;
		padding-bottom:16px !important;
	}
	body.sp-page-home-compact .sp-card{
		padding:15px !important;
	}
	body.sp-page-home-compact .sp-band{
		padding:17px !important;
	}
}

/* ==========================================================
   SERVIPRA 1.1.7 — Sections sombres harmonisées au footer
   Même bleu que le pied de page 1.1.4/1.1.5.
   Objectif : lisibilité immédiate des textes et des cartes.
   ========================================================== */

/* Même fond bleu que le footer. */
.sp-section--navy{
	color:#f3f8fb !important;
	background:linear-gradient(135deg,#185a82 0%,#124d72 100%) !important;
}

/* Titres et texte courant : contraste renforcé. */
.sp-section--navy h1,
.sp-section--navy h2,
.sp-section--navy h3,
.sp-section--navy h4{
	color:#fff !important;
}
.sp-section--navy p,
.sp-section--navy .sp-section-head p{
	color:#eef7fb !important;
}
.sp-section--navy .sp-eyebrow{
	color:#d9f5f1 !important;
}

/* Les cartes internes étaient trop sombres et leurs paragraphes peu visibles. */
.sp-section--navy .sp-card,
.sp-section--navy .sp-process-step{
	background:rgba(6,19,34,.22) !important;
	border-color:rgba(255,255,255,.20) !important;
	box-shadow:none !important;
}
.sp-section--navy .sp-card:hover{
	border-color:rgba(255,255,255,.36) !important;
	box-shadow:0 9px 24px rgba(3,20,35,.15) !important;
}
.sp-section--navy .sp-card p,
.sp-section--navy .sp-process-step p{
	color:#eaf4fa !important;
}
.sp-section--navy .sp-card-number,
.sp-section--navy .sp-process-step:before{
	color:#7fe5df !important;
}

/* Listes et liens contenus dans ces blocs. */
.sp-section--navy .sp-feature-list li{
	color:#f3f8fb !important;
}
.sp-section--navy a{
	color:#fff !important;
}
.sp-section--navy a:hover,
.sp-section--navy a:focus-visible{
	color:#fff !important;
}

/* Les panneaux citation sombres utilisent désormais le même langage visuel. */
.sp-quote{
	background:linear-gradient(135deg,#185a82 0%,#124d72 100%) !important;
}
.sp-quote,
.sp-quote p{
	color:#fff !important;
}
.sp-quote footer{
	color:#e1eff7 !important;
}

/* Sur les sections bleu clair, les petites bordures restent suffisamment visibles. */
.sp-section--navy .sp-button--ghost,
.sp-section--navy .sp-button--secondary{
	border-color:rgba(255,255,255,.72) !important;
	color:#fff !important;
}

/* ==========================================================
   SERVIPRA 1.1.8 — Contact compact
   Corrige la grande zone blanche entre l'introduction et le formulaire.
   Le shortcode Gutenberg est rendu comme bloc frère du layout :
   on recompose donc la grille visuellement, sans toucher au plugin.
   ========================================================== */

/* Hero Contact encore plus court. */
body.sp-page-contact .sp-page-hero{
	padding-top:22px !important;
	padding-bottom:18px !important;
}
body.sp-page-contact .sp-page-hero-grid{
	gap:28px !important;
}
body.sp-page-contact .sp-page-hero .sp-eyebrow{
	margin-bottom:5px !important;
}
body.sp-page-contact .sp-page-hero h1{
	margin-bottom:6px !important;
}
body.sp-page-contact .sp-page-hero p{
	line-height:1.42 !important;
}
body.sp-page-contact .sp-page-mascot{
	min-height:160px !important;
}
body.sp-page-contact .sp-page-mascot img{
	max-height:180px !important;
}

/* Conteneur principal plus serré. */
body.sp-page-contact .sp-main-content{
	padding-top:20px !important;
	padding-bottom:28px !important;
}

/*
 * Structure réelle générée par Gutenberg :
 *   article.sp-prose
 *     div.sp-contact-layout
 *       aside.sp-contact-card
 *       section (titre + intro)
 *     form.sp-form   <- shortcode rendu comme bloc frère
 *
 * Le display:contents permet de remettre aside + section + formulaire
 * dans une seule grille visuelle et supprime le grand vide observé.
 */
body.sp-page-contact article.sp-prose{
	display:grid;
	grid-template-columns:minmax(300px,.78fr) minmax(0,1.22fr);
	grid-template-rows:auto auto;
	column-gap:24px;
	row-gap:10px;
	align-items:start;
}

body.sp-page-contact .sp-contact-layout{
	display:contents !important;
}

body.sp-page-contact .sp-contact-card{
	grid-column:1;
	grid-row:1 / span 2;
	padding:20px !important;
	border-radius:18px !important;
	color:#eef7fb !important;
	background:linear-gradient(135deg,#185a82 0%,#124d72 100%) !important;
}

body.sp-page-contact .sp-contact-card .sp-eyebrow{
	margin-bottom:6px !important;
	color:#d9f5f1 !important;
}
body.sp-page-contact .sp-contact-card h2,
body.sp-page-contact .sp-contact-card h3{
	color:#fff !important;
}
body.sp-page-contact .sp-contact-card h2{
	margin:0 0 10px !important;
	font-size:clamp(1.65rem,2.5vw,2.25rem);
	line-height:1.08;
}
body.sp-page-contact .sp-contact-card h3{
	margin:12px 0 7px !important;
}
body.sp-page-contact .sp-contact-card p,
body.sp-page-contact .sp-contact-card li{
	color:#eef7fb !important;
}
body.sp-page-contact .sp-contact-card p{
	margin-bottom:8px !important;
	line-height:1.42;
}
body.sp-page-contact .sp-contact-card .sp-feature-list{
	gap:4px !important;
	margin:6px 0 8px !important;
}
body.sp-page-contact .sp-contact-card .sp-feature-list li{
	line-height:1.34;
}

/* Titre + phrase d'introduction, immédiatement au-dessus du formulaire. */
body.sp-page-contact .sp-contact-layout > section{
	grid-column:2;
	grid-row:1;
	margin:0 !important;
	padding:0 !important;
}
body.sp-page-contact .sp-contact-layout > section h2{
	margin:0 0 7px !important;
	font-size:clamp(1.8rem,2.7vw,2.35rem);
	line-height:1.08;
}
body.sp-page-contact .sp-contact-layout > section p{
	margin:0 !important;
	max-width:760px;
	line-height:1.42;
}

/* Le formulaire revient dans la colonne droite, juste sous son introduction. */
body.sp-page-contact article.sp-prose > .sp-form{
	grid-column:2;
	grid-row:2;
	width:100%;
	margin:0 !important;
	gap:10px !important;
}

body.sp-page-contact .sp-form-row{
	gap:10px !important;
}
body.sp-page-contact .sp-field label{
	margin-bottom:4px !important;
	font-size:.84rem;
}
body.sp-page-contact .sp-field input,
body.sp-page-contact .sp-field select{
	min-height:44px !important;
	padding:9px 11px !important;
}
body.sp-page-contact .sp-field textarea{
	min-height:96px !important;
	padding:10px 11px !important;
}
body.sp-page-contact .sp-consent{
	gap:8px !important;
	font-size:.78rem;
	line-height:1.35;
}
body.sp-page-contact .sp-form button[type=submit]{
	min-height:42px;
	padding:9px 17px;
}

/* Les éventuels messages de statut restent dans la colonne formulaire. */
body.sp-page-contact article.sp-prose > .sp-form-status{
	grid-column:2;
	margin:0 0 4px !important;
}

/* Tablette : deux colonnes tant que la largeur le permet. */
@media(max-width:900px){
	body.sp-page-contact article.sp-prose{
		grid-template-columns:minmax(250px,.75fr) minmax(0,1.25fr);
		column-gap:18px;
	}
}

/* Mobile : empilement naturel, sans trou. */
@media(max-width:760px){
	body.sp-page-contact article.sp-prose{
		display:block;
	}
	body.sp-page-contact .sp-contact-layout{
		display:block !important;
	}
	body.sp-page-contact .sp-contact-card{
		margin-bottom:18px !important;
	}
	body.sp-page-contact .sp-contact-layout > section{
		margin-bottom:10px !important;
	}
	body.sp-page-contact article.sp-prose > .sp-form{
		margin-top:0 !important;
	}
	body.sp-page-contact .sp-form-row{
		grid-template-columns:1fr !important;
	}
}

@media(max-width:620px){
	body.sp-page-contact .sp-page-hero{
		padding-top:18px !important;
		padding-bottom:15px !important;
	}
	body.sp-page-contact .sp-main-content{
		padding-top:16px !important;
		padding-bottom:24px !important;
	}
	body.sp-page-contact .sp-contact-card{
		padding:17px !important;
	}
}

/* ==========================================================
   SERVIPRA 1.1.9 — Shelby surveillance
   Apparition 5 s sur chaque page, non bloquante.
   ========================================================== */

.sp-shelby-watch{
	position:fixed;
	right:18px;
	bottom:-138px;
	z-index:9998;
	width:148px;
	height:150px;
	pointer-events:none;
	opacity:0;
	transform:translateY(12px) rotate(1deg);
	transition:
		bottom .55s cubic-bezier(.2,.8,.2,1),
		opacity .28s ease,
		transform .55s cubic-bezier(.2,.8,.2,1);
	filter:drop-shadow(0 12px 22px rgba(0,36,64,.22));
}

.sp-shelby-watch.is-visible{
	bottom:-10px;
	opacity:1;
	transform:translateY(0) rotate(0);
}

.sp-shelby-watch.is-done{
	bottom:-150px;
	opacity:0;
	transform:translateY(12px) rotate(1deg);
}

.sp-shelby-watch-mask{
	position:absolute;
	right:0;
	bottom:0;
	width:142px;
	height:134px;
	overflow:hidden;
	border-radius:24px 24px 0 0;
}

.sp-shelby-watch-mask img{
	position:absolute;
	left:50%;
	bottom:-44px;
	width:185px;
	height:auto;
	max-width:none;
	transform:translateX(-50%);
	object-fit:contain;
}

.sp-shelby-watch-bubble{
	position:absolute;
	right:106px;
	bottom:92px;
	width:max-content;
	max-width:190px;
	padding:7px 10px;
	border:1px solid rgba(24,90,130,.22);
	border-radius:12px 12px 4px 12px;
	background:rgba(255,255,255,.96);
	color:#124d72;
	box-shadow:0 8px 22px rgba(0,36,64,.12);
	font-size:.74rem;
	font-weight:800;
	line-height:1.2;
	opacity:0;
	transform:translateY(5px);
	transition:opacity .25s ease .45s, transform .25s ease .45s;
	white-space:nowrap;
}

.sp-shelby-watch.is-visible .sp-shelby-watch-bubble{
	opacity:1;
	transform:translateY(0);
}

@media(max-width:760px){
	.sp-shelby-watch{
		right:8px;
		width:118px;
		height:122px;
	}
	.sp-shelby-watch-mask{
		width:114px;
		height:110px;
	}
	.sp-shelby-watch-mask img{
		bottom:-37px;
		width:150px;
	}
	.sp-shelby-watch-bubble{
		right:82px;
		bottom:75px;
		max-width:150px;
		padding:6px 8px;
		font-size:.66rem;
	}
}

@media (prefers-reduced-motion: reduce){
	.sp-shelby-watch{
		display:none !important;
	}
}

/* ==========================================================
   SERVIPRA 1.1.10 — Shelby surveillance à gauche, mi-écran
   Photo fournie par SERVIPRA.
   ========================================================== */

.sp-shelby-watch{
	position:fixed;
	left:-310px;
	right:auto;
	top:50%;
	bottom:auto;
	z-index:9998;
	width:300px;
	height:205px;
	pointer-events:none;
	opacity:0;
	transform:translateY(-50%) translateX(-10px);
	transition:
		left .58s cubic-bezier(.2,.8,.2,1),
		opacity .28s ease,
		transform .58s cubic-bezier(.2,.8,.2,1);
	filter:drop-shadow(0 14px 28px rgba(0,36,64,.22));
}

.sp-shelby-watch.is-visible{
	left:-14px;
	bottom:auto;
	opacity:1;
	transform:translateY(-50%) translateX(0);
}

.sp-shelby-watch.is-done{
	left:-320px;
	bottom:auto;
	opacity:0;
	transform:translateY(-50%) translateX(-10px);
}

.sp-shelby-watch-mask{
	position:absolute;
	inset:0;
	width:300px;
	height:205px;
	overflow:hidden;
	border:2px solid rgba(255,255,255,.9);
	border-left:0;
	border-radius:0 22px 22px 0;
	background:#0d3552;
	box-shadow:0 14px 30px rgba(0,36,64,.18);
}

.sp-shelby-watch-mask img{
	position:absolute;
	inset:0;
	width:100%;
	height:100%;
	max-width:none;
	object-fit:cover;
	object-position:center center;
	transform:none;
}

.sp-shelby-watch-bubble{
	position:absolute;
	left:184px;
	right:auto;
	top:-34px;
	bottom:auto;
	width:max-content;
	max-width:190px;
	padding:7px 10px;
	border:1px solid rgba(24,90,130,.22);
	border-radius:12px 12px 12px 4px;
	background:rgba(255,255,255,.97);
	color:#124d72;
	box-shadow:0 8px 22px rgba(0,36,64,.12);
	font-size:.73rem;
	font-weight:800;
	line-height:1.2;
	opacity:0;
	transform:translateY(5px);
	transition:opacity .25s ease .45s, transform .25s ease .45s;
	white-space:nowrap;
}

.sp-shelby-watch.is-visible .sp-shelby-watch-bubble{
	opacity:1;
	transform:translateY(0);
}

@media(max-width:760px){
	.sp-shelby-watch{
		left:-238px;
		width:230px;
		height:157px;
	}
	.sp-shelby-watch.is-visible{
		left:-10px;
	}
	.sp-shelby-watch.is-done{
		left:-245px;
	}
	.sp-shelby-watch-mask{
		width:230px;
		height:157px;
		border-radius:0 18px 18px 0;
	}
	.sp-shelby-watch-bubble{
		left:128px;
		top:-31px;
		max-width:150px;
		padding:6px 8px;
		font-size:.65rem;
	}
}

@media (prefers-reduced-motion: reduce){
	.sp-shelby-watch{
		display:none !important;
	}
}

/* ==========================================================
   SERVIPRA 1.1.13 — Shelby surveillance transparent
   Utilise l'image détourée fournie.
   ========================================================== */

.sp-shelby-watch{
	left:-215px;
	width:360px;
	height:430px;
	filter:drop-shadow(0 18px 30px rgba(0,36,64,.20));
}

.sp-shelby-watch.is-visible{
	left:-95px;
}

.sp-shelby-watch.is-done{
	left:-225px;
}

.sp-shelby-watch-mask{
	inset:auto;
	width:360px;
	height:430px;
	overflow:visible;
	border:0;
	border-radius:0;
	background:transparent;
	box-shadow:none;
}

.sp-shelby-watch-mask img{
	position:absolute;
	inset:0;
	width:100%;
	height:100%;
	object-fit:contain;
	object-position:left center;
	max-width:none;
}

.sp-shelby-watch-bubble{
	left:165px;
	top:34px;
	border-radius:12px 12px 12px 4px;
	background:rgba(255,255,255,.98);
	color:#124d72;
	box-shadow:0 8px 22px rgba(0,36,64,.12);
}

@media(max-width:1100px){
	.sp-shelby-watch{
		width:300px;
		height:360px;
		left:-185px;
	}
	.sp-shelby-watch.is-visible{
		left:-88px;
	}
	.sp-shelby-watch.is-done{
		left:-195px;
	}
	.sp-shelby-watch-mask{
		width:300px;
		height:360px;
	}
	.sp-shelby-watch-bubble{
		left:138px;
		top:28px;
	}
}

@media(max-width:760px){
	.sp-shelby-watch{
		width:210px;
		height:255px;
		left:-138px;
	}
	.sp-shelby-watch.is-visible{
		left:-72px;
	}
	.sp-shelby-watch.is-done{
		left:-145px;
	}
	.sp-shelby-watch-mask{
		width:210px;
		height:255px;
	}
	.sp-shelby-watch-bubble{
		left:92px;
		top:18px;
		max-width:125px;
		padding:6px 8px;
		font-size:.64rem;
	}
}

/* ==========================================================
   SERVIPRA 1.1.14 — Shelby plus visible
   Plus grand et sort davantage de l'écran.
   ========================================================== */

.sp-shelby-watch{
	left:-195px;
	width:410px;
	height:500px;
	filter:drop-shadow(0 22px 36px rgba(0,36,64,.24));
}

.sp-shelby-watch.is-visible{
	left:-28px;
}

.sp-shelby-watch.is-done{
	left:-205px;
}

.sp-shelby-watch-mask{
	width:410px;
	height:500px;
}

.sp-shelby-watch-bubble{
	left:205px;
	top:30px;
	padding:8px 11px;
	font-size:.76rem;
	box-shadow:0 10px 24px rgba(0,36,64,.14);
}

@media(max-width:1100px){
	.sp-shelby-watch{
		width:340px;
		height:415px;
		left:-160px;
	}
	.sp-shelby-watch.is-visible{
		left:-24px;
	}
	.sp-shelby-watch.is-done{
		left:-168px;
	}
	.sp-shelby-watch-mask{
		width:340px;
		height:415px;
	}
	.sp-shelby-watch-bubble{
		left:165px;
		top:24px;
		font-size:.70rem;
	}
}

@media(max-width:760px){
	.sp-shelby-watch{
		width:230px;
		height:282px;
		left:-120px;
	}
	.sp-shelby-watch.is-visible{
		left:-32px;
	}
	.sp-shelby-watch.is-done{
		left:-126px;
	}
	.sp-shelby-watch-mask{
		width:230px;
		height:282px;
	}
	.sp-shelby-watch-bubble{
		left:98px;
		top:18px;
		max-width:130px;
		font-size:.63rem;
	}
}

/* SERVIPRA 1.1.16 — Shelby équilibre */
.sp-shelby-watch{
	left:-190px;
	width:390px;
	height:475px;
	filter:drop-shadow(0 20px 32px rgba(0,36,64,.22));
}
.sp-shelby-watch.is-visible{ left:-48px; }
.sp-shelby-watch.is-done{ left:-202px; }
.sp-shelby-watch-mask{ width:390px; height:475px; }
.sp-shelby-watch-bubble{
	left:188px;
	top:30px;
	padding:7px 10px;
	font-size:.73rem;
}
@media(max-width:1100px){
	.sp-shelby-watch{ width:325px; height:395px; left:-168px; }
	.sp-shelby-watch.is-visible{ left:-42px; }
	.sp-shelby-watch.is-done{ left:-178px; }
	.sp-shelby-watch-mask{ width:325px; height:395px; }
	.sp-shelby-watch-bubble{ left:154px; top:24px; font-size:.68rem; }
}
@media(max-width:760px){
	.sp-shelby-watch{ width:220px; height:270px; left:-125px; }
	.sp-shelby-watch.is-visible{ left:-44px; }
	.sp-shelby-watch.is-done{ left:-132px; }
	.sp-shelby-watch-mask{ width:220px; height:270px; }
	.sp-shelby-watch-bubble{ left:94px; top:17px; font-size:.61rem; }
}

/* ==========================================================
   SERVIPRA 1.1.18 — Correctif accueil mobile
   Base : v1.1.16 Shelby équilibre.
   ========================================================== */

@media(max-width:760px){

	html,
	body.sp-page-home-compact{
		overflow-x:hidden !important;
	}

	body.sp-page-home-compact .sp-container,
	body.sp-page-home-compact .sp-narrow{
		width:min(calc(100% - 28px),var(--container)) !important;
	}

	body.sp-page-home-compact .sp-hero{
		padding:18px 0 16px !important;
		overflow:hidden !important;
	}

	body.sp-page-home-compact .sp-hero-grid{
		display:grid !important;
		grid-template-columns:minmax(0,1fr) !important;
		gap:14px !important;
		width:100% !important;
	}

	body.sp-page-home-compact .sp-hero-grid > *{
		min-width:0 !important;
		max-width:100% !important;
	}

	body.sp-page-home-compact .sp-hero h1{
		font-size:clamp(2rem,10vw,2.75rem) !important;
		line-height:1.02 !important;
		overflow-wrap:anywhere;
	}

	body.sp-page-home-compact .sp-hero .sp-lead{
		font-size:1rem !important;
		line-height:1.43 !important;
	}

	body.sp-page-home-compact .sp-actions{
		display:grid !important;
		grid-template-columns:1fr !important;
		gap:9px !important;
		width:100% !important;
		margin:12px 0 0 !important;
	}

	body.sp-page-home-compact .sp-actions .sp-button{
		display:flex !important;
		width:100% !important;
		max-width:none !important;
		min-height:46px !important;
		margin:0 !important;
		padding:11px 14px !important;
		box-sizing:border-box !important;
		text-align:center;
	}

	body.sp-page-home-compact .sp-proofline{
		display:grid !important;
		grid-template-columns:1fr !important;
		gap:7px !important;
		width:100% !important;
		margin:11px 0 0 !important;
	}

	body.sp-page-home-compact .sp-proofline span{
		min-width:0 !important;
	}

	body.sp-page-home-compact .sp-hero-visual{
		display:block !important;
		width:100% !important;
		max-width:100% !important;
		margin:2px 0 0 !important;
		padding:0 !important;
		overflow:visible !important;
	}

	body.sp-page-home-compact .sp-hero-visual > img.sp-shelby-home{
		display:block !important;
		width:100% !important;
		height:auto !important;
		max-width:100% !important;
		max-height:none !important;
		margin:0 !important;
		border-radius:20px !important;
		object-fit:contain !important;
	}

	body.sp-page-home-compact .sp-float-note{
		position:static !important;
		inset:auto !important;
		display:block !important;
		width:100% !important;
		max-width:none !important;
		margin:9px 0 0 !important;
		padding:10px 12px !important;
		box-sizing:border-box !important;
		border-radius:13px !important;
		font-size:.76rem !important;
		line-height:1.35 !important;
		transform:none !important;
	}

	body.sp-page-home-compact .sp-statbar{
		display:grid !important;
		grid-template-columns:repeat(2,minmax(0,1fr)) !important;
		width:100% !important;
		margin-top:12px !important;
		overflow:hidden !important;
		border-radius:16px !important;
	}

	body.sp-page-home-compact .sp-stat{
		min-width:0 !important;
		padding:11px 10px !important;
		border-right:1px solid var(--line) !important;
		border-bottom:1px solid var(--line) !important;
	}

	body.sp-page-home-compact .sp-stat:nth-child(2n){
		border-right:0 !important;
	}

	body.sp-page-home-compact .sp-stat:nth-last-child(-n+2){
		border-bottom:0 !important;
	}

	body.sp-page-home-compact .sp-stat strong{
		font-size:.92rem !important;
		line-height:1.2 !important;
	}

	body.sp-page-home-compact .sp-stat span{
		font-size:.73rem !important;
		line-height:1.28 !important;
	}

	body.sp-page-home-compact .sp-section,
	body.sp-page-home-compact .sp-grid,
	body.sp-page-home-compact .sp-split,
	body.sp-page-home-compact .sp-process,
	body.sp-page-home-compact .sp-band{
		max-width:100% !important;
		overflow-wrap:anywhere;
	}

	/* Ajustement spécifique à Shelby équilibre sur mobile */
	body.sp-page-home-compact .sp-shelby-watch-bubble{
		white-space:normal !important;
		width:118px !important;
		max-width:118px !important;
		left:92px !important;
		font-size:.61rem !important;
		line-height:1.2 !important;
	}
}

@media(max-width:420px){
	body.sp-page-home-compact .sp-stat{
		padding:10px 8px !important;
	}
	body.sp-page-home-compact .sp-stat strong{
		font-size:.86rem !important;
	}
	body.sp-page-home-compact .sp-stat span{
		font-size:.69rem !important;
	}
}
