/* Rail Atelier: considered proportions, useful exploration, real machinery. */
:root{--red:#b63d30;--muted:#596052;--section-space:90px}html{scroll-padding-top:34px}body{font-size:16px}h1,h2,h3{overflow-wrap:normal}h2{font-size:clamp(32px,3.5vw,54px);line-height:1.03;letter-spacing:-.025em}.eyebrow{font-size:10px;letter-spacing:.075em;margin-bottom:21px}.section{padding-block:var(--section-space)}.button{min-height:50px;font-size:13px;gap:24px}.index-link{font-size:13px}.section-code{font-size:10px;padding-bottom:25px}.atelier-header{min-height:88px}.brand{flex-basis:218px}.desktop-nav{gap:25px}.header-sector{font-size:9px}.header-actions{gap:21px}.header-contact{background:var(--red);border-color:var(--red);color:#fff}.header-contact:hover{background:var(--ink);border-color:var(--ink)}.menu-grid nav a{font-size:clamp(27px,3vw,43px)}.menu-grid aside .menu-preview img{height:280px}.menu-inner{padding-top:20px}.menu-grid{padding-top:18px}.menu-station-label{padding-bottom:18px}.menu-grid nav a{padding-block:10px}
.rail-hero{height:calc(100svh - 88px);min-height:700px;max-height:920px}.hero-heading{padding-top:58px}.hero-heading .eyebrow{font-size:10px;max-width:620px;margin-bottom:31px}.hero-heading h1{font-size:clamp(68px,6.5vw,112px);line-height:.94;letter-spacing:-.035em}.hero-deck{font-size:16px;max-width:375px;line-height:1.7;margin-block:27px 26px}.hero-machine{top:98px;right:-5%;width:68%;height:calc(100% - 210px)}.hero-heading .button{min-width:235px}.hero-secondary{display:block;width:fit-content;pointer-events:auto;font-size:12px;border-bottom:1px solid var(--line);margin-top:16px;padding-bottom:5px;color:var(--muted)}.hero-secondary:hover{color:var(--red);border-color:var(--red)}.machine-top{font-size:8px}.machine-bottom{font-size:8px}.hero-station{height:88px}.station-tabs button{font-size:13px;padding-inline:22px}.mode-intros{padding-block:22px}.mode-intros p{font-size:14px}.rail-manifesto{padding-block:82px}.manifesto-body{grid-template-columns:1.2fr .65fr;gap:11%;padding-top:22px}.manifesto-text{font-size:clamp(30px,3.3vw,49px);line-height:1.24;letter-spacing:-.03em}.manifesto-note p{font-size:14px}.manifesto-note{padding-top:3px}.signal-stack{margin-bottom:18px}.manifesto-note .index-link{margin-top:20px}.engineering-lab{height:205svh;min-height:1400px}.lab-sticky{padding-top:45px;height:100svh;min-height:680px}.lab-heading h2{font-size:clamp(33px,3.3vw,51px);max-width:520px;line-height:1.03}.lab-heading .eyebrow{max-width:180px}.lab-intro{font-size:10px;max-width:190px}.lab-content h3{font-size:clamp(26px,2.35vw,34px);line-height:1.18;letter-spacing:-.025em}.lab-content article{min-height:210px}.lab-tabs{margin-bottom:27px}.lab-tabs button{width:40px;height:38px}.lab-content{padding-bottom:38px}.lab-visual{min-height:430px}.lab-content article>p:last-child{font-size:14px}.service-explorer{padding-block:var(--section-space)}.explorer-head{margin:18px 0 43px;gap:40px}.explorer-head h2{font-size:clamp(34px,3.6vw,54px)}.explorer-tabs button{padding-block:20px}.explorer-tabs button strong{font-size:clamp(23px,1.95vw,29px);line-height:1.1}.explorer-index{font-size:79px}.explorer-image{height:400px}.explorer-grid{gap:7%}.stock-terminal{padding-block:var(--section-space)}.stock-title{margin:23px 0 40px;align-items:center}.stock-title h2{font-size:clamp(39px,4.4vw,64px);line-height:1.01}.stock-title>p{font-size:15px;max-width:385px}.stock-item h3{font-size:clamp(26px,2.5vw,37px);line-height:1.1}.stock-code{margin-bottom:24px}.stock-photo{height:270px}.stock-item>p{font-size:14px}.stock-status{font-size:9px}.rail-network{min-height:610px}.network-content{padding-block:80px 110px}.network-content h2{font-size:clamp(39px,4.5vw,66px);line-height:1.02;max-width:780px}.network-lower{margin-top:35px}.network-note{font-size:9px;max-width:380px}.route-ticker{font-size:32px;padding-block:12px}.cert-vault{padding-block:var(--section-space)}.vault-heading{margin:20px 0 40px;align-items:center}.vault-heading h2{font-size:clamp(36px,4vw,59px);line-height:1.04}.vault-heading>p{font-size:14px;max-width:385px}.vault-list strong{font-size:clamp(28px,2.7vw,38px)}.vault-list a{padding-block:20px}.vault-list a>span:nth-last-child(2){font-size:14px}.vault-action{font-size:11px}.project-builder{padding-block:78px}.builder-layout h2{font-size:clamp(39px,4.4vw,65px);line-height:1.02}.builder-layout>div>p:last-child{font-size:15px;max-width:350px;margin-top:25px}.builder-note{font-size:11px}.people-strip{padding-block:75px;grid-template-columns:.8fr 1.4fr 1fr;gap:6%}.people-strip h2{font-size:clamp(32px,3.2vw,48px)}.footer-main h2{font-size:clamp(36px,4.1vw,61px);line-height:1.02}.footer-main{padding-block:55px 60px}.footer-word{font-size:9.6vw;letter-spacing:.015em;line-height:1}.footer-bottom{font-size:10px;padding-bottom:28px}.footer-signal{font-size:10px}.footer-directory nav{font-size:14px}.footer-directory p:not(.eyebrow){font-size:14px}.footer-directory .eyebrow{font-size:10px}.footer-direct>a:not(.button){font-size:23px}.footer-directory{padding-bottom:50px}
/* The scale applies to every language and every internal page. */
.technical-hero{min-height:485px}.tech-title{padding-top:28px}.tech-title .breadcrumb{margin-bottom:43px;font-size:10px}.tech-title .eyebrow{font-size:10px;margin-bottom:23px}.tech-title h1{font-size:clamp(37px,4.1vw,64px);line-height:1.04;letter-spacing:-.025em;max-width:620px;overflow-wrap:normal}.tech-title .lead{font-size:16px;line-height:1.7;margin-top:24px;margin-bottom:36px}.tech-picture img{min-height:485px}.technical-lines>span{font-size:clamp(50px,6vw,90px)}.head-split h2,.intro-grid h2,.mission-section h2,.about-links h2,.contact-cta h2{font-size:clamp(33px,3.6vw,54px);line-height:1.06}.detail-grid h2{font-size:clamp(27px,2.8vw,39px);line-height:1.2;letter-spacing:-.02em}.detail-grid .lead{font-size:16px;line-height:1.85}.technical-panel h3{font-size:clamp(31px,3.4vw,45px);line-height:1.06}.service-row h2{font-size:clamp(27px,2.8vw,42px);line-height:1.12}.service-row p{font-size:14px}.related-section h2{font-size:32px}.related-links a{font-size:19px;line-height:1.3}.mission-section{padding-block:85px}.about-links{gap:28px}.contact-cta{display:grid;grid-template-columns:1fr auto;align-items:center;column-gap:50px;padding-block:60px}.contact-cta>.eyebrow{grid-column:1/-1}.contact-cta h2{margin:0}.contact-cta .button{margin:0}.cert-info h2{font-size:31px}.cert-info p{font-size:14px}.form-panel h2{font-size:43px}.contact-big{font-size:37px}.cargo-grid h3{font-size:29px}.enquiry-guide h2{font-size:36px}.archive-docs summary{font-size:28px}.prose h2{font-size:30px}.form-grid label{font-size:11px}.small{font-size:12px;line-height:1.6}.technical-panel .underlined{font-size:14px}
/* A photographic pause in the technical narrative. */
.rail-film{padding-block:12px 60px;background:var(--paper);overflow:hidden}.film-window{position:relative;height:640px;max-height:82svh;margin-inline:var(--gutter);overflow:hidden;isolation:isolate;clip-path:inset(0 var(--film-inset,0%))}.film-window>img{width:100%;height:120%;object-fit:cover;position:absolute;top:-10%;left:0;transform:translateY(var(--film-y,0px)) scale(1.035);will-change:transform}.film-shade{position:absolute;inset:0;background:linear-gradient(90deg,#111b14d9,#111b1450 65%,#111b1415);z-index:1}.film-copy{position:relative;z-index:2;max-width:650px;padding:85px 60px;color:#fff}.film-copy .eyebrow{color:#cfdbbf;font-size:10px}.film-copy h2{font-size:clamp(36px,4vw,59px);line-height:1.06;margin-bottom:23px;white-space:pre-line}.film-copy>p:not(.eyebrow){color:#dde4d7;max-width:390px;font-size:16px;line-height:1.7}.film-copy .button{margin-top:28px}.film-caption{position:absolute;z-index:2;bottom:27px;left:60px;right:60px;display:flex;justify-content:space-between;font:10px/1.5 var(--mono);color:#c8d2be;border-top:1px solid #ffffff45;padding-top:16px}
/* Four milestones, with a real brief behind each tab. */
.v3-section-heading{display:flex;justify-content:space-between;align-items:end;gap:65px;margin-bottom:44px}.v3-section-heading>div{max-width:660px}.v3-section-heading h2,.gallery-heading h2,.faq-intro h2,.resource-heading h2{font-size:clamp(35px,3.6vw,54px);line-height:1.07;white-space:pre-line}.v3-section-heading>p{max-width:375px;font-size:15px;line-height:1.8;margin-bottom:3px}.project-route{border-top:1px solid var(--line)}.route-stations{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));position:relative;margin-bottom:45px}.route-stations button{position:relative;z-index:1;border:0;background:transparent;text-align:left;color:var(--muted);padding:16px 15px 24px 0;display:grid;grid-template-columns:32px 1fr;align-items:center;gap:12px}.route-stations button>span{font:11px var(--mono)}.route-stations button strong{font-size:16px;font-weight:500}.route-stations button i{position:absolute;bottom:-4px;left:0;width:9px;height:9px;background:#c2c9ba;border-radius:100%;box-shadow:0 0 0 6px var(--paper);transition:background .3s}.route-stations button[aria-selected=true]{color:var(--red)}.route-stations button[aria-selected=true] i{background:var(--red);box-shadow:0 0 0 6px #f4e1db}.route-line{height:1px;background:#bcc5b3;position:absolute;left:0;right:0;bottom:0}.route-line i{display:block;background:var(--red);height:2px;width:100%;transform:scaleX(var(--route-progress,.25));transform-origin:left;transition:transform .5s var(--ease)}.route-body{display:grid;grid-template-columns:1.05fr 1fr;gap:7%;align-items:center}.route-photo{position:relative;height:480px;overflow:hidden;background:#d7dbd1}.route-photo>img{height:116%;width:100%;object-fit:cover;position:absolute;top:-8%;transform:translateY(var(--depth-y,0px))}.route-photo:after{content:'';position:absolute;inset:50% 0 0;background:linear-gradient(transparent,#0e170fc9);pointer-events:none}.route-photo figcaption{position:absolute;bottom:25px;left:25px;right:25px;color:#fff;z-index:1;display:flex;justify-content:space-between;gap:20px;font:9px/1.5 var(--mono)}.route-photo-index{position:absolute;z-index:1;right:25px;top:25px;font:600 32px var(--mono);color:#fff;transition:opacity .3s}.route-panels article{animation:engagement-panel .4s ease;min-height:345px}.small-label{font:10px/1.5 var(--mono);letter-spacing:.05em;text-transform:uppercase;color:var(--red)}.route-panels h3{font-size:34px;line-height:1.15;margin:18px 0 18px;white-space:pre-line;letter-spacing:-.02em}.route-panels article>p{font-size:15px;line-height:1.8;max-width:510px}.technical-checklist{list-style:none;padding:0;margin:25px 0 0;max-width:510px}.technical-checklist li{border-top:1px solid var(--line);padding:10px 0 10px 20px;position:relative;font-size:13px;color:var(--ink)}.technical-checklist li:before{content:'';position:absolute;left:0;top:18px;width:5px;height:5px;background:var(--red)}.route-panels>.index-link{margin-top:20px;min-width:245px}@keyframes engagement-panel{from{opacity:.3;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
/* A photographic contact sheet that can be explored, enlarged and followed. */
.rail-gallery{background:#d8ded0;overflow:hidden}.gallery-heading{display:flex;justify-content:space-between;align-items:end;gap:50px;margin-bottom:40px}.gallery-controls{display:flex;align-items:center;gap:12px}.gallery-controls button,.gallery-dialog button{font:12px var(--body);border:1px solid #a8b29c;padding:12px 15px;color:var(--ink);background:transparent;min-height:44px}.gallery-controls button:hover,.gallery-dialog button:hover{background:var(--ink);color:#fff}.gallery-controls button:disabled{opacity:.35;cursor:default}.gallery-count{font:11px var(--mono);margin-right:15px;min-width:70px}.gallery-track{display:flex;gap:23px;overflow-x:auto;scroll-snap-type:x mandatory;padding:4px var(--gutter) 28px;scroll-padding-inline:var(--gutter);scrollbar-width:thin;scrollbar-color:#7f8c71 transparent;overscroll-behavior-inline:contain}.gallery-card{flex:0 0 39%;min-width:0;scroll-snap-align:start}.gallery-open{display:block;position:relative;overflow:hidden;height:420px;background:#c7cfbd}.gallery-open img{width:100%;height:100%;object-fit:cover;transition:transform 1s var(--ease),filter .6s;filter:saturate(.85)}.gallery-open:hover img{transform:scale(1.06);filter:saturate(1)}.gallery-card:nth-child(even) .gallery-open{height:370px;margin-top:50px}.gallery-zoom{position:absolute;bottom:18px;right:18px;width:40px;height:40px;display:grid;place-items:center;background:var(--paper);color:var(--ink);font-size:25px;font-weight:300;transition:background .3s}.gallery-open:hover .gallery-zoom{background:var(--red);color:#fff}.gallery-card figcaption{display:grid;grid-template-columns:25px 1fr auto;gap:16px;align-items:baseline;margin-top:19px}.gallery-card figcaption>span{font:10px var(--mono);color:#69775e}.gallery-card h3{font:500 18px/1.3 var(--body);letter-spacing:-.02em}.gallery-card figcaption>a{font-size:11px;border-bottom:1px solid #8f9c82;padding-bottom:3px}.gallery-foot{display:flex;justify-content:space-between;gap:45px;align-items:center;margin-top:32px;padding-top:22px;border-top:1px solid #b8c2aa}.gallery-foot>p{font-size:13px;max-width:560px;margin:0}.gallery-foot .index-link{font-size:12px;min-width:250px;flex:none}.gallery-dialog{width:min(1200px,94vw);max-width:none;max-height:94svh;padding:0;border:0;background:var(--paper);color:var(--ink);overflow:auto}.gallery-dialog::backdrop{background:#111910ed;backdrop-filter:blur(7px)}.gallery-dialog-bar{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:15px 22px;border-bottom:1px solid var(--line)}.gallery-dialog-bar>span{font:500 16px var(--body)}.gallery-dialog-bar button{border:0;display:flex;gap:24px;align-items:center}.gallery-dialog-bar button>span{font-size:25px}.gallery-dialog-image{width:100%;height:min(65svh,740px);object-fit:contain;background:#192219;display:block}.gallery-dialog-bottom{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:16px 22px}.gallery-dialog-bottom .index-link{font-size:12px}
/* Cargo is a practical route into the transport enquiry. */
.cargo-choice-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:1px solid var(--line)}.cargo-choice-tabs button{display:flex;gap:13px;align-items:center;text-align:left;padding:21px 18px;font:500 14px/1.4 var(--body);border:0;border-right:1px solid var(--line);background:transparent;color:var(--muted);transition:background .3s,color .3s}.cargo-choice-tabs button:last-child{border-right:0}.cargo-choice-tabs button span{font:10px var(--mono);color:inherit;opacity:.65}.cargo-choice-tabs button[aria-selected=true]{background:var(--ink);color:#fff}.cargo-choice-tabs button:hover{color:var(--red)}.cargo-choice-tabs button[aria-selected=true]:hover{color:#fff}.dispatch-board{display:grid;grid-template-columns:1fr 1.15fr;border:1px solid var(--line);border-top:0;min-height:510px}.dispatch-visual{background:#dce2d3;position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:space-between;padding:32px 30px}.dispatch-visual>.small-label{color:#58654a;position:relative;z-index:1}.dispatch-grid{position:absolute;inset:0;background-image:radial-gradient(#77836b40 .7px,transparent .7px);background-size:20px 20px}.dispatch-lines{width:calc(100% + 60px);margin-left:-30px;min-height:250px;flex:1}.dispatch-lines path{stroke-linejoin:round;stroke-linecap:round}.dispatch-secondary{stroke:#9daa8e;stroke-width:2}.dispatch-main{stroke:#a94030;stroke-width:3;stroke-dasharray:1000;stroke-dashoffset:1000;transition:stroke-dashoffset 2s ease}.cargo-selector.is-in-view .dispatch-main{stroke-dashoffset:0}.dispatch-lines circle{fill:var(--red);stroke:#dce2d3;stroke-width:3}.dispatch-point{animation:dispatch-pulse 3s ease-in-out infinite;transform-origin:180px 185px}.dispatch-stations{display:flex;justify-content:space-between;position:relative;font:9px var(--mono);color:#5e6b51;margin-top:10px}.dispatch-visual>p{font:9px/1.65 var(--mono);color:#637158;position:relative;max-width:330px;margin-top:25px}.dispatch-content{padding:40px 42px}.dispatch-content article{animation:engagement-panel .4s ease}.dispatch-content h3{font-size:35px;line-height:1.13;white-space:pre-line;margin:20px 0}.dispatch-content article>p{font-size:14px;line-height:1.8;max-width:510px}.dispatch-brief{margin-block:28px 24px;border-top:1px solid var(--line);padding-top:17px}.dispatch-brief>span{font:9px var(--mono);color:var(--muted)}.dispatch-brief p{font-size:13px;color:var(--ink);margin-top:8px;line-height:1.7}.dispatch-actions{display:flex;gap:23px;align-items:center;flex-wrap:wrap}.dispatch-actions .button{font-size:12px;padding-inline:18px;gap:20px}.dispatch-actions .underlined{font-size:12px}@keyframes dispatch-pulse{50%{transform:scale(1.35);opacity:.6}}
/* Readable answers, resources and well-placed conversion points. */
.rail-faq{display:grid;grid-template-columns:.7fr 1.3fr;gap:10%;border-top:1px solid var(--line)}.faq-intro>p:not(.eyebrow){font-size:15px;line-height:1.8;margin-block:22px;max-width:310px}.faq-intro .index-link{margin-top:27px;min-width:210px}.faq-items{border-top:1px solid var(--ink)}.faq-items details{border-bottom:1px solid var(--line)}.faq-items summary{display:flex;align-items:baseline;gap:20px;cursor:pointer;list-style:none;padding:24px 0}.faq-items summary::-webkit-details-marker{display:none}.faq-items summary>span{font:10px var(--mono);color:var(--muted);width:24px;flex:none}.faq-items summary h3{font:500 18px/1.4 var(--body);letter-spacing:-.01em}.faq-items summary b{font:300 25px/1 var(--body);margin-left:auto;transition:transform .25s;flex:none}.faq-items details[open] summary{color:var(--red)}.faq-items details[open] summary b{transform:rotate(45deg)}.faq-answer{padding:0 38px 26px 44px;animation:engagement-panel .3s ease}.faq-answer p{font-size:14px;line-height:1.9;margin:0}.resource-hub{padding-block:60px 85px}.resource-heading{display:flex;align-items:start;justify-content:space-between;gap:50px;margin-bottom:35px}.resource-heading .eyebrow{max-width:210px;margin-top:6px}.resource-heading h2{font-size:clamp(30px,3vw,44px);max-width:740px;width:66%}.resource-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.resource-card{display:flex;flex-direction:column;position:relative;padding:28px 27px 24px;border:1px solid #bac4ae;background:#dfe4d7;transition:background .3s,transform .4s}.resource-card:hover{background:#d0d9c5;transform:translateY(-4px)}.resource-type{font:10px/1.5 var(--mono);color:#627052;display:block;margin-bottom:35px}.resource-card h3{font-size:28px;line-height:1.14;white-space:pre-line}.resource-card>p{font-size:13px;line-height:1.8;margin:19px 0 30px;max-width:330px}.resource-action{display:flex;justify-content:space-between;gap:15px;align-items:center;font-size:12px;padding-top:15px;border-top:1px solid #aeba9f;margin-top:auto}.resource-action b{font:300 24px var(--body)}.resource-contact{background:var(--ink);color:var(--paper);border-color:var(--ink)}.resource-contact:hover{background:#30392c}.resource-contact .resource-type{color:#b3c4a2}.resource-contact>p{color:#c9d5bf}.resource-contact .resource-action{border-color:#647456}.quick-dock{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);display:flex;align-items:stretch;background:#eeeee8f5;border:1px solid #c7cfc0;box-shadow:0 5px 28px #14221020;z-index:65;padding:6px;backdrop-filter:blur(10px);animation:dock-appear .35s ease}.quick-dock>a{font:500 12px/1.2 var(--body);padding:13px 20px;display:flex;align-items:center;white-space:nowrap}.quick-dock>a:hover{color:var(--red)}.quick-dock .dock-enquiry{background:var(--red);color:white;gap:35px}.quick-dock .dock-enquiry:hover{background:var(--ink);color:white}.dock-enquiry span{font-size:22px;font-weight:300}@keyframes dock-appear{from{opacity:0;translate:0 8px}to{opacity:1;translate:0 0}}.engagement-ready [data-enter]{opacity:0;transform:translateY(25px);transition:opacity .65s ease,transform .8s var(--ease)}.engagement-ready [data-enter].entered{opacity:1;transform:translateY(0)}
@media(min-width:1700px){.hero-machine{top:120px}.hero-heading{padding-top:80px}.rail-hero{min-height:800px}.gallery-card{flex-basis:35%}.gallery-open{height:490px}.gallery-card:nth-child(even) .gallery-open{height:440px}.film-copy{padding-top:95px}}
@media(max-width:1200px){.hero-heading h1{font-size:7.2vw}.hero-heading .eyebrow{font-size:9px}.hero-machine{width:72%;right:-10%;top:130px;height:calc(100% - 240px)}.hero-deck{max-width:320px;font-size:15px}.manifesto-body{gap:8%}.hero-station{height:85px}.station-tabs button{font-size:12px;padding-inline:17px}.header-sector{display:none}.explorer-image{height:370px}.explorer-info{display:block}.explorer-info .button{margin-top:20px}.film-copy{padding:65px 42px}.film-caption{left:42px;right:42px}.film-window{height:570px}.route-body{gap:6%;grid-template-columns:1fr 1fr}.route-photo{height:470px}.route-panels h3{font-size:30px}.route-panels article>p{font-size:14px}.route-photo figcaption{display:block}.route-photo figcaption span{display:block;margin-top:7px}.gallery-card{flex-basis:45%}.gallery-open{height:380px}.gallery-card:nth-child(even) .gallery-open{height:330px}.gallery-card figcaption{gap:11px;grid-template-columns:20px 1fr}.gallery-card figcaption>a{grid-column:2;width:fit-content}.dispatch-content{padding:32px}.dispatch-content h3{font-size:31px}.cargo-choice-tabs button{font-size:12px;padding-inline:14px;gap:10px}.resource-card{padding:25px 22px}.resource-card h3{font-size:25px}.resource-heading h2{width:70%}.rail-faq{gap:7%}.stock-photo{height:230px}.footer-main{gap:9%}.technical-hero h1{font-size:clamp(39px,4.4vw,56px)}}
@media(max-width:900px){.header-contact{display:block}.atelier-header{min-height:82px}.rail-hero{min-height:730px;max-height:850px}.hero-heading{padding-top:40px}.hero-heading h1{font-size:8.2vw}.hero-heading .eyebrow{font-size:8px}.hero-machine{top:225px;height:390px;width:85%;right:-14%}.hero-deck{max-width:330px;font-size:14px;margin-top:25px}.hero-heading .button{font-size:12px}.hero-secondary{font-size:11px}.machine-top{display:none}.machine-bottom{font-size:7px;left:17%;right:17%}.station-tabs button{font-size:11px}.manifesto-body{grid-template-columns:1.1fr .8fr;gap:8%}.manifesto-text{font-size:34px}.lab-heading h2{font-size:38px;max-width:550px}.lab-sticky{min-height:700px}.lab-content h3{font-size:26px}.lab-visual{min-height:380px}.explorer-head h2{font-size:38px}.explorer-tabs button strong{font-size:23px}.explorer-grid{gap:5%}.stock-item{padding:20px 17px}.stock-photo{height:190px}.stock-item h3{font-size:26px}.stock-item>p{font-size:13px}.v3-section-heading{gap:35px}.v3-section-heading>p{max-width:290px;font-size:14px}.v3-section-heading h2,.gallery-heading h2,.faq-intro h2{font-size:39px}.route-stations button{grid-template-columns:23px 1fr;gap:8px}.route-stations button strong{font-size:14px}.route-photo{height:455px}.route-panels h3{font-size:28px}.route-panels article{min-height:370px}.technical-checklist li{font-size:12px}.route-panels>.index-link{min-width:0;font-size:12px;width:100%}.gallery-heading{gap:30px}.gallery-controls{gap:8px}.gallery-controls button{padding:11px 12px;font-size:11px}.gallery-count{margin-right:5px;font-size:10px}.gallery-card{flex-basis:57%}.dispatch-board{grid-template-columns:.85fr 1.15fr}.dispatch-content{padding:27px}.dispatch-visual{padding:25px 22px}.dispatch-lines{width:calc(100% + 90px);margin-left:-45px}.dispatch-content h3{font-size:29px}.cargo-choice-tabs button{padding:16px 12px;display:block;font-size:12px}.cargo-choice-tabs button span{display:block;margin-bottom:8px}.dispatch-stations{font-size:7px}.dispatch-visual>p{font-size:8px}.rail-faq{grid-template-columns:.7fr 1.3fr;gap:6%}.faq-items summary{gap:13px}.faq-items summary h3{font-size:16px}.faq-answer{padding-left:37px;padding-right:15px}.resource-grid{gap:12px}.resource-card{padding:23px 18px}.resource-card h3{font-size:25px}.resource-card>p{font-size:12px}.resource-type{font-size:8px;margin-bottom:25px}.resource-action{font-size:11px}.resource-heading h2{font-size:35px}.resource-heading .eyebrow{font-size:9px}.builder-layout{gap:7%}.builder-layout h2{font-size:45px}.project-builder{padding-block:65px}.technical-hero{min-height:470px}.tech-picture img{min-height:470px}.tech-title h1,.technical-hero h1{font-size:43px}.tech-title .lead{font-size:14px}.tech-title .eyebrow{font-size:8px}.tech-title .breadcrumb{margin-bottom:35px}.technical-panel h3{font-size:35px}.technical-panel{padding:28px}.contact-cta h2{font-size:39px}.contact-cta{gap:25px}.footer-main h2{font-size:47px}.footer-directory{gap:6%}.footer-bottom{font-size:8px}.footer-signal{font-size:8px}.footer-word{font-size:9.5vw}}
@media(max-width:760px){:root{--section-space:66px}.atelier-header{min-height:78px}.header-contact{display:none}.rail-hero{min-height:850px;height:auto;max-height:none}.hero-heading{padding-top:33px}.hero-heading h1{font-size:clamp(48px,10.8vw,72px);line-height:.97}.hero-heading .eyebrow{font-size:8px;max-width:340px;margin-bottom:26px}.hero-deck{font-size:15px;max-width:390px;margin-block:24px 23px}.hero-secondary{font-size:12px;margin-top:12px}.hero-machine{top:320px;left:-10%;right:auto;width:120%;height:400px}.machine-bottom{left:15%;right:15%;font-size:7px;bottom:0}.hero-station{height:91px}.station-tabs button{font-size:10px;gap:8px;padding-inline:12px}.station-tabs button span{font-size:8px}.mode-intros p{font-size:14px}.mode-intros .index-link{font-size:12px}.rail-manifesto{padding-block:65px}.manifesto-body{display:block}.manifesto-text{font-size:clamp(30px,6.4vw,39px);line-height:1.25}.manifesto-note{margin-top:25px;display:grid;grid-template-columns:25px 1fr;gap:0 18px}.manifesto-note p{font-size:14px}.manifesto-note .index-link{font-size:12px}.engineering-lab{height:auto;min-height:0}.lab-sticky{height:auto;min-height:0;padding-block:45px}.lab-heading h2{font-size:36px}.lab-heading .eyebrow{font-size:9px}.lab-visual{min-height:370px;height:370px}.lab-visual .rail-scene{height:370px}.lab-tools{bottom:25px}.lab-tools button{font-size:9px}.lab-content{padding:10px 0 0}.lab-content article{min-height:0}.lab-content h3{font-size:27px;line-height:1.2}.lab-content article>p:last-child{font-size:14px}.lab-tabs button{width:44px;height:40px}.model-disclaimer{font-size:8px;line-height:1.5}.explorer-head h2{font-size:36px}.explorer-head .index-link{font-size:12px}.explorer-grid{gap:27px}.explorer-tabs button strong{font-size:24px}.explorer-tabs button>span{font-size:9px}.explorer-image{height:320px}.explorer-info p{font-size:14px}.explorer-info .button{font-size:12px;min-height:48px;margin-top:18px}.stock-title h2{font-size:43px}.stock-title{display:block}.stock-title>p{font-size:14px;margin-top:22px}.stock-photo{height:295px}.stock-item{padding:23px}.stock-item h3{font-size:32px}.stock-item>p{font-size:14px}.stock-code{margin-bottom:22px}.stock-status{font-size:10px}.rail-network{min-height:580px}.network-content{padding-block:62px 100px}.network-content h2{font-size:43px;line-height:1.05}.network-lower{margin-top:27px}.network-lower>p{font-size:14px;max-width:420px}.network-note{font-size:9px;max-width:350px}.route-ticker{font-size:27px}.vault-heading h2{font-size:40px}.vault-list strong{font-size:31px}.vault-list a{padding-block:20px;grid-template-columns:22px 1fr 52px;gap:5px 12px}.vault-list a>span:nth-last-child(2){font-size:12px}.vault-action{font-size:10px}.builder-layout h2{font-size:43px}.builder-layout{gap:33px}.builder-layout>div>p:last-child{font-size:14px;max-width:440px;margin-top:21px}.brief-builder legend,.brief-select>span,.brief-message>span{font-size:14px}.brief-builder select{font-size:17px}.brief-builder textarea{font-size:16px}.brief-choices span{font-size:12px}.builder-note{font-size:11px}.people-strip{padding-block:65px;display:block}.people-strip .eyebrow{margin-bottom:23px;max-width:none}.people-strip h2{font-size:37px}.people-strip .index-link{margin-top:22px}.film-window{height:590px;max-height:none;margin-inline:20px;clip-path:none!important}.rail-film{padding-bottom:36px}.film-window>img{object-position:65% center;height:110%;top:-5%}.film-shade{background:linear-gradient(180deg,#111b1460,#111b14d9)}.film-copy{padding:50px 27px;max-width:520px}.film-copy h2{font-size:40px;line-height:1.1}.film-copy .eyebrow{font-size:9px}.film-copy>p:not(.eyebrow){font-size:14px;line-height:1.8;max-width:340px}.film-copy .button{margin-top:25px;font-size:12px;padding-inline:18px;gap:18px}.film-caption{left:27px;right:27px;bottom:24px;font-size:8px;display:block}.film-caption span{display:block}.film-caption span+span{margin-top:7px}.v3-section-heading{display:block;margin-bottom:30px}.v3-section-heading h2,.gallery-heading h2,.faq-intro h2{font-size:37px}.v3-section-heading>p{max-width:480px;font-size:14px;margin-top:22px}.route-stations{margin-bottom:28px;gap:0}.route-stations button{padding:13px 8px 21px 0;display:block}.route-stations button>span{font-size:10px;display:block;margin-bottom:10px}.route-stations button strong{font-size:12px}.route-body{display:flex;flex-direction:column;gap:27px;align-items:stretch}.route-photo{height:300px}.route-photo>img{object-position:center 55%}.route-photo figcaption{left:22px;bottom:20px;right:22px;display:flex;font-size:8px;gap:20px}.route-photo-index{font-size:28px;right:20px;top:15px}.route-panels article{min-height:0}.route-panels h3{font-size:29px;line-height:1.2;margin-top:15px}.route-panels article>p{font-size:14px}.technical-checklist{margin-top:20px}.technical-checklist li{font-size:13px;padding-block:11px}.route-panels>.index-link{width:fit-content;min-width:230px;margin-top:17px}.gallery-heading{display:block;margin-bottom:27px}.gallery-controls{margin-top:25px}.gallery-controls button{font-size:12px}.gallery-count{font-size:11px;margin-right:auto}.gallery-card{flex-basis:83%}.gallery-open{height:355px}.gallery-card:nth-child(even) .gallery-open{height:355px;margin-top:0}.gallery-track{gap:18px;padding-bottom:23px}.gallery-card h3{font-size:17px}.gallery-card figcaption{gap:9px 13px}.gallery-card figcaption>a{font-size:11px}.gallery-foot{display:block;margin-top:25px}.gallery-foot>p{font-size:13px}.gallery-foot .index-link{margin-top:15px;min-width:260px}.gallery-dialog{width:96vw;max-height:96svh}.gallery-dialog-bar{padding:10px 13px;gap:10px}.gallery-dialog-bar>span{font-size:13px}.gallery-dialog-bar button{font-size:11px;padding:10px 7px;gap:10px}.gallery-dialog-image{height:55svh}.gallery-dialog-bottom{gap:10px;padding:12px;flex-wrap:wrap}.gallery-dialog-bottom .index-link{font-size:11px;min-width:180px;order:3;width:100%;margin-inline:5px}.gallery-dialog-bottom button{font-size:11px;padding:11px 12px}.gallery-dialog-bottom button:last-child{margin-left:auto}.cargo-choice-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}.cargo-choice-tabs button{border-bottom:1px solid var(--line);padding:18px;font-size:13px;min-height:85px}.cargo-choice-tabs button:nth-child(2){border-right:0}.cargo-choice-tabs button:nth-child(n+3){border-bottom:0}.dispatch-board{display:flex;flex-direction:column;min-height:0}.dispatch-visual{height:280px;padding:22px 25px;flex:none}.dispatch-lines{position:absolute;left:0;top:0;height:100%;width:100%;margin:0;min-height:0}.dispatch-visual>.small-label{font-size:9px;align-self:start}.dispatch-stations{margin-top:auto;font-size:8px}.dispatch-visual>p{font-size:8px;max-width:370px;margin-top:14px;margin-bottom:0}.dispatch-content{padding:28px 25px}.dispatch-content h3{font-size:30px;line-height:1.15;margin-block:18px}.dispatch-content article>p{font-size:14px;line-height:1.8}.dispatch-brief{margin-block:22px}.dispatch-brief>span{font-size:9px}.dispatch-brief p{font-size:13px}.dispatch-actions{gap:20px}.dispatch-actions .button{font-size:12px;gap:20px;min-height:48px}.rail-faq{display:block}.faq-intro>p:not(.eyebrow){max-width:450px;font-size:14px}.faq-intro .index-link{margin-top:18px}.faq-items{margin-top:30px}.faq-items summary{gap:12px;padding-block:21px}.faq-items summary h3{font-size:16px;line-height:1.45}.faq-items summary>span{font-size:9px;width:19px}.faq-answer{padding:0 12px 23px 31px}.faq-answer p{font-size:14px;line-height:1.8}.resource-hub{padding-block:35px 65px}.resource-heading{display:block;margin-bottom:27px}.resource-heading .eyebrow{max-width:none;font-size:9px;margin-bottom:22px}.resource-heading h2{width:100%;font-size:34px;line-height:1.1}.resource-grid{grid-template-columns:1fr;gap:15px}.resource-card{padding:26px}.resource-type{font-size:10px;margin-bottom:25px}.resource-card h3{font-size:29px}.resource-card>p{font-size:14px;max-width:450px;margin-block:17px 25px}.resource-action{font-size:12px}.quick-dock{bottom:12px;max-width:calc(100vw - 24px);padding:5px}.quick-dock>a{font-size:11px;padding:12px 15px}.quick-dock .dock-enquiry{gap:20px}.dock-enquiry span{font-size:20px}.technical-hero{min-height:0}.tech-title{padding-top:25px;padding-bottom:25px}.tech-title h1,.technical-hero h1{font-size:clamp(35px,7vw,48px);line-height:1.09}.tech-title .eyebrow{font-size:9px}.tech-title .breadcrumb{font-size:9px;margin-bottom:31px}.tech-title .lead{font-size:15px;margin-bottom:30px}.tech-picture img{min-height:0}.tech-picture{height:310px}.tech-caption{font-size:8px}.head-split h2,.intro-grid h2,.mission-section h2,.about-links h2,.contact-cta h2{font-size:36px}.detail-grid h2{font-size:29px;line-height:1.2}.detail-grid .lead{font-size:16px}.technical-panel h3{font-size:36px}.technical-panel{padding:28px;margin-top:34px}.service-row h2{font-size:28px;line-height:1.15}.related-section h2{font-size:30px}.related-links a{font-size:17px}.contact-cta{display:block;padding-block:55px}.contact-cta h2{margin-bottom:27px}.contact-cta .eyebrow{margin-bottom:20px}.form-panel h2{font-size:37px}.form-panel{padding:26px 22px}.form-grid label{font-size:11px}.contact-big{font-size:34px}.contact-email{font-size:21px}.cargo-grid h3{font-size:29px}.archive-docs summary{font-size:26px}.cert-info h2{font-size:30px}.mission-section{padding-block:65px}.prose h2{font-size:29px}.footer-main h2{font-size:40px}.footer-main{gap:28px;padding-block:42px}.footer-direct>a:not(.button){font-size:23px}.footer-directory nav,.footer-directory p:not(.eyebrow){font-size:13px}.footer-directory .eyebrow{font-size:9px}.footer-word{font-size:9.4vw;letter-spacing:0;margin-bottom:20px}.footer-signal{font-size:8px}.footer-signal a{font-size:8px}.footer-bottom{font-size:9px;gap:20px}.footer-directory{padding-bottom:35px}.section-code{font-size:9px;gap:20px}}
@media(max-width:430px){.brand{flex-basis:174px}.atelier-header{gap:12px}.header-actions{gap:15px}.languages{font-size:10px;gap:8px}.hero-heading h1{font-size:12vw}.hero-heading .eyebrow{font-size:7px;max-width:295px}.hero-deck{font-size:14px;max-width:320px;line-height:1.65}.hero-heading .button{font-size:12px;min-width:225px;padding:14px 17px}.hero-secondary{font-size:11px}.rail-hero{min-height:825px}.hero-machine{top:335px;height:355px;width:130%;left:-15%}.machine-bottom{font-size:7px;left:16%;right:16%;bottom:0}.station-tabs button{font-size:9px;padding-inline:9px}.lab-heading h2{font-size:33px}.lab-visual{min-height:325px;height:325px}.lab-visual .rail-scene{height:325px}.lab-tools{gap:10px;bottom:27px}.lab-tools button{font-size:8px;gap:12px}.model-disclaimer{font-size:7px}.lab-content h3{font-size:26px}.explorer-head h2{font-size:34px}.explorer-tabs button strong{font-size:23px}.explorer-image{height:280px}.stock-title h2{font-size:40px}.stock-photo{height:240px}.network-content h2{font-size:38px}.vault-heading h2{font-size:37px}.vault-list strong{font-size:29px}.builder-layout h2{font-size:40px}.brief-choices span{font-size:11px;padding-inline:13px}.film-window{height:570px}.film-copy{padding:42px 24px}.film-copy h2{font-size:35px}.film-copy .button{font-size:11px;gap:12px;padding-inline:15px}.film-caption{left:24px;right:24px;font-size:7px}.v3-section-heading h2,.gallery-heading h2,.faq-intro h2{font-size:34px}.route-stations button strong{font-size:11px}.route-photo{height:260px}.route-photo figcaption{font-size:7px;display:block}.route-photo figcaption span+span{margin-top:5px}.route-panels h3{font-size:27px}.gallery-open,.gallery-card:nth-child(even) .gallery-open{height:310px}.gallery-card{flex-basis:86%}.gallery-card h3{font-size:16px}.gallery-track{gap:15px}.cargo-choice-tabs button{font-size:12px;padding:16px 14px}.dispatch-content{padding:26px 22px}.dispatch-content h3{font-size:27px}.dispatch-actions .button{font-size:11px;gap:15px}.resource-heading h2{font-size:32px}.resource-card h3{font-size:27px}.quick-dock>a{padding:12px 11px;font-size:10px}.quick-dock .dock-enquiry{gap:16px}.technical-hero h1{font-size:36px}.tech-picture{height:260px}.head-split h2,.intro-grid h2,.mission-section h2,.about-links h2,.contact-cta h2{font-size:33px}.service-row h2{font-size:26px}.detail-grid h2{font-size:27px}.technical-panel h3{font-size:33px}.footer-main h2{font-size:36px}.footer-signal{font-size:7px}.footer-signal a{font-size:7px}}
@media(prefers-reduced-motion:reduce){.engineering-lab{height:auto;min-height:0}.lab-sticky{height:800px}.film-window{clip-path:none!important}.film-window>img,.route-photo>img{transform:none!important}.route-line i,.gallery-open img,.resource-card{transition:none}.dispatch-main{stroke-dashoffset:0}.dispatch-point{animation:none}.quick-dock{animation:none}.route-panels article,.dispatch-content article,.faq-answer{animation:none}.engagement-ready [data-enter]{opacity:1;transform:none;transition:none}}@media(max-width:760px) and (prefers-reduced-motion:reduce){.lab-sticky{height:auto}}@media print{.quick-dock,.gallery-controls,.gallery-dialog{display:none}.rail-film{display:none}.gallery-track{display:grid;grid-template-columns:1fr 1fr;overflow:visible}.gallery-card{width:auto}.gallery-open,.gallery-card:nth-child(even) .gallery-open{height:180px;margin:0}.route-stations{display:none}.route-body{display:block}.route-photo{display:none}.route-panels article[hidden]{display:block!important}.cargo-choice-tabs,.dispatch-visual{display:none}.dispatch-board{display:block}.dispatch-content article[hidden]{display:block!important}.resource-grid{display:block}.resource-card{break-inside:avoid}.engagement-ready [data-enter]{opacity:1;transform:none}.faq-answer{display:block}.footer-word{font-size:55px}}

/* Keep the engineering model clear of text at intermediate viewport widths. */
.lab-visual .rail-scene{inset:0;width:100%;height:100%}
@media(min-width:761px) and (max-width:1050px){
 .engineering-lab{height:auto;min-height:0}
 .lab-sticky{position:relative;height:auto;min-height:0;max-height:none;display:flex;flex-direction:column;gap:0;padding:48px var(--gutter) 55px}
 .lab-heading h2{font-size:40px}
 .lab-visual{width:100%;height:430px;min-height:430px;margin-block:15px 25px}
 .lab-tools{bottom:25px}.model-disclaimer{bottom:0}
 .lab-content{width:100%;padding:15px 0 0;display:grid;grid-template-columns:110px 1fr;gap:0 30px;align-items:start}
 .lab-progress{display:none}.lab-tabs{flex-wrap:wrap;gap:10px;margin:0}
 .lab-content article{min-height:0}.lab-content article>p:last-child{max-width:560px;font-size:15px}
 .lab-content .index-link{grid-column:2;grid-row:2;margin-top:22px}
}
