/*
Theme Name: SprintOps
Theme URI: https://sprintops.fr
Author: SprintOps
Description: Thème sur mesure du site SprintOps — organisation et performance des équipes IT. Converti depuis l'export Horizons (React). Toutes les pages sont construites en blocs et modifiables dans l'éditeur WordPress : pages Accueil, Offres, Méthode, Qui sommes-nous, Contact (formulaire natif), Mentions légales et Confidentialité.
Version: 2.0.0
Requires at least: 6.0
Tested up to: 6.8
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: sprintops
*/

/* ===== Base ===== */
:root{--navy:#101B30;--teal:#16B8B1;--light:#F4F7FA;--muted:#5c687a}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:105px}
body{margin:0;font-family:Inter,sans-serif;color:var(--navy);background:#fff}
h1,h2,h3,h4,.footer-brand{font-family:Manrope,sans-serif;letter-spacing:-.045em;color:inherit}
h1{font-size:clamp(36px,4vw,58px);line-height:1.15;font-weight:800;margin:24px 0}
h2{font-size:clamp(30px,3vw,42px);line-height:1.2;font-weight:800;margin:18px 0}
h3{font-size:22px;line-height:1.35;font-weight:750}
p{color:var(--muted);font-size:15px;line-height:1.85}
body a{text-decoration:none;color:inherit}
button,input,select,textarea{font:inherit}
button,a{touch-action:manipulation}
a,button{transition:color .2s,background .2s,transform .2s}
button{cursor:pointer}
a:focus-visible,button:focus-visible{outline:3px solid var(--teal);outline-offset:5px}
h1 span,h2 span,.footer-brand span{color:var(--teal)}
mark{background:none;color:inherit}
body .has-teal-color{color:var(--teal)!important}
body .has-navy-color{color:var(--navy)!important}
img{max-width:100%;height:auto}
figure{margin:0}

/* ===== Icônes (masques SVG Lucide) ===== */
:root{
--i-arrow-up-right:url("data:image/svg+xml,%3Csvg  xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' %3E %3Cpath d='M7 7h10v10' /%3E %3Cpath d='M7 17 17 7' /%3E %3C/svg%3E");
--i-arrow-down:url("data:image/svg+xml,%3Csvg  xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' %3E %3Cpath d='M12 5v14' /%3E %3Cpath d='m19 12-7 7-7-7' /%3E %3C/svg%3E");
--i-check:url("data:image/svg+xml,%3Csvg  xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' %3E %3Cpath d='M20 6 9 17l-5-5' /%3E %3C/svg%3E");
--i-network:url("data:image/svg+xml,%3Csvg  xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' %3E %3Crect x='16' y='16' width='6' height='6' rx='1' /%3E %3Crect x='2' y='16' width='6' height='6' rx='1' /%3E %3Crect x='9' y='2' width='6' height='6' rx='1' /%3E %3Cpath d='M5 16v-3a1 1 0 0 1 1-1h12a1 1 0 0 1 1 1v3' /%3E %3Cpath d='M12 12V8' /%3E %3C/svg%3E");
--i-target:url("data:image/svg+xml,%3Csvg  xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' %3E %3Ccircle cx='12' cy='12' r='10' /%3E %3Ccircle cx='12' cy='12' r='6' /%3E %3Ccircle cx='12' cy='12' r='2' /%3E %3C/svg%3E");
--i-layers:url("data:image/svg+xml,%3Csvg  xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' %3E %3Cpath d='m12.83 2.18a2 2 0 0 0-1.66 0L2.6 6.08a1 1 0 0 0 0 1.83l8.58 3.91a2 2 0 0 0 1.66 0l8.58-3.9a1 1 0 0 0 0-1.83Z' /%3E %3Cpath d='m22 17.65-9.17 4.16a2 2 0 0 1-1.66 0L2 17.65' /%3E %3Cpath d='m22 12.65-9.17 4.16a2 2 0 0 1-1.66 0L2 12.65' /%3E %3C/svg%3E");
--i-focus:url("data:image/svg+xml,%3Csvg  xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' %3E %3Ccircle cx='12' cy='12' r='3' /%3E %3Cpath d='M3 7V5a2 2 0 0 1 2-2h2' /%3E %3Cpath d='M17 3h2a2 2 0 0 1 2 2v2' /%3E %3Cpath d='M21 17v2a2 2 0 0 1-2 2h-2' /%3E %3Cpath d='M7 21H5a2 2 0 0 1-2-2v-2' /%3E %3C/svg%3E");
--i-clipboard-list:url("data:image/svg+xml,%3Csvg  xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' %3E %3Crect width='8' height='4' x='8' y='2' rx='1' ry='1' /%3E %3Cpath d='M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2' /%3E %3Cpath d='M12 11h4' /%3E %3Cpath d='M12 16h4' /%3E %3Cpath d='M8 11h.01' /%3E %3Cpath d='M8 16h.01' /%3E %3C/svg%3E");
--i-compass:url("data:image/svg+xml,%3Csvg  xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' %3E %3Cpath d='m16.24 7.76-1.804 5.411a2 2 0 0 1-1.265 1.265L7.76 16.24l1.804-5.411a2 2 0 0 1 1.265-1.265z' /%3E %3Ccircle cx='12' cy='12' r='10' /%3E %3C/svg%3E");
--i-git-branch:url("data:image/svg+xml,%3Csvg  xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' %3E %3Cline x1='6' x2='6' y1='3' y2='15' /%3E %3Ccircle cx='18' cy='6' r='3' /%3E %3Ccircle cx='6' cy='18' r='3' /%3E %3Cpath d='M18 9a9 9 0 0 1-9 9' /%3E %3C/svg%3E");
--i-layout-dashboard:url("data:image/svg+xml,%3Csvg  xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' %3E %3Crect width='7' height='9' x='3' y='3' rx='1' /%3E %3Crect width='7' height='5' x='14' y='3' rx='1' /%3E %3Crect width='7' height='9' x='14' y='12' rx='1' /%3E %3Crect width='7' height='5' x='3' y='16' rx='1' /%3E %3C/svg%3E");
--i-map:url("data:image/svg+xml,%3Csvg  xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' %3E %3Cpath d='M14.106 5.553a2 2 0 0 0 1.788 0l3.659-1.83A1 1 0 0 1 21 4.619v12.764a1 1 0 0 1-.553.894l-4.553 2.277a2 2 0 0 1-1.788 0l-4.212-2.106a2 2 0 0 0-1.788 0l-3.659 1.83A1 1 0 0 1 3 19.381V6.618a1 1 0 0 1 .553-.894l4.553-2.277a2 2 0 0 1 1.788 0z' /%3E %3Cpath d='M15 5.764v15' /%3E %3Cpath d='M9 3.236v15' /%3E %3C/svg%3E");
--i-route:url("data:image/svg+xml,%3Csvg  xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' %3E %3Ccircle cx='6' cy='19' r='3' /%3E %3Cpath d='M9 19h8.5a3.5 3.5 0 0 0 0-7h-11a3.5 3.5 0 0 1 0-7H15' /%3E %3Ccircle cx='18' cy='5' r='3' /%3E %3C/svg%3E");
--i-search:url("data:image/svg+xml,%3Csvg  xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' %3E %3Ccircle cx='11' cy='11' r='8' /%3E %3Cpath d='m21 21-4.3-4.3' /%3E %3C/svg%3E");
--i-users:url("data:image/svg+xml,%3Csvg  xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' %3E %3Cpath d='M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2' /%3E %3Ccircle cx='9' cy='7' r='4' /%3E %3Cpath d='M22 21v-2a4 4 0 0 0-3-3.87' /%3E %3Cpath d='M16 3.13a4 4 0 0 1 0 7.75' /%3E %3C/svg%3E");
--i-workflow:url("data:image/svg+xml,%3Csvg  xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' %3E %3Crect width='8' height='8' x='3' y='3' rx='2' /%3E %3Cpath d='M7 11v4a2 2 0 0 0 2 2h4' /%3E %3Crect width='8' height='8' x='13' y='13' rx='2' /%3E %3C/svg%3E");
}
.ico-check{--icon:var(--i-check)}
.ico-network{--icon:var(--i-network)}
.ico-target{--icon:var(--i-target)}
.ico-layers{--icon:var(--i-layers)}
.ico-focus{--icon:var(--i-focus)}
.ico-clipboard-list{--icon:var(--i-clipboard-list)}
.ico-compass{--icon:var(--i-compass)}
.ico-git-branch{--icon:var(--i-git-branch)}
.ico-layout-dashboard{--icon:var(--i-layout-dashboard)}
.ico-map{--icon:var(--i-map)}
.ico-route{--icon:var(--i-route)}
.ico-search{--icon:var(--i-search)}
.ico-users{--icon:var(--i-users)}
.ico-workflow{--icon:var(--i-workflow)}

[class*="ico-"]::before,.ico::before{content:"";display:block;flex-shrink:0;width:var(--icon-size,24px);height:var(--icon-size,24px);background:var(--teal);-webkit-mask:var(--icon) center/contain no-repeat;mask:var(--icon) center/contain no-repeat}

:root{
--i-ear:url("data:image/svg+xml,%3Csvg  xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' %3E %3Cpath d='M6 8.5a6.5 6.5 0 1 1 13 0c0 6-6 6-6 10a3.5 3.5 0 1 1-7 0' /%3E %3Cpath d='M15 8.5a2.5 2.5 0 0 0-5 0v1a2 2 0 1 1 0 4' /%3E %3C/svg%3E");
--i-lightbulb:url("data:image/svg+xml,%3Csvg  xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' %3E %3Cpath d='M15 14c.2-1 .7-1.7 1.5-2.5 1-.9 1.5-2.2 1.5-3.5A6 6 0 0 0 6 8c0 1 .2 2.2 1.5 3.5.7.7 1.3 1.5 1.5 2.5' /%3E %3Cpath d='M9 18h6' /%3E %3Cpath d='M10 22h4' /%3E %3C/svg%3E");
--i-flag:url("data:image/svg+xml,%3Csvg  xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' %3E %3Cpath d='M4 15s1-1 4-1 5 2 8 2 4-1 4-1V3s-1 1-4 1-5-2-8-2-4 1-4 1z' /%3E %3Cline x1='4' x2='4' y1='22' y2='15' /%3E %3C/svg%3E");
--i-handshake:url("data:image/svg+xml,%3Csvg  xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' %3E %3Cpath d='m11 17 2 2a1 1 0 1 0 3-3' /%3E %3Cpath d='m14 14 2.5 2.5a1 1 0 1 0 3-3l-3.88-3.88a3 3 0 0 0-4.24 0l-.88.88a1 1 0 1 1-3-3l2.81-2.81a5.79 5.79 0 0 1 7.06-.87l.47.28a2 2 0 0 0 1.42.25L21 4' /%3E %3Cpath d='m21 3 1 11h-2' /%3E %3Cpath d='M3 3 2 14l6.5 6.5a1 1 0 1 0 3-3' /%3E %3Cpath d='M3 4h8' /%3E %3C/svg%3E");
--i-message-circle:url("data:image/svg+xml,%3Csvg  xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' %3E %3Cpath d='M7.9 20A9 9 0 1 0 4 16.1L2 22Z' /%3E %3C/svg%3E");
--i-settings:url("data:image/svg+xml,%3Csvg  xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' %3E %3Cpath d='M12.22 2h-.44a2 2 0 0 0-2 2v.18a2 2 0 0 1-1 1.73l-.43.25a2 2 0 0 1-2 0l-.15-.08a2 2 0 0 0-2.73.73l-.22.38a2 2 0 0 0 .73 2.73l.15.1a2 2 0 0 1 1 1.72v.51a2 2 0 0 1-1 1.74l-.15.09a2 2 0 0 0-.73 2.73l.22.38a2 2 0 0 0 2.73.73l.15-.08a2 2 0 0 1 2 0l.43.25a2 2 0 0 1 1 1.73V20a2 2 0 0 0 2 2h.44a2 2 0 0 0 2-2v-.18a2 2 0 0 1 1-1.73l.43-.25a2 2 0 0 1 2 0l.15.08a2 2 0 0 0 2.73-.73l.22-.39a2 2 0 0 0-.73-2.73l-.15-.08a2 2 0 0 1-1-1.74v-.5a2 2 0 0 1 1-1.74l.15-.09a2 2 0 0 0 .73-2.73l-.22-.38a2 2 0 0 0-2.73-.73l-.15.08a2 2 0 0 1-2 0l-.43-.25a2 2 0 0 1-1-1.73V4a2 2 0 0 0-2-2z' /%3E %3Ccircle cx='12' cy='12' r='3' /%3E %3C/svg%3E");
--i-chart-column:url("data:image/svg+xml,%3Csvg  xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' %3E %3Cpath d='M3 3v16a2 2 0 0 0 2 2h16' /%3E %3Cpath d='M18 17V9' /%3E %3Cpath d='M13 17V5' /%3E %3Cpath d='M8 17v-3' /%3E %3C/svg%3E");
--i-sparkles:url("data:image/svg+xml,%3Csvg  xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' %3E %3Cpath d='M9.937 15.5A2 2 0 0 0 8.5 14.063l-6.135-1.582a.5.5 0 0 1 0-.962L8.5 9.936A2 2 0 0 0 9.937 8.5l1.582-6.135a.5.5 0 0 1 .963 0L14.063 8.5A2 2 0 0 0 15.5 9.937l6.135 1.581a.5.5 0 0 1 0 .964L15.5 14.063a2 2 0 0 0-1.437 1.437l-1.582 6.135a.5.5 0 0 1-.963 0z' /%3E %3Cpath d='M20 3v4' /%3E %3Cpath d='M22 5h-4' /%3E %3Cpath d='M4 17v2' /%3E %3Cpath d='M5 18H3' /%3E %3C/svg%3E");
}
.ico-ear{--icon:var(--i-ear)}
.ico-lightbulb{--icon:var(--i-lightbulb)}
.ico-flag{--icon:var(--i-flag)}
.ico-handshake{--icon:var(--i-handshake)}
.ico-message-circle{--icon:var(--i-message-circle)}
.ico-settings{--icon:var(--i-settings)}
.ico-chart-column{--icon:var(--i-chart-column)}
.ico-sparkles{--icon:var(--i-sparkles)}

/* ===== En-tête ===== */
.site-header{height:98px;padding:0 6%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #edf0f3;background:#fff;position:sticky;top:0;z-index:20}
.brand-logo{display:block;width:190px;height:64px;overflow:hidden;position:relative}
.brand-logo img{position:absolute;width:615px;max-width:none;left:-17px;top:-10px;height:auto}
.brand-logo--custom{width:auto;height:auto;overflow:visible}
.brand-logo--custom img{position:static;width:auto;max-width:220px;max-height:64px;height:auto}
.navigation{display:flex;gap:28px;align-items:center;font-size:12px;font-weight:500}
.navigation a.active{color:var(--teal)}
.navigation a.button.active{color:var(--navy)}
.mobile-toggle{display:none;color:var(--navy);padding:6px;line-height:0}

/* ===== Boutons ===== */
.button,.wp-block-button .wp-block-button__link{display:inline-flex;align-items:center;justify-content:center;gap:22px;background:var(--teal);color:var(--navy);padding:17px 23px;border:0;border-radius:7px;font-family:Inter,sans-serif;font-size:13px;font-weight:600;line-height:1.2;min-height:48px;text-decoration:none;box-shadow:none;width:auto}
.button:hover,.wp-block-button .wp-block-button__link:hover{background:#0fa59f;color:var(--navy);transform:translateY(-2px)}
.button:active,.wp-block-button .wp-block-button__link:active{transform:scale(.98)}
.button:disabled{opacity:.6}
.button.small{padding:14px 18px;font-size:12px}
.wp-block-button .wp-block-button__link::after{content:"";width:18px;height:18px;flex-shrink:0;background:currentColor;-webkit-mask:var(--i-arrow-up-right) center/contain no-repeat;mask:var(--i-arrow-up-right) center/contain no-repeat}
.wp-block-button.is-style-texte .wp-block-button__link{background:none;padding:0;min-height:0;font-size:12px;gap:8px}
.wp-block-button.is-style-texte .wp-block-button__link:hover{background:none;color:var(--teal);transform:none}
.wp-block-buttons{display:flex;flex-wrap:wrap;align-items:center;gap:16px 26px}
.text-link{font-size:12px;font-weight:600;display:flex;gap:8px;align-items:center}

/* ===== Petits titres ===== */
.eyebrow{font-size:10px;font-weight:600;letter-spacing:2px;line-height:1.5;display:flex;align-items:center;gap:10px;color:#607083;margin:0}
.eyebrow>span,.eyebrow.has-dot::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--teal);flex-shrink:0}

/* ===== Sections ===== */
.section{padding:95px 8%}
.lead{font-size:18px!important;line-height:1.75!important;color:var(--navy)!important}

/* ----- Bannières ----- */
.banner{position:relative;display:flex;align-items:center;min-height:560px;overflow:hidden;background:radial-gradient(circle at 0% 100%,#16b8b14d,transparent 42%),linear-gradient(135deg,#0b1a33,#0e2a45 60%,#0b1a33);color:#fff}
.banner>figure{position:absolute;top:0;right:0;bottom:0;width:60%;margin:0}
.banner>figure img{width:100%;height:100%;object-fit:cover;object-position:center;display:block}
.banner>figure::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#0d2038 0%,#0d2038cc 20%,#0d203800 58%);pointer-events:none}
.banner::before{content:"";position:absolute;z-index:1;width:150px;height:700px;left:36%;top:-90px;border-radius:80px;background:linear-gradient(180deg,#16b8b1,#16b8b100);opacity:.22;transform:rotate(28deg);pointer-events:none}
.banner-text{position:relative;z-index:2;width:48%;padding:80px 0 80px 6%}
.banner .eyebrow{color:#a8c5cd}
.banner h1{color:#fff;max-width:640px;margin:20px 0 18px}
.banner p:not(.eyebrow){color:#c9d4e0;font-size:16px;max-width:560px}
.banner .wp-block-buttons{margin-top:30px}
.banner .is-style-texte .wp-block-button__link{color:#fff}
.banner .is-style-texte .wp-block-button__link:hover{color:var(--teal)}
.banner--full{min-height:520px}
.banner--full>figure{width:100%}
.banner--full>figure img{object-position:75% center}
.banner--full>figure::after{background:linear-gradient(90deg,#0d2038 0%,#0d2038f0 30%,#0d203899 50%,#0d203800 75%)}
.banner--full::before{display:none}
.banner--collage{display:grid;grid-template-columns:1fr 1fr;gap:4%}
.banner--collage::before{left:44%}
.banner--collage .banner-text{width:auto;order:-1}
.banner-collage{position:relative;z-index:2;display:grid;grid-template-columns:1.25fr 1fr;grid-template-rows:1fr 1fr;gap:14px;height:440px;padding:0 8% 0 0}
.banner-collage figure{margin:0;min-height:0}
.banner-collage figure:first-child{grid-row:span 2}
.banner-collage img{width:100%;height:100%;object-fit:cover;display:block;border-radius:16px;border:1px solid #16b8b159;box-shadow:0 24px 50px #0006}
.wp-block-button.is-style-contour .wp-block-button__link{background:transparent;border:1px solid #ffffff4d;color:#fff;padding:10px 16px;min-height:0;font-size:12px;border-radius:999px}
.wp-block-button.is-style-contour .wp-block-button__link::after{display:none}
.wp-block-button.is-style-contour .wp-block-button__link:hover{border-color:var(--teal);color:var(--teal);background:transparent}
.anchor-nav{gap:10px!important}

/* ----- Accueil ----- */
.challenges{display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:center}
.challenges>.wp-block-group p{max-width:460px}
.challenge-list{list-style:none;padding:0;margin:0;counter-reset:challenge}
.challenge-list li{counter-increment:challenge;padding:22px 0;border-bottom:1px solid #e5ebee;font-size:15px;line-height:1.55;display:flex;align-items:center;gap:16px}
.challenge-list li::before{content:counter(challenge,decimal-leading-zero);font-size:11px;color:var(--teal);font-weight:600}
.challenge-list li::after{content:"";margin-left:auto;width:16px;height:16px;flex-shrink:0;background:var(--teal);-webkit-mask:var(--i-arrow-up-right) center/contain no-repeat;mask:var(--i-arrow-up-right) center/contain no-repeat}

.offers-section{background:var(--light)}
.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;margin-bottom:40px}
.section-heading>p{max-width:420px}
.section-heading h2{margin-bottom:0}
.offer-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;counter-reset:offer}
.offer-card{counter-increment:offer;position:relative;background:#fff;border:1px solid #e4eaee;border-radius:16px;overflow:hidden;display:flex;flex-direction:column;transition:transform .2s,box-shadow .2s}
.offer-card:hover{transform:translateY(-4px);box-shadow:0 22px 44px #101b3014}
.offer-card::after{content:counter(offer,decimal-leading-zero);position:absolute;top:14px;right:14px;background:#fff;color:var(--navy);font-size:11px;font-weight:700;padding:5px 10px;border-radius:999px}
.offer-card>figure{margin:0}
.offer-card>figure img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block}
.offer-card-body{--icon-size:26px;padding:26px 28px 28px;display:flex;flex-direction:column;flex:1}
.offer-card h3{margin:14px 0 8px;font-size:21px}
.offer-card p{font-size:14px;margin:0}
.offer-card p.card-link{margin-top:auto;padding-top:24px}
.card-link a{font-size:13px;font-weight:600;color:var(--navy);display:flex;justify-content:space-between;align-items:center}
.card-link a::after{content:"";width:19px;height:19px;background:var(--teal);-webkit-mask:var(--i-arrow-up-right) center/contain no-repeat;mask:var(--i-arrow-up-right) center/contain no-repeat}
.card-link a:hover{color:var(--teal)}

.about{display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:center}
.values>.wp-block-group{display:grid;grid-template-columns:26px 1fr;column-gap:18px;padding:22px 0;border-bottom:1px solid #e4eaee}
.values>.wp-block-group:not([class*="ico-"]){--icon:var(--i-check)}
.values>.wp-block-group::before{content:"";grid-column:1;grid-row:1/span 9;width:26px;height:26px;margin-top:2px;background:var(--teal);-webkit-mask:var(--icon) center/contain no-repeat;mask:var(--icon) center/contain no-repeat}
.values>.wp-block-group>*{grid-column:2}
.values h3{margin:0;font-size:20px}
.values p{margin:6px 0 0;font-size:14px}

.method{background:radial-gradient(circle at 100% 0%,#16b8b126,transparent 40%),var(--navy);color:#fff}
.method .eyebrow{color:#a8c5cd}
.method h2{color:#fff}
.method p.method-intro{max-width:640px;color:#b7c3d1}
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:28px;margin-top:50px;counter-reset:step}
.steps--five{grid-template-columns:repeat(5,1fr)}
.steps>.wp-block-group{counter-increment:step}
.steps>.wp-block-group::before{content:counter(step,decimal-leading-zero);display:block;color:var(--teal);font-size:13px;font-weight:600;border-top:2px solid #16b8b1;padding-top:18px}
.steps h3{font-size:17px;margin:14px 0 0;color:#fff}
.steps p{color:#b7c3d1;font-size:13px}
.method-actions{margin-top:44px}
.chips{list-style:none;padding:0;margin:32px 0 0;display:flex;flex-wrap:wrap;gap:10px}
.chips li{border:1px solid #16b8b173;color:#fff;border-radius:999px;padding:9px 16px;font-size:13px;background:#16b8b114}

.cta{padding:75px 8%;background:linear-gradient(120deg,#eaf8f7,#f4f7fa);display:flex;align-items:center;justify-content:space-between;gap:32px}
.cta h2{font-size:34px}
.cta .wp-block-buttons{flex-shrink:0}

/* ----- Nos offres ----- */
.offer-block{scroll-margin-top:100px}
.offer-head{position:relative;overflow:hidden;display:grid;grid-template-columns:1.05fr .95fr;gap:64px;align-items:center;padding:80px 8%;background:radial-gradient(circle at 100% 100%,#16b8b133,transparent 45%),linear-gradient(135deg,#0b1a33,#0e2a45 60%,#0b1a33);color:#fff}
.offer-head::before{content:"";position:absolute;width:140px;height:620px;right:30%;top:-80px;border-radius:80px;background:linear-gradient(180deg,#16b8b1,#16b8b100);opacity:.18;transform:rotate(28deg);pointer-events:none}
.offer-head>*{position:relative;z-index:1}
.offer-block:nth-of-type(3) .offer-photo{order:-1}
.offer-head .eyebrow{color:#a8c5cd}
.offer-head h2{color:#fff;margin:12px 0 6px}
.offer-head .offer-hook{font-family:Manrope,sans-serif;font-weight:700;font-size:20px;line-height:1.45;color:var(--teal);letter-spacing:-.03em;margin:0 0 12px}
.offer-head p:not(.eyebrow):not(.offer-hook){color:#c9d4e0;max-width:56ch}
.offer-head .wp-block-buttons{margin-top:24px}
.offer-photo figure{margin:0}
.offer-photo img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block;border-radius:18px;border:1px solid #16b8b159;box-shadow:0 30px 60px #0007}
.offer-body{display:grid;grid-template-columns:1fr 1.25fr;gap:56px;padding:56px 8% 80px}
.offer-body h3{font-size:16px;margin:32px 0 12px;color:var(--navy)}
.offer-body>.wp-block-group>h3:first-child{margin-top:0}
.offer-situations,.offer-benefits{list-style:none;margin:0;padding:0}
.offer-situations li{display:flex;gap:10px;align-items:flex-start;padding:11px 0;border-bottom:1px solid #e5ebee;font-size:14px;line-height:1.55;color:var(--navy)}
.offer-situations li::before{content:"";width:16px;height:16px;flex-shrink:0;margin-top:3px;background:var(--teal);-webkit-mask:var(--i-check) center/contain no-repeat;mask:var(--i-check) center/contain no-repeat}
.offer-support,.offer-deliverables{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.offer-support>.wp-block-group{--icon-size:18px;display:grid;grid-template-columns:18px 1fr;column-gap:10px;align-content:start;background:#f8fbfb;border:1px solid #e4eaee;border-radius:12px;padding:14px}
.offer-support>.wp-block-group::before{grid-column:1;grid-row:1/span 9;margin-top:2px}
.offer-support>.wp-block-group>*{grid-column:2}
.offer-support p,.offer-deliverables p{margin:0;font-size:12px;line-height:1.55;color:var(--muted)}
.offer-support p+p,.offer-deliverables p+p{margin-top:4px}
.offer-support p:first-child,.offer-deliverables p:first-child,.offer-support strong,.offer-deliverables strong{font-size:13px;color:var(--navy);font-weight:700}
.offer-deliverables>.wp-block-group{--icon-size:18px;background:#fff;border:1px solid #d7ebe9;border-radius:12px;padding:16px 14px;box-shadow:0 8px 18px #18333b08}
.offer-deliverables>.wp-block-group::before{margin-bottom:8px}
.offer-benefits li{position:relative;padding:8px 0 8px 16px;font-size:14px;line-height:1.55;color:var(--navy)}
.offer-benefits li::before{content:"";position:absolute;left:0;top:15px;width:7px;height:7px;border-radius:50%;background:var(--teal)}

/* ----- Notre méthode ----- */
.timeline-heading{max-width:680px}
.timeline-intro{font-size:18px!important;color:var(--navy)!important;margin-top:10px}
.timeline{position:relative;counter-reset:tl;display:grid;gap:18px;margin-top:40px}
.timeline::before{content:"";position:absolute;left:51px;top:40px;bottom:40px;width:2px;background:linear-gradient(180deg,#16b8b1,#16b8b133)}
.timeline-step{counter-increment:tl;position:relative;background:#fff;border:1px solid #e4eaee;border-radius:16px;padding:28px 32px 28px 108px;box-shadow:0 10px 24px #101b3008}
.timeline-step::after{content:"";position:absolute;left:24px;top:28px;width:56px;height:56px;border-radius:50%;background:linear-gradient(135deg,#16b8b1,#0e8f8a);box-shadow:0 0 0 6px #eaf8f7}
.timeline-step::before{position:absolute;z-index:1;left:40px;top:44px;width:24px!important;height:24px!important;background:#fff!important}
.timeline-step h2{font-size:24px;margin:0 0 8px}
.timeline-step h2::before{content:"ÉTAPE " counter(tl,decimal-leading-zero);display:block;font-family:Inter,sans-serif;font-size:11px;letter-spacing:2px;color:var(--teal);font-weight:600;margin-bottom:6px}
.timeline-step p{margin:0 0 12px;max-width:70ch}
.timeline-step p.deliverable{display:inline-block;margin:0;background:#eaf8f7;color:var(--navy);font-size:13px;line-height:1.5;padding:7px 14px;border-radius:999px}
.split{display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:center;background:var(--light)}
.split h2{margin-bottom:0}
.split .wp-block-buttons{margin-top:20px}
.faq{max-width:1000px;margin:0 auto}
.wp-block-details{border-bottom:1px solid #dfe6ec;padding:0}
.wp-block-details summary{cursor:pointer;list-style:none;font-family:Manrope,sans-serif;font-weight:700;font-size:17px;letter-spacing:-.02em;padding:20px 40px 20px 0;position:relative;color:var(--navy)}
.wp-block-details summary::-webkit-details-marker{display:none}
.wp-block-details summary::after{content:"";position:absolute;right:6px;top:50%;width:12px;height:12px;margin-top:-8px;border-right:2px solid var(--teal);border-bottom:2px solid var(--teal);transform:rotate(45deg);transition:transform .2s}
.wp-block-details[open] summary::after{transform:rotate(-135deg);margin-top:-2px}
.wp-block-details p{margin:0 0 20px}

/* ----- Qui sommes-nous ----- */
.principles{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:36px}
.principles-section{background:#fff}
.principle{--icon-size:28px;background:var(--light);border:1px solid #e4eaee;border-radius:16px;padding:28px}
.principle::before{margin-bottom:16px}
.principle h3{font-size:19px;margin:0 0 8px}
.principle p{font-size:14px;margin:0}

/* ----- Contact ----- */
.contact-main{display:grid;grid-template-columns:1.15fr .85fr;gap:48px;align-items:start;background:var(--light)}
.form-card{background:#fff;border:1px solid #e0e7ed;border-radius:18px;padding:36px;box-shadow:0 18px 40px #101b300a}
.form-card h2{font-size:28px;margin:0 0 22px}
.form-card .contact-form{padding:0;border:0;background:none;box-shadow:none}
.reassurance{--icon-size:30px;background:linear-gradient(135deg,#0b1a33,#0e2a45);color:#fff;border-radius:18px;padding:32px}
.reassurance::before{margin-bottom:14px}
.reassurance .eyebrow{color:#a8c5cd}
.reassurance h2{color:#fff;font-size:24px;margin:12px 0 10px}
.reassurance p:not(.eyebrow){color:#c9d4e0;margin:0}
.contact-aside>h3{font-size:18px;margin:36px 0 4px}
.optional{color:var(--muted);font-weight:400}
/* Contact */
.contact-note{border-left:2px solid var(--teal);padding:15px 20px;margin:35px 0;background:#e9f4f3;font-size:13px;line-height:1.8;color:var(--navy)}
.email-placeholder{font-size:11px}
.email-placeholder a{text-decoration:underline}
.contact-form{background:#fff;padding:35px;border:1px solid #e0e7ed;border-radius:14px;display:flex;flex-direction:column;gap:20px;align-self:start}
.contact-form label{font-size:12px;font-weight:500;display:flex;flex-direction:column;gap:9px}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:15px}
input,select,textarea{width:100%;border:1px solid #d8e0e8;background:#fcfdfe;border-radius:6px;padding:13px;font-size:13px;outline:none;color:var(--navy)}
input:focus,select:focus,textarea:focus{border-color:var(--teal);box-shadow:0 0 0 3px #16b8b11a}
.contact-form .consent{display:flex;flex-direction:row;font-size:10px;line-height:1.7;align-items:flex-start}
.consent input{width:16px;height:16px;flex-shrink:0;accent-color:var(--teal)}
.consent a{text-decoration:underline}
.contact-form small{font-size:10px;color:var(--muted);text-align:center}
.honeypot{position:absolute;left:-9999px}
.success{background:#fff;padding:40px;border-radius:14px;align-self:center}
.success h2{font-size:30px}
.success .button{margin-top:10px}
.form-message{border-radius:8px;padding:14px 16px;font-size:13px;line-height:1.6;margin:0}
.form-message.error{background:#fdecec;color:#8a1f1f;border:1px solid #f5c2c2}

/* Pages de texte (légal, nouvelles pages) */
.page-hero{padding:72px 8% 56px;background:radial-gradient(circle at 0% 100%,#16b8b140,transparent 40%),linear-gradient(135deg,#0b1a33,#0e2a45 60%,#0b1a33);color:#fff}
.page-hero .eyebrow{color:#a8c5cd}
.page-hero h1{margin:14px 0 0;color:#fff;font-size:clamp(32px,3.5vw,48px)}
.legal{max-width:1000px;margin:auto}
.legal h2{font-size:24px;margin-top:38px}
.legal-content p,.legal-content li{color:var(--muted);font-size:15px;line-height:1.85}
.legal-content a{text-decoration:underline;color:var(--navy)}
.legal-content ul,.legal-content ol{padding-left:20px}
.error-404{min-height:55vh}
.error-404 .button{margin-top:16px}

/* ===== Pied de page ===== */
.site-footer{padding:60px 8% 25px;background:var(--navy);color:#fff}
.footer-top{display:flex;justify-content:space-between;gap:30px}
.footer-brand{font-size:30px;font-weight:800}
.site-footer p{font-size:12px;color:#a1afbf}
.footer-links{display:flex;gap:27px;align-items:center;font-size:12px}
.footer-bottom{border-top:1px solid #344055;margin-top:45px;padding-top:23px;display:flex;justify-content:space-between;gap:22px;font-size:10px;color:#a1afbf}
.footer-bottom>div{display:flex;gap:25px}

/* ===== Accessibilité / WordPress ===== */
.screen-reader-text{border:0;clip:rect(1px,1px,1px,1px);clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute!important;width:1px;word-wrap:normal!important}
.skip-link:focus{clip:auto;clip-path:none;height:auto;width:auto;left:12px;top:12px;z-index:100000;background:#fff;padding:12px 18px;border-radius:6px;box-shadow:0 4px 18px #101b3026}
.admin-bar .site-header{top:32px}
@media(max-width:782px){.admin-bar .site-header{top:46px}}
@media(max-width:600px){.admin-bar .site-header{top:0}}

/* ===== Responsive ===== */
@media(min-width:1500px){.site-header{padding:0 10%}.banner-text{padding-left:10%}}
@media(max-width:1050px){
.navigation{gap:16px}
.section{padding:70px 6%}
.banner-text{width:56%}
.banner>figure{width:55%}
.steps--five{grid-template-columns:repeat(3,1fr)}
.principles{grid-template-columns:1fr 1fr}
.offer-head{gap:40px;padding:64px 6%}
.offer-body{padding:48px 6% 64px;gap:40px}
.contact-main{grid-template-columns:1fr}
.footer-links{gap:16px}
}
@media(max-width:780px){
.site-header{height:80px;padding:0 5%}
.mobile-toggle{display:block;border:0;background:transparent}
.navigation{display:none;position:absolute;top:80px;left:0;right:0;background:#fff;padding:25px;box-shadow:0 15px 20px #101b3012;align-items:stretch}
.navigation.open{display:flex;flex-direction:column}
.navigation>a{padding:12px}
.brand-logo{width:175px}
.section{padding:56px 6%}
.banner,.banner--full,.banner--collage{display:block;min-height:0}
.banner::before{display:none}
.banner>figure,.banner--full>figure{position:relative;width:100%;height:230px}
.banner>figure::after,.banner--full>figure::after{background:linear-gradient(0deg,#0d2038 0%,#0d203800 65%)}
.banner-text{width:100%;padding:12px 6% 48px}
.banner h1{font-size:34px}
.banner-collage{height:260px;padding:28px 6% 0}
.challenges,.about,.split{grid-template-columns:1fr;gap:28px}
.section-heading{display:block}
.offer-grid{grid-template-columns:1fr}
.steps,.steps--five{grid-template-columns:1fr 1fr;gap:22px}
.principles{grid-template-columns:1fr}
.cta{padding:52px 6%;display:block}
.cta .wp-block-buttons{margin-top:20px}
.cta h2{font-size:28px}
.offer-head{grid-template-columns:1fr;padding:44px 6%;gap:28px}
.offer-head::before{display:none}
.offer-photo,.offer-block:nth-of-type(3) .offer-photo{order:-1}
.offer-body{grid-template-columns:1fr;gap:8px;padding:36px 6% 52px}
.offer-body>.wp-block-group+.wp-block-group>h3:first-child{margin-top:32px}
.offer-support,.offer-deliverables{grid-template-columns:1fr}
.timeline::before{left:39px}
.timeline-step{padding:24px 20px 24px 84px}
.timeline-step::after{left:16px;top:24px;width:46px;height:46px}
.timeline-step::before{left:27px;top:35px;width:24px!important;height:24px!important}
.timeline-step h2{font-size:20px}
.form-card{padding:24px}
.form-row{grid-template-columns:1fr}
.footer-top,.footer-bottom{flex-direction:column}
.footer-links{flex-wrap:wrap;margin-top:18px}
.eyebrow{font-size:9px;letter-spacing:1.4px}
.page-hero{padding:48px 6% 40px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}a,button,.offer-card{transition:none}}
.page-hero+.legal{padding-top:56px}
