:root{--green:#12372a;--cream:#f5f0e6;--paper:#fffdf7;--orange:#e86c28;--sky:#8cc3cf;--wine:#7b2231;--yellow:#f5c842;--ink:#252525;--muted:#56645f;--line:2px solid var(--ink);--max:1200px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--cream);font:1rem/1.62 Arial,sans-serif}a{color:inherit}a:focus-visible,button:focus-visible{outline:4px solid var(--yellow);outline-offset:4px}.skip{position:fixed;z-index:99;left:-9999px;top:.5rem;padding:.75rem 1rem;border:var(--line);background:var(--yellow);font-weight:900}.skip:focus{left:.5rem}.shell{width:min(var(--max),calc(100% - 2rem));margin-inline:auto}.site-header{background:var(--paper);border-bottom:var(--line)}.head{display:grid;grid-template-columns:1fr auto;align-items:stretch}.brand{display:flex;align-items:center;gap:1.1rem;padding:1rem 0;text-decoration:none}.brand strong{font:900 clamp(2.1rem,6vw,4.8rem)/.86 "Franklin Gothic Medium","Arial Narrow",Arial,sans-serif;letter-spacing:-.055em;text-transform:uppercase}.brand span{max-width:250px;padding-left:1rem;border-left:10px solid var(--orange);font:700 .72rem/1.35 Consolas,"Courier New",monospace;text-transform:uppercase}.line-badge{display:grid;place-items:center;min-width:125px;border-left:var(--line);background:var(--yellow);font:900 .78rem/1.4 Consolas,monospace;text-align:center}.menu-toggle{display:none;border:0;border-left:var(--line);background:var(--yellow);font-weight:900}.nav{border-top:var(--line);background:var(--cream)}.nav ul{display:flex;flex-wrap:wrap;margin:0 auto;padding:0;list-style:none}.nav a{display:block;min-height:44px;padding:.75rem 1rem;border-right:1px solid var(--ink);font-size:.78rem;font-weight:900;text-decoration:none;text-transform:uppercase}.nav a:hover,.nav a[aria-current=page]{background:var(--green);color:var(--paper)}.hero{overflow:hidden;border-bottom:var(--line);background:var(--green);color:var(--paper)}.hero-grid{display:grid;grid-template-columns:1.08fr .92fr;min-height:690px}.hero-copy{align-self:center;padding:5rem 3rem 5rem 0}.tag,.label{font:900 .76rem/1.3 Consolas,"Courier New",monospace;letter-spacing:.09em;text-transform:uppercase}.tag{display:inline-block;padding:.5rem .7rem;background:var(--yellow);color:var(--ink)}h1,h2,h3{font-family:"Franklin Gothic Medium","Arial Narrow",Arial,sans-serif;line-height:.94}h1{max-width:850px;margin:1rem 0;font-size:clamp(4.5rem,10vw,9.5rem);letter-spacing:-.06em;text-transform:uppercase}.hero h1 em{display:block;color:var(--yellow);font-style:normal}.dek{max-width:720px;font:1.28rem/1.55 Cambria,Georgia,serif}.actions{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:2rem}.button{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:.7rem 1rem;border:var(--line);background:var(--paper);box-shadow:5px 5px 0 var(--ink);color:var(--ink);font-weight:900;text-align:center;text-decoration:none}.button:hover{background:var(--yellow)}.button.external{background:var(--wine);color:var(--paper)}.new-tab{margin-left:.3rem;font-size:.7em}.route-map{position:relative;min-height:600px;border-left:var(--line);background:var(--sky)}.route-map::before{content:"ITINÉRAIRE INDUSTRIEL 1858—2025";position:absolute;top:1rem;left:1rem;padding:.45rem .65rem;border:var(--line);background:var(--paper);font:900 .72rem Consolas,monospace}.route-line{position:absolute;left:17%;top:13%;width:66%;height:74%;border-left:18px solid var(--green);border-bottom:18px solid var(--green);transform:skewY(-18deg)}.route-line::after{content:"";position:absolute;right:-10px;top:7%;width:18px;height:82%;background:var(--orange);transform:skewY(34deg)}.station{position:absolute;z-index:2;display:grid;place-items:center;width:76px;height:76px;border:10px solid var(--paper);border-radius:50%;background:var(--wine);box-shadow:0 0 0 3px var(--ink);color:var(--paper);font:900 .7rem/1.2 Consolas,monospace;text-align:center}.s1{left:10%;bottom:14%}.s2{left:38%;bottom:31%}.s3{right:13%;top:23%}.route-note{position:absolute;right:5%;bottom:7%;padding:.7rem;border:var(--line);background:var(--yellow);font:900 .75rem Consolas,monospace;transform:rotate(-2deg)}.status{border-bottom:var(--line);background:var(--orange)}.status .shell{display:flex;justify-content:space-between;gap:1rem;padding-block:.85rem;font:900 .76rem Consolas,monospace;text-transform:uppercase}.section{padding-block:clamp(3.8rem,8vw,7rem)}.section-head{display:grid;grid-template-columns:160px 1fr;gap:2rem;margin-bottom:2.5rem}.sign{display:grid;place-items:center;min-height:95px;padding:.7rem;border:var(--line);background:var(--yellow);font:900 .8rem/1.4 Consolas,monospace;text-align:center}.section h2,.page-hero h1{max-width:940px;margin:0;font-size:clamp(3.2rem,7vw,7rem);letter-spacing:-.045em;text-transform:uppercase}.section-head p{max-width:790px;font:1.15rem/1.58 Cambria,Georgia,serif}.network{display:grid;grid-template-columns:repeat(4,1fr);border:var(--line);background:var(--paper)}.network article{min-height:270px;padding:1.4rem;border-right:var(--line)}.network article:last-child{border-right:0}.network b{display:block;color:var(--orange);font:900 2.8rem "Franklin Gothic Medium",sans-serif}.network h3{font-size:2rem}.books{display:grid;gap:1rem}.book-card{display:grid;grid-template-columns:85px 145px 1fr;border:var(--line);background:var(--paper);box-shadow:7px 7px 0 var(--green)}.route-no{display:grid;place-items:center;border-right:var(--line);background:var(--yellow);font:900 2.5rem Consolas,monospace}.book-card:nth-child(2) .route-no{background:var(--sky)}.book-card:nth-child(3) .route-no{background:#d7c6e8}.book-card:nth-child(4) .route-no{background:#efb09b}.placeholder{display:grid;place-items:center;padding:1rem;border-right:var(--line);font:900 .7rem/1.35 Consolas,monospace;text-align:center;text-transform:uppercase;writing-mode:vertical-rl;transform:rotate(180deg)}.card-copy{display:grid;grid-template-columns:1.25fr .75fr;gap:2rem;padding:1.5rem}.card-copy h3{margin:.3rem 0;font-size:clamp(2.2rem,5vw,4.1rem)}.meta{font:900 .76rem/1.45 Consolas,monospace;text-transform:uppercase}.card-actions{display:flex;flex-direction:column;justify-content:flex-end;gap:.8rem}.feature{border-block:var(--line);background:var(--wine);color:var(--paper)}.feature-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:4rem}.feature h2{color:var(--yellow)}.feature-copy{font:1.2rem/1.76 Cambria,Georgia,serif}.spans{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;margin-top:2rem;border:1px solid var(--paper);background:var(--paper)}.spans div{padding:1rem;background:var(--wine)}.spans b{display:block;color:var(--yellow);font:900 1.2rem Consolas,monospace}.dialogue{display:grid;grid-template-columns:1fr 110px 1fr;border:var(--line);background:var(--paper)}.dialogue article{padding:2rem}.dialogue h3{font-size:2.8rem}.switch{display:grid;place-items:center;border-inline:var(--line);background:var(--orange);font:900 .8rem Consolas,monospace;text-align:center}.method{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.method article{padding:1.4rem;border:var(--line);background:var(--paper)}.method h3{font-size:2rem}.notice{border-block:var(--line);background:var(--yellow)}.notice-grid,.about-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:3rem}.notice h2{font-size:clamp(4rem,9vw,8rem)}.page-hero{padding-block:clamp(3.5rem,8vw,7rem);border-bottom:var(--line);background:var(--sky)}.breadcrumbs{font:900 .76rem Consolas,monospace;text-transform:uppercase}.review-layout{display:grid;grid-template-columns:minmax(265px,.68fr) minmax(0,1.32fr);gap:clamp(2rem,7vw,7rem);padding-block:clamp(3rem,7vw,6rem)}.edition-card{position:sticky;top:1rem;align-self:start;border:var(--line);background:var(--paper);box-shadow:8px 8px 0 var(--green)}.edition-card .placeholder{min-height:230px;border-right:0;border-bottom:var(--line);writing-mode:horizontal-tb;transform:none}.edition-body{padding:1.2rem}.edition-body dl{margin:0}.edition-body dt{margin-top:.75rem;font:900 .7rem Consolas,monospace;text-transform:uppercase}.edition-body dd{margin:.1rem 0}.prose{max-width:790px;font:1.12rem/1.78 Cambria,Georgia,serif}.prose h2{margin:2.8rem 0 1rem;font:900 clamp(2.4rem,5vw,4.3rem)/.96 "Franklin Gothic Medium",sans-serif;text-transform:uppercase}.prose h2:first-child{margin-top:0}.lead{font-size:1.38rem}.evidence,.caution{padding:1rem 1.2rem;border:var(--line);background:var(--paper);font-family:Arial,sans-serif}.evidence{border-left:12px solid var(--green)}.caution{border-left:12px solid var(--orange)}.sources{padding-left:1.2rem}.sources li{margin-bottom:.7rem;overflow-wrap:anywhere}.site-footer{border-top:var(--line);background:var(--green);color:var(--paper)}.footer-grid{display:grid;grid-template-columns:1.2fr .8fr .8fr;gap:2rem;padding-block:3rem}.footer-grid h2{font-size:2rem;text-transform:uppercase}.footer-grid ul{margin:0;padding:0;list-style:none}.footer-bottom{padding-block:1rem;border-top:1px solid rgba(255,255,255,.4);font-size:.82rem}@media(max-width:820px){.line-badge{display:none}.menu-toggle{display:block;min-width:90px}.nav{display:none}.nav.is-open{display:block}.nav ul{display:block}.nav a{border-right:0;border-bottom:1px solid var(--ink)}.hero-grid,.feature-grid,.notice-grid,.about-grid,.review-layout{grid-template-columns:1fr}.hero-copy{padding-right:0}.route-map{border-left:0;border-top:var(--line)}.section-head{grid-template-columns:120px 1fr}.network,.method,.footer-grid{grid-template-columns:1fr}.network article{min-height:auto;border-right:0;border-bottom:var(--line)}.card-copy{grid-template-columns:1fr}.dialogue{grid-template-columns:1fr}.switch{min-height:70px;border-inline:0;border-block:var(--line)}.edition-card{position:static}}@media(max-width:500px){.shell{width:calc(100% - 1rem)}.brand{display:block}.brand strong{display:block;font-size:1.8rem}.brand span{display:block;margin-top:.3rem;padding-left:0;border-left:0;font-size:.58rem}.section-head{grid-template-columns:1fr}.book-card{grid-template-columns:60px 1fr}.placeholder{grid-column:2;min-height:70px;border-right:0;border-bottom:var(--line);writing-mode:horizontal-tb;transform:none}.card-copy{grid-column:1/-1;border-top:var(--line)}.route-no{grid-row:1}.status .shell{display:block}.status span{display:block}.spans{grid-template-columns:1fr}.button{width:100%}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

