/* Généré par deploiement/pages/portee-css.js depuis assets/css/styles.css, assets/css/apropos.css, assets/css/sobre.css, deploiement/pages/apropos-site.css pour deploiement/plugins/urbanvoirie-pages/templates/apropos.html : ne pas modifier à la main. */
.uvpg-ap{--navy-950: #0B2942;
  --navy-900: #0F3557;
  --navy-800: #164573;
  --blue-700: #136FB0;   
  --blue-600: #1B86D0;   
  --blue-400: #4FA6E0;
  --blue-300: #7CC4EE;
  --blue-100: #DCEEFB;
  --blue-50:  #EEF6FD;

  
  --gold: #C19B2B;
  --gold-hover: #A8861F;
  --on-gold: #FFFFFF;
  --gold-ink: #8F7019;   
  --gold-soft: #F1E7CC;  

  
  --ink:   #0F1E2E;
  --ink-2: #3D4E60;
  --ink-3: #5A6875;
  --line:  #DDE3E9;
  --line-2:#E9EEF3;
  --bg:      #FFFFFF;
  --bg-soft: #F4F7FA;
  --bg-blue: #F2F7FC;

  
  --ok: #14603E;
  --ok-bg: #E7F4EC;
  --danger: #B42318;
  --focus: #1B86D0;

  
  --cl-A15-bg: #E3F2FC; --cl-A15-fg: #0B4F80;
  --cl-B125-bg:#BFE0F5; --cl-B125-fg:#0B3F66;
  --cl-C250-bg:#136FB0; --cl-C250-fg:#FFFFFF;
  --cl-D400-bg:#0F4F85; --cl-D400-fg:#FFFFFF;
  --cl-E600-bg:#0F3557; --cl-E600-fg:#FFFFFF;
  --cl-F900-bg:#0B1E33; --cl-F900-fg:#FFFFFF;

  --radius-sm: 6px;
  --radius: 10px;
  --radius-lg: 16px;
  --shadow-sm: 0 1px 2px rgba(15, 30, 46, .06);
  --shadow: 0 8px 24px -10px rgba(15, 53, 87, .22);
  --shadow-lg: 0 28px 56px -20px rgba(15, 53, 87, .35);

  --font: 'DM Sans', system-ui, -apple-system, 'Segoe UI', sans-serif;
  --mono: 'JetBrains Mono', ui-monospace, 'SF Mono', Menlo, monospace;

  --container: 1520px; 
  --gutter: clamp(16px, 4vw, 40px);
  --header-h: 72px;
  --ease: cubic-bezier(.2, .7, .2, 1);
  --dur: 200ms;}
.uvpg-ap *,.uvpg-ap *::before,.uvpg-ap *::after{box-sizing: border-box;}
.uvpg-ap{-webkit-text-size-adjust: 100%; scroll-behavior: smooth; scroll-padding-top: calc(var(--header-h) + 16px);}
.uvpg-ap{margin: 0;
  font-family: var(--font);
  font-size: 16px;
  line-height: 1.6;
  color: var(--ink);
  background: var(--bg);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;}
.uvpg-ap img{max-width: 100%; height: auto; display: block;}
.uvpg-ap a{color: inherit; text-decoration: none;}
.uvpg-ap button,.uvpg-ap input,.uvpg-ap select,.uvpg-ap textarea{font: inherit; color: inherit;}
.uvpg-ap button{cursor: pointer;}
.uvpg-ap h1,.uvpg-ap h2,.uvpg-ap h3,.uvpg-ap h4{margin: 0; line-height: 1.15; letter-spacing: -0.02em; text-wrap: balance;}
.uvpg-ap p{margin: 0; text-wrap: pretty;}
.uvpg-ap ul,.uvpg-ap ol{margin: 0; padding: 0; list-style: none;}
.uvpg-ap :focus-visible{outline: 3px solid var(--focus); outline-offset: 2px; border-radius: 4px;}
.uvpg-ap ::selection{background: var(--blue-100);}
.uvpg-ap [hidden]{display: none !important;}
.uvpg-ap .container{width: 100%; max-width: var(--container); margin-inline: auto; padding-inline: var(--gutter);}
.uvpg-ap .icon{width: 20px; height: 20px; flex: none; stroke: currentColor; fill: none; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round;}
.uvpg-ap .icon-sm{width: 16px; height: 16px;}
.uvpg-ap .icon-lg{width: 24px; height: 24px;}
.uvpg-ap .eyebrow{display: inline-flex; align-items: center; gap: 8px;
  font-family: var(--mono); font-size: 12px; font-weight: 500;
  letter-spacing: .08em; text-transform: uppercase; color: var(--blue-700);}
.uvpg-ap .eyebrow::before{content: ''; width: 18px; height: 1px; background: currentColor;}
.uvpg-ap .section{padding-block: clamp(56px, 8vw, 104px);}
.uvpg-ap .section-head{display: flex; flex-wrap: wrap; align-items: end; justify-content: space-between; gap: 16px 32px; margin-bottom: clamp(28px, 4vw, 44px);}
.uvpg-ap .section-head h2{margin-top: 10px;}
.uvpg-ap .section-head p{max-width: 520px; color: var(--ink-2);}
.uvpg-ap .h2{font-size: clamp(1.75rem, 1.15rem + 1.9vw, 2.6rem); font-weight: 700;}
.uvpg-ap .lead{font-size: clamp(1.05rem, 1rem + .3vw, 1.2rem); color: var(--ink-2);}
.uvpg-ap .btn{display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  min-height: 44px; padding: 0 18px;
  border: 1px solid transparent; border-radius: 8px;
  font-weight: 600; font-size: 15px; line-height: 1; white-space: nowrap;
  transition: background-color var(--dur) var(--ease), border-color var(--dur) var(--ease), color var(--dur) var(--ease), box-shadow var(--dur) var(--ease), transform 120ms var(--ease);}
.uvpg-ap .btn:active{transform: translateY(1px);}
.uvpg-ap .btn-outline{background: #fff; border-color: var(--line); color: var(--navy-900);}
.uvpg-ap .btn-outline:hover{border-color: var(--blue-600); color: var(--blue-700);}
.uvpg-ap .btn-white{background: #fff; color: var(--navy-900);}
.uvpg-ap .btn-gold{background: var(--gold); border-color: var(--gold); color: var(--on-gold);}
.uvpg-ap .btn-gold:hover{background: var(--gold-hover); border-color: var(--gold-hover); color: var(--on-gold);}
.uvpg-ap .btn-white:hover{background: var(--blue-50);}
.uvpg-ap .btn-ghost-light{background: transparent; border-color: rgba(255,255,255,.35); color: #fff;}
.uvpg-ap .btn-ghost-light:hover{background: rgba(255,255,255,.1); border-color: #fff;}
.uvpg-ap .btn-lg{min-height: 52px; padding: 0 24px; font-size: 16px;}
.uvpg-ap .btn[disabled]{opacity: .55; cursor: not-allowed;}
.uvpg-ap .link-arrow{display: inline-flex; align-items: center; gap: 6px; font-weight: 600; color: var(--blue-700);}
.uvpg-ap .link-arrow .icon{transition: transform var(--dur) var(--ease);}
.uvpg-ap .link-arrow:hover .icon{transform: translateX(3px);}
.uvpg-ap .link-arrow:hover{color: var(--navy-900);}
@keyframes bump{ 40% { transform: scale(1.35); } }
@keyframes pop{ from { opacity: 0; transform: translateY(-4px); } }
@keyframes spin{ to { transform: rotate(360deg); } }
@keyframes toast-in{ from { opacity: 0; transform: translateY(10px); } }
@keyframes toast-out{ to { opacity: 0; transform: translateY(6px); } }
.uvpg-ap .page-head{background: var(--bg-blue); border-bottom: 1px solid var(--line-2); padding-block: 28px 30px;
  background-image: linear-gradient(rgba(27,134,208,.06) 1px, transparent 1px), linear-gradient(90deg, rgba(27,134,208,.06) 1px, transparent 1px); background-size: 24px 24px;}
.uvpg-ap .crumbs{display: flex; flex-wrap: wrap; align-items: center; gap: 6px; font-size: 13px; color: var(--ink-3);}
.uvpg-ap .crumbs a:hover{color: var(--blue-700);}
.uvpg-ap .crumbs .icon{width: 14px; height: 14px;}
.uvpg-ap .page-head h1{margin-top: 12px; font-size: clamp(1.8rem, 1.3rem + 1.6vw, 2.5rem);}
.uvpg-ap .page-head p{max-width: 74ch; margin-top: 6px; color: var(--ink-2);}
@media print{
.uvpg-ap{padding: 0;}
}
@media (max-width: 768px){
.uvpg-ap{--header-h: 60px;}
.uvpg-ap{padding-bottom: calc(66px + env(safe-area-inset-bottom));}
}
@media (prefers-reduced-motion: reduce){
.uvpg-ap *,.uvpg-ap *::before,.uvpg-ap *::after{animation-duration: 1ms !important; animation-iteration-count: 1 !important; transition-duration: 1ms !important; scroll-behavior: auto !important;}
}
.uvpg-ap .ab-head{padding-block: 28px 44px;}
.uvpg-ap .ab-head .ab-eyebrow{display: flex; margin-top: 22px;}
.uvpg-ap .ab-head h1{max-width: 18ch; margin-top: 12px; font-size: clamp(2rem, 1.3rem + 2.4vw, 3.2rem); letter-spacing: -0.03em; line-height: 1.06; color: var(--navy-950);}
.uvpg-ap .ab-head .lead{max-width: 640px; margin-top: 16px;}
.uvpg-ap .ab-id{background: #fff; border-bottom: 1px solid var(--line-2);}
.uvpg-ap .idband{display: grid; grid-template-columns: repeat(6, 1fr); margin: 0;}
.uvpg-ap .idband > div{padding: 22px 18px 22px 0; border-right: 1px solid var(--line-2);}
.uvpg-ap .idband > div + div{padding-left: 18px;}
.uvpg-ap .idband > div:last-child{border-right: 0;}
.uvpg-ap .idband dt{font-family: var(--mono); font-size: 11px; font-weight: 500; letter-spacing: .08em; text-transform: uppercase; color: var(--ink-3);}
.uvpg-ap .idband dd{margin: 6px 0 0; font-family: var(--mono); font-size: clamp(1.05rem, .95rem + .4vw, 1.3rem); font-weight: 600; letter-spacing: -0.02em; color: var(--navy-900);}
.uvpg-ap .idband span{display: block; margin-top: 4px; font-size: 13px; line-height: 1.35; color: var(--ink-3);}
.uvpg-ap .story{display: grid; grid-template-columns: minmax(0, 760px); gap: clamp(32px, 6vw, 80px); align-items: center;}
.uvpg-ap .story .h2{margin-top: 12px;}
.uvpg-ap .story-text{margin-top: 20px; display: grid; gap: 14px;}
.uvpg-ap .story-text p{color: var(--ink-2);}
.uvpg-ap .story-text .lead{color: var(--ink);}
.uvpg-ap .story-quote{padding-left: 16px; border-left: 3px solid var(--blue-700);}
.uvpg-ap .story-quote strong{color: var(--navy-900);}
.uvpg-ap .points{display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; margin-top: clamp(40px, 6vw, 64px);}
.uvpg-ap .points li{display: grid; grid-template-columns: 44px 1fr; gap: 14px; align-items: start; padding: 18px; border: 1px solid var(--line-2); border-radius: 14px; background: #fff;}
.uvpg-ap .points .ic{display: grid; place-items: center; width: 44px; height: 44px; border-radius: 10px; background: var(--blue-50); color: var(--blue-700);}
.uvpg-ap .points strong{display: block; font-size: 15px; line-height: 1.3;}
.uvpg-ap .points span{display: block; margin-top: 3px; font-size: 13.5px; line-height: 1.4; color: var(--ink-2);}
.uvpg-ap .ab-engage{background: var(--bg-soft);}
.uvpg-ap .eng-grid{display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px;}
.uvpg-ap .eng-card{padding: 26px; border: 1px solid var(--line-2); border-radius: var(--radius-lg); background: #fff; transition: border-color var(--dur) var(--ease), box-shadow var(--dur) var(--ease);}
.uvpg-ap .eng-card:hover{border-color: var(--blue-100); box-shadow: var(--shadow);}
.uvpg-ap .eng-card .ic{display: grid; place-items: center; width: 48px; height: 48px; border-radius: 12px; background: var(--navy-900); color: #fff;}
.uvpg-ap .eng-card h3{margin-top: 18px; font-size: 18px;}
.uvpg-ap .eng-card p{margin-top: 8px; font-size: 15px; color: var(--ink-2);}
.uvpg-ap .process{display: grid; grid-template-columns: repeat(4, 1fr); gap: 0; border-top: 2px solid var(--navy-900);}
.uvpg-ap .process li{position: relative; padding: 22px 22px 6px 0;}
.uvpg-ap .process li + li{padding-left: 22px; border-left: 1px solid var(--line-2);}
.uvpg-ap .process .num{display: inline-grid; place-items: center; min-width: 40px; height: 28px; padding: 0 8px; border-radius: 6px; background: var(--blue-50); font-family: var(--mono); font-size: 13px; font-weight: 600; color: var(--blue-700);}
.uvpg-ap .process h3{margin-top: 14px; font-size: 17px;}
.uvpg-ap .process p{margin-top: 8px; font-size: 14.5px; color: var(--ink-2);}
.uvpg-ap .process-cta{display: flex; flex-wrap: wrap; gap: 12px; margin-top: 32px;}
.uvpg-ap .ab-profiles{background: var(--bg-blue);}
.uvpg-ap .profiles{display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px;}
.uvpg-ap .profile{display: flex; flex-direction: column; gap: 10px; padding: 26px; border: 1px solid var(--line-2); border-radius: var(--radius-lg); background: #fff;}
.uvpg-ap .profile .ic{display: grid; place-items: center; width: 48px; height: 48px; border-radius: 12px; background: var(--blue-50); color: var(--blue-700);}
.uvpg-ap .profile h3{margin-top: 6px; font-size: 18px;}
.uvpg-ap .profile p{font-size: 15px; color: var(--ink-2);}
.uvpg-ap .profile .link-arrow{margin-top: auto; padding-top: 8px; min-height: 44px;}
.uvpg-ap .who{display: grid; grid-template-columns: 1.1fr .9fr; gap: clamp(32px, 6vw, 80px); align-items: start;}
.uvpg-ap .who--contact{grid-template-columns: 1fr;}
.uvpg-ap .who--contact .who-contact ul{grid-template-columns: repeat(3, minmax(0, 1fr));}
.uvpg-ap .who-contact{padding: clamp(22px, 3vw, 30px); border: 1px solid var(--line); border-radius: var(--radius-lg); background: #fff; box-shadow: var(--shadow);}
.uvpg-ap .who-contact h3{font-size: 18px;}
.uvpg-ap .who-contact > p{margin-top: 6px; font-size: 14px; color: var(--ink-3);}
.uvpg-ap .who-contact ul{display: grid; gap: 10px; margin-top: 18px;}
.uvpg-ap .who-contact li a{display: grid; grid-template-columns: 44px 1fr auto; align-items: center; gap: 12px; min-height: 64px; padding: 10px 14px; border: 1px solid var(--line-2); border-radius: 12px; transition: border-color var(--dur) var(--ease), background-color var(--dur) var(--ease);}
.uvpg-ap .who-contact li a:hover{border-color: var(--blue-300); background: var(--blue-50);}
.uvpg-ap .who-contact li .ic{display: grid; place-items: center; width: 44px; height: 44px; border-radius: 10px; background: var(--blue-50); color: var(--blue-700);}
.uvpg-ap .who-contact li strong{display: block; font-size: 15px; color: var(--ink);}
.uvpg-ap .who-contact li span{font-size: 13px; color: var(--ink-3);}
.uvpg-ap .who-contact li .go{color: var(--ink-3);}
.uvpg-ap .ab-cta{padding-block: 0 clamp(56px, 8vw, 96px);}
.uvpg-ap .cta-band{position: relative; overflow: hidden; display: grid; grid-template-columns: 1.2fr auto; gap: 24px 40px; align-items: center; padding: clamp(28px, 4vw, 48px); border-radius: 20px; background: var(--navy-900); color: #fff; box-shadow: var(--shadow-lg);}
.uvpg-ap .cta-band::before{content: ''; position: absolute; inset: 0; pointer-events: none; opacity: .6; background-image: linear-gradient(rgba(124,196,238,.08) 1px, transparent 1px), linear-gradient(90deg, rgba(124,196,238,.08) 1px, transparent 1px); background-size: 40px 40px; mask-image: radial-gradient(ellipse at 85% 50%, #000 0%, transparent 70%);}
.uvpg-ap .cta-band > *{position: relative;}
.uvpg-ap .cta-band .eyebrow{color: var(--blue-300);}
.uvpg-ap .cta-band h2{margin-top: 10px; font-size: clamp(1.5rem, 1.15rem + 1.2vw, 2.1rem); color: #fff;}
.uvpg-ap .cta-band p{margin-top: 10px; max-width: 520px; color: rgba(255,255,255,.78);}
.uvpg-ap .cta-actions{display: flex; flex-wrap: wrap; gap: 10px; justify-content: flex-end;}
@media (max-width: 1180px){
.uvpg-ap .idband{grid-template-columns: repeat(3, 1fr);}
.uvpg-ap .idband > div:nth-child(3){border-right: 0;}
.uvpg-ap .idband > div:nth-child(4){padding-left: 0;}
.uvpg-ap .idband > div:nth-child(n+4){border-top: 1px solid var(--line-2);}
.uvpg-ap .points{grid-template-columns: repeat(2, 1fr);}
.uvpg-ap .process{grid-template-columns: repeat(2, 1fr);}
.uvpg-ap .process li:nth-child(3){padding-left: 0; border-left: 0;}
.uvpg-ap .process li:nth-child(n+3){border-top: 1px solid var(--line-2);}
}
@media (max-width: 1024px){
.uvpg-ap .story,.uvpg-ap .who{grid-template-columns: 1fr;}
.uvpg-ap .eng-grid,.uvpg-ap .profiles{grid-template-columns: 1fr;}
.uvpg-ap .cta-band{grid-template-columns: 1fr;}
.uvpg-ap .cta-actions{justify-content: flex-start;}
}
@media (max-width: 768px){
.uvpg-ap .who--contact .who-contact ul{grid-template-columns: 1fr;}
.uvpg-ap .idband{grid-template-columns: repeat(2, 1fr);}
.uvpg-ap .idband > div,.uvpg-ap .idband > div + div{padding: 16px 14px 16px 0; border-right: 0; border-top: 1px solid var(--line-2);}
.uvpg-ap .idband > div:nth-child(even){padding-left: 14px; border-left: 1px solid var(--line-2);}
.uvpg-ap .idband > div:nth-child(-n+2){border-top: 0;}
.uvpg-ap .points{grid-template-columns: 1fr;}
.uvpg-ap .process{grid-template-columns: 1fr;}
.uvpg-ap .process li,.uvpg-ap .process li + li{padding: 20px 0 6px; border-left: 0;}
.uvpg-ap .process li + li{border-top: 1px solid var(--line-2);}
.uvpg-ap .cta-actions .btn{flex: 1 1 100%;}
}
.uvpg-ap{--bg-blue: #F5F7F9;
  --bg-soft: #F5F7F9;
  --blue-50: #F2F5F8;
  --blue-100: #E2E7ED;
  --radius-sm: 3px;
  --radius: 4px;
  --radius-lg: 4px;
  --shadow-sm: none;
  --shadow: none;}
.uvpg-ap .eyebrow{font-family: var(--font); font-size: 12px; font-weight: 600; letter-spacing: .12em; color: var(--ink-3);}
.uvpg-ap .eyebrow::before{display: none;}
.uvpg-ap .h2{font-weight: 600; font-size: clamp(1.6rem, 1.2rem + 1.3vw, 2.2rem); letter-spacing: -0.02em;}
.uvpg-ap .section-head{margin-bottom: clamp(24px, 3vw, 36px); padding-bottom: 20px; border-bottom: 1px solid var(--line-2);}
.uvpg-ap .section-head p{font-size: 15px;}
.uvpg-ap .section-head:has(> p){flex-direction: column; align-items: flex-start; justify-content: flex-start; gap: 10px;}
.uvpg-ap .section-head:has(> p) > p{max-width: 680px;}
.uvpg-ap .btn{border-radius: 4px;}
.uvpg-ap .page-head{background: #fff; background-image: none; border-bottom: 1px solid var(--line-2);}
.uvpg-ap .page-head h1{font-weight: 600; letter-spacing: -0.03em; color: var(--navy-950);}
.uvpg-ap .eng-card,.uvpg-ap .points li,.uvpg-ap .profile,.uvpg-ap .who-contact,.uvpg-ap .who-contact li a,.uvpg-ap .cta-band{border-radius: 4px;}
.uvpg-ap .process .num{border-radius: 3px;}
.uvpg-ap .who-contact,.uvpg-ap .cta-band,.uvpg-ap .eng-card:hover{box-shadow: none;}
.uvpg-ap .eng-card:hover{border-color: var(--ink-3);}
.uvpg-ap .points .ic,.uvpg-ap .eng-card .ic,.uvpg-ap .profile .ic,.uvpg-ap .who-contact li .ic{display: inline-flex; justify-self: start; width: auto; height: auto; background: none; color: var(--navy-800);}
.uvpg-ap .points .ic .icon,.uvpg-ap .eng-card .ic .icon,.uvpg-ap .profile .ic .icon,.uvpg-ap .who-contact li .ic .icon{width: 22px; height: 22px; stroke-width: 1.5;}
.uvpg-ap .points li{grid-template-columns: 28px 1fr; background: #fff;}
.uvpg-ap .who-contact li a{grid-template-columns: 28px 1fr auto;}
.uvpg-ap .process .num{background: transparent; border: 1px solid var(--line);}
.uvpg-ap .idband dt{font-family: var(--font); font-size: 12px; font-weight: 600; letter-spacing: .12em; color: var(--ink-3);}
.uvpg-ap .idband dd{font-family: var(--font); font-weight: 600; letter-spacing: -0.02em; font-variant-numeric: tabular-nums;}
.uvpg-ap .cta-band::before{display: none;}
.uvpg-ap .eng-card h3,.uvpg-ap .profile h3,.uvpg-ap .points strong{font-weight: 600;}
.uvpg-ap .btn,.uvpg-ap .points .ic,.uvpg-ap .eng-card .ic,.uvpg-ap .profile .ic,.uvpg-ap .who-contact li .ic{border-radius: 4px;}
.uvpg-ap .story{grid-template-columns: minmax(0, 760px);}
.uvpg-ap h1,.uvpg-ap h2,.uvpg-ap h3,.uvpg-ap h4,.uvpg-ap .btn,.uvpg-ap .lead,.uvpg-ap dd{font-family: var(--font);}
.uvpg-ap .btn{text-transform: none; letter-spacing: 0;}
.uvpg-ap{--font:"UVFP DM Sans","DM Sans",system-ui,-apple-system,"Segoe UI",sans-serif;--mono:"UVFP JetBrains Mono","JetBrains Mono",ui-monospace,Menlo,monospace;--header-h:104px;font-optical-sizing:none}
body .uvpg-ap a,body .uvpg-ap button,body .uvpg-ap input,body .uvpg-ap select,body .uvpg-ap textarea{font-family:inherit}
