:root{--paper:#f5f3ea;--ink:#183e32;--muted:#6b7367;--line:#d3d7c9;--lime:#d6f58b;--dark:#13362d}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.65 Arial,Helvetica,sans-serif}a{color:inherit;text-underline-offset:4px}button{font:inherit;cursor:pointer}a:focus-visible,button:focus-visible{outline:3px solid #91b651;outline-offset:5px}[hidden]{display:none!important}.header{max-width:1440px;margin:auto;padding:25px 5vw;display:flex;align-items:center;justify-content:space-between;gap:22px;border-bottom:1px solid var(--line)}.brand{font-size:17px;font-weight:750;line-height:1.05;letter-spacing:-.6px;text-decoration:none;position:relative}.brand-dot{color:#719b35}.lab-tag{font-size:10px;letter-spacing:2px}.lab-tag span{color:#8a9783;margin:0 12px}.back-link{font-size:12px}.intro{max-width:1440px;margin:auto;padding:65px 5vw 60px;display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:end}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:600;margin:0 0 22px}h1{font:normal clamp(64px,7.5vw,112px)/.97 Georgia,serif;letter-spacing:-5px;margin:0}h1 em{font-weight:normal;color:#688057}.intro-copy{padding-left:12%;padding-bottom:5px}.intro-copy>p{font:26px/1.25 Georgia,serif;margin:0 0 18px}.intro-copy>span{font-size:13px;color:var(--muted);display:block}.start{font-size:12px;display:flex;justify-content:space-between;max-width:280px;align-items:center;margin-top:27px;padding-top:12px;border-top:1px solid var(--line);text-decoration:none}.start span{font-size:22px}.experience{max-width:1440px;margin:0 auto;display:grid;grid-template-columns:42% 58%;gap:0;padding:0 3vw 0 5vw;align-items:start}.story{grid-column:1;grid-row:1;padding-right:5vw}.story-step{min-height:88svh;display:flex;flex-direction:column;justify-content:center;padding:55px 0;border-top:1px solid var(--line);scroll-margin-top:35px}.step-kicker{font-size:10px;letter-spacing:2px;color:#6d7d59}.story h2{font:normal clamp(30px,3.2vw,48px)/1.08 Georgia,serif;letter-spacing:-1.3px;margin:22px 0}.step-copy p{font-size:15px;line-height:1.8;margin:0 0 14px}.takeaway{font-size:12px;color:#718255;border-top:1px solid var(--line);padding-top:16px;margin-top:20px}.takeaway span{margin-right:7px;font-size:18px}.scene-panel{grid-column:2;grid-row:1;position:sticky;top:22px;height:calc(100svh - 44px);max-height:850px;min-height:520px;margin:0;background:var(--dark);color:var(--paper);border-radius:7px;overflow:hidden;display:flex;flex-direction:column;isolation:isolate}.scene-top{display:flex;justify-content:space-between;gap:15px;padding:26px 28px 0;z-index:2;font-size:9px;letter-spacing:1.6px;color:#b0c5a7}.scene-top span:last-child{color:var(--lime);font-variant-numeric:tabular-nums}.viewport{flex:1;min-height:200px;position:relative;background:radial-gradient(ellipse at 48% 45%,#365848 0%,#183d32 50%,#13362d 75%)}.viewport canvas{width:100%;height:100%;display:block;position:absolute;inset:0}.fallback{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:25px;text-align:center;color:#c2d8aa}.fallback svg{width:60%;max-height:240px}.fallback p{font-size:12px;max-width:260px}.scene-caption{display:flex;align-items:center;justify-content:space-between;padding:0 28px 10px;gap:10px}.scene-label{font-size:9px;letter-spacing:1.6px;color:#b0c5a7}.scene-caption figcaption{font:normal 30px/1.3 Georgia,serif;margin-top:5px}.turn{font-size:11px;background:transparent;border:1px solid #59765e;border-radius:24px;padding:9px 13px;color:var(--lime);flex-shrink:0}.turn:hover{background:#2e503e}.model-note{font-size:10px;color:#a6bfa1;padding:0 28px;margin:0 0 21px}.step-nav{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border-top:1px solid #355549;padding:0 15px}.step-nav a{text-decoration:none;text-align:center;padding:15px 0 18px;position:relative;border-top:2px solid transparent;margin-top:-1px;color:#9cb097}.step-nav a[aria-current="step"]{color:var(--lime);border-color:var(--lime)}.step-nav span{display:block;font-size:12px}.step-nav small{display:block;font-size:9px;margin-top:3px}.outro{max-width:1340px;margin:70px auto 0;padding:70px 5vw;background:#e7eadb;border-top:1px solid var(--line)}.outro h2{font:normal clamp(32px,4vw,55px)/1.12 Georgia,serif;letter-spacing:-1.5px;margin:0 0 25px}.outro p{font-size:14px;max-width:520px}.outro a{font-size:13px;display:inline-block;margin-top:15px}footer{padding:30px 5vw;font-size:10px;color:var(--muted);display:flex;justify-content:space-between;gap:20px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip{position:fixed;top:8px;left:8px;z-index:10;background:var(--lime);padding:10px;transform:translateY(-150%)}.skip:focus{transform:none}
@media(max-width:760px){html{scroll-padding-top:0}.header{padding:20px 6vw}.brand{font-size:14px}.lab-tag{font-size:8px;letter-spacing:1px}.lab-tag span{margin:0 3px}.back-link{font-size:10px;max-width:65px;line-height:1.4;text-align:right}.intro{padding:42px 6vw 35px;display:block}.eyebrow{font-size:8px;letter-spacing:1.6px;margin-bottom:18px}h1{font-size:68px;letter-spacing:-3px}.intro-copy{padding:25px 0 0}.intro-copy>p{font-size:21px;margin-bottom:12px}.intro-copy>p br{display:none}.intro-copy>span{font-size:12px}.start{margin-top:20px;max-width:none}.experience{display:block;padding:0 4vw}.scene-panel{z-index:3;top:8px;height:46svh;min-height:290px;max-height:460px}.scene-top{padding:13px 16px 0;font-size:8px}.viewport{min-height:90px}.scene-caption{padding:0 16px 7px}.scene-caption figcaption{font-size:21px}.scene-label{font-size:8px}.turn{font-size:9px;padding:7px 10px}.model-note{padding:0 16px;font-size:8px;margin-bottom:10px}.step-nav{padding:0 7px}.step-nav a{padding:8px 0}.step-nav span{font-size:10px}.step-nav small{font-size:8px}.story{padding:0 3vw}.story-step{min-height:65svh;padding:38px 0;scroll-margin-top:calc(46svh + 22px)}.story h2{font-size:34px;max-width:340px;margin:16px 0}.step-copy p{font-size:14px;line-height:1.8}.takeaway{font-size:11px;margin-top:12px}.outro{margin-top:35px;padding:45px 7vw}.outro h2{font-size:34px}footer{flex-direction:column;gap:5px;padding:25px 7vw}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
@media print{.header,.scene-panel,.start,.skip,footer{display:none!important}.intro{display:block;padding:20px}.intro-copy{padding:20px 0}.experience{display:block;padding:20px}.story{padding:0}.story-step{min-height:0;break-inside:avoid;padding:25px 0}.outro{margin:0;padding:20px}h1{font-size:50px}}

@media(max-height:600px){.scene-panel{min-height:0}.viewport{min-height:60px}.scene-top{padding-top:12px}.model-note{margin-bottom:10px}.step-nav a{padding-top:8px;padding-bottom:8px}}
@media(max-width:760px) and (max-height:600px){.scene-panel{height:55svh}.viewport{min-height:0}.scene-top{font-size:7px}.scene-caption figcaption{font-size:17px}.scene-label{display:none}.model-note{font-size:7px;margin-bottom:6px}.step-nav small{display:none}.story-step{scroll-margin-top:calc(55svh + 22px)}}

@media(max-height:600px){.scene-caption figcaption{font-size:18px}.scene-label{display:none}.scene-caption{padding-top:5px;padding-bottom:8px}.model-note{font-size:8px}.turn{font-size:9px;padding:7px 10px}}

.transition-panel{margin:0 28px 14px;padding-top:10px;border-top:1px solid #355549}.transition-heading{display:flex;gap:13px;align-items:baseline}.transition-heading>span{color:var(--lime);font-size:10px;white-space:nowrap;font-variant-numeric:tabular-nums}.transition-heading p{font-size:12px;line-height:1.5;color:#e1ead5;margin:0;min-height:36px}.transition-controls{display:flex;align-items:center;gap:8px;margin-top:7px}.transition-controls button{border:1px solid #607d61;border-radius:15px;background:transparent;color:var(--lime);font-size:10px;padding:6px 10px;min-height:34px;white-space:nowrap}.transition-controls button:disabled{opacity:.4;cursor:default}.transition-controls input{width:100%;min-width:0;accent-color:var(--lime);cursor:pointer;height:30px}.transition-panel>p{font-size:9px;color:#b0c5a7;margin:5px 0 0}
@media(max-width:760px){.scene-panel{height:52svh;max-height:540px}.story-step{scroll-margin-top:calc(52svh + 22px)}.transition-panel{margin:0 16px 9px;padding-top:6px}.transition-heading{gap:8px}.transition-heading p{font-size:10px;min-height:30px}.transition-heading>span{font-size:9px}.transition-controls{gap:5px;margin-top:3px}.transition-controls button{padding:4px 8px;font-size:9px;min-height:30px}.transition-panel>p{font-size:8px}.scene-caption figcaption{font-size:19px}.model-note{font-size:7px}}
@media(max-height:600px){.scene-caption{position:absolute;right:12px;top:6px;padding:0}.scene-caption>div{display:none}.scene-top{padding-right:125px}.model-note{display:none}.transition-panel{margin-bottom:8px;padding-top:5px}.transition-heading p{font-size:10px;min-height:28px}.transition-panel>p{display:none}.step-nav small{display:none}.viewport{min-height:65px}}
@media(max-width:760px) and (max-height:600px){.scene-panel{height:58svh}.story-step{scroll-margin-top:calc(58svh + 22px)}}

@media(max-width:760px) and (max-height:400px){.scene-panel{height:70svh}.story-step{scroll-margin-top:calc(70svh + 22px)}}

/* Repères qui relient le dessin aux opérations et aux sites documentés. */
.intro-copy small{display:block;max-width:36ch;margin-top:12px;color:var(--muted);font-size:11px;line-height:1.5}
.context-note{margin-top:24px;padding:18px 19px;background:#ebeee2;border-left:3px solid #82975e}
.context-item{margin:0 0 12px;font-size:12px;line-height:1.6;overflow-wrap:anywhere}
.context-item:last-child{margin-bottom:0}
.context-label{display:block;margin-bottom:3px;color:#4d684a;font-size:10px;line-height:1.3;letter-spacing:1px;text-transform:uppercase}
.context-note a{font-weight:700;text-decoration-thickness:1px}
@media(max-width:760px){.context-note{margin-top:19px;padding:13px 14px}.context-item{font-size:11px;line-height:1.55;margin-bottom:10px}.context-label{font-size:9px}}
@media print{.context-note{background:none;border:1px solid #9cab91;break-inside:avoid}}
