.demand-page{--paper:#f8f3e9;--green:#205d48}
.demand-hero{padding:clamp(2.5rem,5vw,4rem) 0;background:#12100c;color:#efe7d9}
.demand-hero .eyebrow{color:#e2b772;font-weight:700}.demand-hero h1{font:400 clamp(3rem,6vw,5rem)/1.06 Anton,system-ui,sans-serif;margin:1rem 0;max-width:20ch}.demand-hero p{max-width:65ch;font-size:1.1rem}
.demand-button{font:600 1rem/1.4 Archivo,system-ui,sans-serif;display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:.7rem 1rem;border:1px solid #756b5c;border-radius:4px;background:#f8f3e9;color:#12100c;cursor:pointer;text-decoration:none}.demand-button.primary{background:#8c2027;color:white;border-color:#8c2027}
.demand-page :focus-visible,.jobs-preview :focus-visible,.poster-viewer :focus-visible{outline:3px solid #d49a42;outline-offset:4px}
.demand-jumps{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin:2rem 0 0}.demand-jumps a{padding:1.1rem 1.3rem;border:1px solid #756b5c;text-decoration:none;border-radius:5px;display:flex;align-items:center;gap:1rem}.demand-jumps strong{display:block;font-size:1.3rem}.demand-jumps span{display:block}.demand-jumps .route-number{color:#e2b772;font:400 2rem Anton,system-ui,sans-serif}
.demand-section{padding:2.5rem 0;scroll-margin-top:100px}.demand-section h2,.jobs-preview h2{font:400 clamp(2rem,3.5vw,3rem)/1.15 Anton,system-ui,sans-serif;margin:0 0 .75rem}.demand-columns{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:2rem}.demand-columns .demand-section+.demand-section{border-left:1px solid #b9ad96;padding-left:2rem}.demand-count{font:600 .85rem Archivo,system-ui,sans-serif;display:table;padding:.35rem .65rem;background:#d8cbb6;border-radius:30px;margin:.75rem 0}.demand-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:1.4rem;margin-top:1.5rem}.demand-columns .demand-grid{grid-template-columns:1fr}
.poster-card{min-width:0;background:#f8f3e9;border:1px solid #c5b9a6;border-top:4px solid #8c2027;border-radius:5px;overflow:hidden}.poster-card.cv{border-top-color:#205d48}.poster-sample{margin:0!important;padding:.6rem 1rem;background:#ffebad;color:#634100;font:700 .85rem/1.5 Archivo,system-ui,sans-serif}
.poster-open{display:block;width:100%;padding:0;border:0;background:#f8f3e9;color:#12100c;text-align:center;cursor:zoom-in;font:600 .95rem/1.5 Archivo,system-ui,sans-serif}.poster-open img{display:block;width:100%;height:auto;margin:0;max-width:100%}.poster-open-hint{display:block;padding:.85rem;border-top:1px solid #d3c7b5}.poster-open:focus-visible{outline-offset:-4px!important}
.demand-status:not(:empty){padding:1rem 0}.demand-empty{padding:1.4rem;border:1px dashed #8b7b64;background:#eee5d7;grid-column:1/-1}.demand-notice{padding:1rem 1.2rem;background:#f8f3e9;border-left:4px solid #b58e4e;margin:1.3rem 0;line-height:1.65}
.jobs-preview{padding:3rem clamp(1.25rem,4.2vw,4.5rem);background:#e8dfd0;color:#12100c}.jobs-preview>div{max-width:1360px;margin:auto}.jobs-preview p{margin:1rem 0;max-width:70ch}.jobs-preview .demand-grid{margin-bottom:1.4rem;max-width:1000px}.jobs-preview .poster-open img{max-height:520px;object-fit:contain;background:#e9dfce}
.demand-footer{background:#12100c;color:#efe7d9;padding:2rem 0}.demand-footer p{margin:.5rem 0}
.poster-viewer{box-sizing:border-box;padding:0;border:1px solid #756b5c;border-radius:8px;background:#191714;color:#f8f3e9;width:min(1200px,96vw);height:94vh;height:94dvh;max-width:none;max-height:none;margin:auto;overflow:hidden;font-family:Archivo,system-ui,sans-serif}
.poster-viewer[open]{display:flex;flex-direction:column}.poster-viewer::backdrop{background:#000c}.poster-toolbar{display:flex;align-items:center;gap:1rem;justify-content:space-between;padding:.8rem 1rem;border-bottom:1px solid #514b42;flex-shrink:0}.poster-toolbar h2{font:600 1rem/1.4 Archivo,system-ui,sans-serif;margin:0;overflow-wrap:anywhere}.poster-controls{display:flex;gap:.4rem;align-items:center;flex-shrink:0}.poster-controls button{min-width:44px;min-height:44px;border:1px solid #857763;border-radius:4px;background:#f8f3e9;color:#12100c;font:600 .95rem Archivo,system-ui,sans-serif;padding:.5rem .75rem;cursor:pointer}.poster-controls button:disabled{opacity:.4;cursor:default}.poster-zoom-level{width:3.5rem;text-align:center;font-size:.85rem;font-variant-numeric:tabular-nums}.poster-help{padding:.65rem 1rem;margin:0;color:#d3c7b5;font-size:.85rem;flex-shrink:0}.poster-stage{position:relative;flex:1;min-height:0;overflow:hidden;touch-action:none;overscroll-behavior:contain;user-select:none;background:#26221e}.poster-stage.is-zoomed{cursor:grab}.poster-stage.is-zoomed:active{cursor:grabbing}.poster-stage:focus-visible{outline-offset:-4px}.poster-full-image{position:absolute;left:50%;top:50%;max-width:none!important;max-height:none!important;transform-origin:center;pointer-events:none;display:block}.poster-load-status{position:absolute;inset:40% 1rem auto;text-align:center;color:#f8f3e9}.demand-page [hidden],.jobs-preview [hidden],.poster-viewer [hidden]{display:none!important}
@media(max-width:800px){.demand-grid,.demand-columns{grid-template-columns:1fr}.demand-columns{gap:0}.demand-columns .demand-section+.demand-section{border-left:0;border-top:1px solid #b9ad96;padding-left:0}.demand-jumps{grid-template-columns:1fr}.demand-hero h1{font-size:3rem}.poster-viewer{width:100vw;height:100vh;height:100dvh;border:0;border-radius:0}.poster-toolbar{flex-direction:column;align-items:stretch;gap:.5rem;padding:.65rem}.poster-toolbar h2{font-size:.9rem}.poster-controls{justify-content:space-between}.poster-help{font-size:.78rem;padding:.5rem .65rem}.poster-controls button{padding:.5rem .65rem}.poster-toolbar{padding-top:max(.65rem,env(safe-area-inset-top))}.poster-stage{margin-bottom:env(safe-area-inset-bottom)}}
