/* Innovate Community — technical service CSS bundle 2026-08-13. Cascade order preserved. */
/* fonts.css */
/* Self-hosted subsets used by the French, English and German interfaces. */
@font-face {
  font-family: "Advent Pro";
  font-style: normal;
  font-weight: 400 700;
  font-stretch: 100%;
  font-display: swap;
  src: url("advent-pro-latin.woff2") format("woff2");
}

@font-face {
  font-family: "Space Grotesk";
  font-style: normal;
  font-weight: 300 700;
  font-display: swap;
  src: url("space-grotesk-latin.woff2") format("woff2");
}


/* --- assets/seo.css --- */
.seo-only {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  clip-path: inset(50%) !important;
  white-space: nowrap !important;
  border: 0 !important;
}


/* Pre-publication navigation and responsive hardening — 2026-07-21 */
html{scroll-behavior:smooth;overflow-x:hidden}
body{max-width:100%;overflow-x:hidden}
main,section,article,header,footer,nav{min-width:0}
img,video,iframe,svg{max-width:100%}
.footer-follow:has(.social-placeholder):not(:has(a[href]:not([href="#"]))){display:none!important}
.about-hero-jump button{
  appearance:none;-webkit-appearance:none;border:0;background:transparent;color:inherit;
  font:inherit;letter-spacing:inherit;text-transform:inherit;padding:0;margin:0;cursor:pointer;
}
.about-hero-jump button:hover,.about-hero-jump button:focus-visible{text-decoration:underline;text-underline-offset:.22em}
.about-hero-jump button:focus-visible,.back-top:focus-visible,.recent-card:focus-visible{
  outline:2px solid #ccff00!important;outline-offset:5px!important;
}
.mobile-panel-scrim[aria-hidden="true"]{pointer-events:none!important}
@media (max-width:920px){
  .menu-toggle,.news-tool-trigger,.ic-lang-switcher button,.language-picker button,
  .history-close,.project-dialog-close,.news-tool-close{min-width:44px;min-height:44px}
  .recent-card{min-width:0}
  .project-dialog,.history-panel,.news-tool-panel{overscroll-behavior:contain}
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}


/* --- assets/shared/service-pages-base.css --- */


*{box-sizing:border-box}

body{
  margin:0;
  background:#050505;
  color:#f4efe7;
  font-family:"Advent Pro",Arial,sans-serif;
  overflow-x:hidden;
}

a{color:inherit;text-decoration:none}

.grain{
  position:fixed;
  inset:0;
  pointer-events:none;
  z-index:20;
  opacity:.12;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 260 260' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.55'/%3E%3C/svg%3E");
}

.nav{
  position:fixed;
  top:26px;
  left:26px;
  z-index:30;
  display:flex;
  align-items:center;
  gap:34px;
  padding:18px 22px;
  border-radius:6px;
  background:rgba(255,255,255,.055);
  backdrop-filter:blur(18px);
}

.logo{
  font-family:"Space Grotesk",Arial,sans-serif;
  font-size:22px;
  font-weight:700;
  letter-spacing:-.08em;
  color:#ccff00;
  text-transform:uppercase;
}

.nav span{
  font-size:13px;
  text-transform:uppercase;
  letter-spacing:.15em;
  color:rgba(244,239,231,.62);
  font-weight:600;
}

.wrap{
  display:grid;
  grid-template-columns:42% 58%;
  min-height:100vh;
}

.left{
  padding:150px 26px 26px;
}

.visual{
  height:calc(100vh - 176px);
  min-height:520px;
  border-radius:8px;
  overflow:hidden;
  position:relative;
  background:#111;
}

.visual::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(5,5,5,.04),rgba(5,5,5,.38));
  pointer-events:none;
}

.visual img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  filter:grayscale(100%) contrast(1.08) brightness(.82);
  transform:scale(1.02);
  transition:transform 1s cubic-bezier(.16,1,.3,1), filter .8s ease;
}

.visual:hover img{
  transform:scale(1.08);
  filter:grayscale(100%) contrast(1.18) brightness(.92);
}

.card-label{
  position:absolute;
  left:22px;
  bottom:22px;
  z-index:2;
  font-size:13px;
  text-transform:uppercase;
  letter-spacing:.12em;
  font-weight:700;
  line-height:1.2;
}

.arrow{
  position:absolute;
  right:22px;
  bottom:22px;
  z-index:2;
  font-size:22px;
  color:rgba(244,239,231,.75);
}

.right{
  padding:150px 44px 80px 80px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  position:relative;
}

.topline{
  position:absolute;
  top:150px;
  left:80px;
  right:44px;
  height:1px;
  background:rgba(244,239,231,.13);
}

.time{
  position:absolute;
  top:100px;
  right:44px;
  font-size:13px;
  letter-spacing:.16em;
  color:rgba(244,239,231,.72);
  font-weight:700;
}

.counter{
  font-family:"Space Grotesk",Arial,sans-serif;
  font-size:14px;
  letter-spacing:.1em;
  color:#f4efe7;
  margin-bottom:76px;
  font-weight:700;
}

.counter span{
  color:rgba(244,239,231,.5);
}

.label{
  font-size:14px;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:#ccff00;
  margin-bottom:24px;
  font-weight:700;
}

.quote{
  font-family:"Space Grotesk",Arial,sans-serif;
  font-size:clamp(38px,3.7vw,76px);
  line-height:1.02;
  max-width:980px;
  margin:0 0 54px;
  letter-spacing:-.06em;
  font-weight:500;
}

.copy{
  font-size:clamp(20px,1.45vw,28px);
  max-width:720px;
  color:rgba(244,239,231,.68);
  line-height:1.25;
  letter-spacing:-.035em;
}

.controls{
  position:absolute;
  top:215px;
  right:44px;
  display:flex;
  gap:28px;
  color:#f4efe7;
  font-size:22px;
}

.back{
  position:absolute;
  left:80px;
  bottom:54px;
  border:1px solid rgba(244,239,231,.28);
  border-radius:999px;
  padding:13px 20px;
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:.12em;
  transition:.25s ease;
}

.back:hover{
  background:#f4efe7;
  color:#050505;
}

@media(max-width:900px){
  .nav{
    top:18px;
    left:18px;
    right:18px;
    justify-content:space-between;
  }

  .wrap{
    grid-template-columns:1fr;
  }

  .left{
    padding:110px 18px 0;
  }

  .visual{
    height:48vh;
    min-height:340px;
  }

  .right{
    padding:56px 24px 110px;
  }

  .topline,.time,.controls{
    display:none;
  }

  .counter{
    margin-bottom:42px;
  }

  .back{
    left:24px;
    bottom:34px;
  }
}
/* =========================================================
   SYNCHRONISED PREMIUM FOOTER — same structure, page colors
   ========================================================= */
.footer-redesign{
  background:var(--footer-bg,#f6f2eb) !important;
  color:var(--footer-fg,#111) !important;
  padding:0 !important;
  border-top:1px solid var(--footer-line,rgba(17,17,17,.22)) !important;
  overflow:hidden !important;
  isolation:isolate !important;
}
.footer-redesign::before{display:none !important;content:none !important;}
.footer-redesign-inner{position:relative;z-index:2;padding:clamp(54px,6vw,92px) clamp(22px,4vw,72px) 0 !important;}
.footer-redesign-main{display:grid !important;grid-template-columns:minmax(280px,.85fr) minmax(640px,1.65fr) !important;gap:clamp(56px,9vw,150px) !important;align-items:start !important;padding-bottom:clamp(54px,7vw,96px) !important;}
.footer-brand-block{display:flex !important;justify-content:flex-start !important;align-items:flex-start !important;min-height:320px !important;}
.footer-redesign .footer-logo{width:clamp(240px,24vw,360px) !important;max-width:360px !important;min-width:240px !important;display:block !important;margin:0 !important;padding:0 !important;font-size:0 !important;line-height:0 !important;opacity:1 !important;visibility:visible !important;}
.footer-redesign .footer-logo-img{width:100% !important;height:auto !important;display:block !important;opacity:1 !important;visibility:visible !important;object-fit:contain !important;mix-blend-mode:normal !important;filter:var(--footer-logo-filter,contrast(1.12) brightness(.92)) !important;}
.footer-nav-block{display:grid !important;grid-template-columns:repeat(3,minmax(150px,1fr)) !important;gap:clamp(36px,6vw,92px) !important;align-items:start !important;}
.footer-redesign .footer-col{min-width:0 !important;}
.footer-redesign .footer-col h3,.footer-follow h3{font-family:"Space Grotesk",Arial,sans-serif !important;font-size:15px !important;line-height:1 !important;letter-spacing:.07em !important;text-transform:uppercase !important;font-weight:700 !important;margin:0 0 24px !important;color:var(--footer-fg,#111) !important;}
.footer-redesign .footer-col ul{list-style:none !important;padding:0 !important;margin:0 !important;display:grid !important;gap:14px !important;}
.footer-redesign .footer-col li,.footer-redesign .footer-col a{font-family:"Advent Pro",Arial,sans-serif !important;font-size:clamp(18px,1.25vw,22px) !important;line-height:1.18 !important;letter-spacing:-.025em !important;font-weight:400 !important;color:var(--footer-fg,#111) !important;text-decoration:none !important;}
.footer-redesign a{transition:opacity .25s ease,transform .25s ease,color .25s ease;}
.footer-redesign a:hover{color:var(--footer-hover,#9d1000) !important;opacity:1 !important;}
.footer-follow{margin-top:clamp(40px,5vw,70px) !important;padding-top:0 !important;}
.footer-socials{display:flex !important;align-items:center !important;gap:clamp(22px,3vw,46px) !important;position:relative !important;}
.footer-socials::before{content:"" !important;display:block !important;flex:1 1 auto !important;height:1px !important;background:var(--footer-line,rgba(17,17,17,.32)) !important;order:2 !important;max-width:160px !important;}
.footer-socials a{order:1 !important;font-size:clamp(17px,1.1vw,20px) !important;line-height:1 !important;}
.footer-redesign-bottom{border-top:1px solid var(--footer-line,rgba(17,17,17,.32)) !important;min-height:74px !important;display:grid !important;grid-template-columns:1fr auto 1fr !important;align-items:center !important;gap:24px !important;font-family:"Advent Pro",Arial,sans-serif !important;font-size:clamp(15px,1vw,18px) !important;line-height:1 !important;letter-spacing:-.01em !important;color:var(--footer-fg,#111) !important;}
.footer-legal-links{display:flex !important;align-items:center !important;justify-content:center !important;gap:clamp(26px,4vw,58px) !important;}
.footer-redesign-bottom a{color:var(--footer-fg,#111) !important;text-decoration:none !important;}
.back-top{justify-self:end !important;}
.footer-redesign .footer-inner,.footer-redesign .footer-top,.footer-redesign .footer-grid,.footer-redesign .footer-bottom,.footer-redesign .footer-manifesto{all:unset;}
@media(max-width:980px){.footer-redesign-main{grid-template-columns:1fr !important;gap:44px !important}.footer-brand-block{min-height:auto !important}.footer-redesign .footer-logo{width:240px !important;min-width:0 !important}.footer-nav-block{grid-template-columns:1fr 1fr !important}.footer-redesign-bottom{grid-template-columns:1fr !important;gap:18px !important;padding:24px 0 !important}.footer-legal-links{justify-content:flex-start !important;flex-wrap:wrap !important}.back-top{justify-self:start !important}}
@media(max-width:640px){.footer-redesign .footer-logo{width:220px !important}.footer-nav-block{grid-template-columns:1fr !important}}
/* FLOATING LET'S TALK — global site CTA */
.floating-talk{
  position:fixed;
  right:clamp(18px,4vw,56px);
  bottom:clamp(18px,4vw,42px);
  z-index:2147482500;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:132px;
  border-radius:999px;
  background:rgba(246,242,235,.92);
  color:#111;
  border:1px solid rgba(17,17,17,.08);
  backdrop-filter:blur(14px);
  padding:16px 24px;
  font-size:20px;
  line-height:1;
  font-family:"Advent Pro",Arial,sans-serif!important;
  font-weight:400!important;
  letter-spacing:0;
  text-transform:none;
  white-space:nowrap;
  box-shadow:0 16px 50px rgba(0,0,0,.18);
  transition:
    transform .25s cubic-bezier(.16,1,.3,1),
    background .25s ease,
    color .25s ease,
    border-color .25s ease,
    box-shadow .25s ease;
  will-change:transform;
}

.floating-talk:hover{
  transform:translateY(-3px);
  background:#efff5a;
  color:#3a1d13;
  border-color:rgba(58,29,19,.18);
  box-shadow:0 22px 70px rgba(58,29,19,.22);
}

.floating-talk .talk-smile{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  margin-left:8px;
  font-size:.9em;
  line-height:1;
  transform:translateY(-1px);
  transition:transform .25s cubic-bezier(.16,1,.3,1);
}

.floating-talk:hover .talk-smile{
  transform:translateY(-1px) rotate(12deg) scale(1.08);
}

@media(max-width:820px){
  .floating-talk{
    right:18px;
    bottom:18px;
    padding:14px 20px;
    font-size:18px;
  }
}
.floating-talk{
  opacity:0;
  visibility:hidden;
}
.floating-talk.show-talk{
  opacity:1;
  visibility:visible;
}
/* COMPACT NEWS TAB — same page, no full-screen overlay */
.news-tool-trigger{
  position:fixed;
  top:126px;
  right:clamp(18px,3vw,42px);
  z-index:2147482400;
  width:54px;
  height:54px;
  border:1px solid rgba(246,242,235,.18);
  border-radius:10px;
  background:rgba(246,242,235,.08);
  color:#f6f2eb;
  backdrop-filter:blur(18px);
  display:grid;
  place-items:center;
  cursor:pointer;
  transition:transform .3s cubic-bezier(.16,1,.3,1), background .25s ease, border-color .25s ease;
}

.news-tool-trigger:hover{
  transform:translateY(-3px);
  background:rgba(246,242,235,.16);
  border-color:rgba(204,255,0,.42);
}

.news-tool-trigger span{
  width:20px;
  height:20px;
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:7px;
}

.news-tool-trigger span::before,
.news-tool-trigger span::after,
.news-tool-trigger i::before,
.news-tool-trigger i::after{
  content:"";
  width:4px;
  height:4px;
  border-radius:50%;
  background:currentColor;
  display:block;
}

.news-tool-trigger i{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:7px;
  grid-column:1 / -1;
}

.news-tool-panel{
  position:fixed;
  top:126px;
  right:calc(clamp(18px,3vw,42px) + 68px);
  z-index:2147482450;
  width:min(640px,calc(100vw - 120px));
  max-height:calc(100vh - 158px);
  overflow:auto;
  background:rgba(18,18,18,.92);
  color:#f6f2eb;
  border:1px solid rgba(246,242,235,.10);
  border-radius:14px;
  box-shadow:0 34px 120px rgba(0,0,0,.42);
  backdrop-filter:blur(28px);
  opacity:0;
  pointer-events:none;
  transform:translateY(-10px) scale(.985);
  transition:opacity .28s ease, transform .38s cubic-bezier(.16,1,.3,1);
}

body.news-panel-open .news-tool-panel{
  opacity:1;
  pointer-events:auto;
  transform:none;
}

.news-tool-inner{
  display:grid;
  grid-template-columns:1fr;
  gap:0;
  padding:0;
}

.news-tool-left{
  padding:20px 22px 16px;
  border-bottom:1px solid rgba(246,242,235,.10);
}

.news-tool-kicker{
  font-family:"Advent Pro",Arial,sans-serif!important;
  font-size:13px;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:#ccff00;
  margin-bottom:10px;
  font-weight:700;
}

.news-tool-title{
  font-family:"Space Grotesk",Arial,sans-serif!important;
  font-size:clamp(26px,2.3vw,40px);
  line-height:1;
  letter-spacing:-.06em;
  margin:0;
  max-width:520px;
}

.news-tool-sub{
  display:none;
}

.news-tool-tabs{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  margin-top:16px;
}

.news-tool-tabs button{
  border:1px solid rgba(246,242,235,.13);
  background:rgba(246,242,235,.06);
  color:#f6f2eb;
  border-radius:8px;
  padding:9px 13px;
  font-family:"Advent Pro",Arial,sans-serif!important;
  font-size:12px;
  letter-spacing:.12em;
  text-transform:uppercase;
  cursor:pointer;
  transition:.25s ease;
}

.news-tool-tabs button:hover,
.news-tool-tabs button.is-active{
  background:rgba(246,242,235,.16);
  color:#f6f2eb;
}

.news-tool-close{
  position:absolute;
  top:12px;
  right:12px;
  width:34px;
  height:34px;
  border:1px solid rgba(246,242,235,.14);
  border-radius:8px;
  background:rgba(246,242,235,.06);
  color:#f6f2eb;
  font-size:22px;
  cursor:pointer;
  transition:.25s ease;
}

.news-tool-close:hover{
  background:#f6f2eb;
  color:#111;
}

.news-tool-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:0;
}

.news-card{
  display:grid;
  grid-template-columns:minmax(0,1fr) 86px;
  gap:18px;
  align-items:center;
  padding:18px 22px;
  background:transparent;
  border-bottom:1px solid rgba(246,242,235,.08);
  transition:background .25s ease;
}

.news-card:hover{
  background:rgba(246,242,235,.06);
}

.news-card small{
  display:block;
  color:#ccff00;
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.14em;
  margin-bottom:8px;
}

.news-card h3{
  font-family:"Space Grotesk",Arial,sans-serif!important;
  font-size:clamp(18px,1.4vw,24px);
  line-height:1.04;
  letter-spacing:-.045em;
  margin:0 0 7px;
  color:#f6f2eb;
}

.news-card p{
  margin:0;
  color:rgba(246,242,235,.58);
  font-size:15px;
  line-height:1.18;
  letter-spacing:-.015em;
}

.news-thumb{
  width:86px;
  aspect-ratio:1;
  border-radius:7px;
  overflow:hidden;
  background:
    radial-gradient(circle at 30% 30%,#ccff00,transparent 36%),
    linear-gradient(135deg,#b875ff,#111);
}

.news-thumb img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  filter:grayscale(100%) contrast(1.15) brightness(.82);
  opacity:.9;
}

.news-tool-all{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  margin:16px 22px 20px;
  border:1px solid rgba(246,242,235,.24);
  border-radius:999px;
  padding:13px 18px;
  color:#f6f2eb;
  font-size:13px;
  text-transform:uppercase;
  letter-spacing:.1em;
  transition:.25s ease;
  width:max-content;
}

.news-tool-all:hover{
  background:#ccff00;
  color:#111;
  border-color:#ccff00;
}

@media(max-width:900px){
  .news-tool-trigger{
    top:auto;
    bottom:88px;
    right:18px;
  }

  .news-tool-panel{
    top:auto;
    right:18px;
    left:18px;
    bottom:154px;
    width:auto;
    max-height:68vh;
  }
}
/* NEWS TAB — live time/date + Spotify play */
.news-tool-meta{
  display:flex;
  align-items:center;
  gap:10px;
  margin:16px 0 0;
  flex-wrap:wrap;
}

.news-clock,
.news-date,
.news-play{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:38px;
  border-radius:9px;
  padding:0 13px;
  background:rgba(246,242,235,.08);
  border:1px solid rgba(246,242,235,.12);
  color:#f6f2eb;
  font-family:"Space Grotesk",Arial,sans-serif!important;
  font-size:13px;
  line-height:1;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.news-clock{
  color:#ccff00;
}

.news-play{
  gap:8px;
  cursor:pointer;
  transition:.25s ease;
}

.news-play::before{
  content:"";
  width:0;
  height:0;
  border-top:6px solid transparent;
  border-bottom:6px solid transparent;
  border-left:9px solid currentColor;
}

.news-play:hover{
  background:#ccff00;
  color:#111;
  border-color:#ccff00;
  transform:translateY(-2px);
}

.news-spotify{
  display:none;
  padding:0 22px 20px;
}

.news-spotify.is-open{
  display:block;
}

.news-spotify iframe{
  width:100%;
  height:152px;
  border:0;
  border-radius:12px;
  display:block;
  background:#111;
}
/* NEWS TAB — analog clock */
.news-clock{
  width:54px;
  height:54px;
  min-height:54px;
  padding:0;
  border-radius:50%;
  position:relative;
  background:
    radial-gradient(circle at 50% 50%, rgba(246,242,235,.08), rgba(246,242,235,.03));
  border:1px solid rgba(246,242,235,.18);
  color:#f6f2eb;
  flex:0 0 54px;
}

.news-clock::before{
  content:"";
  position:absolute;
  inset:7px;
  border-radius:50%;
  border:1px solid rgba(246,242,235,.09);
}

.news-clock::after{
  content:"";
  position:absolute;
  left:50%;
  top:50%;
  width:6px;
  height:6px;
  border-radius:50%;
  background:#ccff00;
  transform:translate(-50%,-50%);
  box-shadow:0 0 12px rgba(204,255,0,.5);
}

.news-clock-hand{
  position:absolute;
  left:50%;
  top:50%;
  width:2px;
  transform-origin:50% 100%;
  border-radius:999px;
  background:#f6f2eb;
}

.news-clock-hour{
  height:14px;
  margin-top:-14px;
  opacity:.9;
}

.news-clock-minute{
  height:20px;
  margin-top:-20px;
  background:#ccff00;
}

.news-clock-label{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:38px;
  border-radius:9px;
  padding:0 13px;
  background:rgba(246,242,235,.08);
  border:1px solid rgba(246,242,235,.12);
  color:#ccff00;
  font-family:"Space Grotesk",Arial,sans-serif!important;
  font-size:13px;
  line-height:1;
  letter-spacing:.08em;
  text-transform:uppercase;
}
/* NEWS TOOL IN NAV — placed right next to Start a Project */
.links-right,
.nav-actions{
  display:flex !important;
  align-items:center !important;
  justify-content:flex-end !important;
  gap:10px !important;
}

.news-tool-trigger{
  position:static !important;
  top:auto !important;
  right:auto !important;
  width:48px !important;
  height:42px !important;
  min-width:48px !important;
  border-radius:13px !important;
  flex:0 0 auto !important;
  transform:none !important;
}

.news-tool-trigger:hover{
  transform:translateY(-2px) !important;
}

.news-tool-panel{
  top:82px !important;
  right:clamp(18px,3vw,42px) !important;
}

@media(max-width:900px){
  .news-tool-trigger{
    position:static !important;
    width:44px !important;
    height:40px !important;
  }

  .news-tool-panel{
    top:78px !important;
    right:18px !important;
    left:18px !important;
    bottom:auto !important;
    width:auto !important;
    max-height:72vh !important;
  }
}


/* --- assets/shared/cleanup/service-news-trigger-theme.css --- */
.news-tool-trigger{background:#3a1d13!important;color:#f6f2eb!important;border-color:rgba(58,29,19,.25)!important}
.news-tool-trigger:hover{background:#efff5a!important;color:#111!important;border-color:#efff5a!important}


/* --- assets/shared/cleanup/service-language-switcher.css --- */
.ic-lang-switcher{display:inline-flex;align-items:center;gap:6px;border:1px solid currentColor;border-radius:999px;padding:4px;background:transparent;color:inherit;font-family:"Advent Pro",Arial,sans-serif;text-transform:uppercase;letter-spacing:.08em;line-height:1;vertical-align:middle}
.ic-lang-switcher button{appearance:none;border:0;background:transparent;color:inherit;border-radius:999px;padding:7px 10px;font-family:inherit;font-size:12px;line-height:1;font-weight:400;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;transition:background .25s ease,color .25s ease}
.ic-lang-switcher button.is-active{background:#ccff00;color:#050505}
.ic-lang-switcher button:hover{background:var(--banner-hover-bg,var(--paper,#f6f2eb));color:var(--banner-hover-color,#050505)}
@media(max-width:760px){.ic-lang-switcher{gap:4px;padding:3px}.ic-lang-switcher button{font-size:11px;padding:7px 8px}}


/* --- assets/shared/cleanup/service-fluo-cursor.css --- */
/* Supprime définitivement l'ancien gros curseur "VOIR" */
.project-cursor,
.project-cursor *,
.project-cursor-ring,
.project-cursor-core{
  display:none!important;
  opacity:0!important;
  visibility:hidden!important;
  pointer-events:none!important;
}

/* Règle unique : point jaune fluo simple partout */
html,body,body *,html *,body *::before,body *::after,
a,a *,button,button *,[role="button"],[role="button"] *,
input,textarea,select,label,[onclick],[data-cursor],[data-link],[data-href]{
  cursor:none!important;
}

.ic-fluo-cursor-final{
  position:fixed;
  left:0;
  top:0;
  width:8px;
  height:8px;
  border-radius:50%;
  background:#d9ff00;
  border:0;
  outline:0;
  box-shadow:none;
  filter:none;
  pointer-events:none;
  z-index:2147483647;
  transform:translate(-50%,-50%);
  transition:width .25s ease,height .25s ease,opacity .25s ease;
}

body.ic-cursor-hover .ic-fluo-cursor-final{
  width:14px;
  height:14px;
}


/* --- assets/menu-unifie.css --- */
:root{
  --ic-menu-acid:#ccff00;
  --ic-menu-ink:#151515;
  --ic-menu-paper:#ffffff;
  --ic-menu-ease:cubic-bezier(.16,1,.3,1);
}

html body header.nav.ic-unified-nav{
  position:sticky !important;
  top:0 !important;
  z-index:2147483000 !important;
  display:grid !important;
  grid-template-columns:1fr auto 1fr !important;
  align-items:center !important;
  gap:18px !important;
  box-sizing:border-box !important;
  width:100% !important;
  height:124px !important;
  min-height:124px !important;
  margin:0 !important;
  padding:18px clamp(22px,3vw,52px) !important;
  overflow:visible !important;
  isolation:isolate !important;
  background:var(--ic-menu-paper) !important;
  background-color:var(--ic-menu-paper) !important;
  color:var(--ic-menu-ink) !important;
  border:0 !important;
  border-bottom:1px solid rgba(21,21,21,.08) !important;
  box-shadow:none !important;
  transform:none !important;
  font-family:"Advent Pro",Arial,sans-serif !important;
}

html body header.nav.ic-unified-nav,
html body header.nav.ic-unified-nav *{
  box-sizing:border-box !important;
  color:var(--ic-menu-ink) !important;
  -webkit-text-fill-color:var(--ic-menu-ink) !important;
}

html body header.nav.ic-unified-nav .links{
  position:static !important;
  display:flex !important;
  align-items:center !important;
  width:auto !important;
  min-width:0 !important;
  height:auto !important;
  margin:0 !important;
  padding:0 !important;
  opacity:1 !important;
  visibility:visible !important;
  transform:none !important;
}

html body header.nav.ic-unified-nav .links-left{
  justify-self:start !important;
  justify-content:flex-start !important;
  gap:10px !important;
}

html body header.nav.ic-unified-nav .links-right{
  justify-self:end !important;
  justify-content:flex-end !important;
  gap:10px !important;
}

html body header.nav.ic-unified-nav .links-right>.pill{
  display:none !important;
}

html body header.nav.ic-unified-nav .menu-wrap{
  position:relative !important;
  z-index:2 !important;
  display:flex !important;
  align-items:center !important;
  gap:10px !important;
  width:auto !important;
  height:auto !important;
  margin:0 !important;
  padding:0 !important;
}

html body header.nav.ic-unified-nav .menu-toggle{
  appearance:none !important;
  position:static !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:10px !important;
  width:auto !important;
  min-width:100px !important;
  height:44px !important;
  min-height:44px !important;
  margin:0 !important;
  padding:0 16px !important;
  border:1px solid rgba(21,21,21,.38) !important;
  border-radius:999px !important;
  background:transparent !important;
  color:var(--ic-menu-ink) !important;
  font:400 12px/1 "Advent Pro",Arial,sans-serif !important;
  letter-spacing:.08em !important;
  text-transform:uppercase !important;
  cursor:pointer !important;
  opacity:1 !important;
  visibility:visible !important;
  transform:none !important;
  box-shadow:none !important;
  transition:background .45s var(--ic-menu-ease),color .3s ease,border-color .3s ease,transform .45s var(--ic-menu-ease) !important;
}

html body header.nav.ic-unified-nav .menu-toggle::before,
html body header.nav.ic-unified-nav .menu-toggle::after,
html body.menu-open header.nav.ic-unified-nav .menu-toggle::before,
html body.menu-open header.nav.ic-unified-nav .menu-toggle::after{
  content:none !important;
  display:none !important;
  opacity:0 !important;
}

html body header.nav.ic-unified-nav .menu-toggle:hover,
html body header.nav.ic-unified-nav .menu-toggle:focus-visible,
html body.menu-open header.nav.ic-unified-nav .menu-toggle,
html body header.nav.ic-unified-nav .menu-toggle[aria-expanded="true"]{
  background:var(--ic-menu-acid) !important;
  color:#050505 !important;
  -webkit-text-fill-color:#050505 !important;
  border-color:var(--ic-menu-acid) !important;
  transform:translateY(-1px) !important;
  outline:none !important;
}

html body header.nav.ic-unified-nav .menu-toggle:focus-visible{
  box-shadow:0 0 0 3px rgba(204,255,0,.32) !important;
}

html body header.nav.ic-unified-nav .menu-toggle>span{
  color:inherit !important;
  -webkit-text-fill-color:inherit !important;
}

html body header.nav.ic-unified-nav .menu-lines{
  position:relative !important;
  display:block !important;
  flex:0 0 14px !important;
  width:14px !important;
  height:14px !important;
  margin:0 !important;
  padding:0 !important;
  transform:none !important;
}

html body header.nav.ic-unified-nav .menu-lines::before,
html body header.nav.ic-unified-nav .menu-lines::after{
  content:"" !important;
  position:absolute !important;
  left:0 !important;
  top:50% !important;
  display:block !important;
  width:14px !important;
  height:1.5px !important;
  border-radius:999px !important;
  background:currentColor !important;
  opacity:1 !important;
  transition:transform .55s var(--ic-menu-ease) !important;
}

html body:not(.menu-open) header.nav.ic-unified-nav .menu-lines::before{
  transform:translateY(-3px) rotate(0deg) !important;
}

html body:not(.menu-open) header.nav.ic-unified-nav .menu-lines::after{
  transform:translateY(3px) rotate(0deg) !important;
}

html body.menu-open header.nav.ic-unified-nav .menu-lines::before,
html body header.nav.ic-unified-nav .menu-toggle[aria-expanded="true"] .menu-lines::before{
  transform:translateY(-50%) rotate(45deg) !important;
}

html body.menu-open header.nav.ic-unified-nav .menu-lines::after,
html body header.nav.ic-unified-nav .menu-toggle[aria-expanded="true"] .menu-lines::after{
  transform:translateY(-50%) rotate(-45deg) !important;
}

html body header.nav.ic-unified-nav .section-menu{
  position:absolute !important;
  top:calc(100% + 14px) !important;
  left:0 !important;
  right:auto !important;
  z-index:20 !important;
  display:grid !important;
  grid-template-columns:1fr !important;
  gap:6px !important;
  width:332px !important;
  min-width:332px !important;
  max-width:calc(100vw - 36px) !important;
  height:auto !important;
  max-height:calc(100dvh - 160px) !important;
  margin:0 !important;
  padding:12px !important;
  overflow:auto !important;
  border:1px solid rgba(21,21,21,.12) !important;
  border-radius:24px !important;
  background:linear-gradient(180deg,rgba(255,255,255,.985),rgba(246,246,246,.975)) !important;
  background-color:#fff !important;
  color:var(--ic-menu-ink) !important;
  box-shadow:0 28px 80px rgba(0,0,0,.18) !important;
  backdrop-filter:blur(22px) saturate(110%) !important;
  -webkit-backdrop-filter:blur(22px) saturate(110%) !important;
  opacity:0 !important;
  visibility:hidden !important;
  pointer-events:none !important;
  transform:translate3d(0,-10px,0) scale(.985) !important;
  transform-origin:top left !important;
  transition:opacity .32s ease,visibility .32s ease,transform .55s var(--ic-menu-ease) !important;
}

html body.menu-open header.nav.ic-unified-nav .section-menu{
  opacity:1 !important;
  visibility:visible !important;
  pointer-events:auto !important;
  transform:translate3d(0,0,0) scale(1) !important;
}

html body header.nav.ic-unified-nav .section-menu::before,
html body header.nav.ic-unified-nav .section-menu::after{
  content:none !important;
  display:none !important;
}

html body header.nav.ic-unified-nav .section-menu .pill{
  appearance:none !important;
  position:relative !important;
  display:flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
  width:100% !important;
  min-width:0 !important;
  min-height:54px !important;
  margin:0 !important;
  padding:0 18px !important;
  overflow:hidden !important;
  border:0 !important;
  border-radius:14px !important;
  background:transparent !important;
  color:var(--ic-menu-ink) !important;
  -webkit-text-fill-color:var(--ic-menu-ink) !important;
  font:400 15px/1 "Advent Pro",Arial,sans-serif !important;
  letter-spacing:.075em !important;
  text-align:left !important;
  text-transform:uppercase !important;
  text-decoration:none !important;
  opacity:1 !important;
  visibility:visible !important;
  transform:none !important;
  transition:background .45s var(--ic-menu-ease),color .3s ease,transform .45s var(--ic-menu-ease),padding .45s var(--ic-menu-ease) !important;
}

html body header.nav.ic-unified-nav .section-menu .pill,
html body header.nav.ic-unified-nav .section-menu .pill *,
html body.menu-open header.nav.ic-unified-nav .section-menu .pill,
html body.menu-open header.nav.ic-unified-nav .section-menu .pill *{
  color:var(--ic-menu-ink) !important;
  -webkit-text-fill-color:var(--ic-menu-ink) !important;
  opacity:1 !important;
}

html body header.nav.ic-unified-nav .section-menu .pill::before,
html body header.nav.ic-unified-nav .section-menu .pill::after{
  content:none !important;
  display:none !important;
}

html body header.nav.ic-unified-nav .section-menu .pill:hover,
html body header.nav.ic-unified-nav .section-menu .pill:focus-visible,
html body header.nav.ic-unified-nav .section-menu .pill:active,
html body header.nav.ic-unified-nav .section-menu .pill[aria-current="page"]{
  padding-left:22px !important;
  background:var(--ic-menu-acid) !important;
  color:#050505 !important;
  -webkit-text-fill-color:#050505 !important;
  transform:translateX(2px) !important;
  outline:none !important;
}

html body header.nav.ic-unified-nav .section-menu .pill:hover *,
html body header.nav.ic-unified-nav .section-menu .pill:focus-visible *,
html body header.nav.ic-unified-nav .section-menu .pill:active *,
html body header.nav.ic-unified-nav .section-menu .pill[aria-current="page"] *{
  color:#050505 !important;
  -webkit-text-fill-color:#050505 !important;
}

html body header.nav.ic-unified-nav .brand.navbar-brand-inline{
  position:static !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  justify-self:center !important;
  align-self:center !important;
  flex-direction:row !important;
  gap:18px !important;
  width:auto !important;
  min-width:0 !important;
  max-width:none !important;
  height:auto !important;
  min-height:0 !important;
  margin:0 !important;
  padding:0 !important;
  overflow:visible !important;
  color:var(--ic-menu-ink) !important;
  line-height:1 !important;
  text-decoration:none !important;
  transform:none !important;
}

html body header.nav.ic-unified-nav .brand.navbar-brand-inline .navbar-symbol-img{
  display:block !important;
  flex:0 0 100px !important;
  width:100px !important;
  min-width:100px !important;
  max-width:100px !important;
  height:100px !important;
  min-height:100px !important;
  max-height:100px !important;
  margin:0 !important;
  padding:0 !important;
  object-fit:contain !important;
  border:0 !important;
  background:transparent !important;
  filter:none !important;
  -webkit-filter:none !important;
  mix-blend-mode:normal !important;
  opacity:1 !important;
  visibility:visible !important;
  transform:none !important;
}

html body header.nav.ic-unified-nav .brand.navbar-brand-inline .navbar-wordmark{
  display:block !important;
  width:auto !important;
  min-width:0 !important;
  max-width:none !important;
  margin:0 !important;
  padding:0 !important;
  color:var(--ic-menu-ink) !important;
  -webkit-text-fill-color:var(--ic-menu-ink) !important;
  font:600 clamp(34px,4.1vw,62px)/1 "Space Grotesk",Arial,sans-serif !important;
  letter-spacing:-.07em !important;
  text-transform:none !important;
  white-space:nowrap !important;
}

html body header.nav.ic-unified-nav .ic-lang-switcher,
html body header.nav.ic-unified-nav .language-picker{
  position:static !important;
  display:inline-flex !important;
  align-items:center !important;
  gap:6px !important;
  width:auto !important;
  min-width:0 !important;
  height:auto !important;
  min-height:0 !important;
  margin:0 !important;
  padding:4px !important;
  border:1px solid rgba(21,21,21,.38) !important;
  border-radius:999px !important;
  background:transparent !important;
  color:var(--ic-menu-ink) !important;
  opacity:1 !important;
  visibility:visible !important;
  transform:none !important;
}

html body header.nav.ic-unified-nav .ic-lang-switcher button,
html body header.nav.ic-unified-nav .language-picker button{
  appearance:none !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:auto !important;
  min-width:0 !important;
  height:auto !important;
  min-height:0 !important;
  margin:0 !important;
  padding:7px 10px !important;
  border:0 !important;
  border-radius:999px !important;
  background:transparent !important;
  color:var(--ic-menu-ink) !important;
  -webkit-text-fill-color:var(--ic-menu-ink) !important;
  font:400 12px/1 "Advent Pro",Arial,sans-serif !important;
  letter-spacing:.08em !important;
  text-transform:uppercase !important;
  cursor:pointer !important;
  opacity:1 !important;
  visibility:visible !important;
}

html body header.nav.ic-unified-nav .ic-lang-switcher button:hover,
html body header.nav.ic-unified-nav .ic-lang-switcher button.is-active,
html body header.nav.ic-unified-nav .language-picker button:hover,
html body header.nav.ic-unified-nav .language-picker button[aria-pressed="true"]{
  background:var(--ic-menu-acid) !important;
  color:#050505 !important;
  -webkit-text-fill-color:#050505 !important;
}

html body header.nav.ic-unified-nav .news-tool-trigger{
  appearance:none !important;
  position:static !important;
  display:grid !important;
  place-items:center !important;
  flex:0 0 48px !important;
  width:48px !important;
  min-width:48px !important;
  max-width:48px !important;
  height:42px !important;
  min-height:42px !important;
  max-height:42px !important;
  margin:0 !important;
  padding:0 !important;
  overflow:hidden !important;
  border:1px solid rgba(21,21,21,.38) !important;
  border-radius:13px !important;
  background:transparent !important;
  color:var(--ic-menu-ink) !important;
  text-decoration:none !important;
  cursor:pointer !important;
  opacity:1 !important;
  visibility:visible !important;
  transform:none !important;
  transition:background .35s ease,color .25s ease,border-color .25s ease,transform .35s var(--ic-menu-ease) !important;
}

html body header.nav.ic-unified-nav .news-tool-trigger:hover,
html body header.nav.ic-unified-nav .news-tool-trigger:focus-visible,
html body.news-panel-open header.nav.ic-unified-nav .news-tool-trigger{
  background:var(--ic-menu-acid) !important;
  color:#050505 !important;
  -webkit-text-fill-color:#050505 !important;
  border-color:var(--ic-menu-acid) !important;
  transform:translateY(-1px) !important;
  outline:none !important;
}

html body header.nav.ic-unified-nav .news-tool-trigger>span{
  position:relative !important;
  display:block !important;
  width:26px !important;
  height:10px !important;
  margin:0 !important;
  padding:0 !important;
}

html body header.nav.ic-unified-nav .news-tool-trigger>span::before,
html body header.nav.ic-unified-nav .news-tool-trigger>span::after,
html body header.nav.ic-unified-nav .news-tool-trigger i::before{
  content:"" !important;
  position:absolute !important;
  top:50% !important;
  display:block !important;
  width:5px !important;
  height:5px !important;
  border-radius:50% !important;
  background:currentColor !important;
  opacity:.78 !important;
  transform:translateY(-50%) !important;
  animation:none !important;
}

html body header.nav.ic-unified-nav .news-tool-trigger>span::before{left:1px !important;}
html body header.nav.ic-unified-nav .news-tool-trigger i::before{left:10px !important;}
html body header.nav.ic-unified-nav .news-tool-trigger>span::after{left:19px !important;}
html body header.nav.ic-unified-nav .news-tool-trigger i,
html body header.nav.ic-unified-nav .news-tool-trigger i::after{
  display:block !important;
  width:0 !important;
  height:0 !important;
  background:transparent !important;
  box-shadow:none !important;
}

@media(max-width:900px){
  html body header.nav.ic-unified-nav{
    grid-template-columns:44px minmax(0,1fr) 44px !important;
    gap:10px !important;
    height:76px !important;
    min-height:76px !important;
    padding:10px 12px !important;
  }

  html body header.nav.ic-unified-nav .links-left{
    grid-column:1 !important;
    display:flex !important;
    justify-self:start !important;
    width:44px !important;
  }

  html body header.nav.ic-unified-nav .brand.navbar-brand-inline{
    grid-column:2 !important;
    justify-self:center !important;
    gap:7px !important;
    width:100% !important;
    height:44px !important;
    overflow:hidden !important;
  }

  html body header.nav.ic-unified-nav .brand.navbar-brand-inline .navbar-symbol-img{
    flex-basis:34px !important;
    width:34px !important;
    min-width:34px !important;
    max-width:34px !important;
    height:34px !important;
    min-height:34px !important;
    max-height:34px !important;
  }

  html body header.nav.ic-unified-nav .brand.navbar-brand-inline .navbar-wordmark{
    overflow:hidden !important;
    font-size:clamp(18px,5.1vw,26px) !important;
    letter-spacing:-.055em !important;
    text-overflow:clip !important;
  }

  html body header.nav.ic-unified-nav .links-right{
    grid-column:3 !important;
    justify-self:end !important;
    width:44px !important;
  }

  html body header.nav.ic-unified-nav .menu-toggle,
  html body header.nav.ic-unified-nav .news-tool-trigger{
    display:grid !important;
    place-items:center !important;
    width:44px !important;
    min-width:44px !important;
    max-width:44px !important;
    height:44px !important;
    min-height:44px !important;
    max-height:44px !important;
    padding:0 !important;
    border-radius:14px !important;
  }

  html body header.nav.ic-unified-nav .menu-toggle>span:not(.menu-lines){
    display:none !important;
  }

  html body header.nav.ic-unified-nav .section-menu{
    position:fixed !important;
    top:88px !important;
    left:12px !important;
    right:12px !important;
    width:auto !important;
    min-width:0 !important;
    max-width:none !important;
    max-height:calc(100dvh - 104px) !important;
    padding:10px !important;
    border-radius:20px !important;
  }

  html body header.nav.ic-unified-nav .section-menu .pill{
    min-height:50px !important;
    padding:0 15px !important;
  }

  html body header.nav.ic-unified-nav .ic-lang-switcher,
  html body header.nav.ic-unified-nav .language-picker{
    position:fixed !important;
    top:316px !important;
    left:22px !important;
    z-index:22 !important;
    background:#fff !important;
    opacity:0 !important;
    visibility:hidden !important;
    pointer-events:none !important;
  }

  html body.menu-open header.nav.ic-unified-nav .ic-lang-switcher,
  html body.menu-open header.nav.ic-unified-nav .language-picker{
    opacity:1 !important;
    visibility:visible !important;
    pointer-events:auto !important;
  }
}

@media(max-width:420px){
  html body header.nav.ic-unified-nav .brand.navbar-brand-inline .navbar-wordmark{
    font-size:18px !important;
  }
}

@media(prefers-reduced-motion:reduce){
  html body header.nav.ic-unified-nav .menu-toggle,
  html body header.nav.ic-unified-nav .section-menu,
  html body header.nav.ic-unified-nav .section-menu .pill,
  html body header.nav.ic-unified-nav .news-tool-trigger{
    transition:none !important;
  }
}

/* La première entrée restait blanche sur certaines anciennes feuilles de style. */
html body header.nav.ic-unified-nav nav.section-menu>a.pill:first-child,
html body header.nav.ic-unified-nav nav.section-menu>a.pill:first-child *{
  color:var(--ic-menu-ink) !important;
  -webkit-text-fill-color:var(--ic-menu-ink) !important;
}


/* --- assets/heading-accessibility.css --- */
.a11y-section-heading {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  clip-path: inset(50%) !important;
  white-space: nowrap !important;
  border: 0 !important;
}


/* --- assets/news-panel-articles.css --- */
/* Innovate Community — articles complets dans la fenêtre Actualités */

/* Cartes et états de base */
html body .news-tool-panel .news-card[data-news-article]{
  width:100%;
  color:inherit;
  text-align:left;
  cursor:pointer;
}
html body .news-tool-panel .news-card[data-news-article]:focus-visible{
  outline:2px solid #ccff00 !important;
  outline-offset:-3px;
}
html body .news-tool-panel .news-card[hidden]{display:none !important;}

/* Défilement stable et transitions plus douces */
html body .news-tool-panel{
  scroll-behavior:smooth;
  scrollbar-gutter:stable;
  overscroll-behavior:contain;
  transition:
    opacity .28s ease,
    transform .38s cubic-bezier(.16,1,.3,1),
    border-color .24s ease !important;
}
html body .news-tool-panel::-webkit-scrollbar{width:10px;}
html body .news-tool-panel::-webkit-scrollbar-track{background:transparent;}
html body .news-tool-panel::-webkit-scrollbar-thumb{
  border:3px solid transparent;
  border-radius:999px;
  background:rgba(255,255,255,.25);
  background-clip:padding-box;
}
html body .news-tool-panel.is-reading::-webkit-scrollbar-thumb{background:rgba(21,21,21,.28);background-clip:padding-box;}

/* La lecture passe explicitement sur un fond clair, même sur l'index dont
   les styles globaux forcent normalement tous les <article> en noir. */
html body .news-tool-panel.is-reading,
html body .news-tool-panel.is-reading .news-tool-inner,
html body .news-tool-panel.is-reading .news-article-view,
html body .news-tool-panel.is-reading article.news-article-view{
  background:#f6f2eb !important;
  background-color:#f6f2eb !important;
  color:#151515 !important;
}
html body .news-tool-panel.is-reading{
  border-color:rgba(21,21,21,.18) !important;
  box-shadow:0 34px 120px rgba(0,0,0,.48) !important;

  /* Certaines pages, notamment what-we-build.html, appliquent ensuite
     overflow:hidden au panneau de liste. La vue article doit toujours
     rester son propre conteneur de défilement. */
  overflow-x:hidden !important;
  overflow-y:auto !important;
  -webkit-overflow-scrolling:touch;
  scroll-behavior:smooth;
}
html body .news-tool-panel.is-reading .news-tool-inner{
  min-height:100% !important;
}

/* Bouton de fermeture toujours visible pendant le défilement */
html body .news-tool-panel .news-tool-close{
  position:sticky !important;
  top:12px !important;
  z-index:80 !important;
  float:right;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  margin:12px 12px -58px 0 !important;
  width:44px !important;
  height:44px !important;
  border-radius:999px !important;
  background:rgba(255,255,255,.09) !important;
  border:1px solid rgba(255,255,255,.20) !important;
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
  box-shadow:0 8px 28px rgba(0,0,0,.18) !important;
}
html body .news-tool-panel .news-tool-close:hover,
html body .news-tool-panel .news-tool-close:focus-visible{
  background:#ccff00 !important;
  border-color:#ccff00 !important;
  color:#050505 !important;
  -webkit-text-fill-color:#050505 !important;
}
html body .news-tool-panel.is-reading .news-tool-close{
  background:rgba(21,21,21,.07) !important;
  border-color:rgba(21,21,21,.18) !important;
  color:#151515 !important;
  -webkit-text-fill-color:#151515 !important;
}
html body .news-tool-panel.is-reading .news-tool-close:hover,
html body .news-tool-panel.is-reading .news-tool-close:focus-visible{
  background:#ccff00 !important;
  border-color:#ccff00 !important;
  color:#050505 !important;
  -webkit-text-fill-color:#050505 !important;
}

/* Vues liste / article */
html body .news-tool-panel .news-article-view{
  --news-article-pad-x:clamp(22px,4vw,46px);
  display:none;
  position:relative;
  min-height:100%;
  padding:0 var(--news-article-pad-x) 48px !important;
  background:#f6f2eb !important;
  background-color:#f6f2eb !important;
  color:#151515 !important;
}
html body .news-tool-panel.is-reading .news-article-view{display:block !important;}
html body .news-tool-panel.is-reading .news-tool-left,
html body .news-tool-panel.is-reading .news-tool-grid,
html body .news-tool-panel.is-reading .news-spotify,
html body .news-tool-panel.is-reading .news-tool-all{display:none !important;}

/* Barre de navigation de l'article */
html body .news-article-toolbar{
  position:sticky !important;
  top:0;
  z-index:50;
  display:flex !important;
  align-items:center !important;
  min-height:70px;
  margin:0 calc(var(--news-article-pad-x) * -1) 28px !important;
  padding:12px 72px 12px var(--news-article-pad-x) !important;
  border-bottom:1px solid rgba(21,21,21,.14) !important;
  background:rgba(246,242,235,.96) !important;
  color:#151515 !important;
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
}
html body .news-article-progress{
  position:absolute;
  left:0;
  right:0;
  bottom:-1px;
  height:2px;
  overflow:hidden;
  background:rgba(21,21,21,.08) !important;
}
html body .news-article-progress > span{
  display:block !important;
  width:100%;
  height:100%;
  background:#d9ff00 !important;
  transform:scaleX(var(--news-article-progress,0));
  transform-origin:left center;
  transition:transform .08s linear;
}

html body .news-article-back{
  appearance:none;
  display:inline-flex !important;
  align-items:center !important;
  min-height:42px;
  margin:0;
  padding:0;
  border:0 !important;
  border-bottom:1px solid rgba(21,21,21,.35) !important;
  border-radius:0 !important;
  background:transparent !important;
  color:#151515 !important;
  -webkit-text-fill-color:#151515 !important;
  font-family:"Space Grotesk",Arial,sans-serif !important;
  font-size:13px !important;
  font-weight:600 !important;
  letter-spacing:.04em !important;
  cursor:pointer;
  transition:color .18s ease,border-color .18s ease,transform .18s ease;
}
html body .news-article-back:hover{
  border-bottom-color:#d9ff00 !important;
  color:#d9ff00 !important;
  -webkit-text-fill-color:#d9ff00 !important;
  transform:translateX(-3px);
}
html body .news-article-back:focus-visible{outline:2px solid #d9ff00 !important;outline-offset:5px;}

/* Typographie de lecture : sélecteurs volontairement très spécifiques pour
   résister aux règles globales de la page d'accueil. */
html body .news-tool-panel.is-reading .news-article-category{
  display:block !important;
  margin:0 0 12px !important;
  color:#151515 !important;
  -webkit-text-fill-color:#151515 !important;
  font-family:"Space Grotesk",Arial,sans-serif !important;
  font-size:11px !important;
  font-weight:700 !important;
  letter-spacing:.14em !important;
  text-transform:uppercase;
  text-shadow:none !important;
  filter:none !important;
  opacity:1 !important;
}
html body .news-tool-panel.is-reading .news-article-view h2{
  margin:0 !important;
  max-width:18ch;
  color:#151515 !important;
  -webkit-text-fill-color:#151515 !important;
  font-family:"Space Grotesk",Arial,sans-serif !important;
  font-size:clamp(31px,4vw,52px) !important;
  font-weight:600 !important;
  line-height:.98 !important;
  letter-spacing:-.055em !important;
  text-shadow:none !important;
}
html body .news-tool-panel.is-reading .news-article-dek{
  margin:22px 0 0 !important;
  max-width:43rem;
  color:rgba(21,21,21,.72) !important;
  -webkit-text-fill-color:rgba(21,21,21,.72) !important;
  font-family:"Space Grotesk",Arial,sans-serif !important;
  font-size:clamp(17px,2vw,21px) !important;
  line-height:1.35 !important;
  letter-spacing:-.02em !important;
}
html body .news-tool-panel.is-reading .news-article-meta{
  display:flex !important;
  flex-wrap:wrap;
  gap:8px 18px;
  margin:24px 0 34px !important;
  padding:14px 0 !important;
  border-top:1px solid rgba(21,21,21,.14) !important;
  border-bottom:1px solid rgba(21,21,21,.14) !important;
  color:rgba(21,21,21,.62) !important;
  -webkit-text-fill-color:rgba(21,21,21,.62) !important;
  font-family:"Space Grotesk",Arial,sans-serif !important;
  font-size:12px !important;
  letter-spacing:.08em !important;
  text-transform:uppercase;
}
html body .news-tool-panel.is-reading .news-article-meta span{
  color:inherit !important;
  -webkit-text-fill-color:inherit !important;
}
html body .news-tool-panel.is-reading .news-article-body{max-width:46rem;}
html body .news-tool-panel.is-reading .news-article-body p,
html body .news-tool-panel.is-reading .news-article-body li{
  color:#252525 !important;
  -webkit-text-fill-color:#252525 !important;
  font-family:"Space Grotesk",Arial,sans-serif !important;
  font-size:16px !important;
  line-height:1.68 !important;
  letter-spacing:-.012em !important;
  opacity:1 !important;
}
html body .news-tool-panel.is-reading .news-article-body p{margin:0 0 22px !important;}
html body .news-tool-panel.is-reading .news-article-body h3{
  margin:42px 0 16px !important;
  color:#151515 !important;
  -webkit-text-fill-color:#151515 !important;
  font-family:"Space Grotesk",Arial,sans-serif !important;
  font-size:clamp(23px,2.5vw,31px) !important;
  font-weight:600 !important;
  line-height:1.08 !important;
  letter-spacing:-.04em !important;
}
html body .news-tool-panel.is-reading .news-article-body ul,
html body .news-tool-panel.is-reading .news-article-body ol{
  margin:0 0 24px 1.25rem !important;
  padding:0 !important;
}
html body .news-tool-panel.is-reading .news-article-body li{margin:0 0 10px !important;padding-left:4px;}
html body .news-tool-panel.is-reading .news-article-body strong{
  color:#151515 !important;
  -webkit-text-fill-color:#151515 !important;
  font-weight:700 !important;
}
html body .news-tool-panel.is-reading .news-article-body blockquote{
  margin:34px 0 !important;
  padding:22px 24px !important;
  border-left:4px solid #d9ff00 !important;
  background:#ebe5dc !important;
  color:#151515 !important;
  -webkit-text-fill-color:#151515 !important;
  font-family:"Space Grotesk",Arial,sans-serif !important;
  font-size:clamp(19px,2vw,24px) !important;
  line-height:1.35 !important;
  letter-spacing:-.025em !important;
}
html body .news-tool-panel.is-reading .news-article-end{
  margin-top:40px !important;
  padding-top:22px !important;
  border-top:1px solid rgba(21,21,21,.14) !important;
}
html body .news-tool-panel.is-reading .news-article-end .news-article-back{margin-bottom:0 !important;}

/* Animations internes : la fenêtre reste ouverte pendant le changement de vue. */
@keyframes icNewsArticleIn{
  from{opacity:0;transform:translate3d(18px,0,0)}
  to{opacity:1;transform:translate3d(0,0,0)}
}
@keyframes icNewsArticleOut{
  from{opacity:1;transform:translate3d(0,0,0)}
  to{opacity:0;transform:translate3d(16px,0,0)}
}
@keyframes icNewsListIn{
  from{opacity:0;transform:translate3d(-12px,0,0)}
  to{opacity:1;transform:translate3d(0,0,0)}
}
html body .news-tool-panel.is-reading:not(.is-article-leaving) .news-article-view{
  animation:icNewsArticleIn .32s cubic-bezier(.16,1,.3,1) both;
}
html body .news-tool-panel.is-article-leaving .news-article-view{
  animation:icNewsArticleOut .17s ease both;
}
html body .news-tool-panel.is-returning .news-tool-left,
html body .news-tool-panel.is-returning .news-tool-grid,
html body .news-tool-panel.is-returning .news-spotify,
html body .news-tool-panel.is-returning .news-tool-all{
  animation:icNewsListIn .3s cubic-bezier(.16,1,.3,1) both;
}

@media (min-width:901px){
  html body .news-tool-panel.is-reading{
    width:min(760px,calc(100vw - 96px)) !important;
    max-height:calc(100dvh - 136px) !important;
  }
}

@media (max-width:900px){
  html body .news-tool-panel .news-article-view{
    --news-article-pad-x:20px;
    padding-bottom:38px !important;
  }
  html body .news-article-toolbar{
    min-height:64px;
    margin-bottom:24px !important;
    padding-right:66px !important;
  }
  html body .news-tool-panel.is-reading .news-article-view h2{font-size:clamp(28px,8vw,42px) !important;}
  html body .news-tool-panel.is-reading .news-article-body p,
  html body .news-tool-panel.is-reading .news-article-body li{font-size:15.5px !important;line-height:1.62 !important;}
}

@media (prefers-reduced-motion:reduce){
  html body .news-tool-panel,
  html body .news-tool-panel *{
    scroll-behavior:auto !important;
    animation:none !important;
    transition:none !important;
  }
}

/* Step 15: inactive third-party audio/Spotify controls are not exposed. */
.news-play,.news-spotify{display:none!important}

/* Teaser du livre — repère visuel dans Dernières nouvelles */
html body .news-tool-panel .news-thumb--book{
  position:relative;
  background:linear-gradient(145deg,#f6f2eb 0 48%,#9d1000 48% 54%,#151515 54% 100%) !important;
  border:1px solid rgba(246,242,235,.25);
}
html body .news-tool-panel .news-thumb--book::after{
  content:'2003 → IA';
  position:absolute;
  left:8px;
  right:8px;
  bottom:9px;
  color:#f6f2eb;
  font-family:'Space Grotesk',Arial,sans-serif;
  font-size:9px;
  font-weight:700;
  letter-spacing:.08em;
  text-align:center;
}


/* --- assets/mobile-interactions-final.css --- */
/* Stage 41 — final mobile interaction and touch audit */
@media (max-width:920px), (hover:none) and (pointer:coarse){
  html{max-width:100%;overflow-x:clip!important;-webkit-text-size-adjust:100%;}
  body{max-width:100%;min-width:0;overflow-x:clip!important;}
  img,video,picture,svg{max-width:100%;}
  a,button,[role="button"],summary,input,select,textarea{touch-action:manipulation;}

  /* Custom pointers are desktop-only. Native touch feedback stays visible. */
  #fluo-cursor,.fluo-cursor,.custom-cursor,.project-cursor,.project-cursor-ring,
  .project-cursor-core,.cursor,.cursor-ring,.cursor-dot,.ic-fluo-cursor-final,
  .ic-cursor-ring,.ic-cursor-glow{display:none!important;opacity:0!important;visibility:hidden!important;pointer-events:none!important;}
  html,body,body *{cursor:auto!important;}

  /* Side panels: remove animated residual offsets and keep every line readable. */
  .history-panel{
    position:fixed!important;top:0!important;bottom:0!important;left:0!important;right:auto!important;
    width:100vw!important;max-width:100vw!important;height:100dvh!important;min-height:100dvh!important;
    margin:0!important;box-sizing:border-box!important;overflow-x:hidden!important;overflow-y:auto!important;
    overscroll-behavior:contain;-webkit-overflow-scrolling:touch;
  }
  body:not(.history-open) .history-panel{transform:translate3d(100%,0,0)!important;visibility:hidden!important;pointer-events:none!important;}
  body.history-open .history-panel{transform:translate3d(0,0,0)!important;visibility:visible!important;pointer-events:auto!important;}
  .history-panel-header,.history-content,.history-body,.history-text,.service-detail-body,
  .service-detail-section,.service-detail-copy{min-width:0!important;max-width:100%!important;box-sizing:border-box!important;}
  .history-content{padding-left:20px!important;padding-right:20px!important;}
  .history-panel-header{padding-left:18px!important;padding-right:18px!important;}
  .history-close,[data-panel-close]{min-width:44px!important;min-height:44px!important;}
  .service-detail-copy p,.history-body p,.history-lead{overflow-wrap:anywhere;word-break:normal;}

  /* Menus and news panels remain scrollable inside small and landscape screens. */
  .section-menu,#section-menu,.news-tool-panel{
    max-width:calc(100vw - 24px)!important;max-height:calc(100dvh - 92px)!important;
    overflow:auto!important;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;
  }
  [data-menu-toggle],[data-news-open],[data-news-close],.ic-lang-switcher button,.lang button{
    min-width:44px;min-height:44px;
  }
  .floating-talk{bottom:calc(14px + env(safe-area-inset-bottom))!important;max-width:calc(100vw - 28px)!important;}
}
@media (max-width:920px) and (orientation:landscape) and (max-height:520px){
  .history-content{padding-top:28px!important;padding-bottom:40px!important;}
  .history-panel-header{position:sticky!important;top:0!important;}
  .section-menu,#section-menu,.news-tool-panel{max-height:calc(100dvh - 20px)!important;}
}


/* --- assets/stage43-final-polish.css --- */
/* Innovate Community — Étape 43 verified visible finishing pass */

/* 1 — One consistent “Parlons-en” button everywhere. */
html body a.floating-talk,
html body .floating-talk {
  position:fixed !important; right:clamp(18px,3vw,46px) !important;
  bottom:clamp(18px,3vw,38px) !important; left:auto !important; top:auto !important;
  z-index:2147483000 !important; display:inline-flex !important; align-items:center !important;
  justify-content:center !important; gap:10px !important; width:auto !important;
  min-width:0 !important; max-width:calc(100vw - 36px) !important; min-height:60px !important;
  padding:16px 25px !important; border:1px solid rgba(17,17,17,.48) !important;
  border-radius:999px !important; background:#f6f2eb !important; color:#111 !important;
  font-family:"Space Grotesk",Arial,sans-serif !important; font-size:18px !important;
  font-weight:500 !important; line-height:1 !important; letter-spacing:-.025em !important;
  text-transform:none !important; text-decoration:none !important; white-space:nowrap !important;
  box-shadow:0 14px 36px rgba(0,0,0,.22) !important; filter:none !important;
  mix-blend-mode:normal !important; backdrop-filter:none !important; opacity:1 !important;
}
html body .floating-talk *, html body .floating-talk .talk-smile {color:#111 !important; text-shadow:none !important; filter:none !important;}
html body .floating-talk .talk-smile {display:inline-grid !important; place-items:center !important; width:25px !important; height:25px !important; border:1px solid currentColor !important; border-radius:50% !important; font-size:13px !important;}
html body .floating-talk:hover, html body .floating-talk:focus-visible {background:#111 !important; color:#ccff00 !important; border-color:#111 !important; transform:translateY(-3px) !important;}
html body .floating-talk:hover *, html body .floating-talk:focus-visible * {color:#ccff00 !important;}

/* 2 — News panel: keep the dark overlay readable.
   The previous pass made all list-view text dark, which became invisible on
   the dark glass panel. We only keep dark text for the light reading view. */
html body .news-tool-panel:not(.is-reading) .news-tool-kicker,
html body .news-tool-panel:not(.is-reading) .news-tool-kicker *,
html body .news-tool-panel:not(.is-reading) .news-tool-title,
html body .news-tool-panel:not(.is-reading) .news-tool-title *,
html body .news-tool-panel:not(.is-reading) .news-tool-tabs button,
html body .news-tool-panel:not(.is-reading) .news-tool-tabs button *,
html body .news-tool-panel:not(.is-reading) .news-tool-meta,
html body .news-tool-panel:not(.is-reading) .news-tool-meta *,
html body .news-tool-panel:not(.is-reading) .news-card h3,
html body .news-tool-panel:not(.is-reading) .news-card h3 * {
  color:#f5f3ee !important;
  -webkit-text-fill-color:#f5f3ee !important;
  opacity:1 !important;
  text-shadow:none !important;
  filter:none !important;
  -webkit-filter:none !important;
  mix-blend-mode:normal !important;
}
html body .news-tool-panel:not(.is-reading) .news-card p,
html body .news-tool-panel:not(.is-reading) .news-card p *,
html body .news-tool-panel:not(.is-reading) .news-tool-meta,
html body .news-tool-panel:not(.is-reading) .news-tool-meta *{
  color:rgba(245,243,238,.72) !important;
  -webkit-text-fill-color:rgba(245,243,238,.72) !important;
  opacity:1 !important;
}
html body .news-tool-panel:not(.is-reading) .news-card small,
html body .news-tool-panel:not(.is-reading) .news-card small *,
html body .news-tool-panel:not(.is-reading) .news-tool-kicker span{
  color:#ccff00 !important;
  -webkit-text-fill-color:#ccff00 !important;
  opacity:1 !important;
  text-shadow:none !important;
  filter:none !important;
}
html body .news-tool-panel:not(.is-reading) .news-tool-title{max-width:16ch !important;}

/* On the light article view, keep editorial micro-headings crisp and dark. */
html body .news-tool-panel.is-reading .news-tool-kicker,
html body .news-tool-panel.is-reading .news-tool-kicker *,
html body .news-tool-panel.is-reading .news-tool-title,
html body .news-tool-panel.is-reading .news-tool-title *,
html body .news-tool-panel.is-reading .news-card h3,
html body .news-tool-panel.is-reading .news-card h3 * {
  color:#111 !important;
  -webkit-text-fill-color:#111 !important;
  opacity:1 !important;
  text-shadow:none !important;
  filter:none !important;
  -webkit-filter:none !important;
  mix-blend-mode:normal !important;
}
html body .news-tool-panel.is-reading .news-card p,
html body .news-tool-panel.is-reading .news-card small {
  color:#353535 !important;
  -webkit-text-fill-color:#353535 !important;
  opacity:1 !important;
}

/* 3 — Full professional content on all five individual service pages. */
html body.page-service .service-expanded {display:block !important; position:relative !important; z-index:3 !important; width:100% !important; padding:clamp(82px,9vw,148px) clamp(22px,6vw,96px) !important; background:#f6f2eb !important; color:#111 !important; overflow:visible !important;}
html body.page-service .service-expanded, html body.page-service .service-expanded * {color:#111 !important; opacity:1 !important; text-shadow:none !important; filter:none !important; mix-blend-mode:normal !important;}
html body.page-service .service-expanded-inner {width:min(1180px,100%) !important; margin:0 auto !important;}
html body.page-service .service-expanded-kicker {margin:0 0 22px !important; font-family:"Space Grotesk",Arial,sans-serif !important; font-size:12px !important; font-weight:700 !important; letter-spacing:.16em !important; text-transform:uppercase !important;}
html body.page-service .service-expanded-title {max-width:980px !important; margin:0 0 30px !important; font-family:"Space Grotesk",Arial,sans-serif !important; font-size:clamp(42px,6vw,92px) !important; font-weight:500 !important; line-height:.98 !important; letter-spacing:-.055em !important;}
html body.page-service .service-expanded-lead {max-width:850px !important; margin:0 0 clamp(66px,8vw,112px) !important; font-family:"Advent Pro",Arial,sans-serif !important; font-size:clamp(22px,1.8vw,29px) !important; line-height:1.42 !important; letter-spacing:0 !important;}
html body.page-service .service-detail-section {display:grid !important; grid-template-columns:minmax(150px,230px) minmax(0,1fr) !important; gap:clamp(30px,6vw,86px) !important; padding:clamp(46px,5vw,76px) 0 !important; border-top:1px solid rgba(17,17,17,.24) !important; background:transparent !important; min-height:0 !important;}
html body.page-service .service-detail-kicker {font-family:"Space Grotesk",Arial,sans-serif !important; font-size:12px !important; font-weight:700 !important; line-height:1.25 !important; letter-spacing:.14em !important; text-transform:uppercase !important;}
html body.page-service .service-detail-copy {max-width:830px !important;}
html body.page-service .service-detail-copy h3 {margin:0 0 24px !important; font-family:"Space Grotesk",Arial,sans-serif !important; font-size:clamp(31px,3.4vw,54px) !important; font-weight:500 !important; line-height:1.04 !important; letter-spacing:-.045em !important;}
html body.page-service .service-detail-copy p, html body.page-service .service-detail-copy li {font-family:"Advent Pro",Arial,sans-serif !important; font-size:clamp(19px,1.45vw,24px) !important; line-height:1.48 !important; letter-spacing:0 !important;}
html body.page-service .service-detail-copy p {margin:0 0 24px !important;}
html body.page-service .service-detail-list {list-style:none !important; margin:30px 0 0 !important; padding:0 !important; display:grid !important; gap:14px !important;}
html body.page-service .service-detail-list li {position:relative !important; padding-left:26px !important;}
html body.page-service .service-detail-list li::before {content:"" !important; position:absolute !important; left:0 !important; top:.67em !important; width:8px !important; height:8px !important; border-radius:50% !important; background:#ccff00 !important; border:1px solid #111 !important;}

/* Footer on services: same light editorial footer as the homepage. */
html body.page-service footer.footer-redesign {--footer-bg:#f6f2eb !important; --footer-fg:#111 !important; --footer-line:rgba(17,17,17,.22) !important; --footer-hover:#9d1000 !important; --footer-logo-filter:contrast(1.12) brightness(.92) !important; background:#f6f2eb !important; color:#111 !important;}

/* 4 — Correct homepage logo on privacy, legal notice and cookies pages. */
html body.page-legal .site-header .brand.navbar-brand-inline {display:inline-flex !important; align-items:center !important; gap:13px !important; color:#111 !important; text-decoration:none !important; white-space:nowrap !important;}
html body.page-legal .site-header .navbar-symbol-img {display:block !important; width:58px !important; height:50px !important; object-fit:contain !important; filter:none !important;}
html body.page-legal .site-header .navbar-wordmark {font-family:"Space Grotesk",Arial,sans-serif !important; font-size:clamp(22px,2vw,32px) !important; font-weight:600 !important; line-height:1 !important; letter-spacing:-.055em !important;}

/* 5 — About page: a more open header and title composition. */
html body.page-about header.nav {min-height:124px !important; padding:22px clamp(22px,3vw,52px) !important;}
html body.page-about section#top.about-hero-premium {min-height:calc(100vh - 124px) !important; padding:clamp(86px,9vw,150px) clamp(28px,6vw,94px) clamp(82px,8vw,132px) !important; column-gap:clamp(64px,8vw,132px) !important; row-gap:clamp(56px,7vw,102px) !important; align-items:center !important;}
html body.page-about .about-hero-copy {max-width:820px !important; padding:0 !important;}
html body.page-about .about-hero-kicker {margin:0 0 clamp(28px,3vw,44px) !important; font-family:"Space Grotesk",Arial,sans-serif !important; font-size:12px !important; font-weight:700 !important; line-height:1.2 !important; letter-spacing:.16em !important; text-transform:uppercase !important;}
html body.page-about .about-hero-premium h1 {max-width:920px !important; margin:0 0 clamp(42px,5vw,76px) !important; font-family:"Space Grotesk",Arial,sans-serif !important; font-size:clamp(58px,8vw,122px) !important; font-weight:500 !important; line-height:.94 !important; letter-spacing:-.06em !important; text-wrap:balance !important;}
html body.page-about .about-hero-statement {max-width:740px !important; margin:0 0 28px !important; font-size:clamp(24px,2.15vw,37px) !important; line-height:1.3 !important; letter-spacing:-.02em !important;}
html body.page-about .about-hero-signature {margin:0 !important; font-size:clamp(17px,1.3vw,21px) !important; line-height:1.35 !important;}
html body.page-about .about-hero-visual {margin:0 !important; align-self:center !important;}
html body.page-about .about-hero-jump {margin-top:clamp(42px,5vw,74px) !important; padding-top:24px !important; gap:clamp(14px,2vw,30px) !important;}

/* 7 — Process typography: no intersecting letters, improved reading rhythm. */
html body.page-process .process-v2-copy strong,
html body.page-process .process-v2-panel h1 {font-family:"Space Grotesk",Arial,sans-serif !important; font-weight:500 !important; font-kerning:normal !important; font-variant-ligatures:none !important; font-feature-settings:"liga" 0,"kern" 1 !important; text-rendering:geometricPrecision !important;}
html body.page-process .process-v2-copy strong {display:block !important; font-size:clamp(25px,2.05vw,36px) !important; line-height:1.12 !important; letter-spacing:-.025em !important; word-spacing:.02em !important;}
html body.page-process .process-v2-copy small,
html body.page-process .process-v2-detail-copy,
html body.page-process .process-v2-detail-copy *,
html body.page-process .process-v2-deliverables,
html body.page-process .process-v2-deliverables * {font-family:"Advent Pro",Arial,sans-serif !important; font-kerning:normal !important; font-variant-ligatures:none !important; font-feature-settings:"liga" 0,"kern" 1 !important; letter-spacing:.01em !important; text-rendering:geometricPrecision !important;}
html body.page-process .process-v2-copy small {display:block !important; margin-top:11px !important; font-size:clamp(17px,1.2vw,21px) !important; line-height:1.46 !important;}
html body.page-process .process-v2-panel h1 {font-size:clamp(56px,5.8vw,92px) !important; line-height:1 !important; letter-spacing:-.035em !important; margin-bottom:27px !important;}
html body.page-process .process-v2-panel-kicker {font-family:"Space Grotesk",Arial,sans-serif !important; font-size:12px !important; font-weight:700 !important; line-height:1.35 !important; letter-spacing:.15em !important;}
html body.page-process .process-v2-detail-copy p, html body.page-process .process-v2-detail-copy li {font-size:clamp(18px,1.3vw,23px) !important; line-height:1.52 !important;}
html body.page-process .process-v2-step {min-height:132px !important; padding-top:27px !important; padding-bottom:27px !important;}

@media(max-width:760px),(hover:none),(pointer:coarse){
 html body .floating-talk {right:16px !important; bottom:16px !important; min-height:52px !important; padding:13px 18px !important; font-size:16px !important; transform:none !important;}
 html body.page-service .service-detail-section {grid-template-columns:1fr !important; gap:20px !important;}
 html body.page-service .service-expanded-title {font-size:clamp(40px,13vw,68px) !important;}
 html body.page-legal .site-header .navbar-symbol-img {width:44px !important; height:39px !important;}
 html body.page-legal .site-header .navbar-wordmark {font-size:21px !important;}
 html body.page-about header.nav {min-height:100px !important;}
 html body.page-about section#top.about-hero-premium {min-height:auto !important; padding:64px 20px 72px !important;}
 html body.page-about .about-hero-premium h1 {font-size:clamp(50px,15vw,82px) !important;}
 html body.page-process .process-v2-copy strong {font-size:26px !important; line-height:1.14 !important;}
 html body.page-process .process-v2-panel h1 {font-size:clamp(48px,14vw,70px) !important;}
}


/* --- assets/shared/cleanup/service-news-reader-title.css --- */
/* Étape 50 — correction strictement limitée à la vue de lecture des articles. */
html body .news-tool-panel.is-reading .news-article-category,
html body .news-tool-panel.is-reading .news-article-category *,
html body .news-tool-panel.is-reading .news-article-view h2,
html body .news-tool-panel.is-reading .news-article-view h2 *{
  color:#111111 !important;
  -webkit-text-fill-color:#111111 !important;
  opacity:1 !important;
  text-shadow:none !important;
  filter:none !important;
  -webkit-filter:none !important;
  mix-blend-mode:normal !important;
}


/* --- assets/talk-button-v3.css --- */
/* Innovate Community — bouton Parlons-en uniforme, étape 62 — smiley visuellement agrandi */
html body a.ic-talk-button{
  --ic-talk-rest-bg:rgba(255,255,255,.08);
  --ic-talk-rest-color:#111;
  --ic-talk-rest-border:rgba(17,17,17,.35);
  --ic-talk-hover-bg:#111;
  --ic-talk-hover-color:#f6f2eb;
  --ic-talk-hover-border:#111;
  position:fixed !important;
  right:34px !important;
  bottom:28px !important;
  left:auto !important;
  top:auto !important;
  z-index:2147482000 !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:12px !important;
  min-width:172px !important;
  width:auto !important;
  max-width:calc(100vw - 36px) !important;
  height:56px !important;
  min-height:56px !important;
  padding:0 16px 0 20px !important;
  box-sizing:border-box !important;
  border:1px solid var(--ic-talk-rest-border) !important;
  border-radius:999px !important;
  background:var(--ic-talk-rest-bg) !important;
  color:var(--ic-talk-rest-color) !important;
  box-shadow:0 10px 28px rgba(0,0,0,.08) !important;
  -webkit-backdrop-filter:blur(9px) saturate(110%) !important;
  backdrop-filter:blur(9px) saturate(110%) !important;
  font-family:"Space Grotesk",Arial,sans-serif !important;
  font-size:15px !important;
  font-weight:500 !important;
  line-height:1 !important;
  letter-spacing:-.02em !important;
  text-transform:none !important;
  text-decoration:none !important;
  white-space:nowrap !important;
  opacity:0 !important;
  visibility:hidden !important;
  pointer-events:none !important;
  transform:translate3d(0,14px,0) !important;
  transition:opacity .24s ease,visibility .24s ease,transform .24s ease,background-color .22s ease,color .22s ease,border-color .22s ease,box-shadow .22s ease !important;
}
html body a.ic-talk-button .ic-talk-button__label{
  display:inline-block !important;
  color:inherit !important;
  -webkit-text-fill-color:currentColor !important;
  font:inherit !important;
  letter-spacing:inherit !important;
  opacity:1 !important;
}
html body a.ic-talk-button .ic-talk-button__icon{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:20px !important;
  height:20px !important;
  min-width:20px !important;
  min-height:20px !important;
  flex:0 0 20px !important;
  padding:0 !important;
  margin:0 !important;
  border:0 !important;
  border-radius:0 !important;
  outline:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  filter:none !important;
  color:inherit !important;
  -webkit-text-fill-color:currentColor !important;
  font-family:Arial,"Segoe UI Symbol",sans-serif !important;
  font-size:20px !important;
  font-weight:400 !important;
  line-height:20px !important;
  text-align:center !important;
  opacity:.92 !important;
  transform:translateY(-.5px) scale(1.06) !important;
  transform-origin:center !important;
}
html body a.ic-talk-button.is-visible{
  opacity:1 !important;
  visibility:visible !important;
  pointer-events:auto !important;
  transform:translate3d(0,0,0) !important;
}
html body a.ic-talk-button.is-visible:hover,
html body a.ic-talk-button.is-visible:focus-visible{
  background:var(--ic-talk-hover-bg) !important;
  color:var(--ic-talk-hover-color) !important;
  border-color:var(--ic-talk-hover-border) !important;
  box-shadow:0 16px 42px rgba(0,0,0,.16) !important;
  transform:translate3d(0,-1px,0) !important;
  outline:none !important;
}
html body a.ic-talk-button--dark{
  --ic-talk-rest-bg:rgba(5,5,5,.34);
  --ic-talk-rest-color:#f6f2eb;
  --ic-talk-rest-border:rgba(246,242,235,.34);
  --ic-talk-hover-bg:#dfff00;
  --ic-talk-hover-color:#111;
  --ic-talk-hover-border:#dfff00;
  box-shadow:0 12px 32px rgba(0,0,0,.16) !important;
}
html body a.ic-talk-button--violet{
  --ic-talk-rest-bg:rgba(255,255,255,.10);
  --ic-talk-rest-color:#111;
  --ic-talk-rest-border:rgba(17,17,17,.34);
  --ic-talk-hover-bg:#6f3fc0;
  --ic-talk-hover-color:#fff;
  --ic-talk-hover-border:#6f3fc0;
}
html body a.ic-talk-button--blue{
  --ic-talk-rest-bg:rgba(255,255,255,.10);
  --ic-talk-rest-color:#111;
  --ic-talk-rest-border:rgba(17,17,17,.34);
  --ic-talk-hover-bg:#0f4d78;
  --ic-talk-hover-color:#fff;
  --ic-talk-hover-border:#0f4d78;
}
html body a.ic-talk-button--yellow{
  --ic-talk-rest-bg:rgba(255,255,255,.10);
  --ic-talk-rest-color:#111;
  --ic-talk-rest-border:rgba(17,17,17,.34);
  --ic-talk-hover-bg:#111;
  --ic-talk-hover-color:#f6f2eb;
  --ic-talk-hover-border:#111;
}
html body a.ic-talk-button--light{
  --ic-talk-rest-bg:rgba(255,255,255,.62);
  --ic-talk-rest-color:#111;
  --ic-talk-rest-border:rgba(17,17,17,.28);
  --ic-talk-hover-bg:#111;
  --ic-talk-hover-color:#f6f2eb;
  --ic-talk-hover-border:#111;
}
@media (max-width:767px){
  html body a.ic-talk-button{
    right:16px !important;
    bottom:16px !important;
    min-width:154px !important;
    height:52px !important;
    min-height:52px !important;
    padding:0 15px 0 17px !important;
    gap:10px !important;
    font-size:14px !important;
  }
  html body a.ic-talk-button .ic-talk-button__icon{
    width:18px !important;
    height:18px !important;
    min-width:18px !important;
    min-height:18px !important;
    flex-basis:18px !important;
    font-size:18px !important;
    line-height:18px !important;
  }
}
@media (hover:none), (pointer:coarse){
  html body a.ic-talk-button.is-visible:hover{
    background:var(--ic-talk-rest-bg) !important;
    color:var(--ic-talk-rest-color) !important;
    border-color:var(--ic-talk-rest-border) !important;
    transform:translate3d(0,0,0) !important;
  }
}
@media (prefers-reduced-motion:reduce){
  html body a.ic-talk-button{transition:none !important;}
}


/* --- assets/service-navbar-beige.css --- */
/* Innovate Community — Étape 62
   Navbar éditoriale beige pour les pages Services uniquement. */
html body.page-service header.nav.ic-unified-nav,
html body.page-service .nav.ic-unified-nav{
  background:#f6f2eb !important;
  background-color:#f6f2eb !important;
  color:#111111 !important;
  border:0 !important;
  border-bottom:1px solid rgba(17,17,17,.12) !important;
  border-radius:0 !important;
  box-shadow:0 10px 34px rgba(17,17,17,.055) !important;
}

html body.page-service header.nav.ic-unified-nav *,
html body.page-service .nav.ic-unified-nav *{
  color:#111111 !important;
  text-shadow:none !important;
}

/* Le symbole blanc est le même fichier que dans le footer. */
html body.page-service .brand.navbar-brand-inline .navbar-symbol-img{
  filter:none !important;
  -webkit-filter:none !important;
  opacity:1 !important;
  mix-blend-mode:normal !important;
  filter:drop-shadow(0 8px 18px rgba(17,17,17,.13)) !important;
}
html body.page-service .brand.navbar-brand-inline .navbar-wordmark{
  color:#111111 !important;
  -webkit-text-fill-color:#111111 !important;
}

html body.page-service .nav .menu-toggle,
html body.page-service .nav .pill,
html body.page-service .nav .ic-lang-switcher,
html body.page-service .nav .ic-lang-switcher button,
html body.page-service .nav .news-tool-trigger{
  background:transparent !important;
  color:#111111 !important;
  border-color:rgba(17,17,17,.28) !important;
  box-shadow:none !important;
}

html body.page-service .nav .ic-lang-switcher button.is-active,
html body.page-service .nav .ic-lang-switcher button.active,
html body.page-service .nav .menu-toggle:hover,
html body.page-service .nav .menu-toggle:focus-visible,
html body.page-service .nav .pill:hover,
html body.page-service .nav .pill:focus-visible,
html body.page-service .nav .ic-lang-switcher button:hover,
html body.page-service .nav .ic-lang-switcher button:focus-visible,
html body.page-service .nav .news-tool-trigger:hover,
html body.page-service .nav .news-tool-trigger:focus-visible,
html body.page-service.news-panel-open .nav .news-tool-trigger{
  background:#ccff00 !important;
  color:#050505 !important;
  border-color:#ccff00 !important;
}

html body.page-service .nav .news-tool-trigger span::before,
html body.page-service .nav .news-tool-trigger span::after,
html body.page-service .nav .news-tool-trigger i::before{
  background:currentColor !important;
}

/* Le menu principal reprend la même matière beige. */
html body.page-service .nav .section-menu{
  background:#f6f2eb !important;
  background-color:#f6f2eb !important;
  color:#111111 !important;
  border:1px solid rgba(17,17,17,.16) !important;
  box-shadow:0 20px 55px rgba(17,17,17,.12) !important;
}
html body.page-service .nav .section-menu .pill,
html body.page-service .nav .section-menu .pill span,
html body.page-service .nav .section-menu .pill::after,
html body.page-service.menu-open .nav .section-menu .pill,
html body.page-service.menu-open .nav .section-menu .pill span,
html body.page-service.menu-open .nav .section-menu .pill::after{
  color:#111111 !important;
  border-color:rgba(17,17,17,.22) !important;
  background:transparent !important;
}
html body.page-service .nav .section-menu .pill:hover,
html body.page-service .nav .section-menu .pill:focus-visible,
html body.page-service .nav .section-menu .pill[aria-current="page"]{
  color:#050505 !important;
  background:#ccff00 !important;
  border-color:#ccff00 !important;
}
html body.page-service .nav .section-menu .pill:hover span,
html body.page-service .nav .section-menu .pill:hover::after,
html body.page-service .nav .section-menu .pill:focus-visible span,
html body.page-service .nav .section-menu .pill:focus-visible::after,
html body.page-service .nav .section-menu .pill[aria-current="page"] span,
html body.page-service .nav .section-menu .pill[aria-current="page"]::after{
  color:#050505 !important;
}

@media(max-width:820px){
  html body.page-service header.nav.ic-unified-nav,
  html body.page-service .nav.ic-unified-nav{
    min-height:92px !important;
    padding:14px 16px !important;
  }
  html body.page-service .brand.navbar-brand-inline .navbar-symbol-img{
    width:58px !important;
    height:58px !important;
    max-width:58px !important;
    max-height:58px !important;
  }
}


/* --- assets/service-hero-beige.css --- */
/* Étape 63 — première section des pages Services harmonisée en beige */
html body.page-service{
  background:#f6f2eb !important;
  color:#111111 !important;
}

html body.page-service main.wrap,
html body.page-service main.wrap > .left,
html body.page-service main.wrap > .right{
  background:#f6f2eb !important;
  color:#111111 !important;
}

html body.page-service main.wrap{
  border-bottom:1px solid rgba(17,17,17,.16) !important;
}

html body.page-service .visual{
  background:#e7dfd4 !important;
  border:1px solid rgba(17,17,17,.14) !important;
  box-shadow:0 18px 55px rgba(17,17,17,.08) !important;
}

html body.page-service .visual::after{
  background:linear-gradient(180deg,rgba(17,17,17,0) 48%,rgba(17,17,17,.44) 100%) !important;
}

html body.page-service .visual img{
  filter:grayscale(100%) contrast(1.06) brightness(.94) !important;
}

html body.page-service .visual:hover img{
  filter:grayscale(100%) contrast(1.12) brightness(.98) !important;
}

html body.page-service .card-label,
html body.page-service .card-label *,
html body.page-service .arrow,
html body.page-service .arrow *{
  color:#ffffff !important;
  -webkit-text-fill-color:#ffffff !important;
  text-shadow:0 2px 14px rgba(0,0,0,.38) !important;
}

html body.page-service .topline{
  background:rgba(17,17,17,.18) !important;
}

html body.page-service .time,
html body.page-service .time *,
html body.page-service .counter,
html body.page-service .counter *,
html body.page-service .controls,
html body.page-service .controls *,
html body.page-service .quote,
html body.page-service .quote *,
html body.page-service .copy,
html body.page-service .copy *{
  color:#111111 !important;
  -webkit-text-fill-color:#111111 !important;
  text-shadow:none !important;
}

html body.page-service .time,
html body.page-service .copy{
  color:rgba(17,17,17,.68) !important;
  -webkit-text-fill-color:rgba(17,17,17,.68) !important;
}

html body.page-service .counter span{
  color:rgba(17,17,17,.46) !important;
  -webkit-text-fill-color:rgba(17,17,17,.46) !important;
}

html body.page-service .label,
html body.page-service .label *{
  color:#6f8f00 !important;
  -webkit-text-fill-color:#6f8f00 !important;
}

html body.page-service .back,
html body.page-service .back *{
  color:#111111 !important;
  -webkit-text-fill-color:#111111 !important;
}

html body.page-service .back{
  border-color:rgba(17,17,17,.32) !important;
  background:transparent !important;
}

html body.page-service .back:hover,
html body.page-service .back:focus-visible{
  background:#111111 !important;
  border-color:#111111 !important;
  color:#f6f2eb !important;
}

html body.page-service .back:hover *,
html body.page-service .back:focus-visible *{
  color:#f6f2eb !important;
  -webkit-text-fill-color:#f6f2eb !important;
}

@media(max-width:900px){
  html body.page-service main.wrap > .left,
  html body.page-service main.wrap > .right{
    background:#f6f2eb !important;
  }

  html body.page-service .right{
    border-top:1px solid rgba(17,17,17,.14) !important;
  }
}


/* --- assets/interaction-harmony.css --- */
/* Innovate Community — harmonisation conservative des interactions
   Cette couche ne modifie ni le scroll, ni les classes d'ouverture,
   ni la navigation JavaScript. Elle uniformise uniquement le rythme visuel. */
:root{
  --ic-ui-fast:160ms;
  --ic-ui-base:230ms;
  --ic-ui-panel:280ms;
  --ic-ui-ease:cubic-bezier(.2,.65,.3,1);
  --ic-ui-ease-out:cubic-bezier(.16,1,.3,1);
}

html{
  scroll-behavior:smooth;
  scroll-padding-top:clamp(92px,9vw,132px);
}
[id]{scroll-margin-top:clamp(92px,9vw,132px);}

/* Contrôles : un rythme unique, sans délai artificiel. */
html body .pill,
html body .menu-toggle,
html body .news-tool-trigger,
html body .ic-lang-switcher button,
html body .language-picker button,
html body .ic-talk-button,
html body .about-hero-tab,
html body .about-panel-tab,
html body .news-tool-tabs button,
html body .process-v2-step,
html body .project-dialog-close,
html body .history-close,
html body .news-tool-close,
html body .process-v2-close,
html body .impact-arrow,
html body .impact-orbit-nav button,
html body .footer a{
  transition-duration:var(--ic-ui-base) !important;
  transition-timing-function:var(--ic-ui-ease) !important;
  transition-delay:0ms !important;
}

/* Menus et panneaux : ouverture courte, lisible et cohérente. */
html body header.nav.ic-unified-nav .section-menu,
html body .news-tool-panel,
html body .history-panel,
html body .about-editorial-panel,
html body .process-v2-panel,
html body .project-dialog,
html body .project-dialog-backdrop{
  transition-duration:var(--ic-ui-panel) !important;
  transition-timing-function:var(--ic-ui-ease-out) !important;
  transition-delay:0ms !important;
  -webkit-overflow-scrolling:touch;
}

/* Les éléments internes ne doivent pas attendre une longue cascade. */
html body.menu-open .section-menu .pill,
html body.news-panel-open .news-tool-panel *,
html body.history-open .history-panel *,
html body.history-open .about-editorial-panel *,
html body .process-v2.panel-open .process-v2-panel *,
html body.project-dialog-open .project-dialog *{
  animation-delay:0ms !important;
  transition-delay:0ms !important;
}

/* Survols calmes : aucune attraction, aucun zoom marqué. */
@media (hover:hover) and (pointer:fine){
  html body .pill:hover,
  html body .menu-toggle:hover,
  html body .news-tool-trigger:hover,
  html body .ic-talk-button:hover,
  html body .about-hero-tab:hover,
  html body .about-panel-tab:hover,
  html body .news-tool-tabs button:hover{
    transform:translate3d(0,-1px,0) !important;
  }
  html body .footer a:hover{transform:translate3d(2px,0,0) !important;}
}

/* Navigation clavier claire sans modifier l'identité visuelle. */
html body :focus-visible{
  outline:2px solid #ccff00 !important;
  outline-offset:3px !important;
}

html body button,
html body a,
html body [role="button"]{
  touch-action:manipulation;
  -webkit-tap-highlight-color:transparent;
}

/* Mobile : réponse immédiate, sans simulation de hover. */
@media (max-width:900px),(hover:none),(pointer:coarse){
  :root{
    --ic-ui-fast:120ms;
    --ic-ui-base:170ms;
    --ic-ui-panel:220ms;
  }
  html{scroll-padding-top:96px;}
  [id]{scroll-margin-top:96px;}
  html body .pill:hover,
  html body .menu-toggle:hover,
  html body .news-tool-trigger:hover,
  html body .ic-talk-button:hover,
  html body .about-hero-tab:hover,
  html body .about-panel-tab:hover,
  html body .news-tool-tabs button:hover,
  html body .footer a:hover{
    transform:none !important;
  }
}

/* Accessibilité : aucun mouvement imposé si l'utilisateur le refuse. */
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto !important;}
  html body .pill,
  html body .menu-toggle,
  html body .news-tool-trigger,
  html body .ic-lang-switcher button,
  html body .language-picker button,
  html body .ic-talk-button,
  html body .about-hero-tab,
  html body .about-panel-tab,
  html body .news-tool-tabs button,
  html body .process-v2-step,
  html body .section-menu,
  html body .news-tool-panel,
  html body .history-panel,
  html body .about-editorial-panel,
  html body .process-v2-panel,
  html body .project-dialog,
  html body .project-dialog-backdrop,
  html body .footer a{
    animation:none !important;
    transition-duration:.01ms !important;
    transition-delay:0ms !important;
  }
}


/* --- assets/navbar-fixed-target-pages.css --- */
/* Correctif ciblé : navbar maintenue en haut au défilement
   Pages concernées uniquement via le chargement explicite de cette feuille. */
html body > header.nav,
html body > nav.nav,
html body > header.site-header,
html body > header.nav.ic-unified-nav{
  position:fixed !important;
  top:0 !important;
  right:0 !important;
  left:0 !important;
  width:100% !important;
  z-index:2147483000 !important;
}

/* Conserve exactement l'espace que la navbar occupait dans le flux. */
html body{
  padding-top:124px !important;
}

@media (max-width:900px){
  html body{
    padding-top:76px !important;
  }
}


/* --- assets/scroll-progress-target-pages.css --- */
/* Global page scroll indicator for selected pages only. */
html {
  --ic-page-scroll-progress-color: #ccff00;
}

html.ic-page-scroll-progress-process {
  --ic-page-scroll-progress-color: #111111;
}

.ic-global-scroll-progress {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 2147483647;
  width: 100%;
  height: 2px;
  background: var(--ic-page-scroll-progress-color) !important;
  background-color: var(--ic-page-scroll-progress-color) !important;
  pointer-events: none;
  transform: scaleX(0);
  transform-origin: left center;
  transition: none;
  will-change: transform;
}

@media (prefers-reduced-motion: reduce) {
  .ic-global-scroll-progress {
    transition: none;
  }
}


/* --- assets/shared/news-panel-index-reference.css --- */
/* Innovate Community — fenêtre Actualités identique à la référence de l'accueil.
   Chargée en dernier afin de neutraliser uniquement les variantes locales du panneau. */

html body:not(.news-panel-open) #news-tool-panel{
  opacity:0 !important;
  visibility:hidden !important;
  pointer-events:none !important;
  transform:translateY(-10px) scale(.985) !important;
}
html body.news-panel-open #news-tool-panel{
  opacity:1 !important;
  visibility:visible !important;
  pointer-events:auto !important;
  transform:none !important;
}

html body #news-tool-panel:not(.is-reading){
  position:fixed !important;
  top:82px !important;
  right:clamp(18px,3vw,42px) !important;
  bottom:auto !important;
  left:auto !important;
  z-index:2147483646 !important;
  display:block !important;
  width:min(640px,calc(100vw - 120px)) !important;
  min-width:0 !important;
  max-width:none !important;
  height:auto !important;
  max-height:calc(100vh - 158px) !important;
  margin:0 !important;
  padding:0 !important;
  overflow-x:hidden !important;
  overflow-y:auto !important;
  overscroll-behavior:contain !important;
  background:linear-gradient(180deg,#252525 0%,#1b1b1b 42%,#181818 100%) !important;
  color:#f6f2eb !important;
  border:1px solid rgba(255,255,255,.22) !important;
  border-radius:14px !important;
  box-shadow:0 34px 120px rgba(0,0,0,.42) !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
  isolation:isolate !important;
  scrollbar-width:none !important;
  -ms-overflow-style:none !important;
  transition:opacity .28s ease,visibility .28s ease,transform .38s cubic-bezier(.16,1,.3,1) !important;
}
html body #news-tool-panel:not(.is-reading)::-webkit-scrollbar{
  width:0 !important;
  height:0 !important;
  display:none !important;
}
html body #news-tool-panel:not(.is-reading),
html body #news-tool-panel:not(.is-reading) *{
  box-sizing:border-box !important;
}
html body #news-tool-panel:not(.is-reading) .news-tool-inner{
  display:grid !important;
  grid-template-columns:1fr !important;
  gap:0 !important;
  width:100% !important;
  min-height:0 !important;
  padding:0 !important;
  background:transparent !important;
}
html body #news-tool-panel:not(.is-reading) .news-tool-left{
  display:block !important;
  padding:20px 22px 16px !important;
  margin:0 0 10px !important;
  border:0 !important;
  background:transparent !important;
  color:#f6f2eb !important;
  text-transform:uppercase !important;
}
html body #news-tool-panel:not(.is-reading) .news-tool-kicker,
html body #news-tool-panel:not(.is-reading) .news-tool-kicker *{
  display:block !important;
  margin:0 !important;
  padding:0 !important;
  color:#ccff00 !important;
  -webkit-text-fill-color:#ccff00 !important;
  font-family:"Advent Pro",Arial,sans-serif !important;
  font-size:13px !important;
  font-weight:400 !important;
  line-height:1 !important;
  letter-spacing:.16em !important;
  text-transform:uppercase !important;
  opacity:1 !important;
}
html body #news-tool-panel:not(.is-reading) .news-tool-title,
html body #news-tool-panel:not(.is-reading) .news-tool-title *{
  display:block !important;
  max-width:16ch !important;
  margin:6px 0 15px !important;
  padding:0 !important;
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
  font-family:"Space Grotesk",Arial,sans-serif !important;
  font-size:clamp(26px,2.3vw,40px) !important;
  font-weight:400 !important;
  line-height:1 !important;
  letter-spacing:-.06em !important;
  text-transform:uppercase !important;
  opacity:1 !important;
  text-shadow:none !important;
}
html body #news-tool-panel:not(.is-reading) .news-tool-tabs{
  display:flex !important;
  flex-wrap:wrap !important;
  gap:8px !important;
  margin:16px 0 0 !important;
  padding:0 !important;
}
html body #news-tool-panel:not(.is-reading) .news-tool-tabs button{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:auto !important;
  min-width:0 !important;
  min-height:40px !important;
  margin:0 !important;
  padding:9px 13px !important;
  border:1px solid rgba(255,255,255,.22) !important;
  border-radius:8px !important;
  background:rgba(246,242,235,.06) !important;
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
  font-family:"Advent Pro",Arial,sans-serif !important;
  font-size:12px !important;
  font-weight:400 !important;
  line-height:1 !important;
  letter-spacing:.12em !important;
  text-transform:uppercase !important;
  cursor:pointer !important;
  opacity:1 !important;
}
html body #news-tool-panel:not(.is-reading) .news-tool-tabs button *,
html body #news-tool-panel:not(.is-reading) .news-tool-tabs button > span{
  color:inherit !important;
  -webkit-text-fill-color:inherit !important;
  font:inherit !important;
  letter-spacing:inherit !important;
  text-transform:inherit !important;
}
html body #news-tool-panel:not(.is-reading) .news-tool-tabs button:hover,
html body #news-tool-panel:not(.is-reading) .news-tool-tabs button.is-active{
  background:rgba(246,242,235,.16) !important;
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
  border-color:rgba(255,255,255,.32) !important;
  transform:none !important;
}
html body #news-tool-panel:not(.is-reading) .news-tool-meta{
  display:flex !important;
  align-items:center !important;
  flex-wrap:wrap !important;
  gap:10px !important;
  margin:16px 0 0 !important;
  padding:0 !important;
}
html body #news-tool-panel:not(.is-reading) .news-clock{
  display:none !important;
}
html body #news-tool-panel:not(.is-reading) .news-clock-label,
html body #news-tool-panel:not(.is-reading) .news-date,
html body #news-tool-panel:not(.is-reading) .news-play{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:auto !important;
  min-width:0 !important;
  min-height:46px !important;
  margin:0 !important;
  padding:0 15px !important;
  border:1px solid rgba(255,255,255,.22) !important;
  border-radius:9px !important;
  background:rgba(246,242,235,.08) !important;
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
  font-family:"Space Grotesk",Arial,sans-serif !important;
  font-size:13px !important;
  font-weight:400 !important;
  line-height:1 !important;
  letter-spacing:.08em !important;
  text-transform:uppercase !important;
  white-space:nowrap !important;
  opacity:1 !important;
}
html body #news-tool-panel:not(.is-reading) .news-play{
  gap:8px !important;
  cursor:pointer !important;
}
html body #news-tool-panel:not(.is-reading) .news-play::before{
  content:"" !important;
  display:inline-block !important;
  width:11px !important;
  height:13px !important;
  border:0 !important;
  background:rgba(246,242,235,.30) !important;
}
html body #news-tool-panel:not(.is-reading) .news-play:hover{
  background:#ccff00 !important;
  color:#111 !important;
  -webkit-text-fill-color:#111 !important;
  border-color:#ccff00 !important;
  transform:none !important;
}
html body #news-tool-panel:not(.is-reading) .news-tool-grid{
  display:grid !important;
  grid-template-columns:1fr !important;
  gap:0 !important;
  margin:0 !important;
  padding:0 !important;
}
html body #news-tool-panel:not(.is-reading) .news-card{
  display:grid !important;
  grid-template-columns:1fr !important;
  gap:0 !important;
  align-items:start !important;
  width:100% !important;
  min-width:0 !important;
  min-height:0 !important;
  margin:0 !important;
  padding:18px 22px !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  color:#fff !important;
  text-align:left !important;
  opacity:1 !important;
}
html body #news-tool-panel:not(.is-reading) .news-card:hover{
  background:rgba(246,242,235,.06) !important;
  transform:none !important;
}
html body #news-tool-panel:not(.is-reading) .news-card small,
html body #news-tool-panel:not(.is-reading) .news-card small *{
  display:block !important;
  margin:0 0 8px !important;
  color:#ccff00 !important;
  -webkit-text-fill-color:#ccff00 !important;
  font-family:"Advent Pro",Arial,sans-serif !important;
  font-size:11px !important;
  font-weight:400 !important;
  line-height:1 !important;
  letter-spacing:.14em !important;
  text-transform:uppercase !important;
  opacity:1 !important;
}
html body #news-tool-panel:not(.is-reading) .news-card h3,
html body #news-tool-panel:not(.is-reading) .news-card h3 *{
  display:block !important;
  max-width:none !important;
  margin:0 !important;
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
  font-family:"Space Grotesk",Arial,sans-serif !important;
  font-size:clamp(18px,1.4vw,24px) !important;
  font-weight:500 !important;
  line-height:1.04 !important;
  letter-spacing:-.045em !important;
  opacity:1 !important;
  text-shadow:none !important;
}
html body #news-tool-panel:not(.is-reading) .news-card p,
html body #news-tool-panel:not(.is-reading) .news-card p *{
  display:block !important;
  max-width:none !important;
  margin:12px 0 0 !important;
  color:rgba(245,243,238,.72) !important;
  -webkit-text-fill-color:rgba(245,243,238,.72) !important;
  font-family:"Advent Pro",Arial,sans-serif !important;
  font-size:15px !important;
  font-weight:400 !important;
  line-height:1.18 !important;
  letter-spacing:-.015em !important;
  opacity:1 !important;
}
html body #news-tool-panel:not(.is-reading) .news-thumb,
html body #news-tool-panel:not(.is-reading) .article-thumb,
html body #news-tool-panel:not(.is-reading) .news-card img{
  display:none !important;
}
html body #news-tool-panel:not(.is-reading) .news-spotify{
  display:none !important;
}
html body #news-tool-panel:not(.is-reading) .news-spotify.is-open{
  display:block !important;
  padding:0 22px 20px !important;
}
html body #news-tool-panel:not(.is-reading) .news-tool-all{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:max-content !important;
  min-height:46px !important;
  margin:16px 22px 20px !important;
  padding:13px 18px !important;
  border:1px solid rgba(246,242,235,.24) !important;
  border-radius:999px !important;
  background:transparent !important;
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
  font-family:"Advent Pro",Arial,sans-serif !important;
  font-size:13px !important;
  font-weight:400 !important;
  line-height:1 !important;
  letter-spacing:.1em !important;
  text-transform:uppercase !important;
  opacity:1 !important;
}
html body #news-tool-panel:not(.is-reading) .news-tool-all *,
html body #news-tool-panel:not(.is-reading) .news-tool-all > span{
  display:block !important;
  color:inherit !important;
  -webkit-text-fill-color:inherit !important;
  font:inherit !important;
  letter-spacing:inherit !important;
  text-transform:inherit !important;
}
html body #news-tool-panel:not(.is-reading) .news-tool-all:hover{
  background:#ccff00 !important;
  color:#111 !important;
  -webkit-text-fill-color:#111 !important;
  border-color:#ccff00 !important;
  transform:none !important;
}

@media (max-width:900px){
  html body #news-tool-panel:not(.is-reading){
    top:78px !important;
    right:18px !important;
    left:18px !important;
    width:auto !important;
    max-height:calc(100dvh - 98px) !important;
    border-radius:20px !important;
  }
  html body #news-tool-panel:not(.is-reading) .news-tool-left{
    padding:28px 18px 18px !important;
  }
  html body #news-tool-panel:not(.is-reading) .news-tool-title,
  html body #news-tool-panel:not(.is-reading) .news-tool-title *{
    max-width:calc(100% - 30px) !important;
    font-size:clamp(34px,10vw,48px) !important;
  }
  html body #news-tool-panel:not(.is-reading) .news-card{
    padding:18px !important;
  }
  html body #news-tool-panel:not(.is-reading) .news-tool-all{
    margin-left:18px !important;
    margin-right:18px !important;
  }
}


/* --- assets/service-offer-visible.css --- */
/* Visible commercial entry point on individual service pages. */
html body.page-service .service-offer-intro {
  width:min(720px,100%);
  margin-top:clamp(24px,2.6vw,38px);
  padding-top:20px;
  border-top:1px solid rgba(244,239,231,.22);
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:18px 28px;
  align-items:end;
}
html body.page-service .service-offer-intro p {
  margin:0;
  color:#f4efe7;
  font-family:"Advent Pro",Arial,sans-serif;
  font-size:clamp(18px,1.2vw,22px);
  line-height:1.28;
  letter-spacing:-.02em;
}
html body.page-service .service-offer-intro-label {
  display:block;
  margin-bottom:7px;
  color:#ccff00;
  font-family:"Space Grotesk",Arial,sans-serif;
  font-size:11px;
  font-weight:700;
  line-height:1.2;
  letter-spacing:.15em;
  text-transform:uppercase;
}
html body.page-service .service-offer-intro strong {
  color:#f4efe7;
  font-weight:500;
}
html body.page-service .service-offer-intro-link {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:44px;
  padding:11px 16px;
  border:1px solid rgba(244,239,231,.32);
  border-radius:999px;
  color:#f4efe7;
  font-family:"Space Grotesk",Arial,sans-serif;
  font-size:11px;
  font-weight:600;
  line-height:1.15;
  letter-spacing:.08em;
  text-transform:uppercase;
  white-space:nowrap;
  transition:background .25s ease,color .25s ease,border-color .25s ease;
}
html body.page-service .service-offer-intro-link:hover,
html body.page-service .service-offer-intro-link:focus-visible {
  background:#ccff00;
  border-color:#ccff00;
  color:#050505;
}
html { scroll-behavior:smooth; }
@media(max-width:1280px){
  html body.page-service .service-offer-intro {grid-template-columns:1fr;align-items:start;}
  html body.page-service .service-offer-intro-link {justify-self:start;white-space:normal;text-align:center;}
}
@media(max-width:900px){
  html body.page-service .service-offer-intro {margin-top:28px;padding-top:18px;}
}

