/* Polices auto-hébergées (RGPD : aucun appel à Google Fonts) */
@font-face{font-family:"Archivo";font-style:normal;font-display:swap;font-weight:100 900;font-stretch:62% 125%;src:url("../fonts/archivo-latin-wdth-normal.woff2") format("woff2-variations"),url("../fonts/archivo-latin-wdth-normal.woff2") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Archivo";font-style:normal;font-display:swap;font-weight:100 900;font-stretch:62% 125%;src:url("../fonts/archivo-latin-ext-wdth-normal.woff2") format("woff2-variations"),url("../fonts/archivo-latin-ext-wdth-normal.woff2") format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Albert Sans";font-style:normal;font-display:swap;font-weight:400;src:url("../fonts/albert-sans-latin-400-normal.woff2") format("woff2")}
@font-face{font-family:"Albert Sans";font-style:normal;font-display:swap;font-weight:500;src:url("../fonts/albert-sans-latin-500-normal.woff2") format("woff2")}
@font-face{font-family:"Albert Sans";font-style:normal;font-display:swap;font-weight:600;src:url("../fonts/albert-sans-latin-600-normal.woff2") format("woff2")}
@font-face{font-family:"Albert Sans";font-style:normal;font-display:swap;font-weight:700;src:url("../fonts/albert-sans-latin-700-normal.woff2") format("woff2")}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0}
img{max-width:100%}
.hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;opacity:0}
.legal{max-width:820px;display:grid;gap:14px}
.legal h2{font-size:22px;font-weight:800;margin-top:18px}
.legal p{color:var(--ink-2)}
.legal a{color:var(--cyan-deep)}
.form-error{background:#FDECEA;color:#8A2A18;border:1px solid #F5C2B8;border-radius:12px;padding:14px 16px;font-size:15px;margin-bottom:16px}
.foot-bottom a{color:inherit}
.skip{position:absolute;left:-9999px;top:8px;z-index:2000;background:#fff;color:#13232F;padding:10px 14px;border-radius:8px}
.skip:focus{left:12px}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

:root{
  color-scheme: light;
  --navy:#13232F; --navy-2:#1C3342; --navy-3:#27465A;
  --cyan:#00A9D4; --cyan-deep:#0083A6; --cyan-soft:#E3F5FA;
  --lime:#D6F54A;
  --agd:#E0681A; --agd-deep:#B24E0E; --agd-soft:#FDEEE2;
  --tlz:#5E8F24; --tlz-deep:#43681A; --tlz-soft:#EEF4E3; --tlz-sun:#FED100;
  --ink:#15212A; --ink-2:#4F5D67; --ink-3:#86939C;
  --line:#E3E9EC; --ground:#F4F7F8; --paper:#FFFFFF;
  --f-display:"Archivo","Arial Narrow","Segoe UI",system-ui,sans-serif;
  --f-body:"Albert Sans","Segoe UI",system-ui,sans-serif;
  --f-mono:"Archivo","Segoe UI",system-ui,sans-serif;
  --r:16px;
}
*{box-sizing:border-box}
[hidden]{display:none!important}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
body{background:var(--paper);color:var(--ink);font-family:var(--f-body);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased}
h1,h2,h3,h4{font-family:var(--f-display);font-stretch:112%;line-height:1.08;margin:0;text-wrap:balance;letter-spacing:-.01em}
p{margin:0}
a{color:inherit}
.wrap{max-width:1200px;margin:0 auto;padding-inline:24px}
@media (max-width:600px){.wrap{padding-inline:16px}}
:focus-visible{outline:3px solid var(--cyan);outline-offset:2px;border-radius:6px}
.eyebrow{font:700 12.5px var(--f-mono);font-stretch:118%;letter-spacing:.08em;text-transform:uppercase;color:var(--cyan-deep)}
.btn{display:inline-flex;align-items:center;gap:10px;font:600 15px/1 var(--f-body);padding:15px 22px;border-radius:999px;border:1.5px solid transparent;text-decoration:none;cursor:pointer;transition:transform .15s,background .15s,border-color .15s}
.btn:hover{transform:translateY(-1px)}
.btn svg{width:18px;height:18px}
.btn-cyan{background:var(--cyan);color:#fff}.btn-cyan:hover{background:var(--cyan-deep)}
.btn-lime{background:var(--lime);color:var(--navy)}.btn-lime:hover{background:#C6E834}
.btn-brand{background:linear-gradient(90deg,#00B6DE 0%,#5CC9A8 55%,#C8E05B 100%);background-size:160% 100%;background-position:0 0;color:#0F1E28;box-shadow:0 10px 24px -12px rgba(0,182,222,.7);transition:transform .15s,background-position .35s,box-shadow .2s}
.btn-brand:hover{background-position:100% 0;box-shadow:0 14px 30px -12px rgba(200,224,91,.75)}
.btn-out-light:hover{border-color:var(--lime);color:var(--lime);background:rgba(214,245,74,.06)}
.grad-txt{background:linear-gradient(90deg,#3FD0F0,#C8E05B);-webkit-background-clip:text;background-clip:text;color:transparent}
.to-top{position:fixed;right:24px;bottom:calc(24px + env(safe-area-inset-bottom,0px));z-index:40;width:50px;height:50px;border-radius:50%;border:0;cursor:pointer;display:grid;place-items:center;color:#0F1E28;background:linear-gradient(135deg,#00B6DE,#C8E05B);box-shadow:0 12px 26px -10px rgba(0,120,150,.55);opacity:0;transform:translateY(14px) scale(.9);pointer-events:none;transition:opacity .25s,transform .25s,box-shadow .2s}
.to-top svg{width:22px;height:22px}
.to-top.show{opacity:1;transform:none;pointer-events:auto}
.to-top:hover{transform:translateY(-3px);box-shadow:0 16px 32px -10px rgba(0,120,150,.65)}
@media (max-width:600px){.to-top{right:16px;bottom:calc(16px + env(safe-area-inset-bottom,0px));width:46px;height:46px}}
.hero-pill{display:inline-flex;align-items:center;gap:10px;justify-self:start;padding:6px 14px 6px 10px;border-radius:999px;background:rgba(0,182,222,.14);border:1px solid rgba(0,182,222,.45);color:#8FE6FA;font:700 12.5px var(--f-mono);font-stretch:118%;letter-spacing:.07em;text-transform:uppercase;backdrop-filter:blur(6px)}
.hero-pill .pill-ic{width:18px;height:18px;flex:none;color:var(--lime)}
.hero-pill b{color:var(--lime);font-weight:800}

.btn-out-light{border-color:rgba(255,255,255,.45);color:#fff}.btn-out-light:hover{background:rgba(255,255,255,.08)}
.btn-out{border-color:var(--line);color:var(--ink)}.btn-out:hover{border-color:var(--ink-3)}
.btn-agd{background:var(--agd);color:#fff}.btn-agd:hover{background:var(--agd-deep)}
.btn-tlz{background:var(--tlz);color:#fff}.btn-tlz:hover{background:var(--tlz-deep)}

/* header */
.head{position:sticky;top:env(safe-area-inset-top,0px);z-index:30;background:var(--navy);border-bottom:1px solid rgba(255,255,255,.07)}
.head-in{display:flex;align-items:center;gap:24px;height:84px}
.brand img{height:50px;width:auto;display:block}
@media (max-width:600px){.brand img{height:42px}}
.nav{display:flex;gap:4px;margin-left:auto}
.nav a{color:#C9D5DC;text-decoration:none;font-weight:500;font-size:15px;padding:9px 14px;border-radius:999px}
.nav a:hover{color:#fff;background:rgba(255,255,255,.06)}
.nav a[aria-current="page"]{color:#fff;background:var(--navy-3)}
.nav .dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:10px;flex:none}
.dd{position:relative}
.dd-btn{display:flex;align-items:center;gap:6px;font:500 15px var(--f-body);color:#C9D5DC;background:none;border:0;padding:9px 14px;border-radius:999px;cursor:pointer}
.dd-btn:hover,.dd.open .dd-btn{color:#fff;background:rgba(255,255,255,.06)}
.dd-btn.current{color:#fff;background:var(--navy-3)}
.dd-btn svg{width:14px;height:14px;transition:transform .15s}
.dd.open .dd-btn svg{transform:rotate(180deg)}
.dd-menu{position:absolute;top:calc(100% + 10px);left:50%;transform:translateX(-50%);width:360px;background:#fff;border-radius:16px;padding:8px;box-shadow:0 24px 50px -20px rgba(0,0,0,.45);display:grid;gap:2px}
.dd:not(.open) .dd-menu{display:none}
.nav .dd-menu a{display:flex;align-items:flex-start;color:var(--ink);padding:14px;border-radius:12px;background:none}
.nav .dd-menu a:hover{background:var(--ground)}
.nav .dd-menu a[aria-current="page"]{background:var(--ground);color:var(--ink)}
.dd-menu .dot{margin-top:7px}
.dd-menu b{display:block;font:700 15.5px var(--f-display)}
.dd-logo{display:block;height:28px;width:auto;margin-bottom:6px}
.dd-menu small{display:block;color:var(--ink-2);font-size:13.5px;line-height:1.45;margin-top:2px}
.head-cta{padding:12px 18px}
.burger{display:none;margin-left:auto;background:none;border:1px solid rgba(255,255,255,.2);border-radius:10px;width:44px;height:44px;color:#fff;cursor:pointer}
.burger svg{width:22px;height:22px}
@media (max-width:980px){
  .burger{display:grid;place-items:center}
  .nav{position:absolute;left:0;right:0;top:84px;background:var(--navy);flex-direction:column;padding:10px 16px 18px;margin:0;border-bottom:1px solid rgba(255,255,255,.08)}
  .nav:not(.open){display:none}
  .dd-btn{width:100%;justify-content:space-between}
  .dd-menu{position:static;transform:none;width:auto;box-shadow:none;margin:4px 0 6px}
  .head-cta{display:none}
}

section{padding-block:96px}
@media (max-width:700px){section{padding-block:64px}}
.sec-head{display:grid;gap:14px;max-width:720px;margin-bottom:48px}
.sec-head h2{font-size:clamp(30px,3.8vw,46px);font-weight:800}
.sec-head p{font-size:18px;color:var(--ink-2)}

/* home hero : photo + navy only */
.hero{position:relative;color:#fff;background:#1a2a33 url("../img/hero-edictyo.jpg") center 55%/cover no-repeat}
.hero::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(19,35,47,.94) 0%,rgba(19,35,47,.82) 38%,rgba(19,35,47,.25) 75%,rgba(19,35,47,.05) 100%)}
.hero-in{position:relative;display:grid;gap:22px;max-width:640px;padding-block:112px 150px}
.hero .eyebrow{color:#AFC0CA}
.hero h1{font-size:clamp(38px,5vw,64px);font-weight:800;letter-spacing:-.02em}
.hero .lead{font-size:clamp(17px,1.6vw,19.5px);color:#DCE4E8}
.hero-ctas{display:flex;flex-wrap:wrap;gap:12px;margin-top:6px}
.btn-white{background:#fff;color:var(--navy)}.btn-white:hover{background:#EEF3F5}
@media (max-width:700px){.hero::before{background:rgba(19,35,47,.8)}.hero-in{padding-block:72px 110px}}

/* products : neutral cards overlapping the hero */
.prod-row{position:relative;z-index:2;display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:-90px}
@media (max-width:860px){.prod-row{grid-template-columns:1fr}}
.prod{background:#fff;border:1px solid var(--line);border-radius:20px;overflow:hidden;display:grid;grid-template-columns:1fr;text-decoration:none;color:var(--ink);box-shadow:0 24px 50px -30px rgba(19,35,47,.45);transition:transform .2s,box-shadow .2s}
.prod:hover{transform:translateY(-3px);box-shadow:0 30px 60px -30px rgba(19,35,47,.55)}
.prod-top{padding:28px 30px 22px;display:grid;gap:10px}
.prod-top .tag{display:flex;align-items:center;gap:8px;font:650 11.5px var(--f-mono);letter-spacing:.07em;text-transform:uppercase;color:var(--ink-3)}
.prod-top .tag i{width:9px;height:9px;border-radius:50%;display:block}
.prod-top h3{font-size:28px;font-weight:800;line-height:0}
.prod-logo{height:46px;width:auto;max-width:100%}
.prod-top p{color:var(--ink-2);max-width:440px}
.prod-top .go{display:inline-flex;gap:8px;align-items:center;font-weight:600;margin-top:2px;color:var(--navy)}
.prod-top .go svg{width:18px;height:18px;transition:transform .15s}
.prod:hover .go svg{transform:translateX(3px)}
.prod-vis{height:200px;margin:0 30px;border-radius:12px 12px 0 0;border:1px solid var(--line);border-bottom:0;background-size:cover;background-position:top left;overflow:hidden}
.prod.agd .prod-vis{background-image:url("../img/ecran-dashboard.jpg")}
.prod.tlz .prod-vis{background:#F6FAF7}
.after-hero{padding-top:88px}
.prod-row{scroll-margin-top:100px}

/* marquee (discret) */
.marquee{border-block:1px solid var(--line);color:var(--ink-3);overflow:hidden;padding-block:16px;background:#fff}
.mq-track{display:flex;gap:40px;width:max-content;animation:mq 45s linear infinite;font:600 15px var(--f-display);letter-spacing:.04em;text-transform:uppercase}
.mq-track span{display:flex;align-items:center;gap:40px;white-space:nowrap}
.mq-track span::after{content:"";width:6px;height:6px;border-radius:50%;background:var(--cyan)}
@keyframes mq{to{transform:translateX(-50%)}}

/* pillars */
.pillars{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
@media (max-width:900px){.pillars{grid-template-columns:1fr}}
.pill{padding:28px;border:1px solid var(--line);border-radius:var(--r);display:grid;gap:10px;align-content:start;background:#fff}
.pill .ic{width:48px;height:48px;border-radius:12px;background:var(--cyan-soft);color:var(--cyan-deep);display:grid;place-items:center;margin-bottom:6px}
.pill .ic svg{width:24px;height:24px}
.pill h3{font-size:19px;font-weight:700}
.pill p{color:var(--ink-2);font-size:15px}

/* split */
.split{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
@media (max-width:900px){.split{grid-template-columns:1fr;gap:32px}}
.split h2{font-size:clamp(28px,3.4vw,42px);font-weight:800}
.split .txt{display:grid;gap:18px}
.split-logo{height:40px;width:auto;max-width:100%}
.split .txt p{color:var(--ink-2);font-size:17px}
.checks{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.checks li{display:flex;gap:10px;font-size:15.5px}
.checks svg{flex:none;width:20px;height:20px;margin-top:2px}
.frame{border-radius:18px;overflow:hidden;box-shadow:0 26px 60px -28px rgba(19,35,47,.45),0 0 0 1px rgba(0,0,0,.05);background:#fff}
.frame .bar{height:34px;background:#EEF2F4;display:flex;align-items:center;gap:7px;padding-inline:14px}
.frame .bar i{width:10px;height:10px;border-radius:50%;background:#D3DCE1}
.frame img{display:block;width:100%;height:auto}

/* services */
.svc{background:var(--ground)}
.svc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
@media (max-width:900px){.svc-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:560px){.svc-grid{grid-template-columns:1fr}}
.svc-card{background:#fff;border-radius:var(--r);padding:26px;display:grid;gap:8px;align-content:start;border:1px solid var(--line)}
.svc-card .ic{width:44px;height:44px;border-radius:11px;background:var(--navy);color:var(--lime);display:grid;place-items:center;margin-bottom:6px}
.svc-card .ic svg{width:22px;height:22px}
.svc-card h3{font-size:18px;font-weight:700}
.svc-card p{color:var(--ink-2);font-size:15px}

/* band */
.band{background:var(--navy);color:#fff;border-radius:24px;padding:56px 52px;display:flex;flex-wrap:wrap;gap:28px;justify-content:space-between;align-items:center;position:relative;overflow:hidden}
.band::before{content:"";position:absolute;right:-80px;top:-80px;width:320px;height:320px;border-radius:50%;background:radial-gradient(circle,rgba(0,169,212,.4),transparent 70%)}
.band > *{position:relative}
.band h2{font-size:clamp(26px,3vw,38px);font-weight:800;max-width:640px}
.band p{color:#C9D5DC;margin-top:10px;max-width:560px}
.band .ctas{display:flex;gap:12px;flex-wrap:wrap}
@media (max-width:600px){.band{padding:36px 24px}}

/* product pages */
.p-hero{color:#fff;padding-block:84px 72px;position:relative;overflow:hidden}
.p-hero.agd{background:#B9560F url("../img/hero-champ.jpg") center/cover}
.p-hero.tlz{background:#2F4A13 url("../img/terralyz-fond.jpg") center/cover no-repeat}
.p-hero.tlz::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(22,40,12,.92) 0%,rgba(30,52,14,.78) 42%,rgba(30,52,14,.25) 80%,rgba(30,52,14,.1) 100%);pointer-events:none}
@media (max-width:700px){.p-hero.tlz::after{background:rgba(22,40,12,.78)}}
.p-hero .in{position:relative;z-index:1}
.p-hero .in{display:grid;gap:18px;max-width:780px}
.p-hero .logo-line{display:flex;align-items:center;gap:14px}
.p-hero .logo-line img{height:56px;width:auto;max-width:100%}
.p-hero .wordmark{font:800 40px var(--f-display);letter-spacing:-.02em;display:flex;align-items:center;gap:12px}
.p-hero .wordmark svg{width:42px;height:42px}
.p-hero h1{font-size:clamp(34px,4.8vw,58px);font-weight:800}
.p-hero p{font-size:18.5px;opacity:.95;max-width:640px}
.p-hero .tag{font:650 12px var(--f-mono);letter-spacing:.07em;text-transform:uppercase;opacity:.9}
.p-hero .ctas{display:flex;gap:12px;flex-wrap:wrap}
.btn-white{background:#fff;color:var(--ink)}
.feat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
@media (max-width:960px){.feat-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:600px){.feat-grid{grid-template-columns:1fr}}
.feat{padding:26px 24px 28px;border:1px solid var(--line);border-radius:var(--r);display:grid;gap:10px;align-content:start;background:#fff;transition:box-shadow .15s,transform .15s}
.feat:hover{transform:translateY(-2px);box-shadow:0 16px 30px -20px rgba(19,35,47,.4)}
.feat .ic{width:48px;height:48px;border-radius:12px;display:grid;place-items:center;margin-bottom:6px}
.feat .ic svg{width:24px;height:24px}
.agd-scope .feat .ic{background:var(--agd-soft);color:var(--agd)}
.tlz-scope .feat .ic{background:var(--tlz-soft);color:var(--tlz)}
.feat h3{font-size:18.5px;font-weight:700}
.feat p{color:var(--ink-2);font-size:15px}
.agd-scope .eyebrow{color:var(--agd-deep)} .tlz-scope .eyebrow{color:var(--tlz-deep)}

/* terralyz illustration */
.tlz-ui{display:grid;grid-template-columns:1.3fr 1fr;height:100%;min-height:220px;font-family:var(--f-body)}
.tlz-map{background:#E7EFE5;position:relative}
.tlz-map svg{position:absolute;inset:0;width:100%;height:100%}
.tlz-side{padding:16px;display:grid;gap:10px;align-content:start;color:var(--ink)}
.tlz-side .k{font:650 10.5px var(--f-mono);letter-spacing:.07em;text-transform:uppercase;color:var(--ink-3)}
.tlz-side .idc{font:800 30px var(--f-display);color:var(--tlz-deep)}
.tlz-side .bar{height:7px;border-radius:4px;background:#E2ECE5;overflow:hidden}
.tlz-side .bar i{display:block;height:100%;background:var(--tlz);border-radius:4px}
.tlz-side .row{display:flex;justify-content:space-between;font-size:12.5px;color:var(--ink-2)}
.tlz-side .pillok{font:600 11.5px var(--f-body);color:var(--tlz-deep);background:var(--tlz-soft);border-radius:999px;padding:4px 10px;justify-self:start}
.tlz-big{border-radius:18px;overflow:hidden;box-shadow:0 26px 60px -28px rgba(19,35,47,.45),0 0 0 1px rgba(0,0,0,.05);background:#fff}
.tlz-big .tlz-ui{min-height:360px}
.illu-note{font-size:12.5px;color:var(--ink-3);margin-top:10px}

/* steps */
.flow{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;background:#fff}
.flow > div{padding:26px;display:grid;gap:8px;align-content:start;border-right:1px solid var(--line)}
.flow > div:last-child{border-right:0}
.flow .n{font:650 12.5px var(--f-mono);display:flex;align-items:center;gap:10px}
.flow .n::after{content:"";flex:1;height:1px;background:var(--line)}
.flow h3{font-size:19px;font-weight:700}
.flow p{color:var(--ink-2);font-size:15px}
.agd-scope .flow .n{color:var(--agd-deep)} .tlz-scope .flow .n{color:var(--tlz-deep)}
@media (max-width:900px){.flow{grid-template-columns:1fr 1fr}.flow>div:nth-child(2){border-right:0}.flow>div:nth-child(-n+2){border-bottom:1px solid var(--line)}}
@media (max-width:560px){.flow{grid-template-columns:1fr}.flow>div{border-right:0;border-bottom:1px solid var(--line)}.flow>div:last-child{border-bottom:0}}


/* frise animée : parcours d'un bon */
.frise{position:relative;padding-top:92px;--n:6}
.frise-road{position:absolute;left:calc(100% / var(--n) / 2);right:calc(100% / var(--n) / 2);top:118px;height:6px;border-radius:3px;background:repeating-linear-gradient(90deg,var(--line) 0 14px,transparent 14px 22px)}
.frise-fill{height:100%;width:0;border-radius:3px;background:var(--agd)}
.frise-mover{position:absolute;top:22px;left:calc(100% / var(--n) / 2);width:108px;height:58px;margin-left:-54px;will-change:transform}
.veh{position:absolute;inset:0;width:100%;height:100%;transition:opacity .35s}
.veh-truck{opacity:0}
.frise-mover.truck .veh-tractor{opacity:0}.frise-mover.truck .veh-truck{opacity:1}
.frise-mover.moving .wheel{animation:spin .6s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.frise-steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(var(--n),1fr);gap:12px;position:relative}
.fs{display:grid;justify-items:center;text-align:center;gap:8px;padding-inline:4px}
.fs-ic{width:56px;height:56px;border-radius:50%;background:#fff;border:2px solid var(--line);color:var(--ink-3);display:grid;place-items:center;transition:background .35s,border-color .35s,color .35s,transform .35s}
.fs-ic svg{width:26px;height:26px}
.fs h3{font-size:16px;font-weight:700;color:var(--ink-2);transition:color .35s}
.fs p{font-size:14px;color:var(--ink-3);max-width:190px}
.fs.on .fs-ic{background:var(--agd-soft);border-color:var(--agd);color:var(--agd)}
.fs.on h3{color:var(--ink)}
.fs.now .fs-ic{background:var(--agd);border-color:var(--agd);color:#fff;transform:scale(1.08)}
@media (max-width:860px){
  .frise{padding-top:0}
  .frise-road,.frise-mover{display:none}
  .frise-steps{grid-template-columns:1fr;gap:0}
  .fs{grid-template-columns:56px 1fr;justify-items:start;text-align:left;column-gap:16px;row-gap:2px;padding:0 0 22px;position:relative}
  .fs .fs-ic{grid-row:span 2}
  .fs:not(:last-child)::before{content:"";position:absolute;left:27px;top:58px;bottom:0;width:2px;background:var(--line)}
  .fs h3{align-self:end}
}
@media (prefers-reduced-motion:reduce){.frise-mover{display:none}.fs .fs-ic{background:var(--agd-soft);border-color:var(--agd);color:var(--agd)}}


/* bento fonctionnalités AgriDigital */
.bento{display:grid;grid-template-columns:repeat(6,1fr);gap:16px}
.bt{grid-column:span 2;position:relative;display:grid;align-content:start;gap:10px;padding:26px;border-radius:20px;background:#fff;border:1px solid var(--line);overflow:hidden;transition:transform .2s,box-shadow .2s,opacity .25s,filter .25s}
.bt:hover{transform:translateY(-3px);box-shadow:0 22px 44px -26px rgba(178,78,14,.45)}
.bt::after{content:"";position:absolute;inset:auto -40px -60px auto;width:160px;height:160px;border-radius:50%;background:radial-gradient(circle,rgba(224,104,26,.10),transparent 70%);pointer-events:none;transition:transform .3s}
.bt:hover::after{transform:scale(1.4)}
.bt.dim{opacity:.28;filter:grayscale(1)}
.bt h3{font-size:19px;font-weight:800}
.bt p{color:var(--ink-2);font-size:15px}
.bt-ic{width:46px;height:46px;border-radius:13px;background:linear-gradient(135deg,var(--agd),#F08A3A);color:#fff;display:grid;place-items:center;box-shadow:0 8px 18px -8px rgba(224,104,26,.7)}
.bt-ic svg{width:23px;height:23px}
.bt-tag{font:650 11px var(--f-mono);letter-spacing:.07em;text-transform:uppercase;color:var(--agd-deep)}
.bt-wide{grid-column:span 3;grid-template-columns:1fr 1fr;align-items:center;gap:22px}
.bt-txt{display:grid;gap:10px;align-content:start}
.bt-dark{background:var(--navy);border-color:var(--navy);color:#fff}
.bt-dark p{color:#C9D5DC}.bt-dark .bt-tag{color:#F3A36A}
.bt-dark::after{background:radial-gradient(circle,rgba(224,104,26,.35),transparent 70%)}
.bt-accent{background:linear-gradient(160deg,var(--agd-soft),#fff 70%);border-color:#F6D6BD}
/* mini widgets */
.bt-vis{align-self:stretch;display:grid;align-items:center}
.w-bon{background:var(--ground);border-radius:14px;padding:16px;display:grid;gap:8px;font-size:12.5px;border:1px solid var(--line)}
.w-row{display:flex;justify-content:space-between;align-items:center}
.w-k{font:650 12px var(--f-mono);color:var(--ink)}
.w-pill{font:700 10px var(--f-body);letter-spacing:.06em;text-transform:uppercase;color:#1F7A4A;background:#DDF2E5;padding:3px 8px;border-radius:6px}
.w-sub{color:var(--ink-3);font-size:11.5px}
.w-net{background:linear-gradient(135deg,#B24E0E,#E0681A);color:#fff;border-radius:10px;padding:10px 12px;display:grid}
.w-net small{font-size:10.5px;text-transform:uppercase;letter-spacing:.1em;opacity:.85}
.w-net b{font:800 24px var(--f-display);font-variant-numeric:tabular-nums;font-stretch:100%}
.w-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}
.w-grid span{background:#fff;border-radius:8px;padding:6px 8px;color:var(--ink-3);font-size:10.5px;display:grid;border:1px solid var(--line)}
.w-grid b{color:var(--ink);font:600 13px var(--f-mono)}
.w-aff{display:grid;gap:8px}
.w-line{display:grid;grid-template-columns:auto 1fr auto 52px;align-items:center;gap:10px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.08);border-radius:10px;padding:9px 11px;font-size:12px;color:#DCE4E8}
.w-line b{font:600 12px var(--f-mono);color:#fff}
.w-s{font:700 9.5px var(--f-body);letter-spacing:.06em;text-transform:uppercase;padding:3px 7px;border-radius:5px}
.w-s.v{background:rgba(94,196,130,.18);color:#8FE0AE}.w-s.a{background:rgba(240,138,58,.2);color:#F7B27C}
.w-exe{height:5px;border-radius:3px;background:rgba(255,255,255,.12);overflow:hidden}
.w-exe i{display:block;height:100%;background:var(--agd);border-radius:3px}
.w-kpi{margin-top:6px;padding-top:12px;border-top:1px dashed var(--line);display:grid}
.w-kpi small{font:650 11px var(--f-mono);letter-spacing:.07em;text-transform:uppercase;color:var(--ink-3)}
.w-kpi b{font:800 26px var(--f-display);font-variant-numeric:tabular-nums;font-stretch:100%;color:var(--ink)}
.w-kpi b.neg{color:#C8452C}
.w-chips{margin-top:6px;display:flex;flex-wrap:wrap;gap:6px}
.w-chips span{font:650 12px var(--f-mono);padding:5px 9px;border-radius:7px;background:var(--ground);border:1px solid var(--line)}
.w-cells{margin-top:6px;display:flex;gap:10px;align-items:flex-end;height:74px}
.w-cells span{flex:1;height:100%;border-radius:10px 10px 6px 6px;background:var(--ground);border:1px solid var(--line);position:relative;overflow:hidden;display:grid;place-items:end center;font:650 10.5px var(--f-mono);color:var(--ink-2);padding-bottom:4px}
.w-cells i{position:absolute;left:0;right:0;bottom:0;background:linear-gradient(180deg,#F3C36E,#E0A13A)}
.w-cells span{isolation:isolate}.w-cells i{z-index:-1}
.w-bar{margin-top:6px;display:grid;gap:6px}
.w-bar div{display:flex;justify-content:space-between}
.w-bar small{font:650 11px var(--f-mono);color:var(--ink-3);text-transform:uppercase;letter-spacing:.08em}
.w-bar span{height:8px;border-radius:4px;background:var(--ground);overflow:hidden;border:1px solid var(--line)}
.w-bar i{display:block;height:100%;background:var(--agd)}
.bt-half{grid-column:span 3}
.bt-cta{background:linear-gradient(135deg,#B24E0E,#E0681A 60%,#F08A3A);border-color:transparent;color:#fff;align-content:center}
.bt-cta p{color:#FFE9DA}.bt-cta h3{font-size:22px}
.bt-cta::after{background:radial-gradient(circle,rgba(255,255,255,.25),transparent 70%)}
.w-line span:nth-child(2){white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.w-line b{white-space:nowrap}
.w-line{grid-template-columns:auto minmax(0,1fr) auto 44px}
.bento-note{font-size:12.5px;color:var(--ink-3);margin-top:14px}
@media (max-width:1060px){.bt-wide,.bt-half{grid-column:span 6}.bt{grid-column:span 3}}
@media (max-width:640px){.bento{grid-template-columns:1fr}.bt,.bt-wide,.bt-half{grid-column:auto}.bt-wide{grid-template-columns:1fr}}


/* splash du premier chargement */
#splash{position:fixed;inset:0;z-index:1000;background:var(--navy);display:grid;place-items:center;transition:opacity .5s ease,visibility .5s}
#splash::before{content:"";position:absolute;inset:0;background:radial-gradient(560px 340px at 50% 45%,rgba(0,169,212,.16),transparent 70%);animation:spGlow 1.4s ease-out both}
#splash.out{opacity:0;visibility:hidden}
html.splashing{overflow:hidden}
.sp-box{position:relative;display:grid;justify-items:center;gap:18px;padding-inline:24px}
.sp-logo{position:relative;width:min(460px,78vw);aspect-ratio:340/82}
.sp-svg{display:block;width:100%;height:100%;overflow:visible}
.sp-svg .pen{fill:none;stroke-width:.9;stroke-linecap:round;stroke-linejoin:round}
.sp-svg .pen-i{stroke:#3FD0F0}.sp-svg .pen-e{stroke:#3A6480}.sp-svg .pen-t{stroke:#fff}
.sp-svg .fill{opacity:0;transition:opacity .4s ease}
.sp-svg.filled .fill{opacity:1}
.sp-svg.filled .pen{opacity:0;transition:opacity .5s ease .1s}
.sp-line{height:3px;width:0;border-radius:2px;background:linear-gradient(90deg,var(--cyan),var(--lime));animation:spLine .5s ease-out 1.05s both}
.sp-tag{font:650 13px var(--f-mono);letter-spacing:.07em;text-transform:uppercase;color:#AFC0CA;opacity:0;animation:spTag .5s ease-out 1.2s both;text-align:center}
@keyframes spIcon{from{opacity:0;transform:scale(.55) rotate(-12deg);transform-origin:16% 50%}to{opacity:1;transform:none;transform-origin:16% 50%}}
@keyframes spText{from{clip-path:inset(0 100% 0 32%)}to{clip-path:inset(0 0 0 32%)}}
@keyframes spShine{from{background-position:120% 0}to{background-position:-40% 0}}
@keyframes spLine{to{width:min(220px,50vw)}}
@keyframes spTag{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
@keyframes spGlow{from{opacity:0}to{opacity:1}}

/* about */
.about-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
@media (max-width:900px){.about-grid{grid-template-columns:1fr}}
.fact{padding:28px;border-radius:var(--r);background:var(--ground);display:grid;gap:8px}
.fact b{font:800 22px var(--f-display)}
.fact p{color:var(--ink-2);font-size:15px}

/* contact */
.page-hero{background:var(--navy);color:#fff;padding-block:76px 60px}
.page-hero .in{display:grid;gap:14px;max-width:760px}
.page-hero .eyebrow{color:var(--lime)}
.page-hero h1{font-size:clamp(34px,4.6vw,56px);font-weight:800}
.page-hero p{color:#C9D5DC;font-size:18px}
.form-layout{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:40px;align-items:start}
@media (max-width:900px){.form-layout{grid-template-columns:1fr}}
form.card{border:1px solid var(--line);border-radius:18px;padding:32px;display:grid;gap:20px;background:#fff}
@media (max-width:600px){form.card{padding:22px}}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:16px}
@media (max-width:600px){.row2{grid-template-columns:1fr}}
.field{display:grid;gap:7px}
.field label,.legend{font-weight:600;font-size:14px}
.req{color:var(--cyan-deep)}
input,select,textarea{font:inherit;font-size:15px;color:var(--ink);background:#fff;border:1.5px solid var(--line);border-radius:10px;padding:12px 14px;width:100%}
textarea{min-height:130px;resize:vertical}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--cyan);box-shadow:0 0 0 4px var(--cyan-soft)}
[aria-invalid="true"]{border-color:#C8452C!important}
.err{color:#B23A22;font-size:13px}
.opts{display:grid;grid-template-columns:1fr 1fr;gap:10px}
@media (max-width:560px){.opts{grid-template-columns:1fr}}
.opt{position:relative;display:flex;align-items:center;gap:12px;padding:13px 14px;border:1.5px solid var(--line);border-radius:14px;background:#fff;cursor:pointer;transition:border-color .15s,box-shadow .15s,background .15s}
.opt:hover{border-color:#C9D5DC}
.opt input{position:absolute;opacity:0;pointer-events:none}
.opt-ic{flex:none;width:38px;height:38px;border-radius:10px;display:grid;place-items:center;color:var(--c);background:color-mix(in srgb,var(--c) 12%,#fff);transition:background .15s,color .15s}
.opt-ic svg{width:20px;height:20px}
.opt-t{display:grid;line-height:1.25;min-width:0}
.opt-t b{font:700 15px var(--f-body)}
.opt-t small{font-size:13px;font-weight:400;color:var(--ink-3)}
.field label.opt{font-weight:400}
.opt-ok{margin-left:auto;flex:none;width:22px;height:22px;border-radius:50%;border:1.5px solid var(--line);display:grid;place-items:center;color:#fff;transition:all .15s}
.opt-ok svg{width:13px;height:13px;opacity:0;transition:opacity .15s}
.opt:has(input:checked){border-color:var(--cyan);box-shadow:0 0 0 4px var(--cyan-soft);background:#FBFEFF}
.opt:has(input:checked) .opt-ic{background:var(--c);color:#fff}
.opt:has(input:checked) .opt-ok{background:var(--cyan);border-color:var(--cyan)}
.opt:has(input:checked) .opt-ok svg{opacity:1}
.opt:has(input:focus-visible){outline:3px solid var(--cyan);outline-offset:2px}
.seg{display:flex;flex-wrap:wrap;gap:8px}
.seg label{font-size:14.5px;padding:10px 14px;border:1.5px solid var(--line);border-radius:999px;cursor:pointer;display:flex;gap:8px;align-items:center}
.seg input{margin:0;accent-color:var(--cyan)}
.seg label:has(input:checked){border-color:var(--cyan);background:var(--cyan-soft);font-weight:600}
.fine{font-size:13px;color:var(--ink-3)}
.done{display:grid;gap:12px;border:1px solid var(--line);border-radius:18px;padding:40px 32px}
.done .ok{width:52px;height:52px;border-radius:50%;background:var(--tlz-soft);color:var(--tlz);display:grid;place-items:center}
.done .ok svg{width:26px;height:26px}
.done h2{font-size:26px;font-weight:800}
.done p{color:var(--ink-2)}
.info{display:grid;gap:18px}
.info-card{background:var(--ground);border-radius:16px;padding:26px;display:grid;gap:16px}
.info-card h3{font-size:18px;font-weight:700}
.coord{display:flex;gap:14px}
.coord .ic{width:40px;height:40px;border-radius:10px;background:#fff;color:var(--cyan-deep);display:grid;place-items:center;flex:none}
.coord .ic svg{width:20px;height:20px}
.coord small{display:block;font:650 11px var(--f-mono);letter-spacing:.07em;text-transform:uppercase;color:var(--ink-3)}
.coord span{font-weight:500}
.info-card.dark{background:var(--navy);color:#fff}
.info-card.dark p{color:#C9D5DC;font-size:15px}

/* footer */
.foot{background:var(--navy);color:#AFC0CA;padding-block:60px 34px;margin-top:96px}
.foot-in{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:32px}
@media (max-width:860px){.foot-in{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.foot-in{grid-template-columns:1fr}}
.foot img{height:48px;width:auto}
.foot .foot-logos{gap:14px}.foot .foot-logos img{height:28px;opacity:.9}.foot .foot-logos a:hover img{opacity:1}
.foot p{font-size:14.5px;margin-top:14px;max-width:320px}
.foot h4{font:650 11.5px var(--f-mono);letter-spacing:.07em;text-transform:uppercase;color:#6F8795;margin-bottom:12px}
.foot ul{list-style:none;margin:0;padding:0;display:grid;gap:8px;font-size:14.5px}
.foot a{text-decoration:none}.foot a:hover{color:#fff}
.foot-bottom{border-top:1px solid var(--navy-3);margin-top:40px;padding-top:20px;display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px;font-size:13px;color:#6F8795}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
