.hero-film{position:absolute;inset:0;z-index:0;overflow:hidden;opacity:0;transition:opacity 1.2s ease;background:#1d1d1b;pointer-events:none}.hero-film.film-ready{opacity:1}.hero-film iframe{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);border:0;max-width:none;pointer-events:none}.hero:after{z-index:1}.hero-content,.hero-bottom{z-index:2}.hero .film-watch{border:0;background:none;color:white;border-bottom:1px solid #ffffff60;padding:10px 0;font-size:11px;min-height:44px;font-weight:400;display:flex;align-items:center;gap:10px}.film-watch-icon{width:25px;height:25px;border:1px solid #ffffff70;border-radius:50%;display:grid;place-items:center;font-size:8px}.hero-bottom{align-items:end;gap:30px}.film-controls{display:flex;flex-direction:column;align-items:end;gap:7px;text-transform:none;letter-spacing:0;font-size:9px;min-width:150px}.film-controls>span:first-child{font-size:8px;letter-spacing:.08em;text-transform:uppercase;color:#e4e4df}.film-controls button{border:1px solid #ffffff60;background:#1d1d1b20;color:white;font-size:10px;padding:10px 13px;min-height:40px;display:flex;align-items:center;gap:10px;font-family:inherit}.film-controls button:hover{background:#ffffff15;border-color:white}.film-controls button:disabled{opacity:.65;cursor:progress}.hero-bottom>span{max-width:260px}.film-dialog{width:min(1100px,calc(100% - 40px));background:#1d1d1b;color:#fff;padding:40px;max-height:94svh}.film-dialog .close{color:#fff;z-index:2}.film-dialog h2{font-size:39px;font-weight:300;margin:15px 0 13px}.film-dialog>p{font-size:12px;color:#c8c8c4}.film-dialog .eyebrow{color:#c8c8c4}.film-player{aspect-ratio:16/9;background:#111;margin-top:25px;min-height:200px}.film-player iframe{width:100%;height:100%;display:block;border:0}.film-dialog .film-footnote{font-size:10px;margin-top:15px;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}.film-footnote a{color:#e4e4df;text-decoration:underline;text-underline-offset:4px;min-height:25px}.route-experience{background:#f4f4f2;padding:95px 7% 100px;scroll-margin-top:30px}.route-heading{display:flex;align-items:end;justify-content:space-between;gap:35px;margin-bottom:45px}.route-heading h2{font-size:clamp(36px,4.2vw,62px);font-weight:400;line-height:1.15;margin-top:20px}.route-heading>p{font-size:13px;color:#666660;max-width:260px;margin-bottom:5px}.route-tabs{display:grid;grid-template-columns:repeat(3,1fr);margin-bottom:35px;border-bottom:1px solid #c8c8c2}.route-tabs button{border:0;background:none;position:relative;display:flex;align-items:center;gap:14px;min-height:62px;padding:17px 16px 20px 0;text-align:left;font:inherit;font-size:13px;color:#6c6c66}.route-tabs button[aria-selected=true]{color:#1d1d1b}.route-tabs button[aria-selected=true]:after{content:'';position:absolute;left:0;right:20px;bottom:-1px;height:2px;background:#1d1d1b}.route-tab-number{font-size:9px;color:#c8141c;letter-spacing:.1em}.route-tabs button>span:last-child{margin-left:auto;font-size:16px;margin-right:16px}.route-panel{display:grid;grid-template-columns:1.2fr 1fr;background:#fff;min-height:500px}.route-panel[hidden]{display:none}.route-photo{overflow:hidden;min-width:0}.route-photo img{height:100%;min-height:500px;max-height:630px;object-fit:cover}.route-copy{padding:65px 14%;display:flex;flex-direction:column;align-items:start;justify-content:center}.route-copy h3{font-size:clamp(30px,3.2vw,45px);line-height:1.18;font-weight:400;margin:24px 0}.route-copy p{font-size:13px;line-height:1.9;color:#63635e;margin-bottom:28px;max-width:360px}.route-copy .eyebrow{font-size:8px;letter-spacing:.17em}.route-copy .btn{gap:30px;font-size:10px;padding:15px 20px}.route-copy .line-link{font-size:10px;margin-top:17px}.route-panel:not([hidden]){animation:route-in .45s ease both}@keyframes route-in{from{opacity:.35}to{opacity:1}}.immersive-feature{display:grid;grid-template-columns:1.3fr 1fr;gap:75px;align-items:center;padding:95px 7%;background:#1d1d1b;color:white}.immersive-feature img{height:500px;object-fit:cover}.immersive-feature h2{font-size:clamp(35px,4vw,59px);line-height:1.16;font-weight:300;margin:24px 0}.immersive-feature p{font-size:13px;line-height:1.9;color:#c8c8c2;max-width:400px}.immersive-feature .line-link{border-color:#999;color:#fff;margin-top:25px}.immersive-feature .eyebrow{font-size:9px}.immersive-feature .eyebrow:before{content:'';display:inline-block;width:5px;height:5px;background:#e51d25;transform:rotate(45deg);margin-right:12px}.project-story{padding-top:80px}.story-heading{max-width:800px;margin-bottom:55px}.story-heading h2{font-size:clamp(38px,4.8vw,68px);font-weight:300;line-height:1.18;margin:24px 0}.story-heading p{font-size:13px;max-width:520px}.story-nav{position:sticky;top:0;z-index:5;background:#ffffffed;backdrop-filter:blur(12px);display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-bottom:60px}.story-nav a{display:flex;align-items:center;gap:14px;font-size:11px;padding:20px 10px 20px 0;min-height:60px;text-decoration:none!important;position:relative;color:#706f6f}.story-nav a>span{font-size:8px;color:#c8141c}.story-nav a[aria-current=step]{color:#1d1d1b}.story-nav a[aria-current=step]:after{content:'';position:absolute;left:0;bottom:-1px;right:30px;height:2px;background:#1d1d1b}.story-chapter{display:grid;grid-template-columns:.8fr 1.2fr;gap:9%;align-items:start;min-height:650px;margin-bottom:85px;scroll-margin-top:110px}.story-copy{position:sticky;top:140px;padding-top:65px}.story-copy .eyebrow{font-size:9px}.story-copy h3{font-size:clamp(32px,3.5vw,48px);font-weight:400;line-height:1.2;margin:25px 0}.story-copy p{font-size:13px;line-height:1.95;max-width:360px}.story-chapter figure{margin:0;min-width:0}.story-image-button{display:block;position:relative;width:100%;border:0;background:none;padding:0;overflow:hidden}.story-image-button>img{width:100%;height:640px;object-fit:cover;transition:transform .7s}.story-image-button:hover>img{transform:scale(1.018)}.story-chapter figcaption{font-size:9px;line-height:1.8;color:#706f6f;margin-top:15px}.story-chapter:nth-child(even){grid-template-columns:1.2fr .8fr}.story-chapter:nth-child(even) figure{grid-column:1;grid-row:1}.story-chapter:nth-child(even) .story-copy{grid-column:2;grid-row:1}.story-credits{display:grid;grid-template-columns:repeat(3,1fr);gap:35px;padding:35px 0 45px;border-top:1px solid var(--line)}.story-credits .eyebrow{font-size:8px}.story-credits p{font-size:12px;margin:12px 0 0}.home-story-link{display:flex;align-items:center;gap:25px}.film-status-link{color:#fff;text-decoration:underline}
@media(max-width:1100px){.route-copy{padding:50px 10%}.route-panel{min-height:460px}.route-photo img{min-height:460px}.route-tabs button{font-size:12px;gap:10px}.immersive-feature{gap:45px}.immersive-feature img{height:460px}.story-chapter{gap:6%;min-height:570px}.story-image-button>img{height:560px}.story-copy{padding-top:40px}.story-nav a{font-size:10px;gap:10px}.hero-bottom{gap:20px}.film-controls{min-width:135px}}
@media(max-width:900px){.hero .actions{gap:28px}.route-heading>p{max-width:220px}.route-tabs button{font-size:11px}.route-tabs button>span:last-child{margin-right:8px}.route-copy h3{font-size:32px}.route-copy p{font-size:12px}.route-copy .btn{gap:15px}.route-photo img{min-height:450px}.immersive-feature{gap:30px}.immersive-feature img{height:400px}.immersive-feature p{font-size:12px}.story-nav a{font-size:9px;gap:8px}.story-image-button>img{height:500px}.story-copy h3{font-size:35px}.story-copy p{font-size:12px}.story-chapter{min-height:500px;margin-bottom:65px}.film-controls{min-width:128px}}
@media(max-width:700px){.hero .film-watch{font-size:10px;gap:8px}.film-watch-icon{width:23px;height:23px}.hero-bottom{align-items:end;gap:15px}.hero-bottom>.scroll{display:none}.hero-bottom>span{font-size:7px;max-width:175px}.film-controls{min-width:125px;gap:5px}.film-controls>span:first-child{font-size:7px}.film-controls button{font-size:9px;padding:9px 10px;min-height:40px;gap:7px}.film-dialog{width:calc(100% - 20px);padding:35px 17px 23px}.film-dialog h2{font-size:31px}.film-dialog>p{font-size:11px}.film-player{min-height:0;margin-top:22px}.film-dialog .film-footnote{font-size:9px;line-height:1.8;gap:8px}.route-experience{padding:65px 7%}.route-heading{display:block;margin-bottom:27px}.route-heading h2{font-size:37px}.route-heading>p{max-width:300px;margin-top:22px;font-size:12px}.route-tabs{grid-template-columns:1fr;border-bottom:0;margin-bottom:25px}.route-tabs button{border-bottom:1px solid #d4d4ce;font-size:13px;min-height:56px;padding:15px 0;gap:15px}.route-tabs button[aria-selected=true]:after{right:0;height:1px}.route-tabs button>span:last-child{margin-right:0}.route-panel{grid-template-columns:1fr;min-height:0}.route-photo img{height:310px;min-height:0;max-height:none}.route-copy{padding:35px 27px 40px}.route-copy h3{font-size:33px;margin:22px 0}.route-copy p{font-size:12px;margin-bottom:25px}.route-copy .btn{font-size:10px;gap:25px}.route-copy .line-link{font-size:10px}.immersive-feature{grid-template-columns:1fr;padding:65px 7%;gap:32px}.immersive-feature img{height:350px}.immersive-feature h2{font-size:37px;margin:24px 0}.immersive-feature .eyebrow{font-size:8px}.immersive-feature p{font-size:12px}.project-story{padding-top:50px}.story-heading{margin-bottom:35px}.story-heading h2{font-size:38px;margin:24px 0}.story-heading p{font-size:12px}.story-nav{grid-template-columns:1fr 1fr;margin-bottom:35px;top:0}.story-nav a{font-size:9px;min-height:43px;padding:12px 7px 12px 0;gap:10px}.story-nav a[aria-current=step]:after{right:18px}.story-chapter,.story-chapter:nth-child(even){display:flex;flex-direction:column;gap:25px;min-height:0;margin-bottom:55px;scroll-margin-top:115px}.story-copy{position:static;padding-top:8px}.story-copy h3{font-size:34px;margin:20px 0}.story-copy p{font-size:12px;max-width:none;margin-bottom:0}.story-copy .eyebrow{font-size:8px}.story-chapter figure{width:100%}.story-image-button>img{height:380px}.story-chapter figcaption{font-size:9px;margin-top:12px}.story-credits{grid-template-columns:1fr;gap:25px;padding-top:30px;padding-bottom:30px}.story-credits p{margin-top:10px}.story-credits .eyebrow{font-size:8px}}
@media(prefers-reduced-motion:reduce){.hero-film,.story-image-button>img,.route-panel:not([hidden]){transition:none;animation:none}.story-nav{backdrop-filter:none}.story-copy{position:static}}

/* Phone number: header on every page, plus a call bar on phones once the visitor scrolls. */
.header-call{margin-left:auto;margin-right:24px;display:inline-flex;align-items:center;gap:8px;min-height:44px;color:#fff;font-size:11px;font-weight:500;white-space:nowrap}.header-call svg{width:14px;height:14px;flex:none}.header-call:hover .header-call-number{text-decoration:underline;text-decoration-color:var(--brand-red);text-underline-offset:6px}.call-bar{display:none}
@media(max-width:1100px){.header-call{margin-right:14px;font-size:10px}}
@media(max-width:960px){.header-call{margin-right:8px;width:44px;height:44px;justify-content:center;border:1px solid #ffffff60}.header-call svg{width:17px;height:17px}.header-call-number{display:none}}
@media(max-width:700px){.call-bar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:20;background:#1d1d1b;border-top:1px solid #ffffff28;padding:8px 5% calc(8px + env(safe-area-inset-bottom));gap:8px;transform:translateY(110%);visibility:hidden;transition:transform .25s ease,visibility .25s}.call-bar.show{transform:none;visibility:visible}.call-bar a,.call-bar button{flex:1;min-height:46px;display:flex;align-items:center;justify-content:center;font:500 12px 'Poppins',sans-serif;border:1px solid #ffffff60;background:transparent;color:#fff;cursor:pointer;white-space:nowrap}.call-bar button{background:#fff;border-color:#fff;color:#1d1d1b}.footer{padding-bottom:100px}}
@media(max-width:430px){.header{padding-left:5%;padding-right:5%}}
@media(max-width:340px){.brand img{width:170px}.call-bar a,.call-bar button{font-size:11px}}
@media(prefers-reduced-motion:reduce){.call-bar{transition:none}}

/* Direct enquiry: the hidden field catches bots, and the thank-you replaces the form. */
.enquiry-trap{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}#enquiry-sent:focus{outline:none}#enquiry-sent p{margin:18px 0 26px}#brief-form[hidden],#enquiry-sent[hidden]{display:none}#send-enquiry:disabled{opacity:.6;cursor:wait}

.cost-table{width:100%;border-collapse:collapse;margin:24px 0;font-size:14px}.cost-table th,.cost-table td{text-align:left;vertical-align:top;padding:14px 16px 14px 0;border-bottom:1px solid var(--line)}.cost-table th{font-weight:500}@media(max-width:700px){.cost-table,.cost-table tbody,.cost-table tr,.cost-table td{display:block}.cost-table thead{display:none}.cost-table tr{padding:14px 0;border-bottom:1px solid var(--line)}.cost-table td{border:0;padding:3px 0}.cost-table td[data-label]:before{content:attr(data-label) ": ";font-weight:500}}

.hero-bottom>span a{color:inherit;text-decoration:none}.hero-bottom>span a:hover,.hero-bottom>span a:focus-visible{text-decoration:underline;text-underline-offset:3px}.intro p a,.case-facts dd a{color:inherit;text-decoration:underline;text-underline-offset:3px}

.hero{display:flex;flex-direction:column;height:auto;max-height:none;min-height:max(735px,min(100svh,940px))}.hero-content{flex:1 0 auto;width:100%;padding-bottom:44px}.hero-bottom{position:relative;left:auto;right:auto;bottom:auto;flex:none;margin:0 5% 28px 7%}
