@import url("loading.css");
/* One continuous field of light, shared by every page. */
body{background:#1d201f;isolation:isolate}.ambient-lights{position:fixed;inset:-15vh -15vw;z-index:-1;overflow:hidden;pointer-events:none;contain:strict}.ambient-lights i{position:absolute;width:75vw;height:95vh;border-radius:50%;filter:blur(65px);opacity:.17;will-change:transform;animation:light-drift 48s ease-in-out infinite alternate;background:radial-gradient(ellipse,var(--light),transparent 67%)}.ambient-lights i:nth-child(1){--light:#3fc0eb;left:-20%;top:10%;animation-duration:57s}.ambient-lights i:nth-child(2){--light:#59c9a5;left:42%;top:-20%;animation-delay:-19s}.ambient-lights i:nth-child(3){--light:#d81e5b;left:25%;top:48%;opacity:.1;animation-duration:63s;animation-delay:-35s}.ambient-lights i:nth-child(4){--light:#f4a712;left:70%;top:22%;opacity:.13;animation-duration:71s;animation-delay:-12s}@keyframes light-drift{0%{transform:translate3d(-3%,-6%,0) scale(.9,1.1)}50%{transform:translate3d(8%,5%,0) scale(1.08,.92)}100%{transform:translate3d(-4%,13%,0) scale(.95,1.08)}}
.hero:before,.closing:before,.closing:after{display:none}.hero,.workflow,.proof,.people,.markets,.partners,.closing,footer{background:transparent!important;border-radius:0;border-top:0;border-bottom:0}.workflow{color:var(--ink)}.section{border:0}.section+.section{padding-top:70px}.workflow-art{background:#15231c55}.workflow-art iframe{mix-blend-mode:normal}#workflow-panel,.market-panel,.explore-menu,.demo-paths>div{background:linear-gradient(125deg,#ffffff09,#ffffff02);border:1px solid #ffffff1e;box-shadow:inset 0 1px 0 #ffffff0b,0 25px 60px #00000012;backdrop-filter:blur(18px);border-radius:20px}.workflow-caption{background:#13221c35}.demo-paths>div{padding:30px}.market-tabs{background:#ffffff08;border:1px solid #ffffff17}.proof{gap:65px}.header{background:transparent}.concept-bar{background:#11171450;backdrop-filter:blur(12px)}
.button,.button.small,.hero .button,.demo-form .button{background:linear-gradient(#ffffff15,#ffffff15) padding-box,linear-gradient(#ffffff22,#ffffff22) border-box;border:1px solid #ffffff44;color:#fff;box-shadow:inset 0 1px 0 #ffffff29,0 12px 35px #0002}.button:hover,.button:focus-visible,.hero .button:hover,.hero .button:focus-visible,.demo-form .button:hover{background:linear-gradient(#303a36,#303a36) padding-box,conic-gradient(from var(--flow-angle),#3fc0eb,#59c9a5,#d81e5b,#f4a712,#3fc0eb) border-box;border-color:transparent;animation:border-flow 3s linear infinite;box-shadow:0 0 18px #3fc0eb25,0 0 32px #d81e5b1a}.button:active{transform:translateY(0) scale(.98)}.button:disabled{animation:none;opacity:.4;cursor:wait}
.workflow-steps button:nth-child(1){--step-colour:#3fc0eb}.workflow-steps button:nth-child(2){--step-colour:#59c9a5}.workflow-steps button:nth-child(3){--step-colour:#d81e5b}.workflow-steps button:nth-child(4){--step-colour:#f4a712}.workflow-steps button[aria-selected=true]{color:var(--step-colour);border-color:var(--step-colour)}.workflow-steps button[aria-selected=true]:before{background:var(--step-colour);box-shadow:0 0 18px var(--step-colour)}
#model-view{cursor:grab;touch-action:pan-y}#model-view:active{cursor:grabbing}.flow-bridge{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none;z-index:3}.flow-bridge path{fill:none;stroke:url(#bridge-colours);stroke-width:2.5;stroke-linecap:round;filter:drop-shadow(0 0 5px #59c9a5) drop-shadow(0 0 12px #3fc0eb);stroke-dasharray:1;stroke-dashoffset:1;opacity:0}.flow-bridge path.is-running{opacity:1;animation:bridge-arrival 1.8s ease-out both}@keyframes bridge-arrival{0%{stroke-dashoffset:1;opacity:0}20%{opacity:1}75%{stroke-dashoffset:0;opacity:1}100%{stroke-dashoffset:0;opacity:.45}}.building-stage.flow-active #show-flow{box-shadow:0 0 24px #59c9a54d,0 0 50px #3fc0eb22;border-color:#87d9c0}.scene-story strong{font-size:21px}.scene-story span{color:#c2d3ca}.motion-toggle{font-size:14px;color:var(--muted);padding:10px 0}.motion-paused .ambient-lights i{animation-play-state:paused}
@media(max-width:800px){.ambient-lights i{width:125vw;filter:blur(40px)}.scene-story strong{font-size:18px}.section+.section{padding-top:50px}.demo-paths>div{padding:25px}.proof{gap:34px}}
@media(prefers-reduced-motion:reduce){.ambient-lights i{animation:none;will-change:auto}.flow-bridge path.is-running{animation:none;stroke-dashoffset:0;opacity:.45}.button:hover,.button:focus-visible,.hero .button:hover,.hero .button:focus-visible{animation:none;transform:none}}
#model-view{margin-top:72px;height:450px;overflow:hidden}#model-labels{inset:72px 0 125px}.scene-story{top:5px}.flow-bridge{z-index:1}.scene-footer{z-index:4}@media(max-width:800px){#model-view{margin-top:72px;height:425px}#model-labels{inset:72px 0 125px}}

/* Film-inspired dot field, without ornamental rings. */
.ambient-lights:after{content:'';position:absolute;inset:0;background-image:radial-gradient(circle,#b4c4c22b .7px,transparent 1px);background-size:24px 24px;opacity:.35;mask-image:radial-gradient(ellipse at 50% 40%,black,transparent 78%)}.stage-orbit,.partner-orbit,.closing-route{display:none!important}.partner-symbol:before,.partner-symbol:after{display:none}.site-footer-new .brand-logo-glow{margin-right:2px}
/* The wordmark's pink, mint, yellow and lime field. */
.hero h1>span{color:#70e9c5;background-image:linear-gradient(115deg,#ff277c 0%,#70e9c5 27%,#ffe313 52%,#b7f58f 72%,#ff277c 100%);background-size:220% 160%;background-position:0% 50%;background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;animation:headline-colour 24s ease-in-out infinite alternate}.hero h1>span strong{color:inherit;-webkit-text-fill-color:inherit}@keyframes headline-colour{to{background-position:100% 50%}}.motion-paused .hero h1>span{animation-play-state:paused}@media(prefers-reduced-motion:reduce){.hero h1>span{animation:none}}
/* Solid brand colour and an inspectable unit route. */
.hero h1>span{background:none;animation:none;color:#59c9a5;-webkit-text-fill-color:#59c9a5}.unit-label{pointer-events:auto;cursor:pointer;min-height:38px}.unit-label:hover,.unit-label:focus-visible{background:#def4e7;color:#173729;outline:2px solid #59c9a5;outline-offset:3px}.route-materials{grid-column:1/-1;width:100%;max-width:1000px;margin:30px auto 0;padding:28px 32px;border:1px solid #ffffff2b;border-radius:20px;background:#203129d9;backdrop-filter:blur(18px)}.route-materials[hidden]{display:none}.materials-heading{display:flex;justify-content:space-between;gap:24px;align-items:center}.materials-heading h3{font-size:29px;margin:10px 0}.route-chain{font-size:16px;color:#b9cfc0;margin:12px 0}.material-total{display:flex;gap:24px;align-items:baseline;margin:24px 0}.material-total>strong{font-size:43px;line-height:1;color:#59c9a5}.material-total strong span{font-size:22px}.material-total>span{font-size:16px;color:#c7d7cd}.material-list{display:grid;grid-template-columns:1fr 1fr;gap:0 35px;margin:0}.material-list>div{display:flex;justify-content:space-between;gap:20px;border-top:1px solid #ffffff24;padding:18px 0}.material-list dt{font-size:17px}.material-list small{display:block;font-size:14px;color:#afc6b8;margin-top:5px}.material-list dd{font-size:20px;white-space:nowrap;margin:0}.materials-note{font-size:14px;color:#b4c3b9;line-height:1.6;margin-top:14px}.hero:has(.route-materials:not([hidden])){grid-template-rows:auto auto}.flow-bridge path{opacity:1}.flow-bridge path.is-running{animation-fill-mode:both}@keyframes bridge-arrival{0%{stroke-dashoffset:1;opacity:0}20%{opacity:1}100%{stroke-dashoffset:0;opacity:1}}
@media(max-width:800px){.route-materials{margin-top:25px;padding:23px;width:100%}.materials-heading{align-items:flex-start;gap:15px}.materials-heading h3{font-size:25px}.materials-heading .text-link{font-size:14px}.material-list{grid-template-columns:1fr}.material-total{gap:16px}.material-total>strong{font-size:37px}.route-chain{font-size:15px}}

/* Unit details stay beside the building, over the headline. */
.hero-copy{position:relative}.hero-copy.materials-open> :not(.route-materials){visibility:hidden}.hero-copy .route-materials{position:absolute;inset:50% 0 auto;transform:translateY(-50%);margin:0;max-width:none;padding:26px;background:linear-gradient(130deg,#314740e8,#182c2ee8);backdrop-filter:blur(28px) saturate(130%);box-shadow:0 24px 90px #0006,inset 0 1px #ffffff30;z-index:8}.hero-copy .material-list{grid-template-columns:1fr}.hero-copy .material-list>div{padding:12px 0}.hero-copy .material-total{margin:18px 0}.hero-copy .materials-heading{gap:12px}.hero-copy .materials-heading h3{font-size:27px}.hero-copy .material-total>strong{color:#3fc0eb}.hero-copy .materials-note{margin-bottom:0}.hero:has(.route-materials:not([hidden])){grid-template-rows:auto}
@media(max-width:800px){.hero-copy.materials-open> :not(.route-materials){visibility:visible}.hero-copy .route-materials{position:fixed;inset:auto 12px 12px;transform:none;width:auto;max-height:62dvh;overflow:auto;padding:20px;z-index:100;overscroll-behavior:contain}.hero-copy .materials-heading{position:sticky;top:-20px;background:#213630f5;padding:12px 0;z-index:1}.hero-copy .materials-heading h3{font-size:23px}.hero-copy .material-list dt{font-size:16px}}

@media(min-width:801px){.hero-copy .route-materials{position:fixed;inset:110px auto auto var(--panel-left);width:var(--panel-width);transform:none;max-height:calc(100dvh - 135px);overflow:auto;overscroll-behavior:contain}.hero-copy .materials-heading{position:sticky;top:-26px;background:#263a36f5;z-index:1;padding:12px 0}}
.hero-copy.materials-open{z-index:30}.hero-copy .materials-heading .text-link{min-width:94px;flex-shrink:0;font-size:16px;text-align:right}

/* Compact unit inspection beside the model. */
.unit-label{color:#c9f2ff!important;background:#133845e8!important;border:1px solid #3fc0eb99!important;box-shadow:0 0 16px #3fc0eb20}.unit-label:hover,.unit-label.active,.unit-label:focus-visible{color:#102c36!important;background:#3fc0eb!important;outline-color:#3fc0eb;box-shadow:0 0 20px #3fc0eb55}.unit-details{position:fixed;z-index:60;width:275px;padding:19px;border:1px solid #3fc0eb55;border-radius:16px;background:linear-gradient(125deg,#263e47e8,#172a31e8);backdrop-filter:blur(24px);box-shadow:0 15px 45px #0005;color:#eef8fb}.unit-details header{display:flex;align-items:center;justify-content:space-between}.unit-details h3{font-size:22px;font-weight:600}.unit-details button{font-size:26px;width:38px;height:38px;line-height:1;border-radius:50%;color:#bce9f8}.unit-details button:hover{background:#ffffff15}.unit-length{display:flex;align-items:baseline;justify-content:space-between;margin:14px 0 18px}.unit-length strong{font-size:31px;color:#3fc0eb}.unit-length span{font-size:15px;color:#bed1d8}.unit-details dl{margin:0}.unit-details dl>div{display:flex;justify-content:space-between;gap:14px;padding:9px 0;border-top:1px solid #ffffff18;font-size:16px}.unit-details dd{margin:0;white-space:nowrap}.unit-details p{font-size:14px;color:#adbec5;margin:13px 0 0}.scene-footer{bottom:38px}
@media(max-width:800px){.unit-details{left:12px!important;right:12px;bottom:12px;top:auto!important;width:auto;padding:18px 22px}.unit-details dl>div{padding:7px 0}.unit-length{margin:7px 0 12px}.scene-footer{bottom:35px}}


/* Compact navigation: transparent at the top, lightly frosted over content. */
.header{position:sticky;top:0;z-index:80;width:100%;padding:10px 5%;background:transparent;border:0;box-shadow:none;transition:background .3s,backdrop-filter .3s;-webkit-backdrop-filter:none;backdrop-filter:none}.header.is-scrolled,.header:has(.explore[aria-expanded=true]){background:#1d201f66;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:inset 0 -1px #ffffff08}.header .button.small{min-height:44px;padding:9px 18px;font-size:15px}.header .brand{font-size:29px}.header .brand-logo-glow{width:31px}.header .brand-logo-glow img{width:29px;height:auto}.header .explore-menu{max-height:calc(100dvh - 100px);overflow-y:auto;overscroll-behavior:contain}.header .text-button,.header .signin{transition:color .2s}.header .text-button:hover,.header .text-button:focus-visible,.header .text-button[aria-expanded=true]{color:#3fc0eb}.header .signin:hover,.header .signin:focus-visible{color:#59c9a5}html{scroll-padding-top:96px}
@supports not (backdrop-filter:blur(1px)){.header.is-scrolled{background:#1d201fe8}}
/* Shared flowing edge for navigation and selectable content. */
:is(.workflow-steps button,.audience-tabs button,.market-tabs button,.explore-menu a,.site-map a,.resource-illustrated){--edge-colour:#3fc0eb;position:relative;transition:color .2s,border-color .2s}
:is(.workflow-steps button,.audience-tabs button,.market-tabs button,.explore-menu a,.site-map a,.resource-illustrated):nth-child(4n+2){--edge-colour:#59c9a5}
:is(.workflow-steps button,.audience-tabs button,.market-tabs button,.explore-menu a,.site-map a,.resource-illustrated):nth-child(4n+3){--edge-colour:#d81e5b}
:is(.workflow-steps button,.audience-tabs button,.market-tabs button,.explore-menu a,.site-map a,.resource-illustrated):nth-child(4n+4){--edge-colour:#f4a712}
:is(.workflow-steps button,.audience-tabs button,.market-tabs button,.explore-menu a,.site-map a,.resource-illustrated)::before{content:'';position:absolute;left:-12px;top:20%;bottom:20%;width:2px;height:auto;opacity:0;transform:scaleY(.3);border-radius:3px;background:linear-gradient(180deg,transparent,var(--edge-colour),#e2f8f4,var(--edge-colour),transparent);background-size:100% 250%;box-shadow:0 0 10px color-mix(in srgb,var(--edge-colour) 40%,transparent);transition:opacity .2s,transform .25s;pointer-events:none}
:is(.workflow-steps button,.audience-tabs button,.market-tabs button,.explore-menu a,.site-map a,.resource-illustrated):is(:hover,:focus-visible,:focus-within,[aria-selected=true],[aria-current=page])::before{opacity:1;transform:scaleY(1);animation:edge-flow 3.5s linear infinite}
:is(.workflow-steps button,.audience-tabs button,.market-tabs button,.explore-menu a,.site-map a):is(:hover,:focus-visible){color:var(--edge-colour)}
.inner-page .explore-menu a:hover,.inner-page .site-map a:hover{color:var(--edge-colour)}
.market-tabs button::before::before,.resource-illustrated::before{left:0}.workflow-steps button[aria-selected=true]::before{height:auto;background:linear-gradient(180deg,transparent,var(--step-colour),#e2f8f4,var(--step-colour),transparent);background-size:100% 250%}.side-nav a:hover{transform:none;text-shadow:none}.side-nav a:hover span,.side-nav a:focus-visible span{color:#3fc0eb}.text-link,.quiet-link{transition:color .2s}.text-link:hover,.text-link:focus-visible,.quiet-link:hover,.quiet-link:focus-visible{color:#3fc0eb}
@keyframes edge-flow{from{background-position:50% 0%}to{background-position:50% 100%}}
@media(max-width:800px){.header{padding:8px 20px}.header .brand{font-size:26px}.header .button.small{padding:8px 14px;font-size:14px}.header-actions{gap:14px}html{scroll-padding-top:84px}.workflow-steps button::before{left:0;right:0;top:auto;bottom:0;width:100%;height:2px!important;transform:scaleX(.3)}.workflow-steps button:is(:hover,:focus-visible,[aria-selected=true])::before{transform:scaleX(1)}.audience-tabs button::before{left:-7px}.header .explore-menu{max-height:calc(100dvh - 88px)}}
@media(max-width:380px){.header{padding:8px 16px}.header-actions{gap:8px}.header .brand{font-size:24px}}
@media(prefers-reduced-motion:reduce){.header{transition:none}:is(.workflow-steps button,.audience-tabs button,.market-tabs button,.explore-menu a,.site-map a,.resource-illustrated)::before{animation:none!important;transition:none}}

/* A lighter sheet of glass for Explore, with no solid panel fill. */
.header .explore-menu{background:linear-gradient(125deg,#253c3238,#1d201f24);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border:1px solid #ffffff20;box-shadow:inset 0 1px #ffffff0c,0 12px 34px #00000014}.action-icon{display:inline-block;width:21px;height:21px;flex:0 0 21px;vertical-align:middle;pointer-events:none}.signin{display:inline-flex;align-items:center;gap:9px}.workflow-steps .action-icon{width:25px;height:25px;flex-basis:25px;opacity:.8}.button .action-icon{transition:color .2s}.button:hover .action-icon{color:#3fc0eb}.media-expand{display:inline-flex;align-items:center;gap:10px}@media(max-width:800px){.workflow-steps .action-icon{display:none}.header .button.small{gap:12px}.header .button.small .action-icon{width:18px;height:18px;flex-basis:18px}}@media(max-width:380px){.header .button.small .action-icon{display:none}}
.header,.header.is-scrolled,.header:has(.explore[aria-expanded=true]){background:transparent;-webkit-backdrop-filter:none;backdrop-filter:none}.header::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;transition:background .3s}.header.is-scrolled::before,.header:has(.explore[aria-expanded=true])::before{background:#1d201f66;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.header .explore-menu{-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px)}
@media(max-width:800px){.header .signin{display:none}}

/* Shared button geometry across homepage, enquiry and editorial pages. */
.button,.enquiry-options a{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:48px;padding:13px 23px;border-radius:999px;line-height:1.3;vertical-align:middle;max-width:100%;text-align:center}.button .action-icon,.enquiry-options .action-icon{margin:0;width:20px;height:20px;flex:0 0 20px}.button::before,.button::after,.enquiry-options a::before,.enquiry-options a::after{content:none!important}.enquiry-options a{background:linear-gradient(#ffffff0b,#ffffff0b) padding-box,linear-gradient(#ffffff22,#ffffff22) border-box;border:1px solid #ffffff30;transition:color .2s,background .2s;box-shadow:inset 0 1px #ffffff12}.enquiry-options a[aria-current=page]{background:linear-gradient(#17332d,#17332d) padding-box,linear-gradient(#59c9a5,#59c9a5) border-box;border-color:transparent;color:#a4ead2}.enquiry-options a:hover,.enquiry-options a:focus-visible{background:linear-gradient(#293630,#293630) padding-box,conic-gradient(from var(--flow-angle),#3fc0eb,#59c9a5,#d81e5b,#f4a712,#3fc0eb) border-box;border-color:transparent;animation:border-flow 3s linear infinite;color:#fff}.local-enquiry>.button{justify-self:start;min-width:180px}.header .button.small{gap:12px;padding:10px 18px;min-height:44px}.signin,.mobile-signin{gap:10px}.explore-menu a{padding-left:12px;padding-right:12px;gap:18px}.explore-menu a::before{left:0}.site-map a{padding-left:12px}.site-map a::before{left:0}.market-tabs button{padding-inline:18px}.market-tabs button::before{left:5px}.audience-tabs button{padding-left:16px;padding-right:12px}.audience-tabs button::before{left:0}.workflow-steps>button{padding-left:16px;padding-right:16px;gap:20px}.workflow-steps>button::before{left:0}.workflow-steps>button>span:first-child{min-width:0}.inner-page .hero-actions{gap:16px;align-items:center}.inner-page .cta-band .hero-actions{justify-content:center}.inner-page .page-hero .button+.button{margin-left:10px}.inner-page .resource-illustrated::before{left:8px}.inner-page .enquiry-options a:hover{color:#fff}
@media(max-width:800px){.button,.enquiry-options a{padding:12px 20px;gap:12px}.header .button.small{padding:9px 14px;gap:10px}.workflow-steps>button{padding:12px 5px;gap:8px}.workflow-steps>button::before{left:0}.market-tabs button{padding-inline:10px}.market-tabs button::before{left:2px}.enquiry-options{gap:12px}.enquiry-options a{flex:1 1 145px}.inner-page .page-hero .button+.button{margin-left:0}.local-enquiry>.button{justify-self:stretch}.inner-page .cta-band .hero-actions{align-items:stretch}.inner-page .cta-band .hero-actions>.button{width:100%}}
@media(prefers-reduced-motion:reduce){.enquiry-options a:hover,.enquiry-options a:focus-visible{animation:none}}

/* The entry connection survives manual rotation and completed playback. */
.flow-bridge path.is-connected{stroke-dashoffset:0;opacity:1}.flow-bridge path.is-connected.is-running{animation:bridge-arrival 1.8s ease-out both}
.hero #show-flow[data-flow-running=true]{opacity:1;cursor:progress;color:#fff;background:linear-gradient(#293b35,#293b35) padding-box,conic-gradient(from var(--flow-angle),#f4a712,#d81e5b,#59c9a5,#3fc0eb,#f4a712) border-box;border:1px solid transparent;animation:border-flow 3s linear infinite;box-shadow:0 0 20px #3fc0eb25}.hero #show-flow .flow-word{font-size:inherit;line-height:inherit;font-weight:400}.hero #show-flow .flow-word strong{font-weight:700}#show-flow{min-width:168px}
/* Feather the camera frame into the page, with a little blur at its edges. */
#model-view{position:relative}#model-view canvas{-webkit-mask-image:linear-gradient(to bottom,transparent 0,#000 32px,#000 calc(100% - 42px),transparent 100%);mask-image:linear-gradient(to bottom,transparent 0,#000 32px,#000 calc(100% - 42px),transparent 100%)}#model-view::before,#model-view::after{content:'';position:absolute;left:0;right:0;height:44px;z-index:2;pointer-events:none;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#d9fff803}#model-view::before{top:0;-webkit-mask-image:linear-gradient(transparent,#0005,transparent);mask-image:linear-gradient(transparent,#0005,transparent)}#model-view::after{bottom:0;-webkit-mask-image:linear-gradient(transparent,#0005,transparent);mask-image:linear-gradient(transparent,#0005,transparent)}
@media(prefers-reduced-motion:reduce){.hero #show-flow[data-flow-running=true],.flow-bridge path.is-connected.is-running{animation:none}}

/* Clean header and balanced opening composition. */
.header{padding:12px 5%}
.header .brand{font-size:27px;gap:10px}
.header .brand-logo-glow{width:29px;height:33px}
.header .brand .brand-logo-glow img{width:27px;height:auto}
@media(min-width:801px){
  .hero{align-items:center;padding-top:32px;padding-bottom:32px}
  .hero-copy{padding-bottom:0;align-self:center}
  .hero h1{margin-top:0;margin-bottom:24px}
  .building-stage{align-self:center}
}
@media(max-width:800px){
  .header{padding:10px 20px}
  .header .brand{font-size:24px;gap:8px}
  .header .brand-logo-glow{width:27px;height:31px}
  .header .brand .brand-logo-glow img{width:25px}
  .hero{padding-top:32px;padding-bottom:48px}
  .hero-copy{margin-inline:auto;width:100%}
  .hero h1{margin-top:0;margin-bottom:22px}
}
@media(max-width:380px){
  .header{padding:10px 16px}
  .header .brand{font-size:23px}
  .hero{padding-top:28px}
}

/* V2: shared alignment and a quieter, continuous flow. */
.v2-home{--page-gutter:clamp(48px,8vw,240px);--story-gap:clamp(32px,4vw,154px);--story-columns:minmax(0,5fr) minmax(0,7fr)}
.v2-home .header{padding-left:24px;padding-right:var(--page-gutter)}
.v2-home main{position:relative;isolation:isolate}
.v2-home .hero{max-width:none;width:100%;min-height:clamp(710px,86svh,1300px);padding:40px var(--page-gutter) 80px;grid-template-columns:var(--story-columns);gap:var(--story-gap);overflow:visible}
.v2-home .hero-copy{max-width:none}
.v2-home .hero h1{font-size:clamp(54px,3.65vw,140px);letter-spacing:-.045em;line-height:1.08;margin:0 0 32px}
.v2-home .hero-description{font-size:clamp(19px,1.05vw,28px);max-width:40ch;line-height:1.6}
.v2-home .hero-actions{display:flex;align-items:center;gap:24px;flex-wrap:wrap;margin-top:32px}
.v2-home .hero-actions .button{font-size:17px;padding:13px 22px;gap:12px}
.v2-home .hero-actions .quiet-link{font-size:17px;gap:12px}
.v2-home .hero-actions .play{border:1px solid #ffffff25;width:31px;height:31px}
.v2-home .building-stage{height:clamp(620px,76svh,1150px);margin:0}
.v2-home #model-view{height:calc(100% - 100px);margin-top:0}
.v2-home #model-labels{inset:0 0 100px}
.v2-home .scene-story{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.v2-home .scene-footer{bottom:16px;left:0;right:0;display:flex;align-items:center;justify-content:center;flex-wrap:nowrap;gap:12px}
.v2-home #show-flow{font-size:17px;padding:14px 24px;white-space:nowrap}
.v2-home .view-options{position:relative;flex-shrink:0;color:#e0eee7;font-size:16px;z-index:6}
.v2-home .view-options summary{list-style:none;display:flex;align-items:center;justify-content:center;gap:10px;cursor:pointer;padding:14px 18px;height:52px;border-radius:999px;border:1px solid #ffffff29;background:linear-gradient(130deg,#aac4bf16,#172a3026);backdrop-filter:blur(20px);box-shadow:inset 0 1px #ffffff20;transition:background .2s,color .2s}
.v2-home .view-options summary::-webkit-details-marker{display:none}
.v2-home .view-options summary:hover{background:#b5dad822;color:#3fc0eb}
.v2-home .view-chevron{width:18px;height:18px;transition:transform .25s}
.v2-home .view-options[open] .view-chevron{transform:rotate(180deg)}
.v2-home .view-label-short{display:none}
.v2-home .view-options[open] .scene-controls{position:absolute;bottom:calc(100% + 12px);top:auto;right:0;display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-start;gap:8px;width:280px;padding:16px;background:linear-gradient(130deg,#536f6855,#15292d88);backdrop-filter:blur(28px) saturate(120%) brightness(.8);border:1px solid #ffffff35;border-radius:18px;box-shadow:inset 0 1px #ffffff22,0 20px 50px #0003}
.v2-home #rotate-model-right .action-icon{transform:scaleX(-1)}
.v2-home .scene-controls button{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:#ffffff09;border-color:#ffffff24}
.v2-home .unit-details{background:linear-gradient(130deg,#415b5966,#122a3199);backdrop-filter:blur(28px) saturate(125%) brightness(.78);-webkit-backdrop-filter:blur(28px) saturate(125%) brightness(.78);border-color:#bde9f23d;box-shadow:inset 0 1px #ffffff25,0 20px 54px #0004}
.v2-home .unit-label{color:#bcf5df!important;background:#1748355c!important;backdrop-filter:blur(14px) brightness(.76);border-color:#59c9a599!important;box-shadow:inset 0 1px #ffffff15,0 5px 20px #0002}
.v2-home .unit-label:hover,.v2-home .unit-label.active{background:#245b448c!important;color:#effff6!important;outline-color:#59c9a5}
.v2-home .section{max-width:none;width:100%;padding:clamp(88px,7vw,200px) var(--page-gutter);position:relative}
.v2-home .section+.section{padding-top:clamp(88px,7vw,200px)}
.v2-home .section h2{font-size:clamp(42px,2.7vw,104px);line-height:1.14;letter-spacing:-.035em}
.v2-home .section-heading{display:grid;grid-template-columns:var(--story-columns);gap:var(--story-gap);align-items:end;margin-bottom:56px}
.v2-home .section-heading>p{max-width:40ch;font-size:clamp(18px,1.05vw,26px);margin-bottom:4px}
.v2-home .workflow-layout,.v2-home .proof,.v2-home .audience-panel,.v2-home .markets,.v2-home .partners{grid-template-columns:var(--story-columns);gap:var(--story-gap)}
.v2-home #how h2 strong{color:#3fc0eb}
.v2-home .case-heading h2>strong{color:#f4a712}
.v2-home .film-copy h3>strong{color:#59c9a5}
.v2-home #people h2>strong{color:#d81e5b}
.v2-home #markets h2>strong{color:#59c9a5}
.v2-home #workflow-panel{border:1px solid #ffffff1b;border-radius:16px;overflow:hidden;background:linear-gradient(135deg,#2b454137,#192a302b);box-shadow:inset 0 1px #ffffff09;backdrop-filter:blur(10px)}
.v2-home .workflow-art{height:clamp(420px,30vw,950px);border-radius:0;background:#101c2020}
.v2-home .workflow-art:has(iframe[src$="/scan.html"]){height:clamp(540px,34vw,920px)}
.v2-home .workflow-art:has(iframe[src$="/scan.html"]) .media-expand{bottom:84px;right:14px}
.v2-home .workflow-caption{padding:28px 30px 30px;max-width:none;background:transparent}
.v2-home .workflow-caption h3{font-size:clamp(26px,1.5vw,48px)}
.v2-home .workflow-caption p,.v2-home .case-heading>p:not(.eyebrow),.v2-home .audience-copy p,.v2-home .partner-copy>p{font-size:clamp(18px,1.05vw,26px);max-width:45ch}
.v2-home .workflow-steps{gap:8px}
.v2-home .workflow-steps>button{--step-colour:#3fc0eb;--edge-colour:#3fc0eb;display:flex;align-items:center;justify-content:space-between;gap:20px;border:1px solid transparent;border-radius:14px;padding:24px 18px;transition:background .25s,color .25s;box-shadow:none}
.v2-home .workflow-steps>button:nth-child(2){--step-colour:#59c9a5;--edge-colour:#59c9a5}
.v2-home .workflow-steps>button:nth-child(3){--step-colour:#d81e5b;--edge-colour:#d81e5b}
.v2-home .workflow-steps>button:nth-child(4){--step-colour:#f4a712;--edge-colour:#f4a712}
.v2-home .workflow-steps>button[aria-selected=true]{background:color-mix(in srgb,var(--step-colour) 7%,transparent);color:var(--step-colour);border-color:var(--step-colour);box-shadow:inset 0 1px #ffffff12,0 0 16px color-mix(in srgb,var(--step-colour) 10%,transparent)}
.v2-home .workflow-steps>button[aria-selected=true] small{color:#c3d5ce}
.v2-home :is(.workflow-steps,.audience-tabs,.market-tabs)>button::before,.v2-home :is(.workflow-steps,.audience-tabs,.market-tabs)>button::after{content:none!important}
.v2-home .workflow-steps .action-icon,.v2-home .audience-tabs .action-icon{width:24px;height:24px;flex-basis:24px}
.v2-home .case-detail{padding-top:0;align-self:center;max-width:none}
.v2-home .case-stats strong{font-size:clamp(58px,3.6vw,125px)}
.v2-home .film-block{margin-top:64px;display:grid;grid-template-columns:var(--story-columns);gap:var(--story-gap);align-items:center}
.v2-home .film-copy{display:block;margin:0;max-width:40ch}
.v2-home .film-copy h3{font-size:clamp(42px,2.7vw,104px);line-height:1.14;letter-spacing:-.035em;margin-bottom:24px}
.v2-home .film-copy p{font-size:clamp(18px,1.05vw,26px);line-height:1.65;margin:0 0 20px}
.v2-home .film-copy .film-summary{color:#d8e3de}
.v2-home .film-block video{width:100%;max-height:1000px;object-fit:contain;background:#15201b}
.v2-home .audience-tabs{border:0;gap:16px;align-items:stretch}
.v2-home .audience-tabs button{border:1px solid transparent;border-radius:12px;min-width:0;display:flex;align-items:center;justify-content:space-between;gap:22px;padding:20px 24px;box-shadow:none}
.v2-home .audience-tabs button[aria-selected=true]{color:#ed5a8b;background:#d81e5b0d;border-color:#d81e5b}
.v2-home .audience-tabs button:hover{color:#f291b2;background:#d81e5b08}
.v2-home .audience-panel{border:0;background:transparent;box-shadow:none;padding:48px 0 0}
.v2-home .audience-copy{max-width:48ch}
.v2-home .audience-copy h3,.v2-home .market-panel h3{font-size:clamp(32px,2vw,72px)}
.v2-home .programme iframe{border-radius:12px;border:1px solid #ffffff20}
.v2-home #audience-cta{margin-top:12px}
.v2-home .market-tabs{padding:0;background:transparent;border:0;gap:8px;max-width:520px}
.v2-home .market-tabs button{padding:14px 12px;border:1px solid transparent;border-radius:10px;white-space:normal}
.v2-home .market-tabs button[aria-selected=true]{background:#59c9a515;border-color:#59c9a5;color:#b9efd9}
.v2-home .market-panel{border:1px solid #ffffff18;border-radius:16px;padding:32px;background:linear-gradient(135deg,#33544245,#20312c18);backdrop-filter:blur(12px);align-self:center}
.v2-home .partner-copy{max-width:none}
.v2-home .partner-copy h2{white-space:nowrap;font-size:clamp(32px,2.7vw,104px)}
.v2-home .partner-copy h2 strong{color:#3fc0eb}
.v2-home .partner-symbol{gap:100px;overflow:visible}
.v2-home .partner-plus{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font-weight:300;font-size:40px;color:#3fc0eb}
.v2-home .closing{overflow:visible;text-align:left}
.v2-home .closing h2{text-align:left;max-width:none;margin-bottom:60px}
.v2-home .closing h2 span{color:#b7c7bd}
.v2-home .closing h2 strong{background:linear-gradient(110deg,#6dcced,#86dac0,#ed7fa5,#f2cb7b,#6dcced);background-size:260% 100%;background-clip:text;-webkit-background-clip:text;color:transparent;animation:soft-spectrum 20s ease-in-out infinite alternate}
.v2-home .demo-paths{grid-template-columns:1fr 1fr;max-width:none;margin:48px 0 0;gap:clamp(32px,4vw,100px);text-align:left}
.v2-home .demo-paths>div{position:relative;isolation:isolate;border:0;border-radius:20px;padding:clamp(28px,2.5vw,48px);background:linear-gradient(130deg,#3c4f4838,#263b3638);backdrop-filter:blur(20px);box-shadow:inset 0 1px #ffffff18,0 0 25px #3fc0eb12,0 0 45px #d81e5b0d;overflow:hidden}
.v2-home .demo-paths>div::before{content:'';position:absolute;inset:0;padding:1.5px;border-radius:inherit;background:conic-gradient(from var(--flow-angle),#3fc0eb,#59c9a5,#d81e5b,#f4a712,#3fc0eb);mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask-composite:exclude;-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;animation:border-flow 12s linear infinite;pointer-events:none}
.v2-home .demo-paths>div::after{content:'';position:absolute;inset:-100%;z-index:-1;background:radial-gradient(ellipse at 35% 45%,#3fc0eb14,transparent 28%),radial-gradient(ellipse at 60% 30%,#59c9a518,transparent 25%),radial-gradient(ellipse at 65% 65%,#d81e5b16,transparent 28%),radial-gradient(ellipse at 35% 70%,#f4a71211,transparent 23%);animation:card-current 28s ease-in-out infinite alternate;pointer-events:none}
.v2-home .demo-paths>div:last-child::after{animation-delay:-14s}
.v2-home .demo-paths>div h3{font-size:clamp(25px,1.6vw,44px)}
.v2-home .demo-paths>div p{font-size:clamp(18px,1vw,25px);max-width:38ch;line-height:1.6}
.v2-home .site-footer-new{max-width:none;padding-inline:var(--page-gutter)}
.story-flow{position:absolute;left:0;width:100%;pointer-events:none;z-index:3;overflow:visible}
.story-flow path{fill:none;stroke-linecap:round;stroke-linejoin:round}
.v2-home .network-trunk{stroke-width:3.4;opacity:.9;filter:drop-shadow(0 0 5px currentColor)}
.v2-home .network-route{stroke-width:3.4;opacity:.9;filter:drop-shadow(0 0 5px currentColor)}
.v2-home .network-node{filter:drop-shadow(0 0 6px currentColor);transition:opacity .25s;opacity:0}
.v2-home .flow-reveal{opacity:0;transition:opacity .55s}
.v2-home .flow-arrived{opacity:1}
@keyframes soft-spectrum{from{background-position:0% 50%}to{background-position:100% 50%}}
@keyframes card-current{from{transform:translate(-3%,2%) rotate(-6deg)}to{transform:translate(3%,-2%) rotate(6deg)}}
.v2-home .side-nav{display:none}
@media(min-width:1151px){.v2-home .hero,.v2-home .section{padding-right:max(var(--page-gutter),150px)}.v2-home .side-nav{display:grid;right:20px;gap:18px;z-index:7}.v2-home .side-nav a{font-size:13px;position:relative}.v2-home .side-nav a span{opacity:.65}.v2-home .side-nav a.active span{opacity:1;color:#fff}.v2-home .side-nav a::after{display:block;content:"";position:absolute;right:-12px;top:50%;width:6px;height:6px;margin-top:-3px;border:0;border-radius:50%;background:var(--nav-colour,#3fc0eb);box-shadow:0 0 9px var(--nav-colour,#3fc0eb),0 0 18px var(--nav-colour,#3fc0eb);opacity:0}.v2-home .side-nav a.active::after{opacity:1}.v2-home .side-nav a[href="#people"]{--nav-colour:#d81e5b}.v2-home .side-nav a[href="#markets"]{--nav-colour:#59c9a5}}
@media(max-width:1100px){.v2-home .hero h1{font-size:52px}.v2-home .section h2{font-size:42px}}
@media(max-width:800px){
 .v2-home{--page-gutter:52px;--story-gap:28px}.v2-home .header{padding-left:18px;padding-right:20px}
 .v2-home .hero{display:flex;min-height:0;padding:40px var(--page-gutter) 52px;gap:0;overflow:visible}.v2-home .hero h1{font-size:clamp(38px,7.5vw,62px);margin-bottom:26px}.v2-home .hero-description{font-size:19px}
 .v2-home .hero-actions{gap:16px}.v2-home .hero-actions .button{padding:12px 18px;font-size:16px}.v2-home .hero-actions .quiet-link{font-size:16px;gap:8px}
 .v2-home .building-stage{height:570px;margin:28px -20px 0}.v2-home #model-view{height:470px;margin-top:0}.v2-home #model-labels{inset:0 0 100px}
 .v2-home .scene-footer{bottom:8px;gap:10px}.v2-home #show-flow{font-size:16px;padding:13px 18px;min-width:0}.v2-home .view-options summary{height:49px;padding:12px 14px;font-size:15px;gap:6px}.v2-home .view-label-full{display:none}.v2-home .view-label-short{display:inline}
 .v2-home .section,.v2-home .section+.section{padding:72px var(--page-gutter)}.v2-home .section-heading{display:block;margin-bottom:40px}.v2-home .section h2{font-size:clamp(35px,7vw,52px)}
 .v2-home .workflow-layout{display:flex;gap:36px}.v2-home .workflow-steps{gap:4px}.v2-home .workflow-steps>button{padding:14px 4px;border-radius:9px}.v2-home .workflow-steps .action-icon{display:none}
 .v2-home .workflow-art,.v2-home .workflow-art:has(iframe[src$="/scan.html"]){height:440px}.v2-home .workflow-caption{padding:24px}
 .v2-home .proof,.v2-home .markets,.v2-home .partners,.v2-home .film-block{grid-template-columns:1fr;gap:36px}.v2-home .film-block{margin-top:36px}.v2-home .film-copy{max-width:none}
 .v2-home .audience-tabs{gap:10px}.v2-home .audience-tabs button{padding:16px 12px;gap:10px;font-size:17px}.v2-home .audience-tabs .action-icon{width:20px;height:20px;flex-basis:20px}
 .v2-home .audience-panel{display:flex;padding-top:36px;gap:36px}.v2-home .market-panel{padding:26px}.v2-home .market-tabs{gap:4px}.v2-home .market-tabs button{padding:13px 6px}
 .v2-home .partner-symbol{order:0;margin-top:0;height:180px;gap:90px}.v2-home .partner-copy{order:1}
 .v2-home .demo-paths{grid-template-columns:1fr;gap:42px}.v2-home .closing h2{text-align:left;margin-bottom:44px}.v2-home .demo-paths>div{padding:28px}
 .v2-home .network-trunk{stroke-width:2.8;opacity:.9}.v2-home .network-route{stroke-width:2.8}.v2-home .network-node{r:3.6px}
}
@media(max-width:380px){.v2-home{--page-gutter:44px}.v2-home .hero h1{font-size:clamp(31px,9.2vw,35px)}.v2-home .hero-description{font-size:18px}.v2-home #show-flow{font-size:15px;padding:12px 16px}.v2-home .view-options summary{padding:12px}.v2-home .view-options[open] .scene-controls{width:250px}.v2-home .workflow-steps strong{font-size:17px}}
@media(min-width:2000px){
 .v2-home .hero-actions .button,.v2-home .hero-actions .quiet-link,.v2-home #show-flow,.v2-home .text-link{font-size:clamp(18px,.7vw,27px)}.v2-home .hero-actions .button,.v2-home #show-flow{padding:18px 30px;gap:18px}.v2-home .view-options summary{height:73px;font-size:23px;padding:18px 24px}
 .v2-home .workflow-steps strong{font-size:clamp(28px,1.1vw,42px)}.v2-home .workflow-steps small{font-size:clamp(19px,.65vw,25px);max-width:none}.v2-home .workflow-steps>button{padding:clamp(26px,1.3vw,48px) 24px}
 .v2-home .audience-tabs button{font-size:clamp(22px,.8vw,31px)}.v2-home .market-tabs{max-width:640px}.v2-home .market-tabs button{font-size:clamp(17px,.65vw,25px)}
 .v2-home .network-trunk{stroke-width:4}.v2-home .network-route{stroke-width:4}.v2-home .network-node{r:5px}
}
.motion-paused.v2-home .closing h2 strong,.motion-paused.v2-home .demo-paths>div::before,.motion-paused.v2-home .demo-paths>div::after{animation-play-state:paused}
@media(prefers-reduced-motion:reduce){.v2-home .closing h2 strong,.v2-home .demo-paths>div::before,.v2-home .demo-paths>div::after{animation:none}.v2-home .flow-reveal{opacity:1;transform:none;transition:none}}
@media print{.v2-home .flow-reveal{opacity:1;transform:none;transition:none}}

.v2-home .flow-bridge path{stroke:#3fc0eb;filter:drop-shadow(0 0 5px #3fc0eb) drop-shadow(0 0 12px #3fc0eb)}
@media(max-width:800px){.v2-home .film-copy h3{font-size:clamp(35px,7vw,52px)}.v2-home .partner-symbol{gap:64px}.v2-home .partner-copy h2{font-size:clamp(25px,6.7vw,46px)}.v2-home .workflow-steps strong{white-space:nowrap;font-size:17px}.v2-home .audience-tabs button{padding:16px 8px;font-size:16px;gap:8px}.v2-home .market-tabs button{padding-inline:4px}}
@media(max-width:380px){.v2-home .hero h1{font-size:30px}.v2-home .workflow-steps strong{font-size:15px}.v2-home .audience-tabs .action-icon{display:none}.v2-home .partner-symbol{gap:50px}.v2-home .partner-symbol img{width:50px}.v2-home .tki-word{font-size:36px}}

/* Connected controls and a more compact editorial layout. */
.v2-home{--page-gutter:clamp(64px,12vw,340px);--story-gap:clamp(28px,3vw,110px)}
.v2-home .section,.v2-home .section+.section{padding-top:clamp(52px,4vw,112px);padding-bottom:clamp(52px,4vw,112px)}
.v2-home .hero{min-height:clamp(640px,82svh,1180px);padding-top:24px;padding-bottom:40px}
.v2-home .building-stage{height:clamp(580px,72svh,1050px)}
.v2-home .story-flow{z-index:15}.v2-home .network-node{filter:drop-shadow(0 0 5px currentColor) drop-shadow(0 0 10px currentColor)}
.v2-home .view-options summary{width:48px;height:48px;padding:12px}.view-menu-icon{width:22px;height:22px;fill:currentColor}
.v2-home .view-options[open] .scene-controls{z-index:30}
.v2-home #how h2 strong{color:var(--workflow-colour,#3fc0eb)}
.v2-home #people h2>strong{color:var(--role-colour,#d81e5b)}
.v2-home #markets h2>strong{color:var(--market-colour,#59c9a5)}
.v2-home .workflow-steps>button[aria-selected=true]{border-width:3.4px;padding:21.6px 15.6px}
.v2-home .workflow-steps>button:not([aria-selected=true]){border-color:transparent;background:transparent;box-shadow:none}
.v2-home .audience-tabs button{--choice:#d81e5b;border-width:3.4px;padding:17.6px 21.6px}.v2-home .audience-tabs button[data-audience=contractors]{--choice:#f4a712}
.v2-home .audience-tabs button[aria-selected=true]{color:var(--choice);border-color:var(--choice);background:color-mix(in srgb,var(--choice) 7%,transparent)}
.v2-home .audience-tabs button:hover{color:var(--choice);background:transparent}
.v2-home .market-tabs button{--choice:#59c9a5;border-width:3.4px;padding:11.6px 9.6px}.v2-home .market-tabs button[data-market=eu]{--choice:#3fc0eb}.v2-home .market-tabs button[data-market=us]{--choice:#f4a712}
.v2-home .market-tabs button[aria-selected=true]{color:var(--choice);border-color:var(--choice);background:color-mix(in srgb,var(--choice) 7%,transparent)}
.v2-home .market-tabs button:hover{color:var(--choice)}
.v2-home #market-kicker{color:var(--market-colour,#59c9a5)}
.v2-home .flow-bridge path{stroke:#59c9a5;filter:drop-shadow(0 0 5px #59c9a5) drop-shadow(0 0 12px #59c9a5)}
.v2-home #workflow-panel{display:flex;flex-direction:column;align-self:start}
.v2-home .workflow-caption{order:-1;padding:20px 24px 14px}.v2-home .workflow-caption h3{margin:0 0 8px;font-size:clamp(24px,1.5vw,44px)}.v2-home .workflow-caption p{margin:0;max-width:none;font-size:17px;line-height:1.5}
.v2-home .workflow-art,.v2-home .workflow-art:has(iframe[src$="/scan.html"]){height:clamp(360px,48svh,540px)}
.v2-home .workflow-art .media-expand,.v2-home .workflow-art:has(iframe[src$="/scan.html"]) .media-expand{bottom:auto;top:52px;right:14px;background:#17333cb3;border-color:#3fc0eb;color:#c4f2ff;padding:7px 12px;font-size:13px;min-height:34px}
.v2-home .section-heading{margin-bottom:34px}.v2-home .film-block{margin-top:42px}.v2-home .closing h2{margin-bottom:36px}
main .text-link.button{border:1px solid #ffffff35;border-radius:999px;background:#a4b0a31f;padding:12px 20px;min-height:46px;font-size:16px;text-decoration:none;gap:12px;box-shadow:inset 0 1px #ffffff12}main .text-link.button:hover{border-color:#59c9a5;background:#ffffff13;color:#fff}
@media(min-width:1151px){.v2-home .side-nav a{font-size:15px}}
@media(max-width:800px){.v2-home{--page-gutter:56px;--story-gap:26px}.v2-home .hero{min-height:0;padding-top:36px;padding-bottom:30px}.v2-home .building-stage{height:560px}.v2-home .section,.v2-home .section+.section{padding-top:46px;padding-bottom:46px}.v2-home .workflow-steps>button[aria-selected=true]{padding:11.6px 1.6px;border-width:2.8px}.v2-home .workflow-steps>button{border-width:2.8px}.v2-home .workflow-art,.v2-home .workflow-art:has(iframe[src$="/scan.html"]){height:440px}.v2-home .workflow-caption{padding:18px}.v2-home .workflow-caption p{font-size:16px}.v2-home .workflow-art .media-expand{font-size:0;padding:7px;min-height:32px}.v2-home .workflow-art .media-expand .action-icon{width:17px;height:17px}.v2-home .audience-tabs button{padding:13.6px 5.6px;border-width:2.8px}.v2-home .market-tabs button{padding:10.6px 2px;border-width:2.8px}.v2-home .view-options summary{width:46px;height:46px}.v2-home .partner-symbol{gap:76px}.v2-home .closing h2{margin-bottom:28px}}
@media(max-width:380px){.v2-home{--page-gutter:46px}.v2-home .hero h1{font-size:29px}.v2-home .workflow-steps{gap:2px}.v2-home .workflow-steps strong{font-size:14px}.v2-home .partner-symbol{gap:54px}.v2-home .audience-tabs button{font-size:14px}.v2-home .market-tabs button{font-size:12px}.v2-home .hero-description{font-size:17px}}

@media(max-width:800px){.v2-home #workflow-art .media-expand{top:76px}}

.v2-home .flow-bridge{z-index:5}.bridge-start{opacity:0;filter:drop-shadow(0 0 6px #59c9a5)}.flow-bridge:has(path.is-connected) .bridge-start,.flow-bridge:has(path.is-running) .bridge-start{opacity:1}

/* A real readiness gate, with an immediate way into the page. */
#page-loader[hidden]{display:none}.page-preparing{overflow:hidden}#page-loader{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;background:radial-gradient(ellipse at 50% 42%,#233833,#161d1b 65%);transition:opacity .45s,filter .45s}#page-loader.depart{opacity:0;filter:blur(8px);pointer-events:none}.loader-core{width:280px;text-align:center;color:#eaf3ef}.loader-core>img{width:64px;display:block;margin:auto;filter:drop-shadow(0 0 18px #59c9a533)}.loader-core svg{width:240px;height:130px;margin-top:-2px}.loader-core path{fill:none;stroke-width:3;stroke-linecap:round;stroke-dasharray:9 10;opacity:.3;animation:loading-strand 1.5s linear infinite}.loader-core path:nth-child(1){stroke:#59c9a5}.loader-core path:nth-child(2){stroke:#f4a712;animation-delay:-.2s}.loader-core path:nth-child(3){stroke:#3fc0eb;animation-delay:-.4s}.loader-core path:nth-child(4){stroke:#d81e5b;animation-delay:-.6s}.loader-core path.ready{stroke-dasharray:none;opacity:1;filter:drop-shadow(0 0 5px currentColor)}.loader-core p{font-size:24px;margin:8px 0 12px;font-weight:300}.loader-core p strong{font-weight:700}.loader-core>span{font-size:15px;color:#aebfb8}.loader-core button{display:block;margin:28px auto 0;background:#ffffff09;border:1px solid #ffffff30;border-radius:28px;padding:11px 20px;color:#e4efea;font:500 15px Outfit;cursor:pointer}.loader-core button:hover{border-color:#59c9a5}.loader-core button:focus-visible{outline:2px solid #59c9a5;outline-offset:4px}@keyframes loading-strand{to{stroke-dashoffset:-38}}
@media(prefers-reduced-motion:reduce){#page-loader{transition:none}.loader-core path{animation:none}}
.v2-home #how{display:grid;grid-template-columns:var(--story-columns);column-gap:var(--story-gap);align-items:start}.v2-home #how>.section-heading{grid-column:1;grid-row:1;margin-bottom:28px;display:block}.v2-home .workflow-layout{display:contents}.v2-home .workflow-steps{grid-column:1;grid-row:2}.v2-home #workflow-panel{grid-column:2;grid-row:1 / span 2}.v2-home .workflow-art,.v2-home .workflow-art:has(iframe[src$="/scan.html"]){height:clamp(460px,58svh,700px)}.step-number{font-size:.65em;font-weight:400;opacity:.7;margin-right:4px}
.v2-home .workflow-art:has(iframe[src$="/build-building.html"]) .media-expand,.v2-home .workflow-art:has(iframe[src$="/handover-building.html"]) .media-expand{top:auto;bottom:14px}
@media(max-width:800px){.v2-home #how{grid-template-columns:minmax(0,1fr)}.v2-home #how>.section-heading{grid-row:1;margin-bottom:26px}.v2-home .workflow-steps{grid-row:2;margin-bottom:28px}.v2-home #workflow-panel{grid-column:1;grid-row:3}.v2-home .workflow-art,.v2-home .workflow-art:has(iframe[src$="/scan.html"]){height:490px}.v2-home .workflow-steps strong{font-size:15px}.step-number{display:block;font-size:12px;margin:0 0 3px}}

.loader-core>img{margin-bottom:38px;animation:loader-breathe 2.5s ease-in-out infinite}@keyframes loader-breathe{50%{filter:drop-shadow(0 0 22px #59c9a577)}}@media(prefers-reduced-motion:reduce){.loader-core>img{animation:none}}
.v2-home .workflow-caption{position:relative;padding-right:116px}.workflow-tools{position:absolute;right:18px;top:18px;display:flex;gap:5px}.workflow-icon{width:36px;height:36px;display:grid;place-items:center;padding:7px;border:0;border-radius:9px;color:#b8d2c8;background:transparent;cursor:pointer}.workflow-icon:hover{color:var(--workflow-colour,#3fc0eb);background:#ffffff0a}.workflow-icon:focus-visible{outline:2px solid var(--workflow-colour,#3fc0eb)}.workflow-icon svg{width:21px;height:21px;pointer-events:none}.workflow-caption #workflow-description{margin-right:-92px}.programme iframe{height:650px!important;aspect-ratio:auto!important}.programme{min-width:0}
@media(max-width:800px){.v2-home .workflow-caption{padding-right:76px}.workflow-tools{right:8px;top:14px;gap:0}.workflow-icon{width:30px;height:32px;padding:6px}.workflow-caption #workflow-description{margin-right:-58px}.programme iframe{height:970px!important}}

/* Align the role preview with its section title and keep both actions together. */
.v2-home .audience-copy #audience-more{display:flex;width:fit-content;margin-top:18px}
@media(min-width:801px){
 .v2-home #people{display:grid;grid-template-columns:var(--story-columns);column-gap:var(--story-gap);row-gap:32px;align-items:start}
 .v2-home #people>.section-heading{grid-column:1;grid-row:1;display:block;margin:0}
 .v2-home #people>.audience-tabs{grid-column:1;grid-row:2;margin:0;align-self:start}
 .v2-home #people>.audience-panel{display:contents}
 .v2-home #people .audience-copy{grid-column:1;grid-row:3;align-self:start}
 .v2-home #people .programme{grid-column:2;grid-row:1 / span 3;align-self:start;padding:0;margin:0}
}

/* Keep header actions at the outer edge rather than the story column gutter. */
.header .header-actions{margin-left:auto;justify-content:flex-end}.header,.v2-home .header{padding-right:24px;max-width:none}.header .explore-menu{right:24px}
@media(max-width:800px){.header,.v2-home .header{padding-right:20px}.header .explore-menu{right:20px}}

@media(max-width:800px){.v2-home .hero{padding-top:64px}}

/* Mobile flow: native scrolling, local glow and quick content entrances. */
.flow-halo{display:none}
@media(max-width:800px),(pointer:coarse){
 .v2-home .network-trunk,.v2-home .network-route,.inner-page .page-flow path{filter:none}
 .v2-home .story-flow .flow-halo,.inner-page .page-flow .flow-halo{display:block;stroke-width:8;opacity:.13;filter:none}
 .v2-home .network-node,.inner-page .page-flow circle{filter:drop-shadow(0 0 3px currentColor);transition:none}
 .v2-home .flow-reveal,body.inner-page .page-flow-target{transition:opacity .18s ease-out}
}
@media(prefers-reduced-motion:reduce){.v2-home .flow-reveal,body.inner-page .page-flow-target{transition:none}}

/* Keep the mobile introduction clear and its building controls within reach. */
@media(max-width:800px){
 .v2-home .hero{padding-top:76px}
 .v2-home .hero-actions>[data-demo]{display:none}
}

/* The loading veil clears into the page; the first connection introduces the copy. */
#page-loader{background:radial-gradient(ellipse at 50% 42%,#233833e8,#161d1bf5 65%);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);transition:opacity 1.2s ease,backdrop-filter 1.2s ease,-webkit-backdrop-filter 1.2s ease}
#page-loader.depart{filter:none;opacity:0;backdrop-filter:blur(0);-webkit-backdrop-filter:blur(0)}
#page-loader .loader-core{transition:opacity .45s ease,transform .8s ease}
#page-loader.depart .loader-core{opacity:0;transform:translateY(-8px)}
.intro-pending .v2-home :is(#hero-title,.hero-description,.hero-actions){opacity:0}
.intro-revealing .v2-home #hero-title{animation:headline-arrival 1.1s cubic-bezier(.2,.65,.2,1) both;mask-image:linear-gradient(to right,#000 0%,#000 42%,transparent 54%);mask-size:240% 100%;-webkit-mask-image:linear-gradient(to right,#000 0%,#000 42%,transparent 54%);-webkit-mask-size:240% 100%}
.intro-revealing .v2-home .hero-description{animation:intro-copy .65s .35s both}
.intro-revealing .v2-home .hero-actions{animation:intro-copy .65s .5s both}
@keyframes headline-arrival{from{mask-position:100% 0;-webkit-mask-position:100% 0;opacity:0}to{mask-position:0 0;-webkit-mask-position:0 0;opacity:1}}
@keyframes intro-copy{from{opacity:0;transform:translateX(-8px)}to{opacity:1;transform:translateX(0)}}
@media(prefers-reduced-motion:reduce){#page-loader,#page-loader .loader-core{transition:none}.intro-pending .v2-home :is(#hero-title,.hero-description,.hero-actions){opacity:1}.intro-revealing .v2-home :is(#hero-title,.hero-description,.hero-actions){animation:none;mask:none;-webkit-mask:none}}
@media print{.intro-pending .v2-home :is(#hero-title,.hero-description,.hero-actions){opacity:1}}

/* Give enlarged workflow demonstrations the available screen space. */
.v2-home dialog.media-dialog{width:min(1440px,calc(100% - 24px));height:calc(100dvh - 24px);max-height:calc(100dvh - 24px);padding:16px;overflow:hidden}
.v2-home .media-dialog #dialog-content{height:100%;display:flex;flex-direction:column;min-height:0}
.v2-home .media-dialog h2{font-size:clamp(18px,2vw,26px);margin:0 48px 14px 0;flex:none}
.v2-home .media-dialog .expanded-media{flex:1;min-height:0;height:auto;display:block;border-radius:10px}
.v2-home .media-dialog .dialog-close{top:10px;right:12px}
