/* Page d'accueil publique UPOS - surcharge isolee */
.ups-home { --ups-ink:#15243b; --ups-blue:#0877bf; --ups-muted:#52657b; --ups-line:#e2e9f1; --ups-base:#f5f8fc; color:var(--ups-ink); background:var(--ups-base); }
.ups-home *, .ups-home *::before, .ups-home *::after { box-sizing:border-box; }
.ups-home .ups-hero { background:linear-gradient(127deg,#0c1f37 0%,#102e4e 58%,#124e7b 100%); color:#fff; padding:90px 24px 70px !important; margin:0 !important; overflow:hidden; position:relative; }
.ups-home .ups-hero::before { content:""; width:640px; height:640px; border:1px solid rgba(255,255,255,.08); border-radius:50%; position:absolute; right:-270px; top:-380px; pointer-events:none; }
.ups-home .ups-hero-inner { max-width:1240px; margin:0 auto; display:grid; grid-template-columns:minmax(0,1.2fr) minmax(340px,.8fr); align-items:center; gap:clamp(24px,5vw,80px); position:relative; z-index:1; }
.ups-home .ups-hero-copy { min-width:0; }
.ups-home .ups-eyebrow { display:inline-flex; align-items:center; gap:10px; font-size:11px; font-weight:700; letter-spacing:2.1px; color:#a9d7f6; margin:0 0 24px; }
.ups-home .ups-eyebrow-dot { width:8px; height:8px; border-radius:50%; background:#36b6f2; box-shadow:0 0 0 5px rgba(54,182,242,.15); }
.ups-home .ups-hero h1 { font-size:clamp(35px,4.5vw,62px); line-height:1.13; font-weight:750; letter-spacing:-1.8px; color:#fff; margin:0 0 23px; max-width:760px; }
.ups-home .ups-hero h1 span { color:#59c1ff; }
.ups-home .ups-hero-copy > p { color:#c7d5e3; font-size:clamp(16px,1.45vw,19px); line-height:1.75; max-width:650px; margin:0 0 30px; }
.ups-home .ups-hero-actions { display:flex; flex-wrap:wrap; gap:12px; align-items:center; }
.ups-home .ups-btn { display:inline-flex; align-items:center; justify-content:center; gap:11px; padding:14px 21px; border-radius:10px; font-size:14px; font-weight:650; text-decoration:none; transition:background .18s,transform .18s,box-shadow .18s; min-height:49px; }
.ups-home .ups-btn:hover { transform:translateY(-2px); text-decoration:none; }
.ups-home .ups-btn-primary { background:#159be6; color:white; box-shadow:0 8px 24px rgba(3,12,28,.22); }
.ups-home .ups-btn-primary:hover { background:#037fc6; color:white; }
.ups-home .ups-btn-secondary { border:1px solid rgba(216,235,252,.36); background:rgba(255,255,255,.07); color:#fff; }
.ups-home .ups-btn-secondary:hover { background:rgba(255,255,255,.15); color:#fff; }
.ups-home .ups-hero-note { display:flex; align-items:center; gap:9px; font-size:12px; color:#a8c9df; margin-top:25px; }
.ups-home .ups-hero-note i { color:#46dba4; }
.ups-home .ups-hero-visual { min-width:0; display:flex; align-items:center; justify-content:center; }
.ups-home .ups-logo-panel { width:100%; background:#fff; border:1px solid rgba(255,255,255,.45); border-radius:22px; padding:28px 26px 24px; display:flex; flex-direction:column; align-items:center; box-shadow:0 26px 80px rgba(2,15,35,.32); }
.ups-home .ups-panel-label { align-self:flex-start; color:#54708a; font-size:10px; letter-spacing:1.8px; font-weight:750; }
.ups-home .ups-hero-logo { width:100%; max-width:400px; height:auto; aspect-ratio:758/747; object-fit:contain; display:block; margin:8px auto; }
.ups-home .ups-panel-caption { color:#52677d; font-size:12px; border-top:1px solid #e6edf3; padding-top:18px; width:100%; text-align:center; }
.ups-home .ups-quick { max-width:1220px; margin:-18px auto 56px; padding:0 18px; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; position:relative; z-index:2; }
.ups-home .ups-quick-link { background:white; border:1px solid #e2eaf2; display:flex; align-items:center; gap:12px; border-radius:14px; min-height:91px; padding:16px; text-decoration:none; color:#17263a; box-shadow:0 8px 25px rgba(7,25,48,.06); transition:transform .18s,box-shadow .18s,border-color .18s; }
.ups-home .ups-quick-link:hover { transform:translateY(-3px); box-shadow:0 13px 35px rgba(7,25,48,.1); border-color:#a9d9f5; color:#0a76b7; }
.ups-home .ups-quick-icon { color:#087abf; background:#eaf6ff; width:43px; height:43px; border-radius:11px; display:flex; align-items:center; justify-content:center; flex-shrink:0; font-size:18px; }
.ups-home .ups-quick-link span:nth-child(2) { display:grid; gap:2px; min-width:0; }
.ups-home .ups-quick-link strong { font-size:14px; }
.ups-home .ups-quick-link small { font-size:12px; color:#61758b; white-space:normal; }
.ups-home .ups-arrow { color:#95aabd; margin-left:auto; font-size:12px; }
.ups-home :is(.products,.industries,.why-choose,.partners,.cta) { margin-top:0 !important; }
.ups-home :is(.products,.industries,.why-choose,.partners) { padding-top:55px !important; padding-bottom:55px !important; }
.ups-home .container { max-width:1200px; }
.ups-home .section-title { color:#162943 !important; font-weight:750 !important; font-size:clamp(26px,3vw,36px) !important; line-height:1.25 !important; letter-spacing:-.6px; margin-bottom:34px !important; }
.ups-home :is(.product-card,.industry-card) { border:1px solid #e1e9f2 !important; border-radius:16px !important; background:#fff !important; overflow:hidden; box-shadow:0 7px 25px rgba(18,46,78,.045) !important; transform:none !important; transition:transform .18s,box-shadow .18s !important; }
.ups-home :is(.product-card,.industry-card):hover { transform:translateY(-3px) !important; box-shadow:0 16px 32px rgba(18,46,78,.10) !important; }
.ups-home :is(.product-content,.industry-content) :is(h3,p) { color:#1c3148; }
.ups-home .btn.btn-outline { border-radius:9px !important; }
.ups-home .why-choose { background:#fff; }
.ups-home .why-choose .stats { gap:25px; }
.ups-home .cta { background:linear-gradient(120deg,#0d263e,#135282) !important; color:#fff; padding:60px 20px !important; }
.ups-home .cta h2,.ups-home .cta p { color:white; }
.ups-home .cta .btn-primary { color:#fff; border-radius:10px; }
.ups-home #ecosysteme { scroll-margin-top:115px; }
.ups-home #UPOS { scroll-margin-top:125px; }
.ups-home a:focus-visible { outline:3px solid #44b8ff !important; outline-offset:3px; }
@media(max-width:1020px) { .ups-home .ups-hero-inner { grid-template-columns:1fr 340px; gap:30px; } .ups-home .ups-quick { grid-template-columns:repeat(2,1fr); } .ups-home .ups-hero { padding-top:55px !important; } }
@media(max-width:760px) { .ups-home .ups-hero-inner { grid-template-columns:1fr; } .ups-home .ups-hero { padding:45px 22px 55px !important; } .ups-home .ups-hero h1 { font-size:clamp(33px,7.6vw,44px); letter-spacing:-1px; } .ups-home .ups-logo-panel { max-width:370px; padding:18px 24px; } .ups-home .ups-hero-visual { margin-top:8px; } .ups-home .ups-quick { margin:16px auto 32px; } .ups-home :is(.products,.industries,.why-choose,.partners) { padding-top:35px !important; padding-bottom:35px !important; } }
@media(max-width:460px) { .ups-home .ups-quick { grid-template-columns:1fr; gap:8px; } .ups-home .ups-hero-actions { flex-direction:column; align-items:stretch; } .ups-home .ups-btn { width:100%; } .ups-home .ups-eyebrow { font-size:9px; letter-spacing:1.3px; } .ups-home .ups-logo-panel { max-width:315px; } }
@media(prefers-reduced-motion:reduce) { .ups-home *, .ups-home *::before, .ups-home *::after { animation-duration:.01ms !important; transition-duration:.01ms !important; } }

/* 2026-10-27 - Hero sans carte ni texte autour du nouveau logo. */
.ups-home .ups-hero-inner > .ups-hero-logo {
  display:block; width:100%; max-width:400px; height:auto; aspect-ratio:auto;
  margin:0 auto; object-fit:contain; justify-self:center; align-self:center;
  filter:drop-shadow(0 12px 24px rgba(0,0,0,.09));
}
@media(max-width:760px) { .ups-home .ups-hero-inner > .ups-hero-logo { max-width:min(400px,85vw); } }

/* 2026-10-28: UPOS hero logo 30% larger (400px -> 520px) */
@media (min-width:1021px) {
  .ups-home .ups-hero-inner { grid-template-columns:minmax(0,1fr) minmax(0,1fr); }
}
.ups-home .ups-hero-inner > .ups-hero-logo { max-width:520px; width:100%; height:auto; }
@media (min-width:761px) and (max-width:1020px) {
  .ups-home .ups-hero-inner { grid-template-columns:minmax(0,1fr) minmax(0,430px); }
  .ups-home .ups-hero-inner > .ups-hero-logo { max-width:430px; }
}
@media (max-width:760px) {
  .ups-home .ups-hero-inner > .ups-hero-logo { max-width:min(520px,90vw); }
}