/* Accueil du portail : styles isolés des espaces de travail. */
.labo-landing{--accent:#175c55;--text:#203c39;--muted:#586b66;--bg:#f7f8f2;background:var(--bg)}
.labo-landing header.top{background:#fcfdf9;border-color:#dce3d9}
.labo-landing header .in{max-width:1240px;min-height:86px;padding:1rem 2rem}
.labo-landing .brand{font-size:1.6rem;letter-spacing:-.05em;gap:1rem}
.labo-landing .brand:before{content:'L';display:grid;place-items:center;width:38px;height:42px;background:#175c55;border-radius:13px 13px 13px 3px;color:white;font-size:1.5rem;transform:rotate(-7deg)}
.labo-landing .brand small{font-size:.78rem;letter-spacing:0;max-width:100px;line-height:1.3}
.labo-landing nav.main a{font-size:.88rem;padding:.65rem .95rem}
.labo-landing nav.main a.on{background:#e8efe4;color:#175c55}
.labo-landing main{max-width:1240px;padding:0 2rem 4rem}
.labo-home{--home-line:#d5dfd5}
.labo-hero{display:grid;grid-template-columns:1.12fr 1fr;gap:2rem;align-items:center;padding:4.8rem 0 4.3rem}
.labo-eyebrow{font-size:.68rem;font-weight:750;letter-spacing:.14em;color:#4d695c;margin:0 0 1.3rem;text-transform:uppercase;display:flex;align-items:center;gap:.65rem}
.labo-eyebrow>span{width:7px;height:7px;background:#708b40;border-radius:50%;box-shadow:0 0 0 5px #e6ecd9;flex-shrink:0}
.labo-home h1{font-size:clamp(2.7rem,4.5vw,4.35rem);font-weight:650;letter-spacing:-.055em;line-height:1.04;margin:0 0 1.6rem}
.labo-home h1 em{font-family:Georgia,'Times New Roman',serif;font-weight:400;color:#287465;letter-spacing:-.06em}
.labo-lead{font-size:1.08rem;max-width:480px;line-height:1.6;margin:0 0 .8rem;font-weight:550}
.labo-description{font-size:.9rem;color:var(--muted);max-width:450px;line-height:1.75;margin:0 0 1.65rem}
.labo-actions{display:flex;align-items:center;gap:1.4rem;flex-wrap:wrap}
.labo-primary{padding:.9rem 1.15rem;border-radius:7px;font-size:.9rem;box-shadow:0 5px 12px #175c5515;transition:transform .2s,box-shadow .2s}
.labo-primary span{margin-left:1.4rem}.labo-primary:hover{transform:translateY(-2px);box-shadow:0 8px 18px #175c5525}
.labo-text-link{font-size:.83rem;text-decoration-thickness:1px;text-underline-offset:5px;font-weight:600}.labo-text-link span{margin-left:.5rem}
.labo-invitation{font-size:.74rem;color:var(--muted);margin-top:1rem}
.labo-scene{position:relative;min-height:460px;background:radial-gradient(ellipse at 60% 45%,#dbe9d5 0, #eaf0df90 42%,transparent 70%);isolation:isolate}
.labo-orbit{position:absolute;border:1px solid #c4d4bd;border-radius:50%;z-index:-1;pointer-events:none}
.orbit-one{inset:5% 4% 7% 3%;transform:rotate(-25deg)}.orbit-two{inset:13% -1% 16% -1%;transform:rotate(35deg)}
.labo-note{position:absolute;top:10px;left:4%;background:#eeeecb;border:1px solid #d9dbae;padding:1.2rem 1.45rem 1.4rem;transform:rotate(-8deg);box-shadow:0 12px 28px #4b573712;border-radius:3px;width:64%}
.labo-note-label{display:block;font-size:.55rem;font-weight:700;letter-spacing:.14em;color:#666b3d;margin-bottom:.7rem}
.labo-note strong{font-family:Georgia,serif;font-size:1.35rem;font-weight:400;line-height:1.3;color:#4b5333}
.labo-note-line{display:block;width:50px;border-top:2px solid #9da55d;margin-top:.85rem}
.labo-window{position:absolute;top:126px;left:10%;right:0;background:#fffef9;border:1px solid #d5dfd2;border-radius:12px;box-shadow:0 22px 50px #364d3420;transform:rotate(3deg);animation:labo-arrive .8s ease-out both}
.labo-window-bar{padding:.8rem 1rem;border-bottom:1px solid #e4e8dd;display:flex;align-items:center;justify-content:space-between;font-size:.54rem;letter-spacing:.12em;font-weight:650;color:#627266}
.labo-window-bar>span{display:flex;gap:4px}.labo-window-bar i{height:5px;width:5px;border-radius:50%;background:#cbd5c4}.labo-window-bar b{font-size:.95rem}
.labo-window-content{padding:1.5rem 1.8rem 1.8rem}.labo-mini-label{display:block;color:#62755a;font-size:.54rem;letter-spacing:.12em;margin-bottom:.6rem}
.labo-window-content>strong{display:block;font-size:1.6rem;line-height:1.2;letter-spacing:-.04em;font-weight:600}
.labo-preview-lines{margin:1.1rem 0 1.3rem;display:grid;gap:6px}.labo-preview-lines i{height:5px;width:82%;background:#e8ece3;border-radius:8px}.labo-preview-lines i+ i{width:60%}
.labo-demo-steps{display:flex;align-items:center;gap:.45rem;font-size:.64rem;font-weight:600}.labo-demo-steps span{padding:.3rem .6rem;background:#edf1e7;border-radius:4px}.labo-demo-steps span:last-child{background:#dceccf;color:#345b33}.labo-demo-steps i{flex:1;border-top:1px solid #cdd9c8}
.labo-validation{position:absolute;bottom:13px;left:2%;display:flex;align-items:center;gap:.7rem;padding:1rem 1.25rem;background:#fffefb;border:1px solid #d8e2d3;border-radius:9px;box-shadow:0 12px 30px #344e3515;transform:rotate(-3deg)}
.labo-validation>span{display:grid;place-items:center;width:33px;height:33px;border-radius:50%;background:#e1edcd;color:#3b642e}.labo-validation strong{font-size:.83rem;display:block}.labo-validation small{font-size:.64rem;color:#526b58}
.labo-scene-caption{position:absolute;bottom:-22px;right:4%;font-size:.49rem;letter-spacing:.15em;color:#65795e}
.labo-spark{position:absolute;color:#879b5b;font-size:2rem;font-weight:300}.spark-one{top:24px;right:9%}.spark-two{bottom:35px;right:8%}
.labo-section-heading{display:flex;justify-content:space-between;gap:1rem;align-items:end;margin-bottom:1.7rem}.labo-section-heading .labo-eyebrow{margin-bottom:.65rem}.labo-section-heading h2{font-size:clamp(1.55rem,2.3vw,2.05rem);letter-spacing:-.04em;font-weight:600;margin:0}.labo-section-heading>p{font-size:.84rem;color:var(--muted);margin:0}
.labo-path{border-top:1px solid var(--home-line);padding-top:2.8rem;scroll-margin-top:1.5rem}
.labo-stages{list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;padding:0;margin:0}
.labo-stages li{position:relative;padding:0 1.5rem 0 0}.labo-stages li+li{border-left:1px solid var(--home-line);padding-left:1.5rem}.labo-stage-number{display:block;font-family:Georgia,serif;font-size:2.1rem;color:#59794b;margin:0 0 1.1rem}.labo-stages h3{font-size:1rem;font-weight:650;margin-bottom:.5rem}.labo-stages p{font-size:.84rem;color:var(--muted);line-height:1.65;margin:0}
.labo-commitment{margin-top:1.7rem;background:#ecf0e4;border:1px solid #dce4d2;border-radius:6px;padding:.85rem 1.1rem;display:flex;align-items:center;gap:.85rem}.labo-commitment p{font-size:.8rem;color:#496044;margin:0}.labo-commitment-icon{font-size:1.6rem}.labo-commitment strong{font-weight:650}
.labo-explore{padding-top:3.2rem}.labo-resources{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.labo-resource{display:flex;flex-direction:column;background:#fffefb;border:1px solid var(--home-line);border-radius:10px;padding:1.45rem;text-decoration:none;color:var(--text);transition:transform .2s,border-color .2s,box-shadow .2s}.labo-resource:hover{transform:translateY(-4px);border-color:#8aa17f;box-shadow:0 12px 26px #294d3110}.labo-resource-icon{display:grid;place-items:center;background:#edf0df;border-radius:8px;width:37px;height:37px;font-size:1.4rem;margin-bottom:1.2rem;color:#607146}.labo-resource:nth-child(2) .labo-resource-icon{background:#e3eeea;color:#246a5a}.labo-resource:nth-child(3) .labo-resource-icon{background:#f5e9d8;color:#8a6339}.labo-resource-tag{font-size:.57rem;letter-spacing:.12em;color:#626f60;font-weight:700}.labo-resource h3{font-size:1.15rem;margin:.45rem 0 .7rem;letter-spacing:-.025em;display:flex;justify-content:space-between;gap:.5rem}.labo-resource h3 span{font-size:.95rem;color:#6f8562}.labo-resource p{font-size:.83rem;line-height:1.65;color:var(--muted);margin:0 0 1.2rem}.labo-resource-link{margin-top:auto;font-size:.77rem;font-weight:650;color:#175c55;display:flex;justify-content:space-between;gap:.5rem}
.labo-landing footer{border-top:1px solid #dce3d9;padding:1.5rem;font-size:.72rem;background:#f1f4eb}
@keyframes labo-arrive{from{opacity:0;translate:0 14px}to{opacity:1;translate:0 0}}
@media(min-width:1450px){.labo-hero{gap:3.5rem}}
@media(max-width:950px){.labo-hero{gap:1rem;padding-top:3rem}.labo-scene{min-height:420px}.labo-window{left:2%;top:118px}.labo-window-content{padding:1.25rem}.labo-window-content>strong{font-size:1.4rem}.labo-note{left:0;width:77%}.labo-validation{left:0;bottom:0;padding:.8rem}.labo-stages li{padding-right:1rem}.labo-stages li+li{padding-left:1rem}.labo-section-heading>p{max-width:220px}}
@media(max-width:720px){.labo-landing header .in{padding:1rem 1.2rem;gap:1rem}.labo-landing .brand small{max-width:none}.labo-landing nav.main{width:auto;margin-left:auto}.labo-landing nav.main a{padding:.55rem .65rem}.labo-landing main{padding:0 1.2rem 2.5rem}.labo-hero{grid-template-columns:1fr;padding:2.5rem 0 2rem;gap:1.5rem}.labo-home h1{font-size:clamp(2.55rem,8.5vw,3.7rem)}.labo-lead,.labo-description{max-width:560px}.labo-scene{width:100%;max-width:460px;min-height:430px;margin:0 auto 1.5rem}.labo-window{left:12%;right:3%}.labo-note{width:65%;left:8%}.labo-validation{left:5%;bottom:4px}.labo-scene-caption{font-size:.45rem}.labo-section-heading{display:block}.labo-section-heading>p{margin-top:.8rem;max-width:none}.labo-stages{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem 0}.labo-stages li:nth-child(3){border:0;padding-left:0}.labo-stage-number{margin-bottom:.6rem}.labo-resources{grid-template-columns:1fr}.labo-resource{padding:1.25rem}.labo-resource-icon{margin-bottom:1rem}.labo-explore{padding-top:2.4rem}}
@media(max-width:400px){.labo-landing nav.main{width:100%;margin:0;justify-content:space-between}.labo-eyebrow{font-size:.6rem}.labo-actions{gap:1rem}.labo-scene{min-height:420px}.labo-window{left:3%;right:0}.labo-note{width:78%;left:4%}.labo-validation{left:0}.labo-window-content>strong{font-size:1.4rem}.labo-demo-steps{gap:.3rem}.labo-demo-steps span{padding:.3rem .4rem}}
@media(prefers-reduced-motion:reduce){.labo-window{animation:none}.labo-resource,.labo-primary{transition:none}.labo-resource:hover,.labo-primary:hover{transform:none}}
@media print{.labo-scene{display:none}.labo-hero{display:block;padding:1rem 0}.labo-home h1{font-size:2rem}.labo-resource{break-inside:avoid;box-shadow:none}.labo-landing main{padding:0}.labo-path,.labo-explore{padding-top:1rem}}

/* Les orbites décoratives ne doivent pas élargir la page sur mobile. */
@media(max-width:720px){.labo-scene{overflow-x:clip}.labo-window{right:4%}}

.labo-landing main{overflow-x:clip}
