.labs-page { background:radial-gradient(ellipse at 85% 12%,#15251c 0,transparent 40%),var(--bg); }
.labs-main { max-width:1240px;margin:auto;padding:0 48px; }
.labs-skip { position:fixed;top:-80px;left:20px;z-index:100;background:var(--gold);color:var(--bg);padding:12px; }
.labs-skip:focus { top:10px; }
.labs-hero { padding:170px 0 84px;display:grid;grid-template-columns:1.3fr 1fr;align-items:center;gap:36px; }
.labs-hero .eyebrow { font-size:10px;letter-spacing:.22em; }
.labs-hero h1 { font-size:clamp(90px,11vw,148px);line-height:1;letter-spacing:-.075em;font-weight:500; }
.labs-title-dot { color:var(--gold); }
.labs-lede { font-size:clamp(24px,3vw,36px);letter-spacing:-.03em;line-height:1.25;margin:24px 0 20px;color:var(--ink); }
.labs-intro { color:var(--muted);font-size:15px;max-width:475px;line-height:1.8; }
.labs-text-link { display:inline-flex;align-items:center;gap:24px;margin-top:22px;font-size:13px;color:var(--gold-bright);padding:9px 0;border-bottom:1px solid var(--line-strong); }
.labs-text-link:hover { color:var(--ink);border-color:var(--gold); }
.labs-orbit { position:relative;aspect-ratio:1;width:100%;max-width:420px;justify-self:end; }
.labs-orbit::before { content:'';position:absolute;inset:14%;border-radius:50%;background:radial-gradient(circle,#4fae8f20,transparent 65%); }
.labs-orbit__ring { position:absolute;inset:10%;border:1px solid #c9a86a30;border-radius:50%;transform:rotate(-28deg) scaleY(.8); }
.labs-orbit__ring--inner { inset:22%;transform:rotate(34deg) scaleY(1.3);border-color:#4fae8f35; }
.labs-orbit__core { position:absolute;inset:36%;border:1px solid var(--line-strong);border-radius:24px;display:flex;align-items:center;justify-content:center;flex-direction:column;background:#111d16;box-shadow:0 0 65px #4fae8f15;transform:rotate(-8deg); }
.labs-orbit__core span { font-size:38px;color:var(--gold-bright);line-height:1.25;letter-spacing:-2px; }
.labs-orbit__core small { font-size:9px;letter-spacing:.35em;color:var(--muted); }
.labs-orbit__label { position:absolute;background:#101914;border:1px solid var(--line);padding:8px 17px;border-radius:30px;font-size:12px;color:var(--ink-soft); }
.labs-orbit__label--one { top:12%;left:14%; }
.labs-orbit__label--two { top:44%;right:0; }
.labs-orbit__label--three { bottom:11%;left:11%; }
.labs-orbit__spark { position:absolute;top:22%;right:21%;width:8px;height:8px;background:var(--emerald-bright);border-radius:50%;box-shadow:0 0 20px #6fd3b260; }
.labs-experiments { scroll-margin-top:105px; }
.labs-section-head { display:flex;align-items:center;justify-content:space-between;padding:28px 0;border-top:1px solid var(--line); }
.labs-section-head h2 { font-size:23px; }
.labs-index { color:var(--muted-2);text-transform:uppercase;font-size:10px;letter-spacing:.13em; }
.labs-feature { display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--line-strong);border-radius:20px;overflow:hidden;background:linear-gradient(120deg,#121b15,#0c120e); }
.labs-feature__copy { padding:38px; }
.labs-kicker { display:flex;gap:18px;align-items:center;justify-content:space-between; }
.labs-number { color:var(--muted-2);font-family:monospace;font-size:13px; }
.labs-status { display:flex;gap:7px;align-items:center;font-size:11px;color:var(--emerald-bright); }
.labs-status i,.labs-board-live i { width:5px;height:5px;background:var(--emerald-bright);border-radius:50%; }
.labs-category { margin:38px 0 9px;color:var(--muted);text-transform:uppercase;font-size:10px;letter-spacing:.17em; }
.labs-feature h3 { font-size:70px;letter-spacing:-.065em;line-height:1.1; }
.labs-feature h3 span { font-size:48px;color:var(--emerald);margin-left:6px; }
.labs-feature__tagline { font-size:23px;margin:7px 0 18px;color:var(--gold-bright); }
.labs-feature__desc { font-size:14px;line-height:1.85;color:var(--muted); }
.labs-facts { display:flex;gap:24px;border-top:1px solid var(--line);padding-top:20px;margin:24px 0 28px; }
.labs-facts dt { font-size:25px;color:var(--ink); }
.labs-facts dd { margin:0;font-size:10px;color:var(--muted); }
.labs-launch { display:inline-flex;gap:35px;justify-content:space-between; }
.labs-launch-note { font-size:10px;color:var(--muted-2);margin:13px 0 0; }
.labs-feature__visual { display:flex;flex-direction:column;justify-content:space-between;background:radial-gradient(ellipse at 50% 35%,#28453288,transparent 65%),repeating-linear-gradient(0deg,transparent 0 35px,#6fd3b208 36px),repeating-linear-gradient(90deg,transparent 0 35px,#6fd3b208 36px),#101c15;border-left:1px solid var(--line);padding:28px; }
.labs-board-top,.labs-board-foot { display:flex;gap:12px;align-items:center;justify-content:space-between;font-family:monospace;font-size:9px;color:var(--muted); }
.labs-board-live { display:flex;gap:6px;align-items:center;color:var(--emerald-bright); }
.labs-company { position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;gap:9px;margin:38px 0 30px; }
.labs-company__icon { font-size:35px;color:var(--gold-bright);line-height:1; }
.labs-company strong { font-size:15px;font-weight:500;letter-spacing:.15em; }
.labs-company>span:last-child { font-size:11px;color:var(--muted); }
.labs-team-grid { display:grid;grid-template-columns:repeat(3,1fr);gap:12px; }
.labs-team { display:flex;flex-direction:column;padding:19px 13px;border:1px solid #6f937650;border-radius:12px;background:#17271e;box-shadow:4px 7px 0 #0003;transform:translateY(6px); }
.labs-team--active { transform:translateY(-8px);border-color:var(--emerald);background:#21392a; }
.labs-team>span { font-size:23px;color:var(--emerald-bright);margin-bottom:10px; }
.labs-team strong { font-size:11px;font-weight:500; }
.labs-team small { font-size:9px;color:var(--muted);margin-top:4px; }
.labs-team__signal { height:3px;border-radius:4px;background:linear-gradient(90deg,var(--emerald) 50%,#ffffff15 50%);margin-top:18px; }
.labs-team__signal--pilot { background:linear-gradient(90deg,var(--gold) 25%,#ffffff15 25%); }
.labs-team__signal--trust { background:linear-gradient(90deg,var(--emerald-bright) 70%,#ffffff15 70%); }
.labs-decision { display:flex;align-items:center;gap:16px;border:1px solid var(--line);background:#0d1712cc;padding:17px;border-radius:12px;margin:32px 0; }
.labs-decision__mark { font-size:23px;color:var(--gold); }
.labs-decision p { font-size:13px;line-height:1.65;margin:0;color:var(--ink-soft); }
.labs-board-foot { font-size:8px;flex-wrap:wrap; }
.labs-board-foot a { color:var(--emerald-bright);font-size:10px; }
.labs-method { display:grid;grid-template-columns:1fr 1fr;gap:70px;padding:90px 0; }
.labs-method h2 { font-size:35px;line-height:1.3; }
.labs-method__copy>p { margin:0 0 20px;color:var(--muted);font-size:14px;line-height:1.9; }
.labs-method__copy>.labs-method__note { font-size:12px;color:var(--muted-2); }
.labs-footer { max-width:1144px;margin:auto;padding:28px 0 38px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:18px;color:var(--muted);font-size:11px; }
.labs-footer a:first-child { color:var(--gold); }
.labs-home-banner { margin-top:40px;border:1px solid var(--line-strong);background:linear-gradient(110deg,#192a2080,#0d1510);border-radius:16px;padding:26px 30px;display:flex;align-items:center;justify-content:space-between;gap:24px; }
.labs-home-banner h3 { font-size:22px; }.labs-home-banner p { font-size:13px;color:var(--muted);margin:8px 0 0;max-width:600px; }.labs-home-banner .btn { flex-shrink:0; }
.labs-page a:focus-visible,.labs-page button:focus-visible { outline:2px solid var(--gold-bright);outline-offset:5px; }
@media(max-width:1050px) { .labs-feature__copy { padding:28px; }.labs-feature__visual { padding:22px; }.labs-team-grid { gap:7px; }.labs-facts { gap:16px; }.labs-main { padding:0 32px; }.labs-footer { margin:0 32px; } }
@media(max-width:760px) { .labs-main { padding:0 22px; }.labs-hero { grid-template-columns:1fr;padding:125px 0 50px;gap:0; }.labs-hero h1 { font-size:100px; }.labs-orbit { display:none; }.labs-feature { grid-template-columns:1fr; }.labs-feature__copy { padding:26px; }.labs-feature__visual { border-left:0;border-top:1px solid var(--line);padding:24px; }.labs-company { margin:27px 0; }.labs-category { margin-top:29px; }.labs-feature h3 { font-size:62px; }.labs-method { grid-template-columns:1fr;gap:25px;padding:58px 0; }.labs-method h2 { font-size:30px; }.labs-index { font-size:8px; }.labs-section-head h2 { font-size:20px; }.labs-footer { flex-wrap:wrap;margin:0 22px; }.labs-footer span { display:none; }.labs-home-banner { flex-direction:column;align-items:flex-start;padding:24px; }.labs-hero .eyebrow { letter-spacing:.12em;font-size:9px; }.labs-launch { width:100%; }.labs-team { padding:16px 10px; } }

/* SHIFT 3D preview comes directly from the playable campus. */
.labs-feature__visual--3d{background:radial-gradient(ellipse at 50% 40%,#29443a88,transparent 65%),#10191b;overflow:hidden}.labs-campus-preview{display:block;margin:15px -20px 0}.labs-campus-preview img{width:100%;height:auto;mix-blend-mode:normal}.labs-feature__visual--3d .labs-decision{margin:8px 0 25px}.labs-campus-preview:hover img{filter:brightness(1.08)}

/* Carte Labs 02 — équipe d’agents IA */
.labs-feature--agents{margin-top:28px}.labs-feature--agents h3{font-size:46px;letter-spacing:-.04em;line-height:1.08}.labs-feature--agents h3 .labs-agents-title{font-size:inherit;color:inherit;margin:0}
.labs-feature__visual--agents{background:radial-gradient(ellipse at 50% 40%,#2a3d4488,transparent 65%),#0f171a}.labs-agents-preview{display:block;margin:18px 0}
@media(max-width:760px){.labs-feature--agents h3{font-size:34px}}
.bots-visual{width:100%;height:auto;display:block}
.bots-visual .typing{animation:bots-blink 1.4s infinite ease-in-out}.bots-visual .t2{animation-delay:.2s}.bots-visual .t3{animation-delay:.4s}
.bots-visual .bot--on .dot{animation:bots-pulse 2.6s infinite ease-in-out}
.bots-visual .msg{animation:bots-in .8s ease-out both}.bots-visual .m2{animation-delay:.4s}.bots-visual .m3{animation-delay:.8s}
@keyframes bots-blink{0%,80%,100%{opacity:.25}40%{opacity:1}}@keyframes bots-pulse{0%,100%{opacity:1}50%{opacity:.35}}@keyframes bots-in{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.bots-visual .typing,.bots-visual .dot,.bots-visual .msg{animation:none}}

/* Carte Labs 03 — Météo économique */
.labs-feature--meteo{margin-top:28px}.labs-feature--meteo h3{font-size:46px;letter-spacing:-.04em;line-height:1.08}.labs-feature--meteo h3 .labs-meteo-title{font-size:inherit;color:inherit;margin:0}
.labs-feature__visual--meteo{background:radial-gradient(ellipse at 50% 40%,#2a443488,transparent 65%),#0f1814}.labs-meteo-visual{display:block;margin:14px auto;max-width:420px;width:100%}.labs-meteo-visual img{width:100%;height:auto;display:block}.labs-meteo-visual:hover img{filter:brightness(1.08)}
@media(max-width:760px){.labs-feature--meteo h3{font-size:34px}}
