/* OuiGlass Mobile — feuille de styles */

/* 1. Polices Montserrat (fichiers locaux) */
@font-face{font-family:'Montserrat';font-style:normal;font-weight:400;font-display:swap;src:url("../fonts/montserrat-latin-ext-400.woff2") format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face{font-family:'Montserrat';font-style:normal;font-weight:400;font-display:swap;src:url("../fonts/montserrat-latin-400.woff2") format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face{font-family:'Montserrat';font-style:normal;font-weight:500;font-display:swap;src:url("../fonts/montserrat-latin-ext-500.woff2") format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face{font-family:'Montserrat';font-style:normal;font-weight:500;font-display:swap;src:url("../fonts/montserrat-latin-500.woff2") format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face{font-family:'Montserrat';font-style:normal;font-weight:600;font-display:swap;src:url("../fonts/montserrat-latin-ext-600.woff2") format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face{font-family:'Montserrat';font-style:normal;font-weight:600;font-display:swap;src:url("../fonts/montserrat-latin-600.woff2") format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face{font-family:'Montserrat';font-style:normal;font-weight:700;font-display:swap;src:url("../fonts/montserrat-latin-ext-700.woff2") format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face{font-family:'Montserrat';font-style:normal;font-weight:700;font-display:swap;src:url("../fonts/montserrat-latin-700.woff2") format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face{font-family:'Montserrat';font-style:normal;font-weight:800;font-display:swap;src:url("../fonts/montserrat-latin-ext-800.woff2") format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face{font-family:'Montserrat';font-style:normal;font-weight:800;font-display:swap;src:url("../fonts/montserrat-latin-800.woff2") format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face{font-family:'Montserrat';font-style:normal;font-weight:900;font-display:swap;src:url("../fonts/montserrat-latin-ext-900.woff2") format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face{font-family:'Montserrat';font-style:normal;font-weight:900;font-display:swap;src:url("../fonts/montserrat-latin-900.woff2") format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}

/* 2. Base */

html{scroll-behavior:smooth}
body{margin:0;background:#fff;color:#1A1A1A;font-family:Montserrat,system-ui,sans-serif;-webkit-font-smoothing:antialiased;text-wrap:pretty;overflow-x:hidden}
*{box-sizing:border-box}
a{color:#1A1A1A;text-decoration:none}
a:hover{color:#F26522;text-decoration:underline}
input,select,button,textarea{font-family:inherit}
input:focus-visible,select:focus-visible,button:focus-visible{outline:2px solid #F26522;outline-offset:2px}
@media(max-width:760px){.og-hdr-cta{display:none}}
.og-nav::-webkit-scrollbar{display:none}
footer a:hover{color:#fff!important}
@media(max-width:820px) and (max-height:900px){
.og-s2 .og-form-inner{gap:9px!important}
.og-form-main{padding:10px 14px 14px!important}
}
@media(max-width:820px) and (max-height:790px){
.og-form-aside{padding:8px 14px!important}
.og-form-aside h2{font-size:17px!important}
.og-form-card{padding:13px!important}
.og-chip{padding:7px 12px!important}
.og-submit{padding:14px 16px!important}
}
@media(max-width:820px){
.og-submit{padding:15px 18px!important;font-size:16px!important}
.og-form-card label{font-size:12px!important}
}
@media(max-width:820px) and (max-height:810px){
.og-form-aside{padding:10px 14px!important;gap:6px!important}
.og-form-aside h2{font-size:18px!important}
.og-form-badge{display:none!important}
.og-form-inner{gap:10px!important}
}
@media(max-width:820px){
.og-s2 .og-form-sub{display:none!important}
.og-s2 .og-form-card{padding:14px!important}
.og-s2 .og-form-inner{gap:11px!important}
}
@media(max-height:780px) and (min-width:821px){
.og-form-aside{padding:20px 24px!important}
.og-form-card{padding:18px!important}
.og-form-inner{gap:12px!important}
.og-form-sub{display:none!important}
}
@media(max-width:820px){
.og-s2 .og-form-aside{display:none!important}
.og-chip{padding:8px 13px!important;font-size:12.5px!important}
.og-zone-msg span{font-size:12.5px!important;line-height:1.45!important}
.og-form-card label,.og-form-card span{letter-spacing:0}
}
@media(max-width:820px){
.og-form-wrap{min-height:100dvh}
.og-form-aside{padding:14px 16px!important;gap:8px!important}
.og-form-desc,.og-form-proofs{display:none!important}
.og-form-aside h2{font-size:21px!important;line-height:1.1!important}
.og-form-main{padding:14px 16px 20px!important}
.og-form-card{padding:16px!important}
.og-form-inner{gap:13px!important}
}
@media(max-height:860px) and (min-width:821px){
.og-form-aside{padding:24px 28px!important;gap:14px!important}
.og-form-aside h2{font-size:30px!important}
.og-form-card{padding:22px!important}
.og-form-inner{gap:14px!important}
.og-form-main{padding:20px 24px!important}
}
@media(max-width:820px){.og-modele-img{aspect-ratio:4/5!important}.og-form-overlay{background:linear-gradient(180deg,rgba(26,26,26,.5) 0%,rgba(26,26,26,.68) 45%,rgba(26,26,26,.88) 100%)!important}}
@media(max-width:820px){.og-step-line{display:none}}
@media(max-width:900px){.og-nav{-webkit-mask-image:linear-gradient(90deg,#000 84%,transparent);mask-image:linear-gradient(90deg,#000 84%,transparent)}}
.og-nav a,.og-nav .og-top{transition:color .18s,border-color .18s,background .18s}
.og-nav a:hover,.og-grp:hover .og-top{color:#F26522!important}
.og-nav a.is-active,.og-top.is-active{color:#F26522!important;border-bottom-color:#F26522!important}
.og-sub{display:none}
.og-grp:hover .og-sub,.og-grp:focus-within .og-sub{display:block}
.og-sub-card a:hover{background:#FFF0E8}
.og-sub-card a.is-active{background:#FFF0E8;border-bottom-color:transparent!important}
.og-nav a.og-nav-pill{border-bottom:1.5px solid #1A1A1A}
.og-nav a.og-nav-pill:hover{background:#1A1A1A;color:#fff!important}
.og-nav a.og-nav-pill.is-active{background:#F26522;border-color:#F26522!important;color:#fff!important}
@media(max-width:1040px){
.og-nav{overflow-x:auto}
.og-grp{display:contents}
.og-top{display:none!important}
.og-sub{display:block!important;position:static!important;padding:0!important}
.og-sub-card{background:none!important;border:0!important;box-shadow:none!important;padding:0!important;flex-direction:row!important;gap:clamp(11px,1.3vw,20px)!important;min-width:0!important}
.og-sub-card a{padding:0!important;font-weight:700!important;color:#1A1A1A!important}
}

@keyframes ogRise{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
@keyframes ogSlide{from{transform:translateX(0)}to{transform:translateX(-50%)}}

@media(max-width:820px){
.og-form-main{padding:10px 14px 14px!important}
.og-s2 .og-form-inner{gap:9px!important}
}
@media(max-width:820px) and (max-height:800px){
.og-form-aside{padding:8px 14px!important;gap:6px!important}
.og-form-aside h2{font-size:17px!important}
.og-form-card{padding:12px!important}
.og-form-inner{gap:9px!important}
.og-chip{padding:7px 12px!important}
.og-submit{padding:13px 16px!important;font-size:15.5px!important}
}

@media(max-width:820px) and (max-height:800px){
.og-s2 .og-form-steps{display:none!important}
.og-form-card span,.og-form-card label{font-size:12px!important}
.og-form-card input[type=checkbox]{width:17px!important;height:17px!important}
}

@media(max-width:820px) and (max-height:710px){
.og-form-lead{display:none!important}
.og-form-aside{padding:8px 14px!important}
.og-form-sub,.og-form-steps{display:none!important}
.og-form-card{padding:11px!important}
.og-form-inner{gap:8px!important}
.og-submit{padding:11px 14px!important;font-size:14.5px!important;line-height:1.25!important}
}

@media(max-width:820px) and (max-height:710px){
.og-s2 .og-form-card,.og-form-card{padding:9px!important}
.og-s2 .og-chip,.og-chip{padding:6px 11px!important;font-size:12px!important}
.og-s2 .og-form-inner,.og-form-inner{gap:7px!important}
.og-s2 .og-form-trust{display:none!important}
.og-zone-msg{padding:9px 11px!important}
.og-zone-msg span{font-size:12px!important}
}

@media(max-width:820px){
.og-nav a{padding:13px 0!important}
footer a{display:inline-block;padding:11px 0}
.og-sub-card a{padding:12px 0!important}
}


/* 3. États et comportements */

/* ---- états et comportements (ex-runtime) ---- */
[hidden]{display:none!important}
#og-progress{position:absolute;left:0;bottom:-1px;height:2px;width:0;background:#F26522;transition:width .1s linear;pointer-events:none}
.og-hero-band{display:none}
.og-hero-side{display:block}
@media(max-width:1039px){.og-hero-band{display:block}.og-hero-side{display:none}}
.og-sticky{display:none}
@media(max-width:1039px){.og-sticky{display:block}}
.og-slot{position:absolute;inset:0}
.og-err{font:600 12.5px/1.4 Montserrat,sans-serif;color:#C0341B}
.og-chip.is-selected{background:#1A1A1A!important;color:#fff!important;border-color:#1A1A1A!important}
#zone-msg.is-ok{background:#F1F8F0;border-color:#CBE3C4}
#zone-msg.is-ok #zone-icon,#zone-msg.is-ok #zone-text{color:#2C6B33}
#zone-msg.is-ko{background:#FFF0E8;border-color:#F9D9C6}
#zone-msg.is-info{background:#F4F4F4;border-color:#E8E8E8}


/* 4. Styles de composants */

/* ---- form ---- */
.og-form-01 { min-height:100vh;
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(min(100%,430px),1fr));
  background:#F4F4F4 }
.og-form-02 { position:relative;
  background:#1A1A1A;
  padding:clamp(20px,3vw,48px);
  display:flex;
  flex-direction:column;
  gap:clamp(14px,2vw,26px);
  overflow:hidden }
.og-form-03 { position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:58% 45%;
  opacity:.9;
  display:block }
.og-form-04 { position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(26,26,26,.35) 0%,rgba(26,26,26,.55) 45%,rgba(26,26,26,.9) 100%) }
.og-form-05 { position:relative;
  display:flex;
  align-items:center;
  gap:18px }
.og-form-06 { height:52px;
  width:auto;
  display:block }
.og-form-07 { background:none;
  border:0;
  padding:8px 0;
  display:flex;
  align-items:center;
  gap:7px;
  font:700 12px/1 Montserrat,sans-serif;
  letter-spacing:.06em;
  text-transform:uppercase;
  color:rgba(255,255,255,.62);
  cursor:pointer }
.og-form-08-hv:hover { color:#F26522 }
.og-form-09 { position:relative;
  display:flex;
  flex-direction:column;
  gap:16px;
  margin-top:auto }
.og-form-10 { align-self:flex-start;
  background:rgba(242,101,34,.18);
  color:#F26522;
  border-radius:999px;
  padding:8px 15px;
  font:800 11px/1 Montserrat,sans-serif;
  letter-spacing:.09em;
  text-transform:uppercase }
.og-form-11 { margin:0;
  max-width:20ch;
  font:900 clamp(27px,3.2vw,44px)/1.04 Montserrat,sans-serif;
  letter-spacing:-.015em;
  text-transform:uppercase;
  color:#fff }
.og-form-12 { margin:0;
  max-width:42ch;
  font:400 clamp(14.5px,1.1vw,16px)/1.65 Montserrat,sans-serif;
  color:rgba(255,255,255,.7) }
.og-form-13 { position:relative;
  display:flex;
  flex-direction:column;
  gap:10px;
  padding-top:clamp(14px,1.6vw,22px);
  border-top:1px solid rgba(255,255,255,.14) }
.og-form-14 { display:flex;
  gap:11px;
  align-items:flex-start }
.og-form-15 { flex:none;
  margin-top:2px }
.og-form-16 { font:600 14.5px/1.55 Montserrat,sans-serif;
  color:rgba(255,255,255,.82) }
.og-form-17 { padding:clamp(18px,3vw,48px) clamp(16px,3vw,48px);
  display:flex;
  align-items:center;
  justify-content:center }
.og-form-18 { width:100%;
  max-width:560px }

/* ---- candidature ---- */
.og-candidature-01 { scroll-margin-top:96px;
  order:1;
  background:#fff;
  border:1.5px solid #E8E8E8;
  border-radius:22px;
  overflow:hidden;
  box-shadow:0 30px 70px -38px rgba(26,26,26,.45) }
.og-candidature-02 { height:5px;
  background:#F26522 }
.og-candidature-03 { padding:clamp(18px,2.4vw,30px) }

/* ---- form ---- */
.og-form-19 { display:flex;
  flex-direction:column;
  gap:14px;
  padding:6px 0 }
.og-form-20 { width:48px;
  height:48px;
  border-radius:14px;
  background:#FDF0E6;
  display:grid;
  place-items:center }
.og-form-21 { margin:0;
  font:900 clamp(23px,2.2vw,30px)/1.1 Montserrat,sans-serif;
  text-transform:uppercase;
  color:#1A1A1A }
.og-form-22 { margin:0;
  max-width:48ch;
  font:400 16px/1.7 Montserrat,sans-serif;
  color:#555555 }
.og-form-23 { margin:0;
  font:700 12.5px/1.5 Montserrat,sans-serif;
  letter-spacing:.05em;
  text-transform:uppercase;
  color:#555555 }
.og-form-24 { display:flex;
  flex-direction:column;
  gap:16px }
.og-form-25 { display:flex;
  flex-direction:column;
  gap:5px }
.og-form-26 { margin:0;
  font:900 clamp(20px,1.9vw,25px)/1.15 Montserrat,sans-serif;
  text-transform:uppercase;
  color:#1A1A1A }
.og-form-27 { margin:0;
  font:400 14.5px/1.6 Montserrat,sans-serif;
  color:#555555 }
.og-form-28 { display:flex;
  gap:10px }
.og-form-29 { flex:1;
  display:flex;
  flex-direction:column;
  gap:8px }
.og-form-30 { height:4px;
  border-radius:999px;
  background:#F26522;
  display:block }
.og-form-31 { font:800 11px/1.3 Montserrat,sans-serif;
  letter-spacing:.05em;
  text-transform:uppercase;
  color:#1A1A1A }
.og-form-32 { height:4px;
  border-radius:999px;
  display:block;
  background:#E8E8E8;
  transition:background .3s }
.og-form-33 { font:800 11px/1.3 Montserrat,sans-serif;
  letter-spacing:.05em;
  text-transform:uppercase;
  color:#555555 }
.og-form-34 { display:flex;
  flex-direction:column;
  gap:13px }
.og-form-35 { display:flex;
  flex-direction:column;
  gap:6px }
.og-form-36 { font:700 12.5px/1 Montserrat,sans-serif;
  color:#333333 }
.og-form-37 { border:1.5px solid #E8E8E8;
  border-radius:11px;
  padding:12px 13px;
  font-size:16px;
  color:#1A1A1A;
  background:#F8F8F9 }
.og-form-38-fc:focus { border-color:#F26522;
  background:#fff }
.og-form-39 { display:grid;
  grid-template-columns:repeat(auto-fit,minmax(min(100%,190px),1fr));
  gap:13px }
.og-form-40 { margin-top:3px;
  background:#F26522;
  color:#fff;
  border:0;
  border-radius:30px;
  padding:17px 22px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  font:800 15px/1 Montserrat,sans-serif;
  letter-spacing:.03em;
  text-transform:uppercase;
  cursor:pointer;
  transition:background .18s;
  box-shadow:0 10px 24px -12px rgba(242,101,34,.75) }
.og-form-41-hv:hover { background:#1A1A1A }
.og-form-42 { display:flex;
  flex-direction:column;
  gap:17px }
.og-form-43 { display:flex;
  align-items:flex-start;
  gap:10px;
  border-radius:14px;
  padding:11px 13px;
  background:#F4F4F4;
  border:1.5px solid #E8E8E8 }
.og-form-44 { font:900 15px/1.2 Montserrat,sans-serif;
  color:#1A1A1A }
.og-form-45 { font:600 13px/1.5 Montserrat,sans-serif;
  color:#1A1A1A }
.og-form-46 { display:flex;
  flex-direction:column;
  gap:9px }
.og-form-47 { display:flex;
  flex-wrap:wrap;
  gap:8px }
.og-form-48 { border:1.5px solid #E8E8E8;
  border-radius:999px;
  padding:10px 16px;
  font:700 13.5px/1 Montserrat,sans-serif;
  cursor:pointer;
  background:#F8F8F9;
  color:#333333;
  border-color:#E8E8E8 }
.og-form-49 { display:flex;
  gap:11px;
  align-items:flex-start;
  cursor:pointer;
  background:#F8F8F9;
  border:1.5px solid #E8E8E8;
  padding:14px;
  border-radius:12px }
.og-form-50 { width:20px;
  height:20px;
  accent-color:#F26522;
  flex:none;
  margin:0 }
.og-form-51 { font:600 14px/1.5 Montserrat,sans-serif;
  color:#333333 }
.og-form-52 { display:flex;
  gap:11px;
  align-items:flex-start;
  cursor:pointer }
.og-form-53 { width:18px;
  height:18px;
  accent-color:#F26522;
  flex:none;
  margin:1px 0 0 }
.og-form-54 { font:400 13px/1.6 Montserrat,sans-serif;
  color:#555555 }
.og-form-55 { display:flex;
  flex-wrap:wrap;
  gap:10px;
  align-items:center }
.og-form-56 { flex:1 1 250px;
  background:#F26522;
  color:#fff;
  border:0;
  border-radius:30px;
  padding:17px 22px;
  font:800 15px/1.3 Montserrat,sans-serif;
  letter-spacing:.02em;
  text-transform:uppercase;
  cursor:pointer;
  transition:background .18s;
  box-shadow:0 10px 24px -12px rgba(242,101,34,.75) }
.og-form-57 { background:none;
  border:0;
  padding:10px 6px;
  font:700 12.5px/1 Montserrat,sans-serif;
  letter-spacing:.04em;
  text-transform:uppercase;
  color:#555555;
  cursor:pointer }
.og-form-58-hv:hover { color:#1A1A1A }
.og-form-59 { display:flex;
  flex-wrap:wrap;
  gap:8px 18px;
  padding-top:16px;
  border-top:1px solid #EFEBE6 }
.og-form-60 { display:flex;
  align-items:center;
  gap:7px;
  font:600 12px/1.4 Montserrat,sans-serif;
  color:#555555 }

/* ---- ui ---- */
.og-ui-01 { background:#fff }
.og-ui-02 { position:sticky;
  top:0;
  z-index:60;
  background:#fff;
  border-bottom:1px solid #E8E8E8 }
.og-ui-03 { position:absolute;
  left:0;
  bottom:-1px;
  height:2px;
  width:0;
  background:#F26522;
  transition:width .1s linear;
  pointer-events:none }
.og-ui-04 { max-width:1240px;
  margin:0 auto;
  padding:12px clamp(16px,3vw,36px);
  display:flex;
  align-items:center;
  gap:clamp(12px,3vw,24px) }
.og-ui-05 { height:clamp(40px,4.6vw,56px);
  width:auto;
  display:block;
  flex:none }
.og-ui-06 { display:flex;
  align-items:center;
  gap:clamp(11px,1.3vw,20px);
  scrollbar-width:none;
  -webkit-overflow-scrolling:touch }
.og-ui-07 { position:relative;
  display:flex;
  align-items:center }
.og-ui-08 { font:700 12.5px/1 Montserrat,sans-serif;
  color:#1A1A1A;
  white-space:nowrap;
  text-decoration:none;
  padding-bottom:5px;
  border-bottom:2px solid transparent;
  display:inline-flex;
  align-items:center;
  gap:5px;
  cursor:pointer }
.og-ui-09 { font-size:9px;
  color:#F26522 }
.og-ui-10 { position:absolute;
  top:100%;
  left:-10px;
  padding-top:14px }
.og-ui-11 { background:#fff;
  border:1.5px solid #E8E8E8;
  border-radius:16px;
  box-shadow:0 22px 44px -26px rgba(26,26,26,.5);
  padding:8px;
  display:flex;
  flex-direction:column;
  gap:2px;
  min-width:230px }
.og-ui-12 { font:600 13px/1.2 Montserrat,sans-serif;
  color:#333333;
  white-space:nowrap;
  text-decoration:none;
  padding:9px 12px;
  border-radius:10px;
  display:block }
.og-ui-13 { flex:1 }
.og-ui-14 { flex:none;
  background:#F26522;
  color:#fff;
  border:0;
  border-radius:30px;
  padding:13px clamp(14px,2vw,24px);
  font:800 14px/1 Montserrat,sans-serif;
  letter-spacing:.02em;
  text-transform:uppercase;
  cursor:pointer;
  transition:background .18s,transform .18s;
  box-shadow:0 8px 20px -8px rgba(242,101,34,.6) }
.og-ui-15-hv:hover { background:#1A1A1A;
  transform:translateY(-1px) }
.og-ui-16 { max-width:1240px;
  margin:0 auto;
  padding:0 clamp(16px,3vw,36px);
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(min(100%,460px),1fr));
  gap:clamp(24px,3.4vw,52px);
  align-items:stretch }
.og-ui-17 { padding:clamp(28px,4.5vw,64px) 0 clamp(40px,5vw,72px);
  display:flex;
  flex-direction:column;
  gap:clamp(18px,2.2vw,26px);
  animation:ogRise .7s ease both }
.og-ui-18 { position:relative;
  height:220px;
  border-radius:18px;
  overflow:hidden }
.og-ui-19 { position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:50% 44%;
  display:block }
.og-ui-20 { font:800 clamp(12px,1vw,13.5px)/1.4 Montserrat,sans-serif;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:#1A1A1A }
.og-ui-21 { margin:0;
  max-width:19ch;
  font:900 clamp(30px,4vw,52px)/1.05 Montserrat,sans-serif;
  letter-spacing:-.015em;
  text-transform:uppercase;
  color:#1A1A1A }
.og-ui-22 { color:#F26522 }
.og-ui-23 { margin:0;
  max-width:46ch;
  font:400 clamp(16px,1.2vw,18.5px)/1.7 Montserrat,sans-serif;
  color:#555555 }
.og-ui-24 { display:grid;
  grid-template-columns:repeat(auto-fit,minmax(min(100%,190px),1fr));
  gap:10px;
  order:2 }
.og-ui-25 { background:#F4F4F4;
  border:1.5px solid #E8E8E8;
  border-radius:14px;
  padding:16px 18px;
  display:flex;
  flex-direction:column;
  gap:3px }
.og-ui-26 { font:900 clamp(19px,1.7vw,23px)/1.15 Montserrat,sans-serif;
  color:#1A1A1A }
.og-ui-27 { font:600 12.5px/1.35 Montserrat,sans-serif;
  color:#555555 }
.og-ui-28 { display:flex;
  flex-direction:column;
  gap:13px;
  order:1;
  align-items:flex-start }
.og-ui-29 { background:#F26522;
  color:#fff;
  border:0;
  border-radius:30px;
  padding:19px 30px;
  display:flex;
  align-items:center;
  gap:12px;
  font:800 15px/1 Montserrat,sans-serif;
  letter-spacing:.03em;
  text-transform:uppercase;
  cursor:pointer;
  transition:background .18s,transform .18s;
  box-shadow:0 16px 34px -14px rgba(242,101,34,.8) }
.og-ui-30-hv:hover { background:#1A1A1A;
  transform:translateY(-2px) }
.og-ui-31 { font:400 13.5px/1.6 Montserrat,sans-serif;
  color:#555555 }
.og-ui-32 { display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:10px 18px;
  margin-top:4px }
.og-ui-33 { display:flex;
  align-items:center;
  gap:7px;
  font:700 13px/1 Montserrat,sans-serif;
  color:#1A1A1A }
.og-ui-34 { color:#F26522;
  letter-spacing:.04em }
.og-ui-35 { width:4px;
  height:4px;
  border-radius:50%;
  background:#E8E8E8 }
.og-ui-36 { font:600 13px/1 Montserrat,sans-serif;
  color:#555555 }
.og-ui-37 { position:sticky;
  top:96px;
  align-self:start;
  height:clamp(340px,62vh,660px);
  margin:clamp(28px,4.5vw,64px) 0 clamp(40px,5vw,72px);
  border-radius:22px;
  overflow:hidden }
.og-ui-38 { position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:54% 44%;
  display:block }
.og-ui-39 { background:#F26522;
  overflow:hidden;
  padding:14px 0 }
.og-ui-40 { display:flex;
  width:max-content;
  animation:ogSlide 32s linear infinite }
.og-ui-41 { display:flex;
  align-items:center;
  gap:22px;
  padding-right:22px;
  font:800 12.5px/1 Montserrat,sans-serif;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:#1A1A1A;
  white-space:nowrap }
.og-ui-42 { width:6px;
  height:6px;
  border-radius:50%;
  background:rgba(26,26,26,.4);
  display:block }

/* ---- quiestouiglass ---- */
.og-quiestouiglass-01 { scroll-margin-top:78px;
  background:#fff;
  padding:clamp(52px,6.5vw,100px) clamp(16px,3vw,36px) }
.og-quiestouiglass-02 { max-width:1240px;
  margin:0 auto;
  display:flex;
  flex-direction:column;
  gap:clamp(26px,3vw,44px) }
.og-quiestouiglass-03 { display:flex;
  flex-wrap:wrap;
  align-items:flex-start;
  justify-content:space-between;
  gap:20px }
.og-quiestouiglass-04 { flex:1 1 480px;
  max-width:660px }
.og-quiestouiglass-05 { font:800 clamp(12px,1vw,11.5px)/1.4 Montserrat,sans-serif;
  letter-spacing:.11em;
  text-transform:uppercase;
  color:#1A1A1A }
.og-quiestouiglass-06 { margin:9px 0 0;
  font:900 clamp(25px,3.1vw,42px)/1.08 Montserrat,sans-serif;
  letter-spacing:-.01em;
  text-transform:uppercase;
  color:#1A1A1A }
.og-quiestouiglass-07 { margin:9px 0 0;
  max-width:40ch;
  font:400 15.5px/1.75 Montserrat,sans-serif;
  color:#555555 }
.og-quiestouiglass-08 { display:grid;
  grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr));
  gap:clamp(12px,1.4vw,16px) }
.og-quiestouiglass-09 { background:#F4F4F4;
  border:1.5px solid #E8E8E8;
  border-radius:20px;
  padding:clamp(22px,2.4vw,30px);
  display:flex;
  flex-direction:column;
  gap:6px }
.og-quiestouiglass-10 { font:900 clamp(26px,3vw,38px)/1.05 Montserrat,sans-serif;
  letter-spacing:-.02em;
  color:#F26522 }
.og-quiestouiglass-11 { font:800 13px/1.4 Montserrat,sans-serif;
  letter-spacing:.04em;
  text-transform:uppercase;
  color:#1A1A1A }
.og-quiestouiglass-12 { display:grid;
  grid-template-columns:repeat(auto-fit,minmax(min(100%,360px),1fr));
  gap:clamp(18px,2.2vw,30px);
  align-items:center;
  background:#FFF0E8;
  border-radius:24px;
  padding:clamp(18px,2.2vw,28px) }
.og-quiestouiglass-13 { margin:0;
  display:flex;
  flex-direction:column;
  gap:10px }
.og-quiestouiglass-14 { position:relative;
  aspect-ratio:3/2;
  border-radius:18px;
  overflow:hidden;
  background:#fff }
.og-quiestouiglass-15 { position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  display:block }
.og-quiestouiglass-16 { font:600 12.5px/1.5 Montserrat,sans-serif;
  color:#555555 }
.og-quiestouiglass-17 { display:flex;
  flex-direction:column;
  gap:12px }
.og-quiestouiglass-18 { font:900 clamp(19px,1.8vw,24px)/1.25 Montserrat,sans-serif;
  color:#1A1A1A }
.og-quiestouiglass-19 { margin:0;
  font:400 15px/1.75 Montserrat,sans-serif;
  color:#333333 }
.og-quiestouiglass-20 { align-self:flex-start;
  font:800 13.5px/1 Montserrat,sans-serif;
  letter-spacing:.04em;
  text-transform:uppercase;
  color:#F26522;
  text-decoration:none;
  border-bottom:2px solid #F26522;
  padding-bottom:4px }

/* ---- modele ---- */
.og-modele-01 { max-width:1240px;
  margin:0 auto;
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(min(100%,330px),1fr));
  gap:clamp(22px,3vw,44px);
  align-items:start }
.og-modele-02 { position:relative;
  aspect-ratio:3/4;
  border-radius:22px;
  overflow:hidden;
  background:#F4F4F4 }
.og-modele-03 { position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:50% 28%;
  display:block }
.og-modele-04 { display:flex;
  flex-direction:column;
  gap:clamp(20px,2.4vw,32px) }
.og-modele-05 { margin:14px 0 0;
  max-width:46ch;
  font:400 clamp(15px,1.1vw,16.5px)/1.75 Montserrat,sans-serif;
  color:#555555 }
.og-modele-06 { display:grid;
  grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));
  gap:clamp(12px,1.4vw,16px) }
.og-modele-07 { background:#fff;
  border:1.5px solid #E8E8E8;
  border-radius:20px;
  padding:clamp(20px,2.2vw,26px);
  display:flex;
  flex-direction:column;
  gap:12px;
  transition:transform .2s,box-shadow .2s,border-color .2s }
.og-modele-08-hv:hover { transform:translateY(-3px);
  box-shadow:0 20px 44px -28px rgba(26,26,26,.32);
  border-color:#F9D9C6 }
.og-modele-09 { width:46px;
  height:46px;
  border-radius:14px;
  background:#FFF0E8;
  display:grid;
  place-items:center }
.og-modele-10 { margin:0;
  font:900 clamp(16px,1.4vw,18.5px)/1.25 Montserrat,sans-serif;
  text-transform:uppercase;
  color:#1A1A1A }
.og-modele-11 { margin:0;
  font:400 14px/1.7 Montserrat,sans-serif;
  color:#555555 }

/* ---- marche ---- */
.og-marche-01 { scroll-margin-top:78px;
  background:#F4F4F4;
  padding:clamp(52px,6.5vw,100px) clamp(16px,3vw,36px) }
.og-marche-02 { max-width:1240px;
  margin:0 auto;
  display:flex;
  flex-direction:column;
  gap:clamp(20px,2.4vw,30px) }
.og-marche-03 { display:grid;
  grid-template-columns:repeat(auto-fit,minmax(min(100%,380px),1fr));
  gap:clamp(24px,3.4vw,52px);
  align-items:center }
.og-marche-04 { display:flex;
  flex-direction:column;
  gap:18px }
.og-marche-05 { margin:0;
  font:900 clamp(25px,3.1vw,42px)/1.08 Montserrat,sans-serif;
  letter-spacing:-.01em;
  text-transform:uppercase;
  color:#1A1A1A }
.og-marche-06 { margin:0;
  max-width:46ch;
  font:400 clamp(15.5px,1.15vw,17.5px)/1.75 Montserrat,sans-serif;
  color:#555555 }
.og-marche-07 { display:grid;
  grid-template-columns:repeat(auto-fit,minmax(min(100%,245px),1fr));
  gap:12px }
.og-marche-08 { background:#1A1A1A;
  border-radius:20px;
  padding:clamp(22px,2.6vw,30px);
  display:flex;
  flex-direction:column;
  gap:5px;
  transition:transform .2s,box-shadow .2s,border-color .2s }
.og-marche-09-hv:hover { transform:translateY(-3px);
  box-shadow:0 20px 44px -28px rgba(26,26,26,.28) }
.og-marche-10 { font:900 clamp(28px,3.2vw,42px)/1.05 Montserrat,sans-serif;
  letter-spacing:-.02em;
  color:#F26522;
  white-space:nowrap }
.og-marche-11 { font:700 13.5px/1.5 Montserrat,sans-serif;
  color:#fff }
.og-marche-12 { background:#fff;
  border:1.5px solid #E8E8E8;
  border-radius:20px;
  padding:clamp(22px,2.6vw,30px);
  display:flex;
  flex-direction:column;
  gap:5px;
  transition:transform .2s,box-shadow .2s,border-color .2s }
.og-marche-13 { font:900 clamp(26px,3vw,38px)/1.05 Montserrat,sans-serif;
  color:#1A1A1A }
.og-marche-14 { font:600 13.5px/1.5 Montserrat,sans-serif;
  color:#555555 }
.og-marche-15 { margin:0;
  font:400 12px/1.7 Montserrat,sans-serif;
  color:#555555 }

/* ---- clients ---- */
.og-clients-01 { display:flex;
  flex-wrap:wrap;
  align-items:flex-end;
  justify-content:space-between;
  gap:20px }
.og-clients-02 { flex:1 1 460px;
  max-width:640px }
.og-clients-03 { margin:0;
  max-width:40ch;
  font:400 15.5px/1.75 Montserrat,sans-serif;
  color:#555555 }
.og-clients-04 { display:grid;
  grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));
  gap:clamp(14px,1.6vw,20px) }
.og-clients-05 { background:#F4F4F4;
  border:1.5px solid #E8E8E8;
  border-radius:20px;
  padding:clamp(22px,2.4vw,30px);
  display:flex;
  flex-direction:column;
  gap:8px;
  transition:transform .2s,box-shadow .2s,border-color .2s }
.og-clients-06 { font:900 13px/1 Montserrat,sans-serif;
  color:#F26522;
  letter-spacing:.08em }
.og-clients-07 { font:900 clamp(17px,1.4vw,19px)/1.3 Montserrat,sans-serif;
  color:#1A1A1A }
.og-clients-08 { font:400 14.5px/1.7 Montserrat,sans-serif;
  color:#555555 }
.og-clients-09 { margin:0;
  font:400 13.5px/1.7 Montserrat,sans-serif;
  color:#555555 }
.og-clients-10 { color:#F26522;
  font-weight:700;
  text-decoration:none;
  border-bottom:2px solid #F26522 }

/* ---- investissement ---- */
.og-investissement-01 { scroll-margin-top:78px;
  background:#1A1A1A;
  padding:clamp(52px,6.5vw,100px) clamp(16px,3vw,36px) }
.og-investissement-02 { max-width:1240px;
  margin:0 auto;
  display:flex;
  flex-direction:column;
  gap:clamp(28px,3.6vw,46px) }
.og-investissement-03 { font:800 clamp(12px,1vw,11.5px)/1.4 Montserrat,sans-serif;
  letter-spacing:.11em;
  text-transform:uppercase;
  color:#F26522 }
.og-investissement-04 { margin:9px 0 0;
  font:900 clamp(25px,3.1vw,42px)/1.08 Montserrat,sans-serif;
  letter-spacing:-.01em;
  text-transform:uppercase;
  color:#fff }
.og-investissement-05 { margin:0;
  max-width:40ch;
  font:400 15.5px/1.75 Montserrat,sans-serif;
  color:rgba(255,255,255,.66) }
.og-investissement-06 { display:grid;
  grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));
  gap:14px }
.og-investissement-07 { background:#2E2E2E;
  border:1px solid rgba(255,255,255,.09);
  border-radius:20px;
  padding:clamp(26px,3vw,38px);
  display:flex;
  flex-direction:column;
  gap:9px }
.og-investissement-08 { font:900 clamp(30px,3.4vw,44px)/1.05 Montserrat,sans-serif;
  letter-spacing:-.02em;
  color:#F26522 }
.og-investissement-09 { font:800 13.5px/1.4 Montserrat,sans-serif;
  letter-spacing:.05em;
  text-transform:uppercase;
  color:#fff }
.og-investissement-10 { font:400 14.5px/1.65 Montserrat,sans-serif;
  color:rgba(255,255,255,.6) }

/* ---- ui ---- */
.og-ui-43 { background:#1A1A1A;
  padding:clamp(52px,6.5vw,100px) clamp(16px,3vw,36px) }
.og-ui-44 { flex:1 1 420px;
  max-width:600px }
.og-ui-45 { margin:0;
  max-width:42ch;
  font:400 15.5px/1.75 Montserrat,sans-serif;
  color:rgba(255,255,255,.66) }
.og-ui-46 { display:grid;
  grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));
  gap:14px }
.og-ui-47 { background:#2E2E2E;
  border:1px solid rgba(255,255,255,.09);
  border-radius:20px;
  padding:clamp(20px,2.2vw,26px);
  display:flex;
  flex-direction:column;
  gap:8px }
.og-ui-48 { font:900 clamp(21px,2vw,28px)/1.15 Montserrat,sans-serif;
  white-space:nowrap;
  letter-spacing:-.02em;
  color:#F26522 }
.og-ui-49 { font:800 13px/1.4 Montserrat,sans-serif;
  letter-spacing:.05em;
  text-transform:uppercase;
  color:#fff }
.og-ui-50 { font:400 14px/1.6 Montserrat,sans-serif;
  color:rgba(255,255,255,.6) }
.og-ui-51 { margin:0;
  font:400 12.5px/1.7 Montserrat,sans-serif;
  color:rgba(255,255,255,.5) }
.og-ui-52 { background:linear-gradient(to bottom,#1A1A1A 0,#1A1A1A 50%,#F4F4F4 50%,#F4F4F4 100%);
  padding:0 clamp(16px,3vw,36px) }
.og-ui-53 { max-width:1240px;
  margin:0 auto;
  background:#FFF0E8;
  border:1.5px solid #F9D9C6;
  border-radius:22px;
  padding:clamp(22px,2.6vw,32px);
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:space-between;
  gap:18px }
.og-ui-54 { max-width:52ch }
.og-ui-55 { font:900 clamp(17px,1.6vw,21px)/1.3 Montserrat,sans-serif;
  color:#1A1A1A }
.og-ui-56 { margin:6px 0 0;
  font:400 14.5px/1.65 Montserrat,sans-serif;
  color:#555555 }
.og-ui-57 { background:#F26522;
  color:#fff;
  border:0;
  border-radius:30px;
  padding:15px 22px;
  font:800 14px/1 Montserrat,sans-serif;
  letter-spacing:.03em;
  text-transform:uppercase;
  cursor:pointer;
  transition:background .18s,transform .18s }

/* ---- inclus ---- */
.og-inclus-01 { max-width:660px }
.og-inclus-02 { display:grid;
  grid-template-columns:repeat(auto-fit,minmax(min(100%,270px),1fr));
  gap:clamp(12px,1.4vw,16px) }
.og-inclus-03 { background:#fff;
  border:1.5px solid #E8E8E8;
  border-radius:18px;
  padding:clamp(20px,2.2vw,26px);
  display:flex;
  flex-direction:column;
  gap:9px;
  transition:transform .2s,box-shadow .2s,border-color .2s }
.og-inclus-04 { flex:none }
.og-inclus-05 { font:800 15px/1.35 Montserrat,sans-serif;
  color:#1A1A1A }
.og-inclus-06 { font:400 13.5px/1.65 Montserrat,sans-serif;
  color:#555555 }

/* ---- accompagnement ---- */
.og-accompagnement-01 { max-width:1240px;
  margin:0 auto;
  display:flex;
  flex-direction:column;
  gap:clamp(26px,3.4vw,44px) }
.og-accompagnement-02 { margin:0;
  max-width:36ch;
  font:400 15.5px/1.75 Montserrat,sans-serif;
  color:rgba(255,255,255,.66) }
.og-accompagnement-03 { display:grid;
  grid-template-columns:repeat(auto-fit,minmax(min(100%,270px),1fr));
  gap:14px }
.og-accompagnement-04 { background:#2E2E2E;
  border:1px solid rgba(255,255,255,.09);
  border-radius:20px;
  padding:clamp(24px,2.6vw,32px);
  display:flex;
  flex-direction:column;
  gap:16px }
.og-accompagnement-05 { align-self:flex-start;
  background:rgba(242,101,34,.16);
  color:#F26522;
  border-radius:999px;
  padding:7px 14px;
  font:800 11px/1 Montserrat,sans-serif;
  letter-spacing:.09em;
  text-transform:uppercase }
.og-accompagnement-06 { margin:0;
  font:900 clamp(18px,1.6vw,21px)/1.2 Montserrat,sans-serif;
  text-transform:uppercase;
  color:#fff }
.og-accompagnement-07 { display:flex;
  flex-direction:column;
  gap:11px }
.og-accompagnement-08 { flex:none;
  margin-top:3px }
.og-accompagnement-09 { font:400 15px/1.6 Montserrat,sans-serif;
  color:rgba(255,255,255,.78) }

/* ---- parcours ---- */
.og-parcours-01 { margin:9px 0 0;
  max-width:38ch;
  font:400 15.5px/1.75 Montserrat,sans-serif;
  color:#555555 }
.og-parcours-02 { display:grid;
  grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr));
  gap:clamp(16px,2vw,28px) }
.og-parcours-03 { position:relative;
  display:flex;
  flex-direction:column;
  gap:12px;
  padding:0 4px }
.og-parcours-04 { position:absolute;
  top:22px;
  left:calc(50% + 32px);
  right:calc(-50% + 32px);
  height:2px;
  background:#E8E8E8 }
.og-parcours-05 { position:relative;
  z-index:1;
  width:44px;
  height:44px;
  border-radius:50%;
  background:#1A1A1A;
  color:#fff;
  display:grid;
  place-items:center;
  font:900 15px/1 Montserrat,sans-serif }
.og-parcours-06 { margin:0;
  font:800 clamp(15px,1.15vw,16.5px)/1.45 Montserrat,sans-serif;
  color:#1A1A1A }
.og-parcours-07 { margin:0;
  font:400 13.5px/1.65 Montserrat,sans-serif;
  color:#555555 }
.og-parcours-08 { display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:16px }
.og-parcours-09 { background:#F26522;
  color:#fff;
  border:0;
  border-radius:30px;
  padding:16px 24px;
  font:800 14px/1 Montserrat,sans-serif;
  letter-spacing:.03em;
  text-transform:uppercase;
  cursor:pointer;
  transition:background .18s,transform .18s }

/* ---- temoignages ---- */
.og-temoignages-01 { max-width:1240px;
  margin:0 auto;
  display:flex;
  flex-direction:column;
  gap:clamp(24px,3.2vw,42px) }
.og-temoignages-02 { display:grid;
  grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));
  gap:clamp(14px,1.6vw,20px) }
.og-temoignages-03 { margin:0;
  display:flex;
  flex-direction:column;
  gap:14px }
.og-temoignages-04 { position:relative;
  aspect-ratio:16/9;
  border-radius:18px;
  overflow:hidden;
  background:#1A1A1A }
.og-temoignages-05 { position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(0,0,0,.06) 40%,rgba(0,0,0,.62) 100%);
  pointer-events:none }
.og-temoignages-06 { position:absolute;
  left:14px;
  bottom:12px;
  padding:6px 11px;
  border-radius:999px;
  background:rgba(255,255,255,.92);
  font:800 11px/1 Montserrat,sans-serif;
  letter-spacing:.06em;
  text-transform:uppercase;
  color:#1A1A1A;
  pointer-events:none }
.og-temoignages-07 { display:flex;
  flex-direction:column;
  gap:4px }
.og-temoignages-08 { font:900 clamp(16px,1.3vw,18px)/1.3 Montserrat,sans-serif;
  color:#1A1A1A }
.og-temoignages-09 { font:600 13.5px/1.45 Montserrat,sans-serif;
  color:#555555 }

/* ---- ui ---- */
.og-ui-58 { scroll-margin-top:78px;
  background:#fff;
  padding:clamp(28px,4vw,64px) clamp(16px,3vw,36px) }
.og-ui-59 { max-width:1240px;
  margin:0 auto;
  background:#F26522;
  border-radius:26px;
  padding:clamp(30px,4.5vw,72px);
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));
  gap:clamp(26px,3.4vw,48px);
  align-items:center }
.og-ui-60 { margin:0;
  font:900 clamp(28px,4vw,56px)/1.03 Montserrat,sans-serif;
  letter-spacing:-.015em;
  text-transform:uppercase;
  color:#1A1A1A }
.og-ui-61 { margin:0;
  max-width:44ch;
  font:400 clamp(15.5px,1.15vw,17.5px)/1.75 Montserrat,sans-serif;
  color:#1A1A1A }
.og-ui-62 { font:800 12px/1.4 Montserrat,sans-serif;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:#1A1A1A }
.og-ui-63 { background:rgba(255,255,255,.92);
  border:1.5px solid rgba(26,26,26,.12);
  border-radius:999px;
  padding:9px 15px;
  font:700 13.5px/1 Montserrat,sans-serif;
  color:#1A1A1A;
  cursor:pointer;
  transition:background .18s,transform .18s }
.og-ui-64-hv:hover { background:#1A1A1A;
  color:#fff;
  transform:translateY(-1px) }
.og-ui-65 { font:400 12.5px/1.6 Montserrat,sans-serif;
  color:rgba(26,26,26,.72) }
.og-ui-66 { background:#1A1A1A;
  color:#fff;
  border:0;
  border-radius:30px;
  padding:16px 24px;
  font:800 14px/1 Montserrat,sans-serif;
  letter-spacing:.03em;
  text-transform:uppercase;
  cursor:pointer;
  transition:transform .18s,background .18s }
.og-ui-67-hv:hover { background:#000;
  transform:translateY(-2px) }
.og-ui-68 { display:flex;
  flex-direction:column;
  gap:10px }
.og-ui-69 { background:rgba(26,26,26,.09);
  border-radius:16px;
  padding:clamp(16px,1.9vw,24px);
  display:flex;
  align-items:center;
  gap:18px }
.og-ui-70 { font:900 clamp(26px,3vw,42px)/1 Montserrat,sans-serif;
  color:#1A1A1A;
  flex:none;
  min-width:78px }
.og-ui-71 { font:700 13.5px/1.45 Montserrat,sans-serif;
  color:#1A1A1A }

/* ---- avis ---- */
.og-avis-01 { max-width:1240px;
  margin:0 auto;
  display:flex;
  flex-direction:column;
  gap:clamp(26px,3vw,42px) }
.og-avis-02 { display:grid;
  grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));
  gap:14px }
.og-avis-03 { background:#F26522;
  border-radius:20px;
  padding:clamp(24px,2.8vw,34px);
  display:flex;
  flex-direction:column;
  gap:6px }
.og-avis-04 { font:800 16px/1 Montserrat,sans-serif;
  letter-spacing:.1em;
  color:#fff }
.og-avis-05 { font:900 clamp(34px,4vw,52px)/1.05 Montserrat,sans-serif;
  letter-spacing:-.02em;
  color:#fff }
.og-avis-06 { font:800 13px/1.4 Montserrat,sans-serif;
  letter-spacing:.04em;
  text-transform:uppercase;
  color:#fff }
.og-avis-07 { background:#2E2E2E;
  border:1px solid rgba(255,255,255,.09);
  border-radius:20px;
  padding:clamp(24px,2.8vw,34px);
  display:flex;
  flex-direction:column;
  gap:6px }
.og-avis-08 { font:400 13.5px/1.65 Montserrat,sans-serif;
  color:rgba(255,255,255,.6) }

/* ---- faq ---- */
.og-faq-01 { scroll-margin-top:78px;
  background:#fff;
  padding:clamp(46px,6vw,96px) clamp(16px,3vw,36px) }
.og-faq-02 { max-width:980px;
  margin:0 auto;
  display:flex;
  flex-direction:column;
  gap:clamp(24px,3vw,38px) }
.og-faq-03 { margin:9px 0 0;
  font:900 clamp(26px,3.4vw,44px)/1.06 Montserrat,sans-serif;
  letter-spacing:-.01em;
  text-transform:uppercase;
  color:#1A1A1A }
.og-faq-04 { background:#F4F4F4;
  border:1.5px solid #E8E8E8;
  border-radius:16px;
  padding:4px 20px }
.og-faq-05 { width:100%;
  background:none;
  border:0;
  padding:18px 0;
  display:flex;
  align-items:center;
  gap:16px;
  text-align:left;
  cursor:pointer }
.og-faq-06 { flex:1;
  font:700 clamp(15px,1.2vw,17.5px)/1.45 Montserrat,sans-serif;
  color:#1A1A1A }
.og-faq-07 { flex:none;
  width:28px;
  height:28px;
  border-radius:50%;
  background:#fff;
  border:1.5px solid #E8E8E8;
  display:grid;
  place-items:center;
  font:800 16px/1 Montserrat,sans-serif;
  color:#F26522 }
.og-faq-08 { margin:0;
  padding:0 44px 20px 0;
  max-width:74ch;
  font:400 15.5px/1.75 Montserrat,sans-serif;
  color:#555555 }
.og-faq-09 { background:#F26522;
  border-radius:20px;
  padding:clamp(24px,3vw,40px);
  display:flex;
  flex-wrap:wrap;
  gap:22px;
  align-items:center;
  justify-content:space-between }
.og-faq-10 { max-width:38ch }
.og-faq-11 { margin:0;
  font:900 clamp(19px,2vw,28px)/1.15 Montserrat,sans-serif;
  text-transform:uppercase;
  color:#fff }
.og-faq-12 { margin:8px 0 0;
  font:400 15.5px/1.65 Montserrat,sans-serif;
  color:rgba(255,255,255,.88) }
.og-faq-13 { background:#1A1A1A;
  color:#fff;
  border:0;
  border-radius:30px;
  padding:16px 24px;
  font:800 14px/1 Montserrat,sans-serif;
  letter-spacing:.03em;
  text-transform:uppercase;
  cursor:pointer;
  transition:background .18s }
.og-faq-14-hv:hover { background:#fff;
  color:#1A1A1A }

/* ---- ui ---- */
.og-ui-72 { background:#1A1A1A;
  padding:clamp(44px,5vw,72px) clamp(16px,3vw,36px) clamp(96px,8vw,44px) }
.og-ui-73 { max-width:1240px;
  margin:0 auto;
  display:flex;
  flex-direction:column;
  gap:clamp(26px,3vw,40px) }
.og-ui-74 { display:grid;
  grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));
  gap:clamp(24px,3vw,44px) }
.og-ui-75 { display:flex;
  flex-direction:column;
  gap:16px;
  max-width:340px }
.og-ui-76 { height:46px;
  width:auto;
  max-width:190px;
  object-fit:contain;
  object-position:left center;
  align-self:flex-start;
  display:block }
.og-ui-77 { margin:0;
  font:400 14px/1.7 Montserrat,sans-serif;
  color:rgba(255,255,255,.66) }
.og-ui-78 { align-self:flex-start;
  background:#F26522;
  color:#fff;
  border:0;
  border-radius:30px;
  padding:14px 22px;
  font:800 13.5px/1 Montserrat,sans-serif;
  letter-spacing:.04em;
  text-transform:uppercase;
  cursor:pointer;
  transition:background .18s }
.og-ui-79 { font:600 13.5px/1.5 Montserrat,sans-serif;
  color:rgba(255,255,255,.72);
  text-decoration:none }
.og-ui-80 { border-top:1px solid rgba(255,255,255,.12);
  padding-top:clamp(18px,2vw,24px);
  display:flex;
  flex-wrap:wrap;
  gap:18px;
  align-items:center;
  justify-content:space-between }
.og-ui-81 { font:600 12.5px/1.5 Montserrat,sans-serif;
  color:rgba(255,255,255,.5) }
.og-ui-82 { display:flex;
  flex-wrap:wrap;
  gap:18px }
.og-ui-83 { font:600 12.5px/1.5 Montserrat,sans-serif;
  color:rgba(255,255,255,.5);
  text-decoration:none }
.og-ui-84 { position:fixed;
  left:0;
  right:0;
  bottom:0;
  z-index:70;
  padding:10px 12px;
  background:#fff;
  border-top:1px solid #E8E8E8;
  box-shadow:0 -8px 24px -14px rgba(26,26,26,.4) }
.og-ui-85 { width:100%;
  background:#F26522;
  color:#fff;
  border:0;
  border-radius:30px;
  padding:18px;
  font:800 15px/1 Montserrat,sans-serif;
  letter-spacing:.03em;
  text-transform:uppercase;
  cursor:pointer }
/* === Correctif menu header : soulignement au survol (bug présent dans l'export
   d'origine lui-même, vérifié avec un moteur de rendu réel sur le fichier
   public/export_html_format/index.html non modifié) ===
   La règle .og-nav a:hover,.og-grp:hover .og-top{color:#F26522!important} (ligne 87)
   force la couleur orange au survol des liens du menu, mais ne réinitialise jamais
   text-decoration : celui-ci retombe donc sur le a:hover{text-decoration:underline}
   générique (lignes 22-23), et les liens du menu (top niveau + sous-menus déroulants)
   apparaissent soulignés au survol — ce qui n'est manifestement pas voulu pour un menu
   de navigation. Seul le menu (.og-nav) est concerné ; les autres liens du site gardent
   leur soulignement au survol tel que défini à l'origine. */
.og-nav a:hover { text-decoration:none }

/* === Correctif Laravel (ne change rien au design d'origine) ===
   Les boutons <button> suivants ont été convertis en liens <a> pour permettre une vraie
   navigation entre pages Laravel (voir resources/views/*.blade.php). Le reset générique
   ci-dessus (ligne 22-23 : a{color:#1A1A1A;text-decoration:none} / a:hover{color:#F26522;
   text-decoration:underline}) ne s'appliquait pas à eux tant qu'ils étaient des <button>.
   On restaure ici, uniquement pour ces classes, exactement le rendu qu'ils avaient dans
   l'export d'origine (texte blanc au survol, jamais de soulignement) — aucune propriété
   visuelle (couleur, fond, taille, police) n'est modifiée par ailleurs. */
.og-ui-15-hv:hover,
.og-ui-30-hv:hover,
.og-ui-67-hv:hover,
.og-ui-85:hover,
.og-form-41-hv:hover { color:#fff; text-decoration:none }
.og-ui-64-hv:hover,
.og-faq-14-hv:hover,
.og-form-08-hv:hover { text-decoration:none }
.og-hdr-cta,
.og-ui-29,
.og-ui-57,
.og-parcours-09,
.og-ui-63,
.og-ui-66,
.og-faq-13,
.og-ui-78,
.og-ui-85,
.og-form-07 { text-decoration:none }
/* .og-ui-66 (bouton "Vérifier la disponibilité de ma zone", section Implantation) :
   son survol applique transform:translateY(-2px) (ligne 1206) pour le faire "bouger"
   vers le haut. Ce transform ne fonctionne QUE sur les boîtes block/inline-block (la
   spec CSS l'ignore silencieusement sur une boîte inline non remplacée). En <button>,
   le navigateur le rendait inline-block par défaut ; en <a> (inline par défaut) et
   avec un parent qui n'est pas flex/grid, l'effet de survol était donc invisible bien
   que la valeur soit correctement calculée. */
.og-ui-66 { display:inline-block }

/* .og-ui-85 (bandeau CTA mobile fixe) : en <button>, le navigateur lui donnait
   automatiquement display:inline-block + text-align:center, ce qui permettait à
   width:100% (défini plus haut) et au centrage du texte de fonctionner. Son parent
   .og-ui-84 n'est pas un conteneur flex/grid, donc en tant que <a> (display:inline
   par défaut) ces deux effets seraient perdus : on les restaure explicitement. */
.og-ui-85 { display:block; text-align:center }
.og-hdr-cta:focus-visible,
.og-ui-29:focus-visible,
.og-ui-57:focus-visible,
.og-parcours-09:focus-visible,
.og-ui-63:focus-visible,
.og-ui-66:focus-visible,
.og-faq-13:focus-visible,
.og-ui-78:focus-visible,
.og-ui-85:focus-visible,
.og-form-07:focus-visible,
.og-form-56:focus-visible { outline:2px solid #F26522; outline-offset:2px }
/* === Footer mobile : espacement vertical des liens .og-ui-79 ===
   Sur mobile (<=820px), chaque lien de footer reçoit padding vertical (cibles tactiles,
   règle « footer a » plus haut). Le gap:12px de leur colonne .og-quiestouiglass-17
   s'ajoutait par-dessus, créant ~34px entre chaque lien. On retire ce gap redondant et
   on ramène le padding des liens à 8px (au lieu de 11) : l'espacement entre liens vient
   alors du seul padding (~16px). Le titre de chaque colonne (.og-investissement-03) reçoit
   une marge basse pour rester un peu plus détaché que les liens normaux (~20px). Aucun
   impact sur le bureau (>820px) ni sur la colonne logo/description (.og-ui-75). */
@media(max-width:820px){
.og-quiestouiglass-17{gap:0}
footer a{padding:8px 0}
.og-quiestouiglass-17 .og-investissement-03{margin-bottom:12px}
}
/* === Envoi du formulaire en AJAX : indicateur de chargement dans le bouton ===
   Le bouton d'envoi affiche un petit spinner blanc pendant la soumission (voir
   public/assets/js/site.js). Rien de ceci n'existe dans l'export d'origine (qui
   envoyait en fetch/JSON sans état de chargement visible) — ajout purement additif. */
.og-spin{display:inline-block;width:14px;height:14px;margin-right:8px;border:2px solid rgba(255,255,255,.45);border-top-color:#fff;border-radius:50%;vertical-align:-2px;animation:og-spin .7s linear infinite}
@keyframes og-spin{to{transform:rotate(360deg)}}
.og-submit[disabled]{opacity:.75;cursor:default}
/* === Vidéos témoignages (section « Ils racontent leur lancement ») ===
   Vignette photo cliquable + bouton play ; la vidéo s'ouvre dans un popup.
   Rien de ceci n'existe dans l'export d'origine (les cartes affichaient
   « Bientôt disponible ») — ajout purement additif. */
.og-vid-poster{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.og-vid-trigger{position:absolute;inset:0;width:100%;height:100%;border:0;background:transparent;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0}
.og-vid-play{display:flex;align-items:center;justify-content:center;width:64px;height:64px;border-radius:50%;background:rgba(242,101,34,.92);box-shadow:0 10px 30px -8px rgba(0,0,0,.55);transition:transform .18s,background .18s}
.og-vid-play svg{margin-left:3px}
.og-vid-trigger:hover .og-vid-play{transform:scale(1.08);background:#F26522}
.og-vid-trigger:focus-visible{outline:2px solid #fff;outline-offset:-4px}
/* Popup vidéo */
.og-vid-modal{position:fixed;inset:0;z-index:200;display:flex;align-items:center;justify-content:center;padding:20px}
.og-vid-backdrop{position:absolute;inset:0;background:rgba(10,10,10,.84)}
.og-vid-dialog{position:relative;width:min(960px,100%);display:flex;flex-direction:column;gap:12px}
.og-vid-frame{position:relative;background:#000;border-radius:14px;overflow:hidden;box-shadow:0 30px 80px -20px rgba(0,0,0,.7)}
.og-vid-frame video{display:block;width:100%;max-height:80vh;background:#000}
.og-vid-close{position:absolute;top:8px;right:8px;z-index:2;width:40px;height:40px;border:0;border-radius:50%;background:rgba(0,0,0,.55);color:#fff;font-size:26px;line-height:38px;text-align:center;cursor:pointer;padding:0}
.og-vid-close:hover{background:rgba(0,0,0,.8)}
@media(max-width:600px){.og-vid-play{width:54px;height:54px}}
/* === Footer : pas de soulignement au survol ===
   La règle globale a:hover{text-decoration:underline} soulignait aussi les liens du
   footer (la règle « footer a:hover » d'origine ne fixait que la couleur). On neutralise
   le soulignement pour tous les liens du footer, au survol comme au focus. */
footer a:hover, footer a:focus { text-decoration:none }
