:root { --ink:#10261f; --paper:#f5f2e9; --acid:#d8ff34; --muted:#66736d; --line:#d8dcd3; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
html,body,button,input,textarea,select { font-family:Arial,"Helvetica Neue",Helvetica,sans-serif !important; }
body { margin:0; background:var(--paper); color:var(--ink); font-size:17px; }
a { color:inherit; text-decoration:none; }
.shell { width:min(1180px,calc(100% - 48px)); margin-inline:auto; }
.nav { height:90px; display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid var(--line); }
.brand { display:flex; align-items:center; gap:12px; font-weight:750; font-size:19px; }
.brand-mark { display:grid; place-items:center; width:34px; height:34px; border-radius:9px; color:var(--acid); background:var(--ink); }
.brand em { margin-left:4px; padding:3px 7px; border:1px solid #a5ad9f; border-radius:20px; font:500 10px var(--font-mono); text-transform:uppercase; }
.nav-links { display:flex; gap:30px; align-items:center; font-size:14px; }
.nav-links>a:not(.button):hover { opacity:.55; }
.button { display:inline-flex; align-items:center; justify-content:space-between; gap:44px; min-width:190px; padding:17px 20px; border-radius:7px; background:var(--ink); color:white; font-weight:700; font-size:14px; transition:.2s; }
.button:hover { transform:translateY(-2px); background:#18372d; }
.button span { color:var(--acid); font-size:19px; }
.button-small { min-width:auto; gap:20px; padding:12px 15px; }
.hero { min-height:610px; display:grid; grid-template-columns:.82fr 1.18fr; align-items:center; gap:46px; padding-block:58px 72px; }
.eyebrow,.section-label { font:650 11px var(--font-mono); letter-spacing:.13em; }
.eyebrow { display:flex; align-items:center; gap:9px; }
.eyebrow span { width:7px; height:7px; background:#79c886; border-radius:50%; box-shadow:0 0 0 4px #dff0df; }
h1,h2,h3,h4,h5,h6,h1 i,h2 i { font-family:Arial,"Helvetica Neue",Helvetica,sans-serif !important; }
h1,h2 { margin:0; letter-spacing:-.045em; line-height:.98; font-weight:700; }
h1 { margin-top:22px; font-size:clamp(58px,5.8vw,82px); }
h1 i,h2 i { font-weight:500; font-style:italic; color:#668326; }
.lead { max-width:620px; margin:27px 0; color:var(--muted); font-size:19px; line-height:1.55; }
.hero-actions { display:flex; align-items:center; gap:30px; }
.text-link { font-weight:650; font-size:14px; border-bottom:1px solid #a8b0a9; padding-bottom:4px; }
.text-link span { margin-left:10px; }
.beta-note { color:#596a61; font:700 12px Arial,"Helvetica Neue",sans-serif; line-height:1.5; margin-top:20px; }
.privacy-note { max-width:620px; margin:10px 0 0; padding-left:13px; border-left:3px solid #a8c82d; color:#66736d; font-size:13px; line-height:1.5; }
.about-version { color:#66736d; font-size:.82em; white-space:nowrap; }
.hero-capture { margin:0; overflow:hidden; border-radius:16px; background:var(--ink); box-shadow:0 28px 60px #16312828; transform:rotate(1deg); }
.hero-capture img { display:block; width:100%; aspect-ratio:1.72/1; object-fit:cover; }
.hero-capture figcaption { padding:12px 16px; color:#c6d0ca; background:#0a1b16; font-size:12px; font-weight:700; }
.graph-card { position:relative; overflow:hidden; height:520px; border-radius:18px; background:linear-gradient(150deg,#0a1b16,#173128); color:#e7eee9; box-shadow:0 35px 70px #16312828; transform:rotate(1.5deg); }
.graph-top,.graph-caption { position:absolute; z-index:5; left:25px; right:25px; display:flex; justify-content:space-between; color:#a6b3ac; font:600 9px var(--font-mono); letter-spacing:.09em; }
.graph-top { top:24px; }.graph-top div { display:flex; gap:6px; }.graph-top b { padding:6px 8px; border:1px solid #355047; border-radius:5px; }.graph-top b:first-child { background:var(--acid); color:var(--ink); }
.graph-caption { bottom:20px; justify-content:flex-end; gap:7px; }.graph-caption span { padding:7px 9px; border:1px solid #345047; border-radius:6px; }.graph-caption i { display:inline-block; width:5px; height:5px; background:var(--acid); border-radius:50%; }
.graph-space { position:absolute; inset:60px 0 45px; }
.halo { position:absolute; border-radius:50%; opacity:.35; }.h1 { width:245px;height:245px;left:9%;top:23%;background:#2ca5af; }.h2 { width:200px;height:200px;right:8%;top:16%;background:#afc72e; }
.node { position:absolute; z-index:3; width:13px;height:13px;border-radius:50%;background:var(--acid);box-shadow:0 0 14px #d8ff34aa; }
.node b { position:absolute; white-space:nowrap; left:12px; top:-18px; padding:5px 7px; background:#0a1713dd; border-radius:4px; font-size:11px; }
.n1{left:19%;top:56%}.n2{left:34%;top:31%}.n3{left:57%;top:46%}.n4{left:75%;top:27%}.n5{left:68%;top:67%}.n6{left:42%;top:77%}
.line { position:absolute; z-index:2; height:2px; background:#adccc1; transform-origin:left center; opacity:.7; }.l1{width:145px;left:20%;top:57%;transform:rotate(-46deg)}.l2{width:145px;left:35%;top:33%;transform:rotate(32deg)}.l3{width:130px;left:58%;top:47%;transform:rotate(-31deg)}.l4{width:115px;left:58%;top:48%;transform:rotate(62deg)}.l5{width:145px;left:43%;top:78%;transform:rotate(-28deg)}
.manifesto { padding:92px 0; background:var(--ink); color:#edf1ed; }
.manifesto-grid { display:grid; grid-template-columns:1fr 3fr; gap:80px; }
.manifesto .section-label { color:#9eaaa3; }
.manifesto h2 { font-size:clamp(44px,4.7vw,68px); max-width:960px; }.manifesto h2 i { color:var(--acid); }
.manifesto-grid>div>p { max-width:690px; color:#aebbb4; font-size:19px; line-height:1.55; margin:28px 0 0 auto; }
.showcase { padding:92px 0 0; }
.showcase figure { margin:0; }
.showcase img { display:block; width:100%; height:auto; border-radius:12px; background:var(--ink); }
.showcase-main img { aspect-ratio:2/1; object-fit:cover; }
.showcase figcaption { display:grid; grid-template-columns:55px 1fr 1.5fr; gap:16px; align-items:start; padding:18px 3px 34px; }
.showcase figcaption span { font:800 22px Arial,"Helvetica Neue",sans-serif; color:#91a099; }
.showcase figcaption strong { font-size:18px; }
.showcase figcaption p { margin:0; color:var(--muted); font-size:16px; line-height:1.5; }
.showcase-grid { display:grid; grid-template-columns:1fr 1fr; gap:26px; }
.showcase-grid img { aspect-ratio:16/9; object-fit:cover; }
.use-cases { margin-top:92px; padding:92px 0; background:#e8eadf; }
.gallery-heading { margin-bottom:48px; }
.use-case-card { display:grid; grid-template-columns:minmax(0,1.45fr) minmax(340px,.75fr); background:var(--ink); color:#edf1ed; border-radius:18px; overflow:hidden; box-shadow:0 28px 60px #16312820; }
.use-case-media { position:relative; display:flex; align-items:center; min-width:0; background:#07140f; }
.use-case-media video { display:block; width:100%; height:auto; max-height:none; object-fit:contain; background:#07140f; }
.video-launch { position:relative; display:block; width:100%; margin:0; padding:0; overflow:hidden; border:0; background:#07140f; color:white; cursor:pointer; text-align:inherit; }
.video-launch img { display:block; width:100%; height:auto; aspect-ratio:16/9; object-fit:cover; opacity:.78; transition:transform .35s ease,opacity .35s ease; }
.video-launch::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,transparent 35%,#07140fa8); pointer-events:none; }
.video-launch:hover img,.video-launch:focus-visible img { transform:scale(1.018); opacity:.9; }
.video-launch:focus-visible { outline:4px solid var(--acid); outline-offset:-4px; }
.video-play { position:absolute; z-index:2; inset:0; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:13px; }
.video-play b { display:grid; place-items:center; width:76px; height:76px; padding-left:5px; border-radius:50%; background:var(--acid); color:var(--ink); font-size:28px; box-shadow:0 12px 35px #07140f70; }
.video-play small { padding:8px 12px; border-radius:5px; background:#07140fde; color:white; font-size:13px; font-weight:750; }
.use-case-media.video-active .case-number { display:none; }
.case-number { position:absolute; top:22px; left:22px; display:grid; place-items:center; width:52px; height:52px; border-radius:50%; background:var(--acid); color:var(--ink); font-size:20px; font-weight:800; box-shadow:0 8px 24px #07140f55; }
.use-case-copy { display:flex; flex-direction:column; justify-content:center; padding:48px 42px; }
.case-type { margin:0 0 22px; color:var(--acid); font-size:11px; font-weight:750; letter-spacing:.13em; }
.use-case-copy h3 { margin:0 0 24px; font-size:clamp(32px,3vw,46px); line-height:1.02; letter-spacing:-.035em; }
.use-case-copy>p:not(.case-type):not(.case-note) { margin:0 0 17px; color:#b8c5be; font-size:16px; line-height:1.58; }
.case-highlights { display:grid; gap:10px; margin:8px 0 30px; padding:0; list-style:none; color:#d9e1dc; font-size:14px; }
.case-highlights li { position:relative; padding-left:20px; }
.case-highlights li::before { content:""; position:absolute; left:0; top:.45em; width:8px; height:8px; border-radius:50%; background:var(--acid); }
.case-button { width:100%; background:var(--acid); color:var(--ink); }
.case-button:hover { background:#e3ff73; color:var(--ink); }
.case-button span { color:var(--ink); }
.case-note { margin:12px 0 0!important; color:#819087!important; font-size:12px!important; }
.features { padding:92px 0; }
.section-heading { display:flex; justify-content:space-between; align-items:flex-start; margin-bottom:54px; }.section-heading h2,.about h2,.final-cta h2 { font-size:clamp(48px,5vw,70px); }.section-heading .section-label { margin-top:12px; }
.feature-grid { display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid var(--line); }
.feature { min-height:245px; padding:24px 24px 15px 0; border-right:1px solid var(--line); }.feature:not(:first-child){padding-left:24px}.feature:last-child{border:0}.feature>span{font:800 24px Arial,"Helvetica Neue",sans-serif;color:#91a099}.feature h3{margin:42px 0 15px;font-size:22px}.feature p{color:var(--muted);line-height:1.55;font-size:16px}
.steps { background:#dce9aa; padding:88px 0; }.section-heading.compact{margin-bottom:46px}.steps ol{list-style:none;margin:0;padding:0;border-top:1px solid #a8b77d}.steps li{display:grid;grid-template-columns:110px 1fr 1.5fr;align-items:center;padding:24px 0;border-bottom:1px solid #a8b77d;counter-increment:item}.steps ol{counter-reset:item}.steps li:before{content:counter(item);font:800 52px Arial,"Helvetica Neue",sans-serif;letter-spacing:-.05em}.steps li strong{font-size:25px}.steps li span{color:#4e5e4a;line-height:1.5;font-size:17px}
.about { display:grid; grid-template-columns:1fr 1.15fr; gap:80px; padding-block:92px; }.about h2{margin-top:25px}.about-copy>p{color:var(--muted);font-size:18px;line-height:1.6}.about-copy h3{margin:36px 0 10px;font-size:22px}.beta-box{padding:25px;border-left:4px solid var(--acid);background:white;border-radius:0 8px 8px 0}.beta-box strong{font-size:20px}.beta-box p{color:var(--muted);font-size:16px;line-height:1.55;margin-bottom:0}.credits{margin-top:36px;display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.credits p{display:flex;flex-direction:column;gap:8px}.credits span{font:700 10px Arial,"Helvetica Neue",sans-serif;color:#849088}.credits strong{font-size:14px}.credits a{text-decoration:underline;text-underline-offset:4px}
.final-cta { text-align:center; padding:88px 0; background:#b6d522; }.final-cta h2{margin:20px 0 36px}.final-cta h2 i{color:var(--ink)}.button.light{margin:auto;background:white;color:var(--ink)}
footer { min-height:130px; display:flex; align-items:center; justify-content:space-between; font-size:12px; color:var(--muted); }
.footer-legal{display:flex;align-items:center;justify-content:flex-end;gap:15px;flex-wrap:wrap}.footer-legal a{color:inherit;text-decoration:underline;text-underline-offset:4px}
@media(max-width:900px){.nav-links>a:not(.button){display:none}.hero{grid-template-columns:1fr;padding-top:60px}.graph-card{height:470px}.manifesto-grid,.about{grid-template-columns:1fr}.feature-grid{grid-template-columns:1fr 1fr}.feature:nth-child(2){border-right:0}.section-heading{display:block}.section-heading h2{margin-top:28px}.credits{grid-template-columns:1fr}.about{gap:50px}.use-case-card{grid-template-columns:1fr}.use-case-copy{padding:38px 34px}}
@media(max-width:600px){.shell{width:min(100% - 30px,1180px)}.nav{height:72px}.button-small{font-size:0;min-width:44px;gap:0}.button-small span{font-size:18px}.hero{gap:45px;padding-block:50px 70px}.hero-actions{align-items:flex-start;flex-direction:column}.graph-card{height:380px}.manifesto,.features,.steps,.about,.final-cta,.use-cases{padding-block:85px}.showcase{padding-top:85px}.use-cases{margin-top:85px}.showcase-grid{grid-template-columns:1fr;gap:10px}.showcase figcaption{grid-template-columns:35px 1fr}.showcase figcaption p{grid-column:2}.showcase-main img{aspect-ratio:4/3}.manifesto-grid{gap:40px}.feature-grid{grid-template-columns:1fr}.feature{border-right:0;border-bottom:1px solid var(--line)!important;padding-left:0!important;min-height:220px}.feature h3{margin-top:45px}.steps li{grid-template-columns:45px 1fr}.steps li span{grid-column:2;margin-top:8px}.about{padding-inline:0}footer{flex-wrap:wrap;gap:20px;padding-block:35px}.footer-legal{width:100%;justify-content:flex-start}.graph-card{transform:none}.graph-space{transform:scale(.82);transform-origin:center}.credits{margin-top:35px}.use-case-copy{padding:30px 24px}.case-number{width:44px;height:44px;top:14px;left:14px}.case-button{min-width:0;gap:20px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button,.video-launch img{transition:none}}

/* Page des licences open source */
.license-hero{padding-top:96px;padding-bottom:64px;max-width:980px}.license-hero h1{margin:14px 0 24px;font-size:clamp(48px,7vw,92px);line-height:.95;letter-spacing:-.065em}.license-hero>p:last-child{max-width:760px;margin:0;color:var(--muted);font-size:clamp(17px,2vw,22px);line-height:1.6}.license-content{display:grid;gap:24px;padding-bottom:96px}.license-card{padding:clamp(24px,4vw,48px);border:1px solid var(--line);border-radius:20px;background:#fff}.license-card>header{display:flex;justify-content:space-between;gap:32px;align-items:flex-start}.license-card h2{margin:5px 0 0;font-size:clamp(28px,4vw,44px);letter-spacing:-.045em}.license-index{margin:0;color:#617019;font:700 11px Arial,"Helvetica Neue",sans-serif;letter-spacing:.12em}.license-card dl{display:flex;gap:34px;margin:0}.license-card dl div{display:grid;gap:5px}.license-card dt{color:var(--muted);font:700 10px Arial,"Helvetica Neue",sans-serif;letter-spacing:.1em;text-transform:uppercase}.license-card dd{margin:0;font-weight:700}.license-attribution{margin:28px 0 18px;font-weight:600}.license-card details{border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.license-card summary{padding:16px 0;cursor:pointer;font-weight:700}.license-card pre{max-height:360px;margin:0 0 20px;padding:20px;overflow:auto;border-radius:12px;background:#102019;color:#e7eee9;font:12px/1.65 Consolas,"Courier New",monospace;white-space:pre-wrap}.license-source{display:inline-flex;margin-top:20px;color:var(--ink);font-weight:700;text-decoration:underline;text-underline-offset:4px}.license-maintenance{margin-top:16px;padding:30px;border-radius:18px;background:var(--acid);color:var(--dark)}.license-maintenance h2{margin:0 0 10px;font-size:22px}.license-maintenance p{max-width:850px;margin:0;line-height:1.65}@media(max-width:700px){.license-hero{padding-top:64px}.license-card>header{display:grid}.license-card dl{gap:24px}.license-card pre{font-size:10px}.license-content{padding-bottom:64px}}
