.xs{border-top:1px solid var(--line);padding-block:clamp(56px,8vw,110px)}.xs .kick{font:500 .74rem var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--brass)}.xs h2{font:500 clamp(2rem,5.5vw,3.6rem)/1.05 var(--display);margin:.3em 0 .4em;max-width:22ch}.xs h2 em{color:var(--brass-hi);font-weight:400}.xs .lead{color:var(--muted);max-width:60ch;margin:0 0 28px;font-size:1.08rem}.xs .lead em{color:var(--cream);font-style:normal}.pb{display:grid;gap:22px;max-width:980px}.pb h3{font:600 .8rem var(--body);letter-spacing:.14em;text-transform:uppercase;color:var(--brass);margin:0 0 10px}.pb .opts{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px}.pb .opts button{text-align:left;background:var(--velvet-2);border:1px solid var(--line);border-radius:12px;padding:14px;color:var(--cream);cursor:pointer;font:inherit;display:grid;gap:4px}.pb .opts button small{color:var(--muted);font-size:.85rem}.pb .opts button b{font:500 1.2rem var(--display)}.pb .opts button[aria-pressed=true]{border-color:var(--brass);background:var(--velvet-3);box-shadow:0 0 0 1px var(--brass)}.pb .res{display:grid;gap:12px;justify-items:start;background:var(--velvet-2);border:1px solid var(--brass);border-radius:14px;padding:22px}.pb .price{font:500 clamp(2rem,6vw,3.2rem)/1 var(--display);color:var(--brass-hi)}.pb .small,.terms{color:var(--muted);font-size:.92rem;max-width:62ch;margin:0}.terms{margin-top:22px;font-style:italic}.pnote{color:var(--brass-hi);font-weight:600;margin:0}.ck{display:flex;gap:8px;align-items:flex-start;color:var(--cream);cursor:pointer;margin:4px 0}.ck input{width:18px;height:18px;accent-color:var(--brass);margin-top:4px;flex:none}.ck em{color:var(--brass-hi);font-style:normal}.xs .big{display:inline-flex;align-items:center;justify-content:center;background:var(--brass);color:var(--velvet);border:1px solid var(--brass);border-radius:999px;padding:12px 22px;font:700 1rem var(--body);text-decoration:none;cursor:pointer}.xs .big.ghost{background:none;color:var(--brass-hi)}.xs .big:disabled{opacity:.5}#cform{display:grid;gap:14px;max-width:720px}#cform .two{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}#cform label:not(.ck){display:grid;gap:6px;font-size:.9rem;color:var(--muted)}#cform input:not([type=checkbox]),#cform textarea{width:100%;background:var(--velvet-2);border:1px solid var(--line);border-radius:10px;padding:11px 12px;color:var(--cream);font:inherit}#cform input:focus,#cform textarea:focus{border-color:var(--brass);outline:none}#cform .hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}.est{color:var(--brass-hi);margin:0}.cmsg{color:#f0b37a;margin:0;min-height:1.4em}.thanks{font:500 1.4rem/1.4 var(--display);color:var(--brass-hi);max-width:40ch}.sfoot{height:auto;min-height:84px;margin-top:-84px;align-items:flex-end;padding-bottom:14px}.sbtns{flex-direction:column;align-items:flex-start;gap:6px;max-width:min(420px,42vw)}.seek{font:italic 400 1.02rem/1.35 var(--display);color:var(--cream);text-shadow:0 1px 10px #000;pointer-events:none;transition:opacity 1.6s,max-height 1.6s;max-height:6em;overflow:hidden}.seek.fade{animation:asoSeekOut 1.6s ease forwards;animation-delay:var(--seek-delay,30s)}@keyframes asoSeekOut{to{opacity:0;max-height:0}}.gu{display:flex;align-items:center;gap:12px;min-height:44px}#giveup{opacity:0;visibility:hidden;transition:opacity .8s}#giveup.ready{opacity:1;visibility:visible}.sfoot .cue{align-self:center}@media (max-width:900px){.sbtns{max-width:58vw}.seek{font-size:.92rem}}@media (max-width:600px){.sbtns{max-width:none}}@media (min-width:901px){.snav .l,.snav .r{flex-wrap:nowrap;white-space:nowrap;gap:6px clamp(10px,1.6vw,26px)}.snav .lang{flex:none}}@media (min-width:901px) and (max-width:1360px){.snav .l button,.snav a{letter-spacing:.05em;font-size:.74rem}}.bgal{position:absolute;left:50%;bottom:10px;transform:translate(-50%);display:flex;align-items:center;gap:10px;background:#120904c7;border:1px solid var(--line);border-radius:999px;padding:4px 8px;font:500 .75rem var(--mono);color:var(--cream);z-index:3}.bgal button{background:none;border:0;color:var(--brass-hi);font:600 1.3rem/1 var(--display);padding:2px 8px;cursor:pointer}.screen iframe.protof{position:absolute;inset:0;width:100%;height:100%;border:0;transform:none!important;background:#fff;pointer-events:auto}.pfull{position:absolute;right:10px;top:10px;z-index:3;background:#120904cc;color:var(--brass-hi);border:1px solid var(--line);border-radius:999px;padding:4px 12px;font:500 .72rem var(--mono);text-decoration:none}.ppass{position:absolute;inset:0;display:grid;place-content:center;justify-items:center;gap:10px;padding:20px;text-align:center;background:radial-gradient(ellipse at 50% 30%,#3a1a0c,#1a0c06);color:var(--cream)}.ppass b{font:500 1.6rem var(--display);color:var(--brass-hi)}.ppass span{color:var(--muted);font-size:.95rem}.ppass input{font:500 1.1rem var(--mono);letter-spacing:.14em;text-transform:uppercase;text-align:center;background:var(--velvet-2);border:1px dashed var(--brass);border-radius:10px;padding:8px 12px;color:var(--cream);width:min(260px,80%)}.ppass button{background:var(--brass);color:var(--velvet);border:0;border-radius:999px;padding:9px 22px;font:700 .95rem var(--body);cursor:pointer}.ppass em{font-style:normal;color:#f0b37a;min-height:1.2em;font-size:.9rem}.sheet{position:fixed;inset:0;z-index:60;padding-top:clamp(96px,10vw,120px)!important;overflow:auto;overscroll-behavior:contain;margin:0;max-width:none;background:#140a05f7 radial-gradient(ellipse at 50% -10%,#4a1c0c,transparent 60%) no-repeat;border:0;padding-block:clamp(70px,9vw,110px) 60px;animation:sheetIn .35s ease}.sheet[hidden]{display:none!important}header.intro.sheet{display:block;padding-inline:max(18px,env(safe-area-inset-left,0px))}header.intro.sheet h1,header.intro.sheet p{max-width:900px;margin-inline:auto}.sheet-x{position:fixed;top:max(14px,env(safe-area-inset-top,0px));right:max(16px,env(safe-area-inset-right,0px));z-index:61;width:46px;height:46px;border-radius:50%;border:1px solid var(--brass);background:#1a0c06e6;color:var(--brass-hi);font:400 1.8rem/1 var(--display);cursor:pointer}.sheet-x:hover{background:var(--brass);color:var(--velvet)}html.sheet-open{overflow:hidden}@keyframes sheetIn{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.sheet{animation:none}}html.sheet-open .snav{position:fixed;z-index:70;background:linear-gradient(180deg,#140a05fa 70%,#140a0500);padding-bottom:18px}#to-train{font:600 .8rem var(--display);letter-spacing:.09em;text-transform:uppercase;color:var(--velvet)!important;background:var(--brass)!important;border-radius:999px;padding:9px 16px!important;text-shadow:none!important;cursor:pointer}#to-train:hover{background:var(--brass-hi)!important}.snav a.on{color:var(--brass-hi);text-decoration:underline;text-underline-offset:6px;text-decoration-color:var(--brass)}@media (max-width:900px){html.sheet-open .snav .r a{display:inline}}

/* 2.7 — guest book, the client's three words */
.gbook .gb-list{display:grid;gap:10px;max-height:38vh;overflow:auto;margin:10px 0 16px;text-align:left}.gbook blockquote{margin:0;padding:10px 14px;border-left:3px solid var(--brass);background:rgba(214,166,90,.08);border-radius:0 8px 8px 0}.gbook blockquote p{margin:0;font-style:italic}.gbook blockquote footer{font:500 .72rem var(--mono);color:var(--brass-hi);margin-top:4px}.gbook form{display:grid;gap:10px;text-align:left}.gbook label{display:grid;gap:4px;font-size:.88rem}.gbook textarea,.gbook input:not(.hp){width:100%;font:inherit;color:inherit;background:rgba(0,0,0,.25);border:1px solid var(--line);border-radius:8px;padding:8px 10px}.gbook .two{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px}.gbook .hp{position:absolute;left:-9999px}.gb-link{background:none;border:0;color:inherit;font:inherit;text-decoration:underline;cursor:pointer;padding:0}
.cwords{display:grid;gap:8px;margin-bottom:18px}.cwords .tags{display:flex;gap:10px;flex-wrap:wrap}.cwords .tags span{position:relative;background:#f3e6cf;color:#2a160c;border-radius:4px 14px 14px 4px;padding:5px 14px 5px 20px;font:500 1.05rem var(--display)}.cwords .tags span::before{content:"";position:absolute;left:8px;top:50%;width:6px;height:6px;border-radius:50%;background:#2a160c;transform:translateY(-50%)}.cwords p{margin:0}.cwords small{font:500 .74rem var(--mono);color:var(--brass-hi)}

/* 2.7 — the journey of a commission (train line), the branded back offices */
.process .line{list-style:none;margin:28px 0 30px;padding:0;position:relative;display:grid;gap:22px;max-width:680px}.process .line::before{content:"";position:absolute;left:17px;top:8px;bottom:8px;width:2px;background:repeating-linear-gradient(180deg,var(--brass) 0 10px,transparent 10px 16px)}.process .line li{position:relative;padding-left:58px}.process .stop{position:absolute;left:0;top:0;width:36px;height:36px;border-radius:50%;border:2px solid var(--brass);background:#120a05;color:var(--brass-hi);display:grid;place-items:center;font:500 .95rem var(--mono)}.process .line li:last-child .stop{background:var(--brass);color:#120a05}.process .line h3{font:500 1.35rem/1.2 var(--display);margin:4px 0 4px}.process .line p{margin:0;opacity:.85;max-width:56ch}
.backstage .bo{margin:26px 0}.backstage .bo h3{font:500 1.3rem/1.2 var(--display);margin:0 0 10px}.backstage .bo-shots{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:12px}.backstage .bo-shots img{display:block;width:100%;height:auto;border-radius:10px;border:1px solid var(--line)}.cback{display:grid;gap:8px;margin-bottom:18px}.cback h4{font:600 .74rem var(--body,inherit);letter-spacing:.14em;text-transform:uppercase;color:var(--brass);margin:0}.cback div{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:8px}.cback img{display:block;width:100%;border-radius:8px;border:1px solid var(--line)}

/* 2.7 — a calmer footer: the sentence on its own line, then links · languages · address, then the year */
footer .wrap{display:grid;grid-template-columns:1fr auto 1fr;grid-template-areas:"free free free" "links lang mail" "copy copy copy";gap:20px 24px;align-items:center;padding-block:40px 30px}footer .free{grid-area:free;justify-self:center;text-align:center;max-width:58ch;font:italic 400 1.2rem/1.4 var(--display);color:var(--cream)}footer .fnews{grid-area:links;display:flex;flex-wrap:wrap;gap:8px 20px;align-items:center}footer .fnews a,footer .gb-link{font:500 .72rem var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);text-decoration:none;background:none;border:0;padding:0;cursor:pointer}footer .fnews a:hover,footer .gb-link:hover,footer .fnews a:focus-visible,footer .gb-link:focus-visible{color:var(--brass-hi)}footer .xlang{grid-area:lang;justify-self:center}footer .fmail{grid-area:mail;justify-self:end;text-align:right}footer .fmail a{color:var(--brass-hi);text-decoration:none;border-bottom:1px solid var(--line)}footer .fmail a:hover{border-bottom-color:var(--brass-hi)}footer .fcopy{grid-area:copy;justify-self:center;font:500 .68rem var(--mono);letter-spacing:.14em;opacity:.6}@media (max-width:760px){footer .wrap{grid-template-columns:minmax(0,1fr);grid-template-areas:"free" "links" "mail" "lang" "copy";justify-items:center;text-align:center}footer .fnews{justify-content:center}footer .fmail{justify-self:center;text-align:center}}

/* 2.7 — station folklore: departures board, platform signs, tickets, rails */
.snav.has-board .l>a,.snav.has-board .l>button:not(#to-train),.snav.has-board .r>a,.snav.has-board .r>button:not(#board-open){display:none}
#board-open{pointer-events:auto;display:inline-flex;align-items:center;gap:8px;background:#0d0906;color:#f3c64a;border:1px solid rgba(243,198,74,.55);border-radius:6px;padding:7px 14px;font:500 .76rem var(--mono);letter-spacing:.18em;text-transform:uppercase;cursor:pointer}
#board-open i{width:8px;height:8px;border-radius:50%;background:#f3c64a;box-shadow:0 0 8px #f3c64a;animation:bd-blink 1.6s steps(2) infinite}
#board-open:hover,#board-open:focus-visible{background:#f3c64a;color:#0d0906}#board-open:hover i,#board-open:focus-visible i{background:#0d0906;box-shadow:none}
.board .bd{width:min(94vw,760px);max-height:88vh;overflow:auto;background:#0b0806;border:2px solid #3a2a14;border-radius:10px;padding:18px clamp(12px,3vw,26px) 22px;box-shadow:0 30px 80px rgba(0,0,0,.7),inset 0 0 0 1px rgba(243,198,74,.12);font-family:var(--mono)}
.board .bd-h{display:grid;grid-template-columns:1fr auto auto;gap:14px;align-items:center;margin-bottom:12px}.board h2{margin:0;font:500 clamp(1.1rem,3.4vw,1.6rem) var(--mono);letter-spacing:.3em;text-transform:uppercase;color:#f3c64a}
.board .bd-c{color:#f3c64a;font-size:1.1rem;letter-spacing:.14em;border:1px solid rgba(243,198,74,.4);border-radius:4px;padding:2px 8px}.board #bd-x{background:none;border:0;color:#c9b2a4;font-size:1.6rem;cursor:pointer;line-height:1}
.board .bd-r{display:grid;grid-template-columns:64px minmax(0,1fr) auto;gap:12px;align-items:center;width:100%;text-align:left;background:#15100b;color:#f6ecdc;border:0;border-top:1px solid #000;border-bottom:1px solid #2a1f12;padding:11px 12px;font:500 clamp(.86rem,2.4vw,1.02rem) var(--mono);letter-spacing:.1em;text-transform:uppercase}
.board button.bd-r{cursor:pointer;transform-origin:50% 0;animation:bd-flap .45s cubic-bezier(.3,.7,.3,1) both;animation-delay:calc(var(--i)*70ms)}.board button.bd-r:hover,.board button.bd-r:focus-visible{background:#f3c64a;color:#0b0806;outline:0}
.board .bd-k{background:none;color:#8f7a5c;font-size:.68rem;letter-spacing:.2em;border:0;padding-block:4px}.board .v{color:#f3c64a;font-size:1.25em;text-align:center;border:1px solid rgba(243,198,74,.45);border-radius:4px}.board button.bd-r:hover .v,.board button.bd-r:focus-visible .v{color:#0b0806;border-color:#0b0806}
.board .s{font-size:.72em;color:#9fc79a;letter-spacing:.16em}.board button.bd-r:hover .s,.board button.bd-r:focus-visible .s{color:#0b0806}
@keyframes bd-flap{0%{transform:perspective(600px) rotateX(-88deg);opacity:0}60%{opacity:1}100%{transform:none;opacity:1}}@keyframes bd-blink{50%{opacity:.25}}
@media (prefers-reduced-motion:reduce){.board button.bd-r,#board-open i{animation:none}}
.xs .kick{display:inline-block;border:1.5px solid var(--brass);border-radius:6px;padding:5px 14px 4px;letter-spacing:.22em;background:rgba(18,10,5,.6);box-shadow:inset 0 0 0 3px rgba(18,10,5,.6),inset 0 0 0 4px rgba(214,166,90,.35)}
.xs a.big,.xs button.big{padding-inline:30px;-webkit-mask:radial-gradient(circle at 0 50%,transparent 8px,#000 8.5px) left/51% 100% no-repeat,radial-gradient(circle at 100% 50%,transparent 8px,#000 8.5px) right/51% 100% no-repeat;mask:radial-gradient(circle at 0 50%,transparent 8px,#000 8.5px) left/51% 100% no-repeat,radial-gradient(circle at 100% 50%,transparent 8px,#000 8.5px) right/51% 100% no-repeat}
footer{border-top:0;background:repeating-linear-gradient(90deg,var(--brass) 0 3px,transparent 3px 26px) 0 6px/100% 10px no-repeat,linear-gradient(var(--line),var(--line)) 0 4px/100% 1px no-repeat,linear-gradient(var(--line),var(--line)) 0 17px/100% 1px no-repeat;padding-top:22px}

/* 2.7 — the journey inside the « Comment ça se passe » page */
.intro .process{margin-top:56px;padding-top:40px;border-top:1px solid var(--line);text-align:left}.intro .process .kick{display:inline-block;font:500 .72rem var(--mono);letter-spacing:.22em;text-transform:uppercase;color:var(--brass);border:1.5px solid var(--brass);border-radius:6px;padding:5px 14px 4px;background:rgba(18,10,5,.6);box-shadow:inset 0 0 0 3px rgba(18,10,5,.6),inset 0 0 0 4px rgba(214,166,90,.35)}.intro .process h2{font:400 clamp(1.6rem,4vw,2.4rem)/1.15 var(--display);margin:18px 0 10px}.intro .process h2 em{color:var(--brass-hi)}.intro .process .lead{margin:0;opacity:.85}.intro .process .line p{font-size:1rem}.intro .process a.big{display:inline-block;padding-inline:30px;-webkit-mask:radial-gradient(circle at 0 50%,transparent 8px,#000 8.5px) left/51% 100% no-repeat,radial-gradient(circle at 100% 50%,transparent 8px,#000 8.5px) right/51% 100% no-repeat;mask:radial-gradient(circle at 0 50%,transparent 8px,#000 8.5px) left/51% 100% no-repeat,radial-gradient(circle at 100% 50%,transparent 8px,#000 8.5px) right/51% 100% no-repeat}

/* 2.7.3 — a picture of the real screen under each stop; the plain contact page */
.process .pshot{display:block;margin-top:12px;max-width:560px;border:1px solid var(--line);border-radius:10px;overflow:hidden;box-shadow:0 14px 34px rgba(0,0,0,.45)}.process .pshot img{display:block;width:100%;height:auto}.process .pshot:hover,.process .pshot:focus-visible{border-color:var(--brass)}.contact .cmail a{font:400 clamp(1.3rem,4vw,2rem) var(--display);color:var(--brass-hi);text-decoration:none;border-bottom:1px solid var(--line);overflow-wrap:anywhere}

/* 2.7.3 — the visitor's own 2D / 3D switch */
.snav.has-board .r>button#view-toggle{display:inline-flex}#view-toggle{pointer-events:auto;background:none;color:var(--cream);border:1px solid var(--line);border-radius:6px;padding:7px 12px;font:500 .72rem var(--mono);letter-spacing:.14em;text-transform:uppercase;cursor:pointer}#view-toggle:hover,#view-toggle:focus-visible{border-color:var(--brass);color:var(--brass-hi)}@media (max-width:560px){#view-toggle{padding:6px 8px;letter-spacing:.06em}}

/* 2.7.4 — Contact and « Comment ça se passe » as pages of their own */
body.only main.wrap,body.only .xs,body.only .intro,body.only #view-toggle,body.only .sheet-x{display:none!important}
body.only-contact #ecrire,body.only-process #manifeste,body.only-process #coulisses{display:block!important;position:static!important;animation:none;background:none;overflow:visible;min-height:55vh;padding-top:30px!important}
body.only-process #coulisses{min-height:0}
body.only-process #manifeste>h1,body.only-process #manifeste>p{display:none}
body.only-process #manifeste .process{max-width:900px;margin-inline:auto}
body.only-contact #ecrire .wrap{max-width:760px;margin-inline:auto}

/* 2.7.5 */
footer .fpaid{color:var(--brass-hi);white-space:nowrap}
footer a.fpaid{text-decoration:underline;text-underline-offset:3px}
.snav.has-board #kw-open{display:none}
