/* Measured Technis components, 2026-10-14. Keep content in native blocks. */
:root,.editor-styles-wrapper{--font-sans:var(--wp--preset--font-family--suisse-intl,'Suisse Intl',Arial,sans-serif);--text-display:82px;--text-h2:45px;--ink-muted:rgba(24,48,32,.6);--v-ease: cubic-bezier(.455,.03,.515,.955)}
body,.editor-styles-wrapper{font-family:var(--font-sans);font-size:18px;letter-spacing:-.01em;line-height:1.5}
.v-section h2.wp-block-heading{font-size:45px;line-height:1.1;letter-spacing:-.05em;font-weight:400;text-wrap:initial}
.v-section h3.wp-block-heading{font-size:20px;line-height:1.1;letter-spacing:-.03em;font-weight:400;text-wrap:initial}
#solutions h2,#demo h2{font-size:45px;letter-spacing:-.03em;line-height:1.1}
.v-73{font-size:18px}.v-81,.v-93{font-size:16px;line-height:1.5}
.v-49,.v-62,.v-65{font-size:12px;line-height:1.2;font-weight:400;letter-spacing:0}
.v-79,.v-90{gap:8px;align-items:flex-start}
.v-80,.v-86,.v-143{display:inline-block;width:4px;height:4px;min-width:4px;flex:0 0 4px;transform:none;margin-top:7px}
.v-85>.v-86,.v-144>.v-143{margin-top:0}
#solutions .v-81,#solutions .v-83{color:rgba(255,255,255,.6)}
/* A stable button box; only its label and square move. */
a.v-link:hover,a.v-link:focus-visible{transform:none;text-decoration:none}
.v-link:is(.v-12,.v-53,.v-54,.v-116,.v-126){position:relative;display:inline-flex;align-items:center;justify-content:flex-start;overflow:hidden;gap:0;padding:16px 20px 16px 33px;border-radius:12px;border-width:1px;font-family:var(--wp--preset--font-family--suisse-book,'Suisse Intl Book',Arial,sans-serif);font-weight:400;font-size:16px;line-height:1;letter-spacing:-.01em;transition:background-color .2s cubic-bezier(.55,.085,.68,.53),border-color .2s cubic-bezier(.55,.085,.68,.53),color .2s cubic-bezier(.55,.085,.68,.53)}
.v-link:is(.v-12,.v-53,.v-54,.v-116,.v-126)::before,.v-link:is(.v-12,.v-53,.v-54,.v-116,.v-126)::after{content:"";position:absolute;top:calc(50% - 2px);width:4px;height:4px;background:currentColor;pointer-events:none;transition:transform .4s var(--v-ease),opacity .2s var(--v-ease)}
.v-link:is(.v-12,.v-53,.v-54,.v-116,.v-126)::before{left:20px;opacity:1;transform:translateX(0)}
.v-link:is(.v-12,.v-53,.v-54,.v-116,.v-126)::after{right:20px;opacity:0;transform:translateX(25px)}
.v-button-label{display:inline-block;transition:transform .4s var(--v-ease)}
.v-link:is(.v-12,.v-53,.v-54,.v-116,.v-126):is(:hover,:focus-visible)::before{opacity:0;transform:translateX(-25px)}
.v-link:is(.v-12,.v-53,.v-54,.v-116,.v-126):is(:hover,:focus-visible)::after{opacity:1;transform:translateX(0)}
.v-link:is(:hover,:focus-visible)>.v-button-label{transform:translateX(-13px)}
.v-link:is(.v-12,.v-116):is(:hover,:focus-visible),#accueil .v-53:is(:hover,:focus-visible){background:#375842;border-color:#375842;color:#fff}
#accueil .v-54:is(:hover,:focus-visible){background:transparent;border-color:#375842;color:var(--green-800)}
.v-link.v-126:is(:hover,:focus-visible){background:#fff;border-color:#375842}
#demo .v-53:is(:hover,:focus-visible){background:#fff;color:var(--green-800)}
.v-link:is(.v-84,.v-152){border-radius:0;transition:color .2s cubic-bezier(.55,.085,.68,.53);font-family:var(--font-sans)}
.v-section a.v-link:is(.v-84,.v-152):hover{text-decoration:none;color:var(--green-500)}#solutions a.v-84:hover,#demo a.v-152:hover{color:white}
/* FAQ: vertical divider on left, 32 px rows and the pixel-chevron. */
#faq .v-145{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px}
#faq .v-145>div:first-child{max-width:384px;padding-left:24px;border-left:1px solid rgba(24,48,32,.12);gap:0;min-height:180px}
#faq .v-145>div:first-child>p:not(.v-eyebrow){margin-top:48px}
#faq .v-126{background:var(--green-800);border-color:var(--green-800);color:white}
#faq .v-126:is(:hover,:focus-visible){background:#375842;border-color:#375842;color:white}
#faq .v-faq{margin:0;padding:0;border-top:0;border-bottom:1px solid rgba(24,48,32,.2);border-radius:0;font-family:var(--font-sans);color:var(--ink);overflow:hidden}
#faq .v-faq summary{padding:32px 32px 32px 0;font-family:var(--font-heading);font-size:18px;font-weight:400;line-height:1.1;letter-spacing:-.03em;list-style:none}
#faq .v-faq summary::after{content:"";width:20px;height:20px;position:absolute;right:0;top:50%;background:currentColor;mask:url('assets/faq-chevron.svg') center/20px 20px no-repeat;-webkit-mask:url('assets/faq-chevron.svg') center/20px 20px no-repeat;transform:translateY(-50%) rotate(-90deg);transition:transform .5s cubic-bezier(.25,.46,.45,.94)}
#faq .v-faq[open] summary::after{transform:translateY(-50%) rotate(0)}
#faq .v-faq[data-closing] summary::after{transform:translateY(-50%) rotate(-90deg)}
#faq .v-faq p{padding:0 0 32px;margin:0;font-family:var(--font-sans);font-size:14px;line-height:1.5;letter-spacing:-.01em;color:rgba(24,48,32,.6)}
#faq .v-faq summary:focus-visible{outline-offset:-3px}
/* Separate the final call to action from the footer at every viewport size. */
#demo{margin-bottom:clamp(48px,6vw,96px)}
@media(min-width:1440px){:root,.editor-styles-wrapper{--text-display:112px;--text-h2:64px}.v-section h2.wp-block-heading,#solutions h2,#demo h2{font-size:64px}.v-section h3.wp-block-heading{font-size:20px}#accueil h1{max-width:1000px}#faq .v-faq summary{font-size:20px}#faq .v-faq p{font-size:16px}#faq .v-145>div:first-child{max-width:460px}}
@media(max-width:767px){:root,.editor-styles-wrapper{--text-display:52px;--text-h2:34px}#accueil h1{font-size:52px;line-height:1.1}.v-section h2.wp-block-heading,#solutions h2,#demo h2{font-size:34px;line-height:1.1}.v-section h3.wp-block-heading{font-size:20px}.v-73,.v-81{font-size:16px}#faq .v-145{grid-template-columns:1fr;gap:40px}#faq .v-145>div:first-child{min-height:0;max-width:none}#faq .v-faq summary{font-size:18px}#faq .v-faq p{font-size:14px}#faq .v-145>div:first-child>p:not(.v-eyebrow){margin-top:32px}}
@media(prefers-reduced-motion:reduce){.v-button-label,.v-link::before,.v-link::after,#faq .v-faq summary::after{transition:none!important}}

/* Technis-style section labels: outlined, compact and aligned to the title. */
.v-section .v-eyebrow,.v-section .v-62,#accueil .v-49{
 display:inline-flex;align-items:center;align-self:flex-start;justify-self:start;
 width:fit-content;max-width:100%;box-sizing:border-box;
 padding:10px 12px;border:1px solid currentColor;border-radius:8px;
 background:transparent;color:inherit;font-family:'Suisse Intl Book',Arial,sans-serif;
 font-size:12px;font-weight:400;line-height:1.2;letter-spacing:0;text-transform:uppercase;
}
.v-section .v-71:has(>.v-eyebrow),.v-section .v-71:has(>.v-62){gap:32px}
#faq .v-eyebrow{margin:0 0 8px}
@media(max-width:767px){
 .v-section .v-eyebrow,.v-section .v-62,#accueil .v-49{font-size:11px;padding:9px 12px}
 .v-section .v-71:has(>.v-eyebrow),.v-section .v-71:has(>.v-62){gap:24px}
 #faq .v-eyebrow{margin-bottom:0}
}
/* Final component contracts shared by the revised layouts. */
#accueil p.v-49{display:none}#accueil h1{grid-row:1}
.v-section#references{padding-top:48px;padding-bottom:72px}
#faq .v-145>div:first-child>p.v-eyebrow{margin:0 0 24px}
@media(max-width:767px){.v-section#references{padding-top:40px;padding-bottom:56px}}
.v-submenu-toggle{display:none}
@media(max-width:767px){
 .v-navigation .is-menu-open .wp-block-navigation__responsive-container-content{align-items:stretch!important;padding-top:48px!important;min-height:calc(100dvh - 100px)}
 .v-navigation .is-menu-open .wp-block-navigation__container{align-items:stretch!important;flex:1}
 .v-navigation .is-menu-open .wp-block-navigation-item{align-items:flex-start!important;justify-content:flex-start!important;flex-direction:row!important;flex-wrap:wrap;gap:0!important}
 .v-navigation .is-menu-open .wp-block-navigation-item__content{align-self:flex-start!important;text-align:left}
 .v-navigation .is-menu-open .wp-block-navigation-submenu__toggle{display:none!important}
 .v-navigation .is-menu-open .v-submenu-toggle{display:block;margin-left:auto;border:0;background:none;color:inherit;padding:0 8px;min-width:32px;min-height:28px;font-size:20px;cursor:pointer}
 .v-navigation .is-menu-open .wp-block-navigation__submenu-container{display:none!important}
 .v-navigation .is-menu-open [data-v-open=true]>.wp-block-navigation__submenu-container{display:flex!important;position:static!important;visibility:visible!important;opacity:1!important;height:auto!important}
 .v-mobile-brand{align-self:flex-start}.v-mobile-demo{flex:none;margin-top:32px}
}
@media(max-width:767px){.v-navigation .is-menu-open ul.v-navigation{width:100%!important;justify-content:flex-start!important;align-self:stretch;margin:0!important}}
#solutions .v-eyebrow,#perception .v-62{align-self:center}
@media(max-width:767px){
 .v-navigation .is-menu-open .wp-block-navigation__submenu-container{flex-basis:100%!important;align-items:stretch!important;width:100%!important;margin:8px 0 0!important;gap:0!important}
 .v-navigation .is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item{width:100%!important;padding:10px 0!important}
}

/* Benefit heading and decorative pictograms; shared by all language versions. */
#avantages .v-71{align-items:flex-start;text-align:left;width:100%}
#avantages .v-eyebrow{align-self:flex-start;margin-inline:0}
#avantages .v-104 :is(.v-105,.v-107,.v-108){width:48px;height:48px;border-radius:12px}
#avantages .v-104 :is(.v-105,.v-107,.v-108)::before{content:"";display:block;width:26px;height:26px;background:var(--benefit-icon) center/contain no-repeat}
#avantages .v-104:nth-child(1){--benefit-icon:url("assets/benefit-camera.svg")}
#avantages .v-104:nth-child(2){--benefit-icon:url("assets/benefit-clock.svg")}
#avantages .v-104:nth-child(3){--benefit-icon:url("assets/benefit-focus.svg")}
#avantages .v-104:nth-child(4){--benefit-icon:url("assets/benefit-connect.svg")}
#avantages .v-104:nth-child(5){--benefit-icon:url("assets/benefit-shield.svg")}
#avantages .v-104:nth-child(6){--benefit-icon:url("assets/benefit-growth.svg")}

/* Keep metric captions separate from the numbers, without pill backgrounds. */
#groupe .v-112{align-items:start;column-gap:24px;row-gap:28px}
#groupe .v-112>.wp-block-group{display:flex;flex-direction:column;align-items:flex-start;gap:12px;min-width:0}
#groupe .v-113{margin:0;line-height:1.1;white-space:nowrap}
#groupe .v-114{margin:0;padding:0;background:transparent;border-radius:0;font-size:14px;line-height:1.5;letter-spacing:normal;text-wrap:pretty}

/* Responsible AI commitments and French software origin. */
#engagements .v-136::before{content:"";display:block;width:26px;height:26px;background:var(--commitment-icon) center/contain no-repeat}
#engagements .v-135:nth-child(1){--commitment-icon:url("assets/commitment-identity.svg")}
#engagements .v-135:nth-child(2){--commitment-icon:url("assets/commitment-anonymise.svg")}
#engagements .v-135:nth-child(3){--commitment-icon:url("assets/commitment-data.svg")}
#engagements .v-135:nth-child(4){--commitment-icon:url("assets/commitment-compliance.svg")}
#engagements .v-made-france{display:flex;align-items:flex-start;gap:14px;font-size:18px;line-height:1.5;font-weight:500;color:var(--ink);margin:0 0 20px;text-wrap:pretty}
#engagements .v-made-france::before{content:"";width:27px;height:18px;flex:0 0 27px;margin-top:4px;border-radius:3px;background:linear-gradient(to right,#24459b 0 33.333%,#fff 33.333% 66.666%,#d64545 66.666%);box-shadow:0 0 0 1px #18302020}

/* Sector cards linked from navigation stay below the fixed header. */
#retail{scroll-margin-top:150px}

/* Illustrated, editable camera → analytics → software → teams diagram. */
#perception .v-91{grid-template-columns:minmax(0,1fr);gap:20px}
#perception .v-94{order:0;padding:58px 32px 32px;gap:32px;align-items:stretch}
#perception .v-92{order:1;padding:28px 32px}
#perception .v-92 .v-76{display:grid;grid-template-columns:240px minmax(0,1fr);gap:32px;align-items:start}
#perception .v-95{top:24px;left:16px;bottom:16px;width:calc(50% - 16px);border-color:#91a995}
#perception .v-96{top:13px;left:32px;z-index:1;background:#f4f6f3}
#perception .v-97,#perception .v-101{padding:12px 18px 22px;justify-content:flex-start;border-radius:18px;gap:10px}
#perception .v-diagram-image{margin:0 -8px 8px!important;align-self:stretch}
#perception .v-diagram-image img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:contain}
#perception .v-98{font-size:18px;line-height:1.25;font-weight:500}
#perception .v-99,#perception .v-102{font-size:14px;line-height:1.45}
#perception .v-94>.v-97:not(:last-child)::after,#perception .v-94>.v-101::after{content:'→';position:absolute;z-index:2;right:-30px;top:39%;width:26px;text-align:center;color:#496b52;font-size:27px;line-height:1}
@media(max-width:900px) and (min-width:701px){#perception .v-94{grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;padding-left:24px;padding-right:24px}#perception .v-97,#perception .v-101{padding:8px 12px 18px}#perception .v-94>.v-97:not(:last-child)::after,#perception .v-94>.v-101::after{right:-20px;width:18px;font-size:22px}#perception .v-98{font-size:16px}#perception .v-99,#perception .v-102{font-size:12px}}
@media(max-width:700px){#perception .v-94{grid-template-columns:minmax(0,1fr);padding:52px 24px 24px;gap:32px}#perception .v-95{width:auto;right:12px;left:12px;top:24px;height:calc(50% - 22px);bottom:auto}#perception .v-97,#perception .v-101{min-height:256px}#perception .v-diagram-image{width:240px;max-width:100%;align-self:center;margin:0 0 8px!important}#perception .v-94>.v-97:not(:last-child)::after,#perception .v-94>.v-101::after{content:'↓';right:auto;left:calc(50% - 13px);top:auto;bottom:-30px}#perception .v-92{padding:24px}#perception .v-92 .v-76{grid-template-columns:minmax(0,1fr);gap:14px}}
