PageSourceSearch

https://creaconnect.world/studios

html creaconnect.world collected 2026-09-24 10:07:01 UTC 62,821 bytes, 858 lines download raw bytes

1<!DOCTYPE html>
2<html lang="fr">
3<head>
4<meta charset="UTF-8"/>
5<meta name="viewport" content="width=device-width,initial-scale=1"/>
6<title>CREA — 14 studios spécialisés, un seul espace</title>
7<meta name="description" content="Chat, Design, Vidéo, Code, Audio, Document, Présentation, Site Web, Business, Marketing, Formation, Data, Labs, Dispatch — chaque studio CREA est optimisé pour son domaine."/>
8<link rel="icon" href="/crea-logo.svg?v=2" type="image/svg+xml"/>
9<link rel="preconnect" href="https://fonts.googleapis.com"/>
10<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin/>
11<link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800;900&family=JetBrains+Mono:wght@400;500&display=swap" rel="stylesheet"/>
12<style>
13*{margin:0;padding:0;box-sizing:border-box}
14:root{
15  --green:#10a37f;--green-d:#0a7a5e;--green-l:#1db992;--green-xl:#0d8f6d;
16  --indigo:#5c7cfa;--indigo-d:#4c6ef5;--indigo-l:#748ffc;
17  --gold:#f59e0b;--gold-l:#fbbf24;
18  --dark-950:#ffffff;--dark-900:#ffffff;--dark-800:#f5f5f5;--dark-700:#e5e5e5;
19  --text:#0d0d0d;--text2:#4b4b4b;--text3:#6e6e6e;
20  --glass:rgba(255,255,255,0.9);--glass-b:rgba(0,0,0,0.08);
21}
22html{scroll-behavior:smooth}
23body{font-family:'Inter',system-ui,sans-serif;background:var(--dark-950);color:var(--text);line-height:1.6;overflow-x:hidden}
24a{text-decoration:none}
25code,pre{font-family:'JetBrains Mono',monospace}
26
27/* ── NAV ── */
28nav{position:fixed;top:0;left:0;right:0;z-index:200;height:64px;display:flex;align-items:center;justify-content:space-between;padding:0 2rem;transition:background .3s,border-color .3s;border-bottom:1px solid transparent;background:#fff}
29nav.scrolled{border-color:rgba(0,0,0,.08)}
30.nav-logo{display:flex;align-items:center;gap:.5rem;font-weight:800;font-size:1.05rem;color:var(--text)}
31.nav-logo img{width:28px;height:28px;transition:filter .3s}
32.nav-links{display:flex;align-items:center;gap:1.7rem;font-size:.88rem}
33.nav-links>a{color:var(--text);transition:color .15s;font-weight:500}
34.nav-links>a:hover{color:var(--green)}
35.nav-item{position:relative}
36.nav-item>span{cursor:pointer;display:flex;align-items:center;gap:.3rem;color:var(--text);font-weight:500;user-select:none}
37.nav-item>span::after{content:'▾';font-size:.65em;opacity:.6}
38.nav-item:hover>span{color:var(--green)}
39.nav-dd{position:absolute;top:100%;left:50%;margin-top:.9rem;background:#fff;backdrop-filter:blur(20px);border:1px solid rgba(0,0,0,.08);border-radius:12px;padding:.4rem;min-width:190px;opacity:0;visibility:hidden;transform:translateX(-50%) translateY(-6px);transition:opacity .15s,transform .15s,visibility .15s;box-shadow:0 20px 40px rgba(0,0,0,.14)}
40.nav-item:hover .nav-dd,.nav-item.mobile-open .nav-dd{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0)}
41.nav-dd a{display:block;padding:.55rem .8rem;border-radius:8px;color:var(--text2);font-size:.82rem;white-space:nowrap;font-weight:500}
42.nav-dd a:hover{background:rgba(0,0,0,.06);color:var(--text)}
43.nav-right{display:flex;align-items:center;gap:.75rem}
44.btn-login{background:transparent;border:1px solid rgba(0,0,0,.1);border-radius:8px;color:var(--text2);padding:.42rem 1rem;font-size:.82rem;font-weight:600;cursor:pointer;transition:all .15s;font-family:inherit;white-space:nowrap}
45.btn-auth-toggle{position:relative;overflow:hidden;display:inline-flex;align-items:center;justify-content:center;min-width:140px;height:32px;padding:0 1rem}
46.btn-auth-toggle .auth-a,.btn-auth-toggle .auth-b{position:absolute;left:0;right:0;text-align:center;opacity:0;animation:auth-toggle 6s ease-in-out infinite}
47.btn-auth-toggle .auth-b{animation-delay:3s}
48@keyframes auth-toggle{0%{opacity:0}8%,42%{opacity:1}50%{opacity:0}100%{opacity:0}}
49.btn-login:hover{border-color:rgba(0,0,0,.2);color:var(--text)}
50.btn-cta{background:linear-gradient(135deg,var(--green),var(--green-d));color:#fff;padding:.45rem 1.15rem;border-radius:8px;font-weight:700;font-size:.82rem;transition:all .2s;display:inline-flex;align-items:center;gap:.4rem;box-shadow:0 0 0 0 rgba(16,163,127,0);white-space:nowrap}
51.btn-cta:hover{transform:translateY(-1px);box-shadow:0 4px 20px rgba(16,163,127,.35)}
52.nav-burger{display:none;background:none;border:none;cursor:pointer;font-size:1.3rem;line-height:1;color:var(--text);padding:.5rem;margin:-.5rem -.25rem -.5rem 0}
53.mobile-only-link{display:none}
54
55/* ── HERO ── */
56.hero{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:7rem 1.5rem 4rem;position:relative;overflow:hidden}
57.hero-bg{position:absolute;inset:0;background:radial-gradient(ellipse 80% 60% at 50% -10%,rgba(16,163,127,.13) 0%,transparent 60%),radial-gradient(ellipse 40% 40% at 80% 60%,rgba(92,124,250,.07) 0%,transparent 50%);pointer-events:none}
58.hero-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(0,0,0,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(0,0,0,.025) 1px,transparent 1px);background-size:50px 50px;pointer-events:none;mask-image:radial-gradient(ellipse 80% 80% at 50% 50%,black,transparent)}
59.hero-badge{display:inline-flex;align-items:center;gap:.5rem;background:rgba(16,163,127,.08);border:1px solid rgba(16,163,127,.2);border-radius:100px;padding:.35rem 1rem;font-size:.75rem;color:var(--green-xl);font-weight:600;margin-bottom:2.5rem;letter-spacing:.03em;backdrop-filter:blur(8px)}
60.badge-dot{width:5px;height:5px;background:var(--green-xl);border-radius:50%;animation:breathe 2s ease infinite}
61.hero-logo{width:88px;height:88px;margin:0 auto 2rem;animation:logo-float 4s ease-in-out infinite;filter:drop-shadow(0 0 24px rgba(16,163,127,.35))}
62.hero-logo:hover{filter:drop-shadow(0 0 32px rgba(233,184,58,.55)) drop-shadow(0 0 16px rgba(16,163,127,.4));animation:logo-think 1.3s ease infinite}
63.hero h1{font-size:clamp(1.9rem,4.5vw,2.9rem);font-weight:700;line-height:1.15;letter-spacing:-.02em;max-width:700px;margin:0 auto 2rem}
64.hero-support-note{font-size:.85rem;color:var(--text3);max-width:520px;margin:0 auto 1.5rem;line-height:1.6}
65.hero-search-row{max-width:680px;width:100%;margin:0 auto 1.5rem;display:flex;align-items:center;gap:10px;background:#fff;border:1px solid rgba(0,0,0,.13);border-radius:28px;padding:8px 8px 8px 26px;box-shadow:0 2px 6px rgba(0,0,0,.04)}
66.hero-search-row:focus-within{border-color:rgba(0,0,0,.3)}
67.hero-search-input{flex:1;border:none;outline:none;background:none;font-size:1.02rem;color:var(--text);font-family:inherit}
68.hero-search-input::placeholder{color:var(--text3)}
69.hero-search-send{width:40px;height:40px;border-radius:50%;border:none;background:var(--text);color:#fff;font-size:15px;cursor:pointer;flex-shrink:0;display:flex;align-items:center;justify-content:center;transition:opacity .15s}
70.hero-search-send:hover{opacity:.8}
71.hero-chips{display:flex;gap:.6rem;justify-content:center;flex-wrap:wrap;max-width:680px;margin:0 auto 2.5rem}
72.hero-chip{border:1px solid rgba(0,0,0,.13);border-radius:100px;padding:.5rem 1.1rem;font-size:.84rem;color:var(--text2);background:#fff;cursor:pointer;transition:all .15s;font-family:inherit}
73.hero-chip:hover{border-color:rgba(0,0,0,.3);color:var(--text)}
74.hero-answer{max-width:680px;width:100%;margin:0 auto 1rem;display:none}
75.hero-answer.show{display:block}
76.hero-answer-list{height:360px;overflow-y:auto;display:flex;flex-direction:column-reverse;gap:.8rem;padding:.3rem .3rem .3rem 0}
77.hero-answer-item{text-align:left;background:#fff;border:1px solid rgba(0,0,0,.1);border-radius:16px;padding:1.1rem 1.4rem;font-size:.9rem;color:var(--text2);line-height:1.65;flex-shrink:0}
78.hero-answer-item .q{font-weight:700;color:var(--text);margin-bottom:.5rem}
79.hero-answer-item .a{white-space:pre-wrap}
80.hero-answer-item .loading{color:var(--text3);font-style:italic}
81.hero-answer-item .cta-row{margin-top:.8rem;padding-top:.8rem;border-top:1px solid rgba(0,0,0,.06);font-size:.78rem}
82.hero-answer-item .cta-row a{font-weight:700;color:var(--green-xl)}
83.hero-tiles{display:grid;grid-template-columns:1fr 1fr;gap:1rem;max-width:900px;width:100%;margin:1.5rem auto 0}
84.hero-tile{min-height:220px;border-radius:20px;position:relative;overflow:hidden;background:linear-gradient(135deg,var(--green-l),var(--indigo));padding:1.5rem;display:flex;flex-direction:column;justify-content:flex-end;text-align:left;color:#fff}
85.hero-tile.b{background:linear-gradient(135deg,var(--gold-l),var(--green))}
86.hero-tile-eyebrow{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;opacity:.85;margin-bottom:.4rem}
87.hero-tile-title{font-size:1.15rem;font-weight:800;line-height:1.3;margin-bottom:.4rem}
88.hero-tile-desc{font-size:.82rem;opacity:.9;line-height:1.5}
89.hero-tile-mock{position:absolute;top:1.25rem;right:1.25rem;left:1.25rem;background:rgba(255,255,255,.18);backdrop-filter:blur(6px);border:1px solid rgba(255,255,255,.3);border-radius:10px;padding:.6rem .8rem;font-size:.72rem;font-family:'JetBrains Mono',monospace}
90@media(max-width:680px){.hero-tiles{grid-template-columns:1fr}}
91.hero h1 .word-green{color:var(--green-xl)}
92.hero h1 .word-gold{background:linear-gradient(135deg,var(--gold-l),var(--gold));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
93.hero-sub{font-size:clamp(1rem,2.5vw,1.15rem);color:var(--text2);max-width:520px;margin:0 auto 3rem;line-height:1.75}
94.hero-btns{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap;margin-bottom:3.5rem}
95.btn-hp{background:linear-gradient(135deg,var(--green),var(--green-d));color:#fff;padding:.9rem 2.25rem;border-radius:10px;font-weight:700;font-size:.95rem;font-family:inherit;transition:all .25s;display:inline-flex;align-items:center;gap:.5rem;box-shadow:0 4px 24px rgba(16,163,127,.25),inset 0 1px 0 rgba(0,0,0,.1)}
96.btn-hp:hover{transform:translateY(-2px);box-shadow:0 8px 32px rgba(16,163,127,.4),inset 0 1px 0 rgba(0,0,0,.1)}
97.btn-hs{background:var(--glass);border:1px solid var(--glass-b);backdrop-filter:blur(12px);color:var(--text2);padding:.9rem 2.25rem;border-radius:10px;font-weight:600;font-size:.95rem;font-family:inherit;transition:all .25s;display:inline-flex;align-items:center;gap:.5rem}
98.btn-hs:hover{border-color:rgba(0,0,0,.15);color:var(--text);background:rgba(0,0,0,.05)}
99.hero-trust{display:flex;align-items:center;justify-content:center;gap:1.25rem;flex-wrap:wrap;font-size:.78rem;color:var(--text3);font-weight:500}
100.trust-sep{color:var(--dark-800)}
101
102/* ── MOCKUP ── */
103.mockup-wrap{max-width:860px;margin:4rem auto 0;padding:0 1.5rem;position:relative}
104.mockup-wrap::before{content:'';position:absolute;top:-40px;left:50%;transform:translateX(-50%);width:600px;height:300px;background:radial-gradient(ellipse,rgba(16,163,127,.12),transparent 70%);pointer-events:none}
105.mockup{background:var(--dark-900);border:1px solid rgba(0,0,0,.08);border-radius:18px;overflow:hidden;box-shadow:0 0 0 1px rgba(0,0,0,.04),0 40px 80px rgba(0,0,0,.7),0 0 80px rgba(16,163,127,.06)}
106.mkbar{background:var(--dark-800);padding:10px 14px;display:flex;align-items:center;gap:8px;border-bottom:1px solid rgba(0,0,0,.06)}
107.mkdots{display:flex;gap:5px}
108.mkdots span{width:10px;height:10px;border-radius:50%}
109.mkdots span:nth-child(1){background:#ef4444}
110.mkdots span:nth-child(2){background:#f59e0b}
111.mkdots span:nth-child(3){background:#22c55e}
112.mkurl{flex:1;background:rgba(0,0,0,.04);border-radius:6px;padding:4px 10px;font-size:11px;color:var(--text3);text-align:center;font-family:'JetBrains Mono',monospace}
113.mkbody{display:grid;grid-template-columns:188px 1fr;min-height:250px}
114.mksb{background:var(--dark-800);border-right:1px solid rgba(0,0,0,.06);padding:10px}
115.mksb-item{padding:7px 9px;border-radius:7px;font-size:11px;color:var(--text3);margin-bottom:3px;font-weight:500;display:flex;align-items:center;gap:7px;cursor:default;transition:all .15s}
116.mksb-item.a{background:rgba(16,163,127,.1);color:var(--green-xl);border:1px solid rgba(16,163,127,.15)}
117.mkchat{padding:16px;display:flex;flex-direction:column;gap:10px}
118.mk-u{align-self:flex-end;background:linear-gradient(135deg,var(--green-l),var(--green-d));color:#fff;padding:9px 13px;border-radius:14px 14px 4px 14px;font-size:11.5px;max-width:78%;line-height:1.5}
119.mk-a{align-self:flex-start;background:rgba(0,0,0,.04);border:1px solid rgba(0,0,0,.07);color:var(--text2);padding:9px 13px;border-radius:14px 14px 14px 4px;font-size:11.5px;max-width:90%;line-height:1.6}
120.mk-a strong{color:var(--text);display:block;margin-bottom:3px}
121.mk-typing{color:var(--green-xl)}
122.mk-typing::after{content:'▋';animation:blink 1s steps(1) infinite}
123.mk-input-row{display:flex;align-items:center;gap:8px;margin-top:4px;background:rgba(0,0,0,.04);border:1px solid rgba(0,0,0,.08);border-radius:12px;padding:6px 6px 6px 13px;transition:border-color .15s}
124.mk-input-row:focus-within{border-color:rgba(16,163,127,.4)}
125.mk-input{flex:1;background:none;border:none;outline:none;color:var(--text);font-size:12.5px;font-family:inherit}
126.mk-input::placeholder{color:var(--text3)}
127.mk-send{width:28px;height:28px;flex-shrink:0;border-radius:8px;border:none;background:linear-gradient(135deg,var(--green),var(--green-d));color:#fff;font-size:14px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:transform .15s}
128.mk-send:hover{transform:translateY(-1px)}
129
130/* ── STATS ── */
131.stats{border-top:1px solid rgba(0,0,0,.05);border-bottom:1px solid rgba(0,0,0,.05);background:rgba(0,0,0,.02)}
132.stats-inner{max-width:1000px;margin:0 auto;display:flex;justify-content:space-around;flex-wrap:wrap;padding:2.5rem 1.5rem;gap:2rem}
133.stat{text-align:center}
134.stat-n{font-size:2.2rem;font-weight:900;letter-spacing:-.04em;background:linear-gradient(135deg,var(--green-xl),var(--green));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
135.stat-l{font-size:.78rem;color:var(--text3);margin-top:.2rem;font-weight:500;text-transform:uppercase;letter-spacing:.06em}
136
137/* ── WIDE IMAGE GRIDS (cas d'usage / recherche / entreprises) ── */
138.wide-sec{max-width:1180px;margin:0 auto;padding:3rem 1.5rem 0}
139.wide-head{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:1.6rem;flex-wrap:wrap;gap:.5rem}
140.wide-head h2{font-size:1.5rem;font-weight:800;letter-spacing:-.02em}
141.wide-head a{font-size:.82rem;color:var(--green-xl);font-weight:600}
142.wide-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.3rem}
143.wide-card{display:block;color:inherit}
144.wide-card-img{aspect-ratio:4/3;border-radius:14px;margin-bottom:1rem;position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center}
145.wide-card-img svg{width:38%;height:38%;opacity:.9}
146.wide-card h3{font-size:1rem;font-weight:700;line-height:1.4;margin-bottom:.4rem}
147.wide-card .meta{font-size:.78rem;color:var(--text3)}
148.wide-card .meta b{color:var(--text2);font-weight:700}
149.grad-1{background:linear-gradient(135deg,#8ec5fc,#e0c3fc)}
150.grad-2{background:linear-gradient(135deg,#43cea2,#185a9d)}
151.grad-3{background:linear-gradient(135deg,#f6d365,#fda085)}
152.grad-4{background:linear-gradient(135deg,#a1ffce,#faffd1)}
153.grad-5{background:linear-gradient(135deg,#ff9a9e,#fecfef)}
154.grad-6{background:linear-gradient(135deg,#84fab0,#8fd3f4)}
155.ent-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.3rem}
156.ent-card{aspect-ratio:1/1;border-radius:16px;display:flex;flex-direction:column;justify-content:flex-end;padding:1.5rem;color:#fff;position:relative;overflow:hidden}
157.ent-card .ent-title{font-size:1.3rem;font-weight:800;margin-bottom:.5rem}
158.ent-card .ent-date{font-size:.78rem;opacity:.85}
159.ent-card .ent-tag{position:absolute;top:1.5rem;left:1.5rem;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;background:rgba(255,255,255,.2);padding:.25rem .6rem;border-radius:6px}
160@media(max-width:860px){.wide-grid,.ent-grid{grid-template-columns:1fr}}
161
162/* ── NEWS GRID ── */
163.news-sec{max-width:1180px;margin:0 auto;padding:4rem 1.5rem}
164.news-head{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:1.6rem;flex-wrap:wrap;gap:.5rem}
165.news-head h2{font-size:1.5rem;font-weight:800;letter-spacing:-.02em}
166.news-head a{font-size:.82rem;color:var(--green-xl);font-weight:600}
167.news-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.1rem}
168.news-card{background:var(--dark-900);border:1px solid rgba(0,0,0,.06);border-radius:14px;padding:1.3rem;display:flex;flex-direction:column;gap:.7rem;transition:border-color .15s,transform .15s}
169.news-card:hover{border-color:rgba(0,0,0,.15);transform:translateY(-2px)}
170.news-tag{display:inline-flex;align-self:flex-start;font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--green-xl);background:rgba(16,163,127,.1);border:1px solid rgba(16,163,127,.18);border-radius:6px;
170padding:.25rem .55rem}
171.news-card h3{font-size:.98rem;font-weight:700;line-height:1.4}
172.news-card p{font-size:.82rem;color:var(--text3);line-height:1.55}
173@media(max-width:860px){.news-grid{grid-template-columns:1fr}}
174
175/* ── TABBED USE-CASES ── */
176.tabsec{max-width:1180px;margin:0 auto;padding:0 1.5rem 4rem}
177.tabsec-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.6rem;flex-wrap:wrap;gap:1rem}
178.tabsec-head h2{font-size:1.5rem;font-weight:800;letter-spacing:-.02em}
179.tabsec-tabs{display:flex;gap:.3rem;background:rgba(0,0,0,.03);border:1px solid rgba(0,0,0,.06);border-radius:10px;padding:.3rem}
180.tabsec-tab{padding:.5rem 1.1rem;border-radius:7px;font-size:.85rem;font-weight:600;color:var(--text3);cursor:pointer;transition:all .15s;border:none;background:none;font-family:inherit}
181.tabsec-tab.active{background:var(--green);color:#fff}
182.tabsec-panel{display:none}
183.tabsec-panel.active{display:grid;grid-template-columns:repeat(3,1fr);gap:1.1rem}
184@media(max-width:860px){.tabsec-panel.active{grid-template-columns:1fr}}
185
186/* ── GLASS SECTION ── */
187.gsec{padding:7rem 1.5rem;max-width:1080px;margin:0 auto}
188.gsec-full{padding:7rem 1.5rem;position:relative}
189.gsec-full-inner{max-width:1080px;margin:0 auto}
190.sec-h{text-align:center;margin-bottom:4rem}
191.sec-h h2{font-size:clamp(1.8rem,4.5vw,2.8rem);font-weight:800;letter-spacing:-.04em;line-height:1.1}
192.sec-h h2 em{font-style:normal;color:var(--green-xl)}
193.sec-h h2 .blue{font-style:normal;color:var(--indigo-l)}
194.sec-h p{color:var(--text2);margin-top:.8rem;font-size:1rem;max-width:500px;margin-left:auto;margin-right:auto;line-height:1.7}
195
196/* ── FEATURES GRID ── */
197.feat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem}
198.fcard{background:var(--glass);border:1px solid var(--glass-b);backdrop-filter:blur(12px);border-radius:18px;padding:2rem;transition:all .25s;position:relative;overflow:hidden}
199.fcard::after{content:'';position:absolute;inset:0;border-radius:18px;background:linear-gradient(135deg,rgba(16,163,127,.05),transparent 50%);opacity:0;transition:opacity .25s}
200.fcard:hover{border-color:rgba(16,163,127,.2);transform:translateY(-3px);box-shadow:0 8px 32px rgba(0,0,0,.3)}
201.fcard:hover::after{opacity:1}
202.fcard-icon{width:50px;height:50px;border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:22px;margin-bottom:1.1rem;position:relative;z-index:1}
203.fcard-icon.green{background:rgba(16,163,127,.12);border:1px solid rgba(16,163,127,.2);color:#10a37f}
204.fcard-icon.blue{background:rgba(92,124,250,.12);border:1px solid rgba(92,124,250,.2);color:#5c7cfa}
205.fcard-icon.gold{background:rgba(245,158,11,.1);border:1px solid rgba(245,158,11,.2);color:#f59e0b}
206.fcard h3{font-size:1rem;font-weight:700;margin-bottom:.5rem;position:relative;z-index:1}
207.fcard p{font-size:.875rem;color:var(--text2);line-height:1.7;position:relative;z-index:1}
208
209/* ── EXTENSION ── */
210.ext-grid{display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:center}
211.ext-eyebrow{display:inline-flex;align-items:center;gap:.5rem;background:rgba(16,163,127,.08);border:1px solid rgba(16,163,127,.15);border-radius:100px;padding:.3rem .9rem;font-size:.72rem;color:var(--green-xl);font-weight:700;margin-bottom:1.25rem;text-transform:uppercase;letter-spacing:.06em}
212.ext-txt h2{font-size:clamp(1.7rem,4vw,2.4rem);font-weight:800;letter-spacing:-.04em;line-height:1.15;margin-bottom:1rem}
213.ext-txt h2 em{font-style:normal;color:var(--green-xl)}
214.ext-txt p{color:var(--text2);line-height:1.75;margin-bottom:1.75rem;font-size:.95rem}
215.ext-feats{display:flex;flex-direction:column;gap:.6rem;margin-bottom:2.25rem}
216.ext-feat{display:flex;align-items:center;gap:.75rem;font-size:.875rem;color:var(--text2)}
217.ext-feat-dot{width:18px;height:18px;background:rgba(16,163,127,.12);border:1px solid rgba(16,163,127,.25);border-radius:5px;display:flex;align-items:center;justify-content:center;font-size:10px;color:var(--green-xl);flex-shrink:0}
218.ext-panel{background:var(--dark-900);border:1px solid rgba(0,0,0,.08);border-radius:18px;overflow:hidden;box-shadow:0 20px 60px rgba(0,0,0,.5),0 0 40px rgba(16,163,127,.05)}
219.ext-ph{background:var(--dark-950);padding:10px 13px;display:flex;align-items:center;gap:8px;border-bottom:1px solid rgba(0,0,0,.05)}
220.ext-plogo{width:22px;height:22px;border-radius:6px;overflow:hidden;flex-shrink:0}
221.ext-plogo img{width:100%;height:100%;object-fit:contain}
222.ext-ptitle{font-size:12px;font-weight:700;color:var(--text);flex:1}
223.ext-pdot{width:6px;height:6px;border-radius:50%;background:var(--green-xl);box-shadow:0 0 6px var(--green)}
224.ext-pb{padding:12px}
225.ext-ctx{font-size:10px;color:var(--text3);padding:3px 0 8px;font-family:'JetBrains Mono',monospace}
226.ext-mu{background:linear-gradient(135deg,var(--green-l),var(--green-d));color:#fff;padding:7px 11px;border-radius:10px 10px 3px 10px;font-size:11px;margin:0 0 8px auto;max-width:82%;text-align:right}
227.ext-ma{background:rgba(0,0,0,.04);border:1px solid rgba(0,0,0,.06);color:var(--text2);padding:7px 11px;border-radius:10px 10px 10px 3px;font-size:11px;max-width:90%;margin-bottom:8px;line-height:1.5}
228.ext-inp{display:flex;gap:5px;background:rgba(0,0,0,.03);border:1px solid rgba(0,0,0,.07);border-radius:8px;padding:7px 10px;font-size:11px;color:var(--text3);margin-top:2px;align-items:center}
229.ext-inp span:last-child{color:var(--green-xl);font-size:14px}
230
231/* ── STUDIOS ── */
232.studio-cats{display:flex;flex-direction:column;gap:2rem;margin-top:2.5rem}
233.studio-cat-label{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text3);margin-bottom:.9rem}
234.studios-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:.6rem}
235.studio-cat:nth-child(2) .studios-grid{grid-template-columns:repeat(3,1fr)}
236.studio-cat:nth-child(3) .studios-grid{grid-template-columns:repeat(6,1fr)}
237.rich-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.25rem;margin-top:2.5rem}
238@media(max-width:860px){.studios-grid{grid-template-columns:repeat(3,1fr)!important}.rich-grid{grid-template-columns:1fr 1fr}}
239@media(max-width:560px){.studios-grid{grid-template-columns:repeat(2,1fr)!important}.rich-grid{grid-template-columns:1fr}}
240.studio{background:rgba(0,0,0,.03);border:1px solid rgba(0,0,0,.06);border-radius:12px;padding:.9rem .6rem;text-align:center;transition:all .2s;cursor:default}
241.studio:hover{border-color:rgba(16,163,127,.25);background:rgba(16,163,127,.06);transform:translateY(-1px)}
242.studio-i{font-size:1.4rem;margin-bottom:.3rem}
243.studio-n{font-size:.72rem;font-weight:600;color:var(--text2)}
244
245/* ── HOW ── */
246.steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.25rem;margin-top:2.5rem;counter-reset:step-c}
247.step{background:var(--glass);border:1px solid var(--glass-b);border-radius:18px;padding:2rem;position:relative;counter-increment:step-c;transition:all .2s}
248.step:hover{border-color:rgba(16,163,127,.15);transform:translateY(-2px)}
249.step::before{content:counter(step-c,'0'counter(step-c));position:absolute;top:1.5rem;right:1.75rem;font-size:2.5rem;font-weight:900;letter-spacing:-.05em;color:rgba(0,0,0,.04);line-height:1}
250.step-num{width:36px;height:36px;background:linear-gradient(135deg,var(--green),var(--green-d));border-radius:10px;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:.95rem;color:#fff;margin-bottom:1rem;box-shadow:0 4px 12px rgba(16,163,127,.3)}
251.step h3{font-size:.95rem;font-weight:700;margin-bottom:.5rem}
252.step p{font-size:.85rem;color:var(--text2);line-height:1.65}
253
254/* ── TESTI ── */
255.testis{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.25rem;margin-top:2.5rem}
256.testi{background:var(--glass);border:1px solid var(--glass-b);backdrop-filter:blur(12px);border-radius:18px;padding:1.75rem;transition:all .2s}
257.testi:hover{border-color:rgba(0,0,0,.1);transform:translateY(-2px)}
258.testi-stars{color:var(--gold-l);font-size:.9rem;margin-bottom:.8rem;letter-spacing:.1em}
259.testi-txt{font-size:.875rem;color:var(--text2);line-height:1.75;margin-bottom:1.25rem;font-style:italic}
260.testi-author{display:flex;align-items:center;gap:.75rem}
261.testi-av{width:38px;height:38px;border-radius:50%;background:linear-gradient(135deg,var(--green),var(--green-d));color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.95rem;flex-shrink:0;box-shadow:0 0 12px rgba(16,163,127,.3)}
262.testi-name{font-weight:700;font-size:.85rem}
263.testi-role{font-size:.75rem;color:var(--text3)}
264
265/* ── PRICING ── */
266.plans{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.25rem;margin-top:2.5rem}
267.plan{background:var(--glass);border:1px solid var(--glass-b);backdrop-filter:blur(12px);border-radius:20px;padding:2rem;position:relative;display:flex;flex-direction:column;transition:all .2s}
268.plan:hover{transform:translateY(-2px);border-color:rgba(0,0,0,.1)}
269.plan.feat{border-color:rgba(16,163,127,.3);background:rgba(16,163,127,.06);box-shadow:0 0 40px rgba(16,163,127,.1)}
270.plan-badge{position:absolute;top:-13px;left:50%;transform:translateX(-50%);background:linear-gradient(135deg,var(--green),var(--green-d));color:#fff;font-size:.68rem;font-weight:700;padding:.25rem 1rem;border-radius:100px;white-space:nowrap}
271.plan-name{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.12em;color:var(--text3);margin-bottom:.5rem}
272.plan-price{font-size:2.6rem;font-weight:900;letter-spacing:-.05em;line-height:1;color:var(--text);margin-bottom:.2rem}
273.plan-price sup{font-size:.9rem;font-weight:600;vertical-align:top;margin-top:.5rem;margin-right:.1rem}
274.plan-period{font-size:.78rem;color:var(--text3);margin-bottom:1rem}
275.plan-desc{font-size:.82rem;color:var(--text2);margin-bottom:1.25rem;padding-bottom:1.25rem;border-bottom:1px solid rgba(0,0,0,.06);line-height:1.55}
276.plan ul{list-style:none;font-size:.82rem;color:var(--text2);margin-bottom:1.75rem;flex:1;display:flex;flex-direction:column;gap:.4rem}
277.plan ul li{padding-left:1.35rem;position:relative;line-height:1.45}
278.plan ul li::before{content:'✓';position:absolute;
278left:0;color:var(--green-xl);font-weight:700}
279.plan-btn{width:100%;padding:.75rem;border-radius:10px;font-weight:700;font-size:.875rem;text-align:center;transition:all .2s;margin-top:auto;cursor:pointer;border:none;font-family:'Inter',sans-serif}
280.plan-btn.p{background:linear-gradient(135deg,var(--green),var(--green-d));color:#fff;box-shadow:0 4px 16px rgba(16,163,127,.25)}
281.plan-btn.p:hover{transform:translateY(-1px);box-shadow:0 6px 24px rgba(16,163,127,.4)}
282.plan-btn.s{background:rgba(0,0,0,.04);color:var(--text2);border:1px solid rgba(0,0,0,.08)}
283.plan-btn.s:hover{border-color:rgba(0,0,0,.15);color:var(--text)}
284
285/* ── DOWNLOAD ── */
286.dl-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-top:2.5rem}
287.dlcard{background:var(--glass);border:1px solid var(--glass-b);border-radius:16px;padding:1.75rem;text-align:center;transition:all .2s;backdrop-filter:blur(12px)}
288.dlcard:hover{border-color:rgba(16,163,127,.2);transform:translateY(-2px)}
289.dl-icon{font-size:2rem;margin-bottom:.75rem}
290.dl-name{font-size:.95rem;font-weight:700;margin-bottom:.35rem}
291.dl-desc{font-size:.8rem;color:var(--text2);margin-bottom:1.25rem;line-height:1.55}
292.dl-btn{display:inline-block;background:linear-gradient(135deg,var(--green),var(--green-d));color:#fff;padding:.5rem 1.35rem;border-radius:8px;font-size:.8rem;font-weight:700;transition:all .2s}
293.dl-btn:hover{transform:translateY(-1px);box-shadow:0 4px 16px rgba(16,163,127,.3)}
294.dl-btn.soon{background:rgba(0,0,0,.06);color:var(--text3);border:1px solid rgba(0,0,0,.08);cursor:default}
295.dl-btn.soon:hover{transform:none;box-shadow:none}
296.dlcard.recommended{position:relative;border-color:rgba(16,163,127,.45);box-shadow:0 0 0 1px rgba(16,163,127,.25),0 8px 24px rgba(16,163,127,.15)}
297.dlcard.recommended::before{content:"Pour vous";position:absolute;top:-.6rem;left:50%;transform:translateX(-50%);background:linear-gradient(135deg,var(--green),var(--green-d));color:#fff;font-size:.65rem;font-weight:700;letter-spacing:.02em;padding:.2rem .65rem;border-radius:999px;white-space:nowrap}
298
299/* ── FAQ ── */
300.faq{max-width:700px;margin:2.5rem auto 0}
301.faq-item{border-bottom:1px solid rgba(0,0,0,.06)}
302.faq-q{font-weight:700;font-size:.9rem;color:var(--text);cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1.25rem 0;user-select:none}
303.faq-arr{color:var(--text3);font-size:.85rem;transition:transform .2s;flex-shrink:0}
304.faq-q.open .faq-arr{transform:rotate(180deg);color:var(--green-xl)}
305.faq-a{font-size:.875rem;color:var(--text2);line-height:1.75;padding-bottom:1.25rem;display:none}
306.faq-a.open{display:block}
307
308/* ── CTA ── */
309.cta{position:relative;text-align:center;padding:8rem 1.5rem;overflow:hidden}
310.cta-bg{position:absolute;inset:0;background:radial-gradient(ellipse 70% 80% at 50% 50%,rgba(16,163,127,.12),transparent 70%),radial-gradient(ellipse 40% 40% at 20% 30%,rgba(92,124,250,.07),transparent 50%);pointer-events:none}
311.cta-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(0,0,0,.02) 1px,transparent 1px),linear-gradient(90deg,rgba(0,0,0,.02) 1px,transparent 1px);background-size:50px 50px;pointer-events:none;mask-image:radial-gradient(ellipse 80% 80% at 50% 50%,black,transparent)}
312.cta-logo{width:72px;height:72px;margin:0 auto 2rem;animation:logo-think 1.3s ease infinite;filter:drop-shadow(0 0 20px rgba(16,163,127,.4)) drop-shadow(0 0 8px rgba(233,184,58,.3))}
313.cta h2{font-size:clamp(2rem,5vw,3.2rem);font-weight:900;letter-spacing:-.05em;margin-bottom:1rem;position:relative;z-index:1}
314.cta p{font-size:1.05rem;color:var(--text2);max-width:480px;margin:0 auto 2.75rem;line-height:1.7;position:relative;z-index:1}
315.cta .btn-hp{font-size:1rem;padding:1rem 2.5rem;position:relative;z-index:1}
316
317/* ── FOOTER ── */
318footer{background:var(--dark-900);border-top:1px solid rgba(0,0,0,.05);padding:4rem 1.5rem 2.5rem}
319.footer-inner{max-width:1080px;margin:0 auto}
320.footer-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr 1fr 1fr;gap:2.2rem;margin-bottom:3rem}
321.footer-brand .footer-logo{display:flex;align-items:center;gap:.6rem;margin-bottom:1rem}
322.footer-brand .footer-logo img{width:28px;height:28px}
323.footer-brand .footer-logo span{font-weight:800;font-size:1rem;color:var(--text)}
324.footer-brand p{font-size:.82rem;color:var(--text3);line-height:1.7;margin-bottom:1rem}
325.footer-brand .footer-flags{font-size:.75rem;color:var(--text3)}
326.fcol h4{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--text2);margin-bottom:1rem}
327.fcol a{display:block;font-size:.82rem;color:var(--text3);margin-bottom:.5rem;transition:color .15s;font-weight:500}
328.fcol a:hover{color:var(--text)}
329.footer-bottom{border-top:1px solid rgba(0,0,0,.05);padding-top:1.5rem;display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap;font-size:.75rem;color:var(--text3)}
330
331/* ── ANIMATIONS ── */
332@keyframes breathe{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.85)}}
333@keyframes logo-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}
334@keyframes logo-think{0%,100%{filter:drop-shadow(0 0 20px rgba(16,163,127,.35));transform:scale(1)}50%{filter:drop-shadow(0 0 32px rgba(233,184,58,.55)) drop-shadow(0 0 16px rgba(16,163,127,.4));transform:scale(1.06)}}
335@keyframes blink{50%{opacity:0}
335}
336@keyframes fadein{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}
337.fin{opacity:0;transform:translateY(20px);transition:opacity .6s ease,transform .6s ease}
338.fin.vis{opacity:1;transform:translateY(0)}
339
340/* ── RESPONSIVE ── */
341@media(max-width:960px){
342  .feat-grid{grid-template-columns:1fr}
343  .ext-grid{grid-template-columns:1fr}
344  .footer-grid{grid-template-columns:1fr 1fr}
345}
346@media(max-width:640px){
347  nav{height:auto;min-height:64px;padding:.65rem 1rem;flex-wrap:wrap;row-gap:.5rem}
348  .nav-burger{display:flex}
349  .btn-login{display:none}
350  .btn-cta{font-size:.78rem;padding:.55rem .9rem}
351  .cta-full{display:none}
352  .nav-links{
353    display:none;
354    position:fixed;top:64px;left:0;right:0;bottom:0;
355    background:#fff;flex-direction:column;align-items:stretch;gap:0;
356    padding:.5rem 1.25rem 2rem;overflow-y:auto;z-index:199;
357  }
358  .nav-links.mobile-open{display:flex}
359  .mobile-only-link{display:block;padding:1rem 0;border-bottom:1px solid rgba(0,0,0,.06);font-weight:600;color:var(--text)}
360  .nav-links>a{width:100%;padding:1rem 0;border-bottom:1px solid rgba(0,0,0,.06);font-size:1rem}
361  .nav-item{width:100%}
362  .nav-item>span{width:100%;padding:1rem 0;border-bottom:1px solid rgba(0,0,0,.06);font-size:1rem;justify-content:space-between}
363  .nav-dd{position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;border:none;background:rgba(0,0,0,.02);margin:0;padding:0;border-radius:0;display:none;backdrop-filter:none}
364  .nav-item.mobile-open .nav-dd{display:block}
365  .nav-dd a{padding:.9rem 1rem;font-size:.95rem;white-space:normal}
366  .mkbody{grid-template-columns:1fr}
367  .mksb{display:none}
368  .stats-inner{justify-content:space-around}
369  .footer-grid{grid-template-columns:1fr}
370  .footer-bottom{flex-direction:column;text-align:center}
371
372  /* Touch targets & legibility */
373  .hero-chip{min-height:44px;display:inline-flex;align-items:center;font-size:.9rem}
374  .hero-search-send{width:44px;height:44px}
375  .fcol a{padding:.6rem 0;font-size:.9rem;margin-bottom:0}
376  .plan-btn{min-height:44px}
377  .tabsec-tab{min-height:40px}
378
379  /* Hero tile mock overlapping title fix */
380  .hero-tile-mock{position:static;margin:0 0 .75rem;top:auto;left:auto;right:auto}
381  .hero-tile{padding-top:1.25rem}
382}
383</style>
384<style>.ico{vertical-align:-.125em;flex-shrink:0}.crea-fw-send{display:flex;align-items:center;justify-content:center}</style><style>
385/* Bouton OMNIS — le logo est le nom : OMNIS en capitales, web en petit */
386.nav-navigateur{display:inline-flex;align-items:baseline;gap:.3rem;padding:.4rem .8rem;border:1px solid rgba(16,163,127,.34);border-radius:999px;color:#0a7a5e;text-decoration:none;white-space:nowrap;transition:background .15s,border-color .15s}
387.nav-navigateur:hover{background:rgba(16,163,127,.08);border-color:#10a37f}
388.nav-omnis-mot{font-size:.9rem;font-weight:800;letter-spacing:.1em}
389.nav-omnis-web{font-size:.6rem;font-weight:600;opacity:.72;letter-spacing:.02em}
390.nav-omnis-act{margin-left:.15rem;font-size:.78rem;font-weight:600;opacity:.9}
391@media (max-width:900px){.nav-navigateur{display:none}}
392</style>
393</head>
394<body>
395
396<!-- NAV -->
397<nav id="nav">
398  <a class="nav-logo" href="/">
399    <img src="/crea-logo.svg?v=2" alt="CREA"/>
400    CREA
401  </a>
402  <div class="nav-links" id="nav-links-panel">
403    <a href="/app?login=1" class="mobile-only-link">Se connecter</a>
404    <a href="/">Accueil</a>
405    <div class="nav-item">
406      <span>Produits</span>
407      <div class="nav-dd">
408        <a href="/#features">Fonctionnalités</a>
409        <a href="/studios">Studios</a>
410        <a href="/omnis-web/">Navigateur OMNIS web</a>
411        <a href="/extension-navigateur">Extension Chrome</a>
412        <a href="/market">Marketplace</a>
413      </div>
414    </div>
415    <div class="nav-item">
416      <span>Automatisation</span>
417      <div class="nav-dd">
418        <a href="/automate">Automatiser</a>
419        <a href="/dispatch">Dispatch</a>
420        <a href="/goals">Objectifs</a>
421        <a href="/projects">Projets</a>
422      </div>
423    </div>
424    <div class="nav-item">
425      <span>Communauté</span>
426      <div class="nav-dd">
427        <a href="/network">Network</a>
428        <a href="/collab">Collab</a>
429        <a href="/coworker">Coworker</a>
430        <a href="/foi">Foi</a>
431      </div>
432    </div>
433    <div class="nav-item">
434      <span>Recherche</span>
435      <div class="nav-dd">
436        <a href="/labs">Labs</a>
437        <a href="/real">Real</a>
438      </div>
439    </div>
440    <a href="/tarifs">Tarifs</a>
441    <a href="/faq">FAQ</a>
442    <a href="/download">Téléchargement</a>
443  </div>
444  <div class="nav-right">
445    <a class="btn-login btn-auth-toggle" href="/app?login=1" id="nav-auth-btn">
446      <span class="auth-a">Se connecter</span><span class="auth-b">Créer un compte</span>
447    </a>
448    <div class="nav-item" id="nav-account" style="display:none">
449      <span>Mon compte</span>
450      <div class="nav-dd">
451        <div id="nav-account-email" style="padding:.55rem .8rem;font-size:.78rem;color:var(--text3);white-space:nowrap"></div>
452        <a href="/compte">Mon compte</a>
453        <a href="/app?guest=1">Ouvrir l'app →</a>
454        <a href="#" id="nav-logout-btn">Se déconnecter</a>
455      </div>
456    </div>
457    <a class="nav-navigateur" href="/omnis-web/" title="OMNIS web — essayer le navigateur de CREA">
458      <span class="nav-omnis-mot">OMNIS</span><span class="nav-omnis-web">web</span>
459      <span class="nav-omnis-act">Essayer</span>
460    </a>
461    <a class="btn-cta" href="/app?guest=1">Essayer CREA</a>
462    <button type="button" class="nav-burger" id="nav-burger" aria-label="Ouvrir le menu" aria-expanded="false" aria-controls="nav-links-panel"><svg width="1em" height="1em" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round" class="ico"><line x1="4" y1="7" x2="20" y2="7"/><line x1="4" y1="12" x2="20" y2="12"/><line x1="4" y1="17" x2="20" y2="17"/></svg></button>
463  </div>
464</nav>
465
466<!-- HERO -->
467<section class="gsec-full" style="padding-top:9rem;text-align:center">
468  <div class="gsec-full-inner" style="max-width:720px">
469    <div class="ext-eyebrow" style="justify-content:center;display:inline-flex"><svg width="1em" height="1em" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round" class="ico"><path d="M12 2a10 10 0 1 0 0 20c1 0 2-.5 2-2 0-.5-.2-1-.5-1.4-.3-.4-.5-.9-.5-1.4 0-1.1.9-2 2-2h1.5A4.5 4.5 0 0 0 21 10.5C21 5.8 17 2 12 2Z"/><circle cx="7" cy="10" r="1" fill="currentColor"/><circle cx="10" cy="7" r="1" fill="currentColor"/><circle cx="15" cy="8" r="1" fill="currentColor"/><circle cx="17" cy="12" r="1" fill="currentColor"/></svg> Studios</div>
470    <div class="sec-h fin" style="margin-top:.5rem">
471      <h2>14 studios. <em>Un seul espace.</em></h2>
472      <p>Chaque studio est spécialisé et optimisé pour son domaine — pas un simple chat générique qui essaie de tout faire à moitié bien.</p>
473      <p class="omnis-mention">Les studios travaillent aussi sur ce que vous lisez : dans <a href="/omnis-web/">Omnis Web</a>, le navigateur de CREA, la page ouverte fait partie du contexte — plus besoin de copier-coller.</p>
474    </div>
475  </div>
476</section>
477
478<!-- CATEGORIES -->
479<section class="gsec" style="padding-top:0">
480  <div class="feat-grid">
481    <div class="fcard fin">
482      <div class="fcard-icon green"><svg width="1em" height="1em" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round" class="ico"><path d="M12 2l1.5 5.5L19 9l-5.5 1.5L12 16l-1.5-5.5L5 9l5.5-1.5L12 2Z"/></svg></div>
483      <h3>Création</h3>
484      <p>Chat, Design, Vidéo, Code, Audio — pour donner vie à une idée, du premier brouillon au rendu final.</p>
485    </div>
486    <div class="fcard fin">
487      <div class="fcard-icon blue"><svg width="1em" height="1em" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round" class="ico"><path d="M12 2c3 1 5 4 5 8 0 3-1 5-2 6l-1 3-2-2-2 2-1-3c-1-1-2-3-2-6 0-4 2-7 5-8Z"/><circle cx="12" cy="9" r="1.5"/></svg></div>
488      <h3>Production</h3>
489      <p>Document, Présentation, Site Web — pour transformer une idée en livrable fini, prêt à partager.</p>
490    </div>
491    <div class="fcard fin">
492      <div class="fcard-icon gold"><svg width="1em" height="1em" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round" class="ico"><polyline points="3 17 9 11 13 15 21 6"/><polyline points="15 6 21 6 21 12"/></svg></div>
493      <h3>Business</h3>
494      <p>Business, Marketing, Formation, Data, Labs, Dispatch — pour piloter, analyser et faire avancer un projet.</p>
495    </div>
496  </div>
497</section>
498
499<!-- LISTE DETAILLEE -->
500<section class="gsec-full" style="background:rgba(0,0,0,.01);border-top:1px solid rgba(0,0,0,.04);border-bottom:1px solid rgba(0,0,0,.04)">
501  <div class="gsec-full-inner">
502    <div class="sec-h fin">
503      <h2>Un studio pour <em>chaque besoin</em></h2>
504    </div>
505    <div class="studio-cats fin">
506      <div class="studio-cat">
507        <div class="studio-cat-label"><svg width="1em" height="1em" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round" class="ico"><path d="M12 2l1.5 5.5L19 9l-5.5 1.5L12 16l-1.5-5.5L5 9l5.5-1.5L12 2Z"/></svg> Création</div>
508        <div class="studios-grid">
509          <div class="studio"><div class="studio-i"><svg width="1em" height="1em" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round" class="ico">
509<path d="M21 11.5a8.4 8.4 0 0 1-.9 3.8 8.5 8.5 0 0 1-7.6 4.7 8.4 8.4 0 0 1-3.8-.9L3 21l1.9-5.7a8.4 8.4 0 0 1-.9-3.8 8.5 8.5 0 0 1 4.7-7.6 8.4 8.4 0 0 1 3.8-.9h.5a8.48 8.48 0 0 1 8 8v.5Z"/></svg></div><div class="studio-n">Chat</div></div>
510          <div class="studio"><div class="studio-i"><svg width="1em" height="1em" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round" class="ico"><path d="M12 2a10 10 0 1 0 0 20c1 0 2-.5 2-2 0-.5-.2-1-.5-1.4-.3-.4-.5-.9-.5-1.4 0-1.1.9-2 2-2h1.5A4.5 4.5 0 0 0 21 10.5C21 5.8 17 2 12 2Z"/><circle cx="7" cy="10" r="1" fill="currentColor"/><circle cx="10" cy="7" r="1" fill="currentColor"/><circle cx="15" cy="8" r="1" fill="currentColor"/><circle cx="17" cy="12" r="1" fill="currentColor"/></svg></div><div class="studio-n">Design</div></div>
511          <div class="studio"><div class="studio-i"><svg width="1em" height="1em" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round" class="ico"><rect x="3" y="5" width="18" height="14" rx="2"/><polygon points="10 9 16 12 10 15" fill="currentColor" stroke="none"/></svg></div><div class="studio-n">Vidéo</div></div>
512          <div class="studio"><div class="studio-i"><svg width="1em" height="1em" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round" class="ico"><polyline points="8 6 3 12 8 18"/><polyline points="16 6 21 12 16 18"/></svg></div><div class="studio-n">Code</div></div>
513          <div class="studio"><div class="studio-i"><svg width="1em" height="1em" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round" class="ico"><circle cx="6" cy="18" r="3"/><circle cx="18" cy="16" r="3"/><path d="M9 18V4l12-2v14"/></svg></div><div class="studio-n">Audio</div></div>
514        </div>
515      </div>
516      <div class="studio-cat">
517        <div class="studio-cat-label"><svg width="1em" height="1em" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round" class="ico"><path d="M12 2c3 1 5 4 5 8 0 3-1 5-2 6l-1 3-2-2-2 2-1-3c-1-1-2-3-2-6 0-4 2-7 5-8Z"/><circle cx="12" cy="9" r="1.5"/></svg> Production</div>
518        <div class="studios-grid">
519          <div class="studio"><div class="studio-i"><svg width="1em" height="1em" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round" class="ico"><path d="M4 20h4l10-10-4-4L4 16v4Z"/><path d="M14 6l4 4"/></svg></div><div class="studio-n">Document</div></div>
520          <div class="studio"><div class="studio-i"><svg width="1em" height="1em" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round" class="ico"><rect x="4" y="12" width="4" height="8"/><rect x="10" y="6" width="4" height="14"/><rect x="16" y="9" width="4" height="11"/></svg></div><div class="studio-n">Présentation</div></div>
521          <div class="studio"><div class="studio-i"><svg width="1em" height="1em" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round" class="ico"><circle cx="12" cy="12" r="9"/><path d="M3 12h18M12 3c2.5 2.5 4 6 4 9s-1.5 6.5-4 9c-2.5-2.5-4-6-4-9s1.5-6.5 4-9Z"/></svg></div><div class="studio-n">Site Web</div></div>
522        </div>
523      </div>
524      <div class="studio-cat">
525        <div class="studio-cat-label"><svg width="1em" height="1em" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round" class="ico"><polyline points="3 17 9 11 13 15 21 6"/><polyline points="15 6 21 6 21 12"/></svg> Business</div>
526        <div class="studios-grid">
527          <div class="studio"><div class="studio-i"><svg width="1em" height="1em" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round" class="ico"><rect x="3" y="7" width="18" height="13" rx="2"/><path d="M8 7V5a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2"/></svg></div><div class="studio-n">Business</div></div>
528          <div class="studio"><div class="studio-i"><svg width="1em" height="1em" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round" class="ico"><path d="M3 10v4h3l6 4V6l-6 4H3Z"/><path d="M17 8a4 4 0 0 1 0 8"/></svg></div><div class="studio-n">Marketing</div></div>
529          <div class="studio"><div class="studio-i"><svg width="1em" height="1em" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round" class="ico"><path d="M2 9l10-5 10 5-10 5-10-5Z"/><path d="M6 11v5c0 1.5 3 3 6 3s6-1.5 6-3v-5"/></svg></div><div class="studio-n">Formation</div></div>
530          <div class="studio"><div class="studio-i"><svg width="1em" height="1em" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round" class="ico"><polyline points="3 7 9 13 13 9 21 18"/><polyline points="21 12 21 18 15 18"/></svg></div><div class="studio-n">Data</div></div>
531          <div class="studio"><div class="studio-i"><svg width="1em" height="1em" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round" class="ico"><path d="M9 3h6M10 3v5l-5 9a2 2 0 0 0 2 3h10a2 2 0 0 0 2-3l-5-9V3"/></svg></div><div class="studio-n">Labs</div></div>
532          <div class="studio"><div class="studio-i"><svg width="1em" height="1em" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round" class="ico"><rect x="9" y="2" width="6" height="16" rx="3"/><circle cx="12" cy="6" r="1.2" fill="currentColor" stroke="none"/><circle cx="12" cy="10" r="1.2" fill="currentColor" stroke="none"/><circle cx="12" cy="14" r="1.2" fill="currentColor" stroke="none"/><path d="M12 18v3"/></svg></div><div class="studio-n">Dispatch</div></div>
533        </div>
534      </div>
535    </div>
536  </div>
537</section>
538
539<!-- CTA -->
540<section class="cta">
541  <div class="cta-bg"></div>
542  <div class="cta-grid"></div>
543  <img class="cta-logo" src="/crea-logo.svg?v=2" alt="CREA"/>
544  <h2>Essayez les 14 studios</h2>
545  <p>Aucune carte bancaire requise pour commencer.</p>
546  <a class="btn-hp" href="/app?guest=1">Essayer CREA →</a>
547</section>
548
549<footer>
550  <div class="footer-inner">
551    <div class="footer-grid">
552      <div class="footer-brand">
553        <div class="footer-logo">
554          <img src="/crea-logo.svg?v=2" alt=""/>
555          <span>CREA</span>
556        </div>
557        <p>L'intelligence à portée de main. Puissance Créa, 26 studios, agent navigateur, mémoire réelle — hébergé en France.</p>
558        <div class="footer-flags">🇫🇷 RGPD · © 2026 CREA CONNECT</div>
559      </div>
560      <div class="fcol">
561        <h4>Produit</h4>
562        <a href="/#features">Fonctionnalités</a>
563        <a href="/omnis-web/" class="footer-omnis">Navigateur OMNIS web</a>
564        <a href="/extension-navigateur">Extension Chrome</a>
565        <a href="/studios">Studios</a>
566        <a href="/download">Téléchargements</a>
567        <a href="/faq">FAQ</a>
568        <a href="/developers">Développeurs</a>
569        <a href="/support">Support</a>
570        <a href="/a-propos">À propos</a>
571        <a href="/app?guest=1">Ouvrir l'app</a>
572      </div>
573      <div class="fcol">
574        <h4>Automatisation</h4>
575        <a href="/automate">Automatiser</a>
576        <a href="/dispatch">Dispatch</a>
577        <a href="/goals">Objectifs</a>
578        <a href="/projects">Projets</a>
579      </div>
580      <div class="fcol">
581        <h4>Communauté</h4>
582        <a href="/network">Network</a>
583        <a href="/collab">Collab</a>
584        <a href="/coworker">Coworker</a>
585        <a href="/foi">Foi</a>
586      </div>
587      <div class="fcol">
588        <h4>Tarifs</h4>
589        <a href="/tarifs">Gratuit</a>
590        <a href="/tarifs">Essentiel — 7,99€</a>
591        <a href="/tarifs">Pro — 19,99€</a>
592        <a href="/tarifs">Équipe — 49,99€</a>
593      </div>
594      <div class="fcol">
595        <h4>Légal</h4>
596        <a href="/legal.html">Mentions légales</a>
597        <a href="/legal.html#cgv">CGV</a>
598        <a href="/legal.html#privacy">Confidentialité</a>
599        <a href="/legal.html#securite">Sécurité</a>
600        <a href="mailto:[email protected]">Contact</a>
601      </div>
602    </div>
603    <div class="footer-bottom">
604      <span>Fait avec <svg width="1em" height="1em" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round" class="ico"><path d="M12 21s-7-4.5-9.5-9C1 8.5 2.5 5 6 5c2 0 3.5 1 6 3 2.5-2 4-3 6-3 3.5 0 5 3.5 3.5 7-2.5 4.5-9.5 9-9.5 9Z"/></svg> en France</span>
605      <span>RGPD · Zéro Big Tech</span>
606    </div>
607  </div>
608</footer>
609
610<script>
611// Nav scroll
612window.addEventListener('scroll', function() {
613  document.getElementById('nav').classList.toggle('scrolled', window.scrollY > 20)
614}, {passive:true})
615
616// Menu mobile (hamburger) : ouvre/ferme le panneau nav-links, gère les sous-menus au tap
617;(function() {
618  var burger = document.getElementById('nav-burger')
619  var panel = document.getElementById('nav-links-panel')
620  if (!burger || !panel) return
621
622  function closeMenu() {
623    panel.classList.remove('mobile-open')
624    burger.setAttribute('aria-expanded', 'false')
625    panel.querySelectorAll('.nav-item.mobile-open').forEach(function(it) { it.classList.remove('mobile-open') })
626  }
627
628  burger.addEventListener('click', function() {
629    var open = panel.classList.toggle('mobile-open')
630    burger.setAttribute('aria-expanded', open ? 'true' : 'false')
631  })
632
633  panel.querySelectorAll('.nav-item > span').forEach(function(span) {
634    span.addEventListener('click', function() {
635      span.parentElement.classList.toggle('mobile-open')
636    })
637  })
638
639  panel.querySelectorAll('a').forEach(function(a) {
640    a.addEventListener('click', closeMenu)
641  })
642
643  document.addEventListener('click', function(e) {
644    if (panel.classList.contains('mobile-open') && !panel.contains(e.target) && e.target !== burger) closeMenu()
645  })
646})()
647
648// Ferme le menu "Mon compte" au clic en dehors
649document.addEventListener('click', function(e) {
650  var accountItem = document.getElementById('nav-account')
651  if (accountItem && accountItem.classList.contains('mobile-open') && !accountItem.contains(e.target)) {
652    accountItem.classList.remove('mobile-open')
653  }
654})
655
656// Bascule Se connecter / Mon compte : deplacee dans /auth-nav.js
657// (elle etait recopiee dans 19 pages, et avait deja diverge en 2 versions).
658
659// Intersection observer — fade in
660var obs = new IntersectionObserver(function(entries) {
661  entries.forEach(function(e) { if (e.isIntersecting) { e.target.classList.add('vis'); obs.unobserve(e.target) } })
662}, {threshold:.08})
663document.querySelectorAll('.fin').forEach(function(el) { obs.observe(el) })
664
665// FAQ accordion
666document.querySelectorAll('.faq-q').forEach(function(q) {
667  q.addEventListener('click', function() {
668    var a = q.nextElementSibling
669    var isOpen = a.classList.contains('open')
670    document.querySelectorAll('.faq-a.open,.faq-q.open').forEach(function(el){el.classList.remove('open')})
671    if (!isOpen) { a.classList.add('open'); q.classList.add('open') }
672  })
673})
674
675// Checkout (Stripe à connecter)
676function checkout(plan) {
677  window.location.href = '/app?plan=' + plan
678}
679
680// Recherche en accueil : répond directement sur la page, historique empilé en haut, hauteur fixe
681;(function() {
682  var answerBox = document.getElementById('hero-answer')
683  var answerList = document.getElementById('hero-answer-list')
684  if (!answerBox) return
685
686  function ask(text) {
687    text = (text || '').trim()
688    if (!text) return
689    answerBox.classList.add('show')
690    var item = document.createElement('div')
691    item.className = 'hero-answer-item'
692    item.innerHTML = '<div class="q"></div><div class="a"><span class="loading">CREA réfléchit…</span></div><div class="cta-row"><a href="/app?q=' + encodeURIComponent(text) + '">Continuer dans l\'app →</a></div>'
693    item.querySelector('.q').textContent = text
694    answerList.appendChild(item)
695    var aEl = item.querySelector('.a')
696    fetch('/api/chat', {
697      method: 'POST',
698      headers: { 'Content-Type': 'application/json' },
699      credentials: 'include',
700      body: JSON.stringify({ messages: [{ role: 'user', content: text }], stream: false })
701    })
702      .then(function(r) { return r.json() })
703      .then(function(data) {
704        var content = data && data.choices && data.choices[0] && data.choices[0].message && data.choices[0].message.content
705        if (content) {
706          aEl.textContent = content
707        } else {
708          aEl.innerHTML = 'Réponse indisponible pour l\'instant.'
709        }
710      })
711      .catch(function() {
712        aEl.innerHTML = 'Connexion impossible pour l\'instant.'
713      })
714  }
715
716  var form = document.getElementById('hero-search-form')
717  if (form) {
718    form.addEventListener('submit', function(e) {
719      e.preventDefault()
720      var input = document.getElementById('hero-search-input')
721      ask(input.value)
722      input.value = ''
723    })
724  }
725  document.querySelectorAll('.hero-chip[data-q]').forEach(function(chip) {
726    chip.addEventListener('click', function() { ask(chip.dataset.q) })
727  })
728})()
729
730// Onglets Studios/Automatisation
731;(function() {
732  document.querySelectorAll('.tabsec-tab').forEach(function(tab) {
733    tab.addEventListener('click', function() {
734      var name = tab.dataset.tab
735      document.querySelectorAll('.tabsec-tab').forEach(function(t){t.classList.toggle('active', t===tab)})
736      document.querySelectorAll('.tabsec-panel').forEach(function(p){p.classList.toggle('active', p.dataset.panel===name)})
737    })
738  })
739})()
740
741// Téléchargement suggéré (bouton adaptatif Compte : desktop -> mobile, mobile -> desktop)
742;(function() {
743  var suggest = new URLSearchParams(window.location.search).get('suggest')
744  if (!suggest) return
745  var platforms = suggest === 'mobile' ? ['ios', 'android'] : ['windows', 'mac']
746  var matched = []
747  platforms.forEach(function(p) {
748    var card = document.querySelector('.dlcard[data-platform="' + p + '"]')
749    if (card) { card.classList.add('recommended'); matched.push(card) }
750  })
751  var dl = document.getElementById('download')
752  if (dl) setTimeout(function() { dl.scrollIntoView({behavior:'smooth', block:'start'}) }, 250)
753})()
754</script>
754
755
756<!-- SUPPORT CHAT FLOTTANT -->
757<style>
758.crea-fw-btn{position:fixed;bottom:22px;right:22px;width:56px;height:56px;border-radius:50%;background:linear-gradient(135deg,var(--green),var(--green-d));color:#fff;border:none;font-size:22px;cursor:pointer;box-shadow:0 8px 24px rgba(16,163,127,.35);z-index:500;display:flex;align-items:center;justify-content:center;transition:transform .2s}
759.crea-fw-btn:hover{transform:scale(1.06)}
760.crea-fw-panel{position:fixed;bottom:90px;right:22px;width:min(360px,calc(100vw - 32px));max-height:min(500px,calc(100vh - 140px));background:#fff;border:1px solid rgba(0,0,0,.1);border-radius:18px;box-shadow:0 20px 60px rgba(0,0,0,.25);z-index:500;display:none;flex-direction:column;overflow:hidden}
761.crea-fw-panel.open{display:flex}
762.crea-fw-head{padding:14px 16px;background:linear-gradient(135deg,var(--green),var(--green-d));color:#fff;display:flex;align-items:center;gap:10px;font-weight:700;font-size:.9rem}
763.crea-fw-head .dot{width:7px;height:7px;border-radius:50%;background:#fff;box-shadow:0 0 0 3px rgba(255,255,255,.3)}
764.crea-fw-close{margin-left:auto;background:none;border:none;color:#fff;font-size:18px;cursor:pointer;opacity:.85;line-height:1}
765.crea-fw-close:hover{opacity:1}
766.crea-fw-body{flex:1;overflow-y:auto;padding:14px;display:flex;flex-direction:column;gap:10px;min-height:120px}
767.crea-fw-intro{font-size:.82rem;color:var(--text3);line-height:1.6}
768.crea-fw-links{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.4rem}
769.crea-fw-links a{font-size:.75rem;color:var(--green-xl);font-weight:600;background:rgba(16,163,127,.08);border:1px solid rgba(16,163,127,.18);border-radius:100px;padding:.3rem .7rem}
770.crea-fw-item{background:var(--dark-800,#f5f5f5);border-radius:12px;padding:.8rem 1rem;font-size:.85rem;color:var(--text2);line-height:1.6}
771.crea-fw-item .q{font-weight:700;color:var(--text);margin-bottom:.3rem;font-size:.85rem}
772.crea-fw-item .loading{color:var(--text3);font-style:italic}
773.crea-fw-form{display:flex;gap:8px;padding:12px;border-top:1px solid rgba(0,0,0,.06)}
774.crea-fw-input{flex:1;border:1px solid rgba(0,0,0,.12);border-radius:10px;padding:9px 12px;font-size:.85rem;font-family:inherit;outline:none}
775.crea-fw-input:focus{border-color:rgba(16,163,127,.4)}
776.crea-fw-send{width:36px;height:36px;border-radius:9px;border:none;background:linear-gradient(135deg,var(--green),var(--green-d));color:#fff;cursor:pointer;flex-shrink:0}
777@media(max-width:480px){.crea-fw-btn{bottom:16px;right:16px}.crea-fw-panel{right:16px;bottom:82px}}
778</style>
779<button class="crea-fw-btn" id="crea-fw-btn" aria-label="Support CREA" title="Besoin d'aide ?"><svg width="1em" height="1em" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round" class="ico"><path d="M21 11.5a8.4 8.4 0 0 1-.9 3.8 8.5 8.5 0 0 1-7.6 4.7 8.4 8.4 0 0 1-3.8-.9L3 21l1.9-5.7a8.4 8.4 0 0 1-.9-3.8 8.5 8.5 0 0 1 4.7-7.6 8.4 8.4 0 0 1 3.8-.9h.5a8.48 8.48 0 0 1 8 8v.5Z"/></svg></button>
780<div class="crea-fw-panel" id="crea-fw-panel">
781  <div class="crea-fw-head">
782    <span class="dot"></span> Support CREA
783    <button class="crea-fw-close" id="crea-fw-close" aria-label="Fermer"><svg width="1em" height="1em" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round" class="ico"><line x1="6" y1="6" x2="18" y2="18"/><line x1="18" y1="6" x2="6" y2="18"/></svg></button>
784  </div>
785  <div class="crea-fw-body" id="crea-fw-body">
786    <div class="crea-fw-intro">
787      Une question sur CREA, votre compte ou un blocage ? Posez-la ici, ou consultez :
788      <div class="crea-fw-links">
789        <a href="/faq">FAQ</a>
790        <a href="/support">Page support</a>
791        <a href="/download">Téléchargement</a>
792      </div>
793    </div>
794  </div>
795  <form class="crea-fw-form" id="crea-fw-form">
796    <input class="crea-fw-input" id="crea-fw-input" placeholder="Écrivez votre question…" autocomplete="off"/>
797    <button class="crea-fw-send" type="submit" aria-label="Envoyer"><svg width="1em" height="1em" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round" class="ico"><line x1="12" y1="19" x2="12" y2="5"/><polyline points="6 11 12 5 18 11"/></svg></button>
798  </form>
799</div>
800<script>
801;(function() {
802  var btn = document.getElementById('crea-fw-btn')
803  var panel = document.getElementById('crea-fw-panel')
804  var closeBtn = document.getElementById('crea-fw-close')
805  var body = document.getElementById('crea-fw-body')
806  var form = document.getElementById('crea-fw-form')
807  var input = document.getElementById('crea-fw-input')
808  if (!btn || !panel) return
809
810  function toggle(open) {
811    panel.classList.toggle('open', open)
812    if (open) setTimeout(function() { input.focus() }, 50)
813  }
814  btn.addEventListener('click', function() { toggle(!panel.classList.contains('open')) })
815  closeBtn.addEventListener('click', function() { toggle(false) })
816
817  // Ouverture contextuelle : window.creaOpenSupport(optionalQuestion)
818  window.creaOpenSupport = function(q) {
819    toggle(true)
820    if (q) { input.value = q; ask(q) }
821  }
822
823  function ask(text) {
824    text = (text || '').trim()
825    if (!text) return
826    var item = document.createElement('div')
827    item.className = 'crea-fw-item'
828    item.innerHTML = '<div class="q"></div><div class="a"><span class="loading">CREA réfléchit…</span></div>'
829    item.querySelector('.q').textContent = text
830    body.appendChild(item)
831    body.scrollTop = body.scrollHeight
832    var aEl = item.querySelector('.a')
833    fetch('/api/chat', {
834      method: 'POST',
835      headers: { 'Content-Type': 'application/json' },
836      credentials: 'include',
837      body: JSON.stringify({ messages: [{ role: 'user', content: text }], stream: false })
838    })
839      .then(function(r) { return r.json() })
840      .then(function(data) {
841        var content = data && data.choices && data.choices[0] && data.choices[0].message && data.choices[0].message.content
842        aEl.textContent = content || 'Réponse indisponible pour l\'instant — essayez la page Support.'
843        body.scrollTop = body.scrollHeight
844      })
845      .catch(function() { aEl.textContent = 'Connexion impossible pour l\'instant.'; })
846  }
847
848  form.addEventListener('submit', function(e) {
849    e.preventDefault()
850    ask(input.value)
851    input.value = ''
852  })
853})()
854</script>
854
855
856  
856<script src="/auth-nav.js" defer></script>
856
857</body>
858</html>

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.