@import url('vendor/fonts/fonts.css');
:root{--ink:#192b31;--muted:#627074;--paper:#f8f8f3;--line:#dadfd7;--rose:#c47d88}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--paper);font:16px/1.55 'DM Sans',sans-serif}a{color:inherit}button,input{font:inherit}button,a,input{touch-action:manipulation}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #528cad;outline-offset:5px}h1,h2,h3,p,figure{margin:0}header{display:flex;align-items:center;justify-content:space-between;padding:28px 4.3%;border-bottom:1px solid var(--line)}.brand{display:flex;gap:13px;align-items:center;text-decoration:none;line-height:1.25;font-size:12px;letter-spacing:2px}.brand strong{font-size:15px;letter-spacing:1.3px}.brand .brand-logo{width:38px;height:40px;fill:none;stroke:var(--ink);stroke-width:3}nav{display:flex;gap:33px;align-items:center;font-size:14px}nav a{text-decoration:none}.nav-download{border:1px solid var(--ink);padding:11px 17px;border-radius:2px}.intro{display:grid;grid-template-columns:1fr 1fr;gap:8%;padding:62px 7% 49px;align-items:end}.eyebrow{font-size:11px;font-weight:700;letter-spacing:2px;margin-bottom:17px}.intro h1{font:500 clamp(48px,5.8vw,88px)/1.02 Manrope;letter-spacing:-4px}.intro h1 span{color:var(--rose)}.intro-right{max-width:455px;margin-left:auto}.intro-right>p:first-child{font-size:23px;line-height:1.45;max-width:380px}.muted{color:var(--muted)}.intro-right .muted{margin-top:14px;font-size:15px;max-width:425px}.text-link{display:flex;justify-content:space-between;align-items:center;gap:35px;max-width:310px;text-decoration:none;border-bottom:1px solid #a9b3ae;padding:13px 0;font-size:14px;margin-top:20px}.text-link span{font-size:24px}.hero{margin:0 3%;position:relative;overflow:hidden;border-radius:3px}.hero>button{display:block;width:100%;border:0;padding:0;background:#bdc6c2;cursor:zoom-in}.hero img{display:block;width:100%;height:min(69vw,760px);object-fit:cover;object-position:center}.hero figcaption{position:absolute;bottom:0;left:0;right:0;padding:36px 35px 25px;background:linear-gradient(transparent,#13272bd9);color:white;display:flex;justify-content:space-between;align-items:end;font-size:14px;pointer-events:none}.hero figcaption b{font-size:12px;letter-spacing:1.4px}.hero figcaption a{pointer-events:auto;text-decoration:none;border-bottom:1px solid #fff8;padding:5px 0;font-size:13px}.colour-key{display:flex;justify-content:center;gap:27px;padding:22px 3%;flex-wrap:wrap;font-size:12px;color:#58696d}.colour-key span{display:flex;align-items:center;gap:7px}.colour-key i{display:block;width:10px;height:10px;border-radius:2px}.existing{background:#9aaeb7}.building{background:#377aaa}.proposed{background:#cb8898}.uncertain{background:#9c7da5}.lrt{background:#c99d3d}.pictures,.transformation,.evidence{padding:70px 7%}.section-head{display:flex;justify-content:space-between;gap:60px;align-items:end;margin-bottom:35px}.section-head h2,h2{font:500 clamp(30px,3.5vw,46px)/1.15 Manrope;letter-spacing:-1.5px}.section-head>p{max-width:390px;font-size:15px;color:var(--muted)}.gallery-grid{display:grid;grid-template-columns:1fr 1fr;gap:42px 27px}.picture-card>button{border:0;padding:0;display:block;width:100%;background:#d2dad3;cursor:zoom-in;overflow:hidden;border-radius:3px}.picture-card img{width:100%;aspect-ratio:1.6;display:block;object-fit:cover;transition:transform .4s}.picture-card>button:hover img{transform:scale(1.025)}.card-caption{display:flex;gap:20px;justify-content:space-between;margin-top:15px}.card-caption span{font-size:11px;color:#8b9593;letter-spacing:1px;margin-bottom:6px;display:block}.card-caption h3{font:500 22px Manrope;letter-spacing:-.4px}.card-caption p{font-size:13px;color:var(--muted);margin-top:6px;max-width:450px}.card-caption a{font-size:21px;text-decoration:none}.transformation{background:#e9eee5}.picture-compare{position:relative;width:100%;aspect-ratio:1.6;overflow:hidden;background:#b5c3bd;border-radius:3px}.picture-compare>img,.picture-compare>div>img{display:block;width:100%;height:100%;object-fit:cover}.picture-compare>img{position:absolute;inset:0}#beforePicture{position:absolute;inset:0;clip-path:inset(0 50% 0 0)}#compareDivider{position:absolute;top:0;bottom:0;left:50%;width:2px;background:#f8f8f3}#compareDivider:after{content:'↔';position:absolute;top:50%;left:-20px;width:40px;height:40px;background:var(--paper);border-radius:50%;display:grid;place-content:center;box-shadow:0 2px 15px #0002}.compare-captions{position:absolute;left:22px;right:22px;bottom:20px;display:flex;justify-content:space-between;font-size:12px}.compare-captions span{background:#f8f8f3df;padding:6px 11px;border-radius:3px}.slider-label{display:flex;gap:25px;align-items:center;margin:17px 0;font-size:13px}.slider-label input{flex:1;accent-color:var(--ink)}.fine-print{font-size:12px;color:var(--muted);max-width:920px}.transit-feature{display:grid;grid-template-columns:1fr 1.35fr;padding:80px 7%;gap:7%;align-items:center}.transit-feature p:not(.eyebrow){font-size:15px;margin-top:20px}.transit-feature img{width:100%;aspect-ratio:.95;object-fit:cover;border-radius:3px}.evidence{background:#f0f1ea;border-top:1px solid var(--line)}.evidence-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:45px}.evidence article{border-top:1px solid #bec8bf;padding-top:20px}.number{font-size:12px;color:#7f9188}.evidence h3{font:600 20px Manrope;margin-top:14px}.evidence article p{font-size:14px;color:var(--muted);margin-top:14px}.evidence-bottom{display:flex;justify-content:space-between;gap:30px;align-items:center;margin-top:35px}.evidence-bottom>p{font-size:13px;color:var(--muted)}.downloads{display:grid;grid-template-columns:1fr 1fr;gap:50px;padding:80px 7%}.download-links a{display:grid;grid-template-columns:1fr 25px;text-decoration:none;padding:18px 0;border-bottom:1px solid var(--line);gap:4px}.download-links span{font-size:17px}.download-links small{font-size:12px;color:var(--muted);grid-column:1}.download-links b{grid-column:2;grid-row:1/3;font-weight:400;font-size:25px;align-self:center}footer{padding:40px 7%;border-top:1px solid var(--line);display:flex;gap:55px;justify-content:space-between;align-items:start}footer p{font-size:11px;color:var(--muted);line-height:1.8}dialog{width:94vw;max-width:1500px;max-height:96vh;padding:0;border:0;border-radius:4px;background:var(--paper);color:var(--ink)}dialog::backdrop{background:#10202bdc}dialog>button{position:absolute;top:15px;right:15px;width:38px;height:38px;z-index:2;background:#fffdf2de;border:0;border-radius:50%;font-size:25px;cursor:pointer}dialog>img{width:100%;max-height:75vh;object-fit:contain;display:block;background:#b8c3bf}dialog>div{padding:24px 30px}dialog h2{font-size:25px;letter-spacing:-.5px}dialog p{font-size:13px;color:var(--muted);margin-top:10px}dialog a{display:inline-block;font-size:13px;margin:18px 25px 0 0}@media(max-width:850px){header{padding:20px 5%}nav{gap:18px;font-size:12px}.intro{padding:40px 6%;gap:7%}.intro h1{letter-spacing:-2px}.intro-right>p:first-child{font-size:19px}.intro-right .muted{font-size:13px}.hero img{height:55vw}.pictures,.transformation,.evidence{padding:50px 6%}.section-head{gap:35px}.section-head>p{font-size:14px;max-width:280px}.transit-feature{gap:5%;padding:55px 6%}.evidence-grid{gap:24px}.downloads{padding:55px 6%}footer{padding:30px 6%;gap:25px;flex-wrap:wrap}}@media(max-width:600px){header .brand .brand-logo{width:29px;height:32px}.brand{font-size:9px;gap:8px}.brand strong{font-size:11px}nav{gap:16px}nav a:nth-child(3),.nav-download{display:none}.intro{display:block;padding:36px 6% 30px}.intro h1{font-size:56px;line-height:1.02}.eyebrow{font-size:9px;letter-spacing:1.5px}.intro-right{margin:23px 0 0}.intro-right>p:first-child{font-size:20px}.intro-right .muted{font-size:14px}.intro-right .text-link{margin-top:9px}.hero{margin:0}.hero img{height:70vw;object-position:49% center}.hero figcaption{padding:27px 18px 15px;font-size:11px}.hero figcaption b{font-size:10px}.hero figcaption a{font-size:10px}.colour-key{gap:12px 18px;font-size:10px;padding:17px 5%}.colour-key i{width:8px;height:8px}.section-head{display:block}.section-head>p{max-width:none;margin-top:20px}.gallery-grid{grid-template-columns:1fr;gap:28px}.pictures,.transformation,.evidence{padding:40px 6%}.card-caption h3{font-size:21px}.card-caption p{font-size:13px}.slider-label{display:block;font-size:12px}.slider-label input{width:100%;margin-top:12px}.compare-captions{left:10px;right:10px;bottom:10px;font-size:9px}.compare-captions span{padding:4px 7px}.transit-feature{display:flex;flex-direction:column;gap:30px;padding:45px 6%}.transit-feature img{aspect-ratio:1.5}.evidence-grid{grid-template-columns:1fr;gap:27px}.evidence h3{margin-top:7px}.evidence article p{margin-top:10px}.evidence-bottom{display:block}.downloads{display:block;padding:45px 6%}.download-links{margin-top:24px}footer{display:grid;gap:22px}dialog>div{padding:20px}dialog>img{max-height:65vh}dialog>button{right:10px;top:10px;width:32px;height:32px}dialog a{margin-top:12px}}

.image-note{font-size:11px;color:var(--muted);line-height:1.6;max-width:1000px;margin:15px auto 0;padding:0 5%;text-align:center}.completion-dates{padding:12px 0;border-top:1px solid #dae1dc;margin-top:15px}

.panorama-section{padding:80px 0;border-top:1px solid #d9ded9}.panorama-stack{display:grid;gap:28px}.panorama-stack figure{margin:0}.panorama-stack img{width:100%;display:block;aspect-ratio:3840/1400;object-fit:cover}.panorama-stack figcaption{display:flex;justify-content:space-between;font-size:12px;letter-spacing:.06em;padding:14px 0;border-bottom:1px solid #d9ded9}.panorama-stack a{color:inherit}.compare-place{display:flex;gap:14px;align-items:center;margin:0 0 20px;font-size:14px}.compare-place select{font:inherit;background:#f7f7f1;padding:12px 22px;border:1px solid #cbd4cc;border-radius:3px}@media(max-width:600px){.panorama-section{padding:45px 0}.panorama-stack figcaption{font-size:10px}}

.film-section{padding:80px 0}.film-section video{display:block;width:100%;height:auto;background:#e9eef0;border-radius:4px}.film-section>p{margin-top:18px}

/* Native option menus; a directly draggable, keyboard-accessible divider. */
select{appearance:auto!important;-webkit-appearance:auto!important;background-image:none!important;cursor:default;font:inherit}select:focus-visible{outline:3px solid #368ca5;outline-offset:3px}
#compareDivider,#compareLine{border:0;border-radius:0;padding:0;position:absolute;top:0;bottom:0;height:100%;width:44px;transform:translateX(-50%);background:linear-gradient(90deg,transparent calc(50% - 1px),#fff calc(50% - 1px),#fff calc(50% + 1px),transparent calc(50% + 1px));cursor:ew-resize;touch-action:none;pointer-events:auto;z-index:4}
#compareDivider:after,#compareLine:after{content:'↔';position:absolute;left:2px;top:50%;transform:translateY(-50%);width:40px;height:40px;border:1px solid #ccd3cf;background:#fffef6;color:#183036;border-radius:50%;display:grid;place-content:center;font:20px sans-serif;box-shadow:0 2px 12px #10202b40}
#compareDivider:focus-visible,#compareLine:focus-visible{outline:0}#compareDivider:focus-visible:after,#compareLine:focus-visible:after{outline:3px solid #368ca5;outline-offset:3px}.comparison-hint{font-size:12px;color:#637276;margin:16px 0}.picture-compare img{user-select:none;-webkit-user-drag:none}
.picture-view-label{display:flex;align-items:center;gap:12px;margin-top:15px;font-size:13px}.picture-view-label select{font:inherit;padding:8px 12px;border:1px solid #acb8b4;border-radius:4px;color:var(--ink);background:var(--paper);appearance:auto}.perspective-section{background:#edf0e9}.picture-card img{image-rendering:auto}select:focus-visible{outline:3px solid #528cad;outline-offset:3px}

:root{--page-gutter:clamp(22px,5vw,88px)}
header,.intro,.pictures,.transformation,.panorama-section,.film-section,.evidence,.transit-feature,.downloads,footer{padding-left:var(--page-gutter);padding-right:var(--page-gutter)}
@media(max-width:600px){:root{--page-gutter:22px}}

.brand-logo{object-fit:contain;flex:0 0 auto}#imageDialog #fullImage{height:auto}

/* Keep the picture viewer steady when the selected image changes aspect ratio. */
#imageDialog{width:min(94vw,1500px);height:min(94vh,1100px);height:min(94dvh,1100px);max-height:none;overflow:hidden}
#imageDialog[open]{display:grid;grid-template-rows:minmax(0,1fr) clamp(220px,30dvh,290px)}
#imageDialog>#fullImage{width:100%;height:100%;min-height:0;max-height:none;object-fit:contain;object-position:center}
#imageDetails{min-width:0;min-height:0;overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable;overflow-wrap:anywhere}
#imageDetails:focus-visible{outline:3px solid #528cad;outline-offset:-3px}
#imageDetails .picture-view-label select{max-width:100%}
@media(min-width:851px) and (min-height:650px){
 #imageDialog[open]{grid-template-rows:minmax(0,1fr) 300px}
}
@media(max-width:600px){
 #imageDialog{height:min(94vh,calc(58.75vw + 360px));height:min(94dvh,calc(58.75vw + 360px))}
 #imageDialog[open]{grid-template-rows:minmax(0,1fr) min(60%,360px)}
 #imageDetails{padding:20px}
 #imageDetails .colour-key{justify-content:flex-start;padding:17px 0}
}
