/* brAIn-inspired rhythm, adapted to SAIVEN's light palette and existing brand. */
:root{--bg:#f8f7f4;--surface:#fff;--ink:#232321;--ink-2:#66645e;--rule:#deddd7;--accent:#b94321;--accent-2:#527664;--motion:cubic-bezier(.16,1,.3,1)}
html{scroll-padding-top:110px}body{background:var(--bg)}.wrap{max-width:1240px;padding:0 48px}.grain{opacity:.1}.hero-grid{background-size:72px 72px;opacity:.45}.lift{background:radial-gradient(ellipse at 50% 35%,#fff8,transparent 70%)}.scrim{background:rgba(248,247,244,.46)}#gl{opacity:.55;transition:transform 1.1s var(--motion);transform:translate(var(--bubble-x,0px),var(--bubble-y,0px))}.veil{top:160px;height:480px;background:radial-gradient(ellipse at center,#f8f7f4c9,transparent 73%)}
.skip-link{position:fixed;top:10px;left:20px;z-index:40;padding:13px 20px;background:var(--ink);color:white;transform:translateY(-180%)}.skip-link:focus{transform:none}
nav{top:18px;left:20px;right:20px;border:1px solid #fff;border-radius:100px;padding:12px 16px 12px 24px;gap:24px;background:rgba(255,255,255,.78);box-shadow:0 8px 30px -18px #554c424f,inset 0 0 0 1px #e3e1da;backdrop-filter:blur(20px)}nav .logo img{height:37px}nav ul{gap:4px;font-size:12px}nav ul a{display:block;padding:10px 12px;border-radius:99px;transition:background .25s,color .25s}nav ul a:hover,nav ul a[aria-current]{background:#ebe8df;color:var(--ink);text-decoration:none}nav>.btn{font-size:12px;padding:15px 19px;white-space:nowrap}
.btn{border-radius:99px;padding:17px 26px;font-size:14px;background:var(--accent);box-shadow:0 5px 18px -12px #a93e24;transition:transform .4s var(--motion),background .3s,box-shadow .3s}.btn:hover{background:#95351b;transform:translateY(-2px);box-shadow:0 12px 24px -14px #a93e24}.btn:active{transform:scale(.98)}.btn-2{background:none!important;box-shadow:none!important;color:var(--ink)!important;border:0;border-bottom:1px solid #99978f;border-radius:0;padding:8px 0!important}.btn-2:hover{color:var(--accent)!important}
.ecosystem-hero{min-height:850px;padding:175px 0 95px}.ecosystem-hero .wrap{max-width:1300px}.kicker{margin-bottom:31px}.snum{border-radius:99px;background:#ffffffad;border-color:#deddd6;padding:10px 15px;font-size:10px;letter-spacing:.12em}.snum b{color:var(--accent)}h1{max-width:none;font-size:clamp(42px,5.15vw,78px);line-height:1.05;letter-spacing:-.055em;font-weight:700}h1>span{display:block}h1 em,h2 em{color:var(--ink);font-weight:300}h1 em{letter-spacing:-.04em}.ecosystem-hero .lead{font-size:17px;line-height:1.65;max-width:52ch;margin-top:28px;color:#575650}.ecosystem-hero .cta-hero{margin-top:34px;gap:24px;align-items:center}.ecosystem-hero .note{font-size:12px;color:#64625d;max-width:61ch;line-height:1.7;margin:24px auto 0}.hero-paths{display:grid;grid-template-columns:repeat(4,1fr);max-width:900px;margin:70px auto 0;padding:8px;background:#ffffff8f;border:1px solid #ffffffe6;border-radius:24px;box-shadow:0 14px 36px -30px #645b4b66}.hero-paths a{padding:15px 10px;font-size:13px;color:#55544e;transition:background .3s;border-radius:16px}.hero-paths a:hover{background:#f0ede4}.hero-paths span{font:10px var(--mono);color:#9c735f;margin-right:13px}.bubble-pause{position:absolute;right:30px;bottom:24px;z-index:5;border:0;background:#f8f7f4bf;padding:8px 12px;color:#6d6a64;border-radius:20px;font:10px var(--sans);cursor:pointer}
section{padding:108px 0;background:rgba(248,247,244,.95)}section>.wrap>.snum{display:table;margin:0 auto}section h2{max-width:24ch;margin:26px auto 0;text-align:center;font-size:clamp(36px,4.5vw,64px);line-height:1.08;letter-spacing:-.05em}section>.wrap>.lede{margin:25px auto 0;text-align:center;max-width:64ch;color:var(--ink-2);opacity:1;font-size:16px}section>.wrap>.src{text-align:center;color:#706e67;font-size:11px;margin-top:28px}.cards{gap:20px;margin-top:50px}.card{padding:28px 30px;border:1px solid #e9e6df;border-radius:24px;box-shadow:0 16px 42px -35px #625d4c4d;background:#fff9;backdrop-filter:none}.card .meta{font-size:10px}.card p{font-size:16px}.card:nth-child(even){background:#f0eee7}.card:hover{border-color:#d0c4b3}.lg,.agent{backdrop-filter:none}.lg::after{display:none}#meca{border:0;background:#eeece58f}.glass-card{margin-top:50px;border-radius:28px;box-shadow:0 20px 50px -42px #5a4f3d66;padding:36px}.steps{gap:32px}.step .n{font-size:20px;font-family:var(--serif);font-style:italic}.step h3{font-size:18px}.step p{font-size:14px}.nope{margin-top:40px;padding-top:28px}.nope li{font-size:13px;color:#69675e}.nope .k{text-align:center;font-size:10px}
.offres{gap:24px}.offre{border-radius:28px;padding:26px;background:#fff9;border-color:#e7e4dc}.offre .vis{border-radius:18px}.offre h3{font-size:25px;line-height:1.15;letter-spacing:-.035em}.offre>p{font-size:14px}.offre li{font-size:13px}.offre .num{color:var(--accent);font-size:10px}.offre .act{margin-top:auto;padding-top:25px}.offre .act .btn{font-size:13px}
.agent-tabs{display:grid;grid-template-columns:repeat(5,1fr);margin-top:48px;border:1px solid #ded9ce;border-radius:24px;overflow:hidden;background:#eae7df;padding:5px;gap:4px}.agent-tabs button{border:0;border-radius:19px;padding:24px 12px;cursor:pointer;background:none;color:#6b675e;font-family:var(--sans);transition:background .35s,color .35s}.agent-tabs button[aria-selected=true]{background:white;color:var(--ink);box-shadow:0 4px 16px #524b3910}.agent-tabs b{display:block;font-size:16px;font-weight:600}.agent-tabs span{display:block;margin-top:6px;font-size:11px}.team.is-tabbed{display:block;margin-top:20px}.team.is-tabbed>.agent{display:grid;grid-template-columns:38% 1fr;column-gap:6%;border:1px solid #e4e0d6;border-radius:28px;padding:44px;background:#ffffffb3;min-height:490px}.team.is-tabbed>.agent[hidden]{display:none}.team.is-tabbed .por{grid-column:1;grid-row:1/7;height:100%;min-height:350px;max-height:430px;margin:0;border-radius:22px;background-color:#f2efe6;background-size:35px 35px}.team.is-tabbed .por img{height:auto;max-height:360px;width:100%;max-width:360px;object-fit:contain}.team.is-tabbed .nom,.team.is-tabbed h3,.team.is-tabbed .agent>p,.team.is-tabbed ul{grid-column:2}.team.is-tabbed .nom{font-size:20px}.team.is-tabbed h3{font-size:32px;line-height:1.15;letter-spacing:-.035em}.team.is-tabbed .agent>p{font-size:14px}.team.is-tabbed ul{gap:10px}.team.is-tabbed li{font-size:13px}.team.is-tabbed .act{padding-top:20px}.team.is-tabbed .act .btn{font-size:13px}
#demo .cta-hero{justify-content:center;gap:16px}#diagnostic form.diag{max-width:740px;border-radius:28px;padding:34px;margin-top:40px;box-shadow:0 22px 70px -55px #473e2c80}form.diag input,form.diag textarea,form.diag select{border-radius:12px;min-height:46px;background:#fff}.chip{border-radius:99px;min-height:42px;font-size:12px}form.diag label{font-size:14px}.faq{max-width:900px;margin:48px auto 0;border-top:0}.faq details{background:#fff9;border:1px solid #e2dfd6;border-radius:17px;margin-top:10px;padding:22px 25px}.faq summary{font-size:15px;display:block;padding-right:22px;position:relative}.faq summary::after{position:absolute;right:0;top:0}.faq p{font-size:14px}section:last-of-type .cta-hero{justify-content:center;align-items:center;gap:25px}footer{background:#ece9e1;border-top:0}.menu-toggle{display:none}
@media(prefers-reduced-motion:no-preference){.eco-reveal{transition:opacity .8s var(--motion),transform .8s var(--motion)}.eco-reveal.eco-wait{opacity:0;transform:translateY(24px)}.ecosystem-hero h1{animation:eco-enter 1s var(--motion) both}.ecosystem-hero .lead{animation:eco-enter 1s .12s var(--motion) both}.ecosystem-hero .cta-hero{animation:eco-enter 1s .2s var(--motion) both}@keyframes eco-enter{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}}
@media(max-width:1200px){nav ul{display:none}nav>.btn{margin-left:auto}.menu-toggle{display:block;background:transparent;border:0;font:12px var(--sans);padding:10px;cursor:pointer}.menu-toggle[aria-expanded=true]{color:var(--accent)}nav ul.is-open{display:flex;position:absolute;top:calc(100% + 9px);left:0;right:0;margin:0;padding:16px;flex-wrap:wrap;justify-content:center;border:1px solid #e0dcd3;border-radius:24px;background:#fdfcf9;box-shadow:0 16px 35px #5c524020}nav ul.is-open a{padding:12px}.wrap{padding:0 30px}.ecosystem-hero{padding-top:165px}.team.is-tabbed>.agent{padding:30px;column-gap:5%}}
@media(max-width:760px){nav{top:10px;left:10px;right:10px;padding:10px 11px 10px 17px;gap:6px}nav .logo img{height:30px}nav>.btn{font-size:10px;padding:12px 13px}.menu-toggle{font-size:11px;padding:10px 6px}.wrap{padding:0 22px}.ecosystem-hero{min-height:0;padding:145px 0 75px}.ecosystem-hero h1{font-size:clamp(36px,7.4vw,52px);line-height:1.1;letter-spacing:-.05em}.ecosystem-hero h1>span{display:inline}.ecosystem-hero h1>span+span::before{content:' '}.ecosystem-hero h1>span:first-child{display:block}.kicker{font-size:8px;letter-spacing:.08em;max-width:100%;padding:10px 11px;margin-bottom:24px}.ecosystem-hero .lead{font-size:14px;line-height:1.7;margin-top:23px}.ecosystem-hero .cta-hero{flex-direction:column;gap:13px;margin-top:27px}.ecosystem-hero .btn{font-size:13px;padding:17px 23px}.ecosystem-hero .note{font-size:11px;margin-top:22px;max-width:37ch}.hero-paths{grid-template-columns:1fr 1fr;margin-top:40px;border-radius:20px;padding:5px}.hero-paths a{font-size:11px;padding:13px 7px}.hero-paths span{font-size:9px;margin-right:8px}.bubble-pause{right:18px;bottom:14px;font-size:9px}.veil{top:150px;height:450px}#gl{opacity:.46}section{padding:72px 0}section h2{font-size:38px;line-height:1.08;max-width:18ch}section>.wrap>.lede{font-size:14px}.cards{margin-top:32px;gap:12px}.card{padding:24px;border-radius:20px}.glass-card{padding:25px;margin-top:32px}.steps{grid-template-columns:1fr 1fr;gap:26px 20px}.step h3{font-size:16px}.step p{font-size:13px}.nope ul{grid-template-columns:1fr;gap:14px}.offres{grid-template-columns:1fr}.offre{padding:22px}.agent-tabs{display:flex;overflow-x:auto;border-radius:19px;scrollbar-width:thin;margin-top:32px}.agent-tabs button{flex:0 0 118px;padding:17px 10px;border-radius:14px}.agent-tabs b{font-size:14px}.agent-tabs span{font-size:10px}.team.is-tabbed>.agent{grid-template-columns:1fr;padding:24px;min-height:0;border-radius:23px}.team.is-tabbed .por{grid-column:1;grid-row:auto;min-height:0;height:220px;margin-bottom:25px}.team.is-tabbed .por img{height:220px;width:auto}.team.is-tabbed .nom,.team.is-tabbed h3,.team.is-tabbed .agent>p,.team.is-tabbed ul{grid-column:1}.team.is-tabbed h3{font-size:27px}.team.is-tabbed .act .btn{font-size:12px;padding:16px 19px}#diagnostic form.diag{padding:24px 20px;border-radius:23px}#demo .cta-hero{flex-direction:column;align-items:center}#demo .btn{font-size:12px}.faq details{padding:20px}.faq summary{font-size:14px}.faq p{font-size:13px}section:last-of-type .cta-hero{flex-direction:column}.foot{gap:18px}}
@media(max-width:390px){nav .logo img{height:26px}nav>.btn{font-size:9px;padding:12px 10px}.steps{grid-template-columns:1fr}.ecosystem-hero h1{font-size:35px}}
h2{text-wrap:balance}form.diag .diag-leurre{position:absolute;width:1px;height:1px;min-height:0;padding:0;border:0;overflow:hidden;clip-path:inset(50%);pointer-events:none}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}#gl,.eco-reveal,.btn{transition:none}.eco-reveal.eco-wait{opacity:1;transform:none}}
/* Optical glass stays crisp; the center remains clear for the headline. */
#gl{opacity:.94}
.scrim{background:rgba(248,247,244,.06)}
.hero-grid{opacity:.18}
.veil{width:min(860px,78vw);background:radial-gradient(ellipse at center,#f8f7f4a3,transparent 70%)}
@media(max-width:760px){#gl{opacity:.74}.veil{width:88vw}}

/* Deux agents réellement disponibles : onglets équilibrés sur toute la largeur. */
#agents .agent-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:760px){#agents .agent-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));overflow:visible}#agents .agent-tabs button{min-width:0;flex:auto}}

/* Parcours éditorial resserré : trois étapes et une seule phrase de liaison entre les solutions. */
#meca .steps{grid-template-columns:repeat(3,minmax(0,1fr))}
#offres .solutions-duo{display:block;padding:25px 30px}
#offres .solutions-duo .duo-example{display:grid;grid-template-columns:minmax(260px,.8fr) minmax(520px,1.5fr);align-items:center;gap:48px}
#offres .solutions-duo .duo-example>p{max-width:42ch}
#offres .solutions-duo .duo-flow{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr) auto minmax(0,1fr);align-items:center;width:100%;margin-top:0}
#offres .solutions-duo .duo-flow span{text-align:center}
#agents .team.is-tabbed>.agent{min-height:430px}
#diagnostic .diag[hidden],#diagnostic .diag-ok[hidden]{display:none!important}
#diagnostic form.diag,#diagnostic .diag-ok{margin-left:auto;margin-right:auto}
#diagnostic .consent{max-width:740px;margin-left:auto;margin-right:auto;text-align:center}
#diagnostic .diagnostic-example{max-width:740px;margin:28px auto 24px;border:1px solid var(--rule);border-radius:20px;background:rgba(255,255,255,.65);overflow:hidden}
#diagnostic .diagnostic-example summary{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:22px 26px;cursor:pointer;font-weight:600;list-style:none}
#diagnostic .diagnostic-example summary::-webkit-details-marker{display:none}
#diagnostic .diagnostic-example summary span{font-size:14px;font-weight:400;text-decoration:underline;text-underline-offset:4px}
#diagnostic .diagnostic-example summary::after{content:'+';font-size:22px}
#diagnostic .diagnostic-example[open] summary::after{content:'−'}
#diagnostic .diagnostic-example summary:focus-visible{outline:2px solid currentColor;outline-offset:-5px}
#diagnostic .diagnostic-example article{padding:0 26px 26px;border-top:1px solid var(--rule)}
#diagnostic .example-caption{font-size:12px;text-transform:uppercase;letter-spacing:.08em;margin:22px 0 12px}
#diagnostic .diagnostic-example h3{font-size:23px;line-height:1.25;margin:0 0 12px}
#diagnostic .example-context,#diagnostic .diagnostic-example dd{font-size:16px;line-height:1.6}
#diagnostic .diagnostic-example dl{margin:22px 0}
#diagnostic .diagnostic-example dt{font-weight:600;margin-top:18px}
#diagnostic .diagnostic-example dd{margin:5px 0 0}
#diagnostic .example-footnote{font-size:14px;line-height:1.6;border-top:1px solid var(--rule);padding-top:16px;margin-bottom:0}
@media(max-width:600px){#diagnostic .diagnostic-example summary{padding:18px;flex-wrap:wrap;gap:8px}#diagnostic .diagnostic-example summary span{font-size:13px}#diagnostic .diagnostic-example article{padding:0 18px 20px}}
@media(max-width:900px){#offres .solutions-duo .duo-example{grid-template-columns:1fr;gap:18px}#offres .solutions-duo .duo-example>p{max-width:62ch}#offres .solutions-duo .duo-flow{margin-top:0}}
@media(max-width:760px){#meca .steps{grid-template-columns:1fr}#agents .team.is-tabbed>.agent{min-height:0}}
