.floating-contact{z-index:40;right:max(1rem, env(safe-area-inset-right));bottom:max(1rem, env(safe-area-inset-bottom));width:3rem;height:3rem;translate:0 calc(-1 * var(--floating-contact-lift,0px));opacity:0;visibility:hidden;transition:opacity var(--duration-base) var(--ease-standard), visibility 0s linear var(--duration-base);position:fixed}.floating-contact[data-state=visible]{opacity:1;visibility:visible;transition:opacity var(--duration-base) var(--ease-standard), visibility 0s}.floating-contact[data-ready][data-state]{transition-property:opacity,visibility,translate;transition-duration:var(--duration-base), 0s, var(--duration-slow);transition-timing-function:var(--ease-standard), linear, var(--ease-enter)}.floating-contact[data-ready][data-state=hidden]{transition-delay:0s, var(--duration-base), 0s}.floating-contact-trigger{border:1px solid var(--brand-primary);border-radius:var(--radius-pill);background:var(--brand-primary);width:100%;height:100%;color:var(--brand-light);box-shadow:0 4px 16px color-mix(in srgb, var(--brand-dark) 22%, transparent);cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;transition-property:background-color,border-color,box-shadow,translate;display:flex}.floating-contact-glyph{place-items:center;width:1.25rem;height:1.25rem;display:grid}.floating-contact-trigger:focus-visible{background:color-mix(in srgb, var(--brand-primary) 90%, var(--brand-light));box-shadow:0 8px 24px color-mix(in srgb, var(--brand-primary) 24%, transparent)}@media (hover:hover) and (pointer:fine){.floating-contact-trigger:hover{background:color-mix(in srgb, var(--brand-primary) 90%, var(--brand-light));box-shadow:0 8px 24px color-mix(in srgb, var(--brand-primary) 24%, transparent);translate:0 -2px}}.floating-contact-menu{width:min(11rem,100vw - 2rem);max-height:var(--floating-contact-menu-max-height,calc(100dvh - 9rem));overscroll-behavior:contain;border:1px solid var(--border);border-radius:var(--radius-panel);background:var(--surface);box-shadow:var(--shadow-overlay);transform-origin:100% 100%;padding:.5rem;position:absolute;bottom:calc(100% + .75rem);right:0;overflow:hidden auto}.floating-contact-heading{color:var(--muted);margin:0;padding:.375rem .5rem .5rem;font-size:.6875rem;font-weight:500;line-height:1.5}.floating-contact-menu ul{gap:.125rem;margin:0;padding:0;list-style:none;display:grid}.floating-contact-link{border-radius:var(--radius-control);min-height:2.75rem;color:var(--foreground);touch-action:manipulation;-webkit-tap-highlight-color:transparent;align-items:center;gap:.625rem;padding:.375rem .5rem;font-size:.8125rem;font-weight:500;line-height:1.4;text-decoration:none;transition-property:background-color,color;display:flex}.floating-contact-icon{color:var(--muted);transition:color var(--duration-fast) var(--ease-standard), transform var(--duration-base) var(--ease-enter);flex-shrink:0;display:inline-flex}.floating-contact-link:focus-visible,.floating-contact-link:active{background:color-mix(in srgb, var(--brand-primary) 16%, transparent)}.floating-contact-link:focus-visible .floating-contact-icon{color:var(--brand-secondary);transform:scale(1.08)}@media (hover:hover) and (pointer:fine){.floating-contact-link:hover{background:color-mix(in srgb, var(--brand-primary) 16%, transparent)}.floating-contact-link:hover .floating-contact-icon{color:var(--brand-secondary);transform:scale(1.08)}}@media (min-width:48rem){.floating-contact{right:max(1.5rem, env(safe-area-inset-right));bottom:max(1.5rem, env(safe-area-inset-bottom))}}@media (prefers-reduced-motion:reduce){.floating-contact,.floating-contact[data-state],.floating-contact[data-ready][data-state]{transition:none}.floating-contact-trigger:hover{translate:none}.floating-contact-link .floating-contact-icon,.floating-contact-link:is(:hover,:focus-visible) .floating-contact-icon{transform:none}}
[data-home-journey]{--journey-inset:3rem}.home-ambient,.home-ambient-grid,.home-ambient-routes{pointer-events:none;position:absolute;inset:0}.home-ambient{--ambient-drift-x:3rem;--ambient-drift-y:2rem;z-index:-1;overflow:hidden}.home-ambient-grid{background-image:linear-gradient(var(--brand-primary) 1px, transparent 1px), linear-gradient(90deg, var(--brand-primary) 1px, transparent 1px);opacity:.024;background-size:6rem 6rem}.home-ambient:before,.home-ambient:after,.home-ambient-glow-left{content:"";aspect-ratio:1;background:radial-gradient(circle, color-mix(in srgb, var(--brand-primary) 22%, transparent), transparent 68%);opacity:.65;width:clamp(24rem,65vw,50rem);position:absolute}.home-ambient-glow-left{pointer-events:none;display:none}.home-ambient:before{top:-4rem;left:-10rem}.home-ambient:after{opacity:.45;top:48%;right:-12rem}.home-ambient-routes{-webkit-mask-image:linear-gradient(90deg,#000,#0000 38% 62%,#000);mask-image:linear-gradient(90deg,#000,#0000 38% 62%,#000)}.home-ambient-route{--ambient-route-height:28rem;--ambient-route-duration:16s;--ambient-route-delay:-5s;width:1px;height:var(--ambient-route-height);background:color-mix(in srgb, var(--brand-primary) 8%, transparent);position:absolute;top:6rem;left:6rem;overflow:hidden}.home-ambient-route:after{content:"";background:linear-gradient(transparent, var(--brand-primary) 55%, var(--brand-secondary) 80%, transparent);opacity:0;width:100%;height:5rem;position:absolute;top:0;left:0}.home-ambient-route:nth-child(2){--ambient-route-duration:19s;--ambient-route-delay:-12s;top:18rem;left:auto;right:6rem}.home-ambient-route:nth-child(3){--ambient-route-duration:21s;--ambient-route-delay:-9s;top:48%;left:12rem}.home-ambient-route:nth-child(4){--ambient-route-duration:18s;--ambient-route-delay:-3s;inset:auto 12rem 6rem auto}@media (max-width:47.999rem){.home-ambient{--ambient-glow-size:clamp(22rem, 100vw, 34rem);--ambient-drift-x:clamp(1rem, 4vw, 2rem);--ambient-drift-y:clamp(.75rem, 3vw, 1.5rem)}.home-ambient:before,.home-ambient:after,.home-ambient-glow-left{width:var(--ambient-glow-size)}.home-ambient:before{top:calc(var(--ambient-glow-size) * -.08);left:calc(var(--ambient-glow-size) * -.3);opacity:.9}.home-ambient:after{right:calc(var(--ambient-glow-size) * -.3);opacity:.7}.home-ambient-glow-left{top:70%;left:calc(var(--ambient-glow-size) * -.3);opacity:.66;display:block}.home-ambient-glow-left-mid{top:28%;left:calc(var(--ambient-glow-size) * -.4);opacity:.52}.home-ambient-route:first-child{display:none}.home-ambient-route:nth-child(2){--ambient-route-delay:-6s;top:4rem;right:2rem}.home-ambient-route:nth-child(3),.home-ambient-route:nth-child(4){left:auto;right:2rem}}@media (prefers-reduced-motion:no-preference){.home-ambient:before{animation:24s ease-in-out infinite alternate home-ambient-drift}.home-ambient:after{animation:30s ease-in-out -11s infinite alternate-reverse home-ambient-drift}.home-ambient-glow-left{animation:28s ease-in-out -7s infinite alternate home-ambient-drift}.home-ambient-glow-left-mid{animation-duration:32s;animation-delay:-15s}.home-ambient-route:after{animation:home-ambient-signal var(--ambient-route-duration) linear var(--ambient-route-delay) infinite}}@keyframes home-ambient-drift{0%{transform:translate(0,0)}to{transform:translate3d(var(--ambient-drift-x), var(--ambient-drift-y), 0)}}@keyframes home-ambient-signal{0%{opacity:0;transform:translateY(-100%)}15%,75%{opacity:.55}to{opacity:0;transform:translateY(calc(var(--ambient-route-height) + 5rem))}}[data-home-journey] .home-hero-content{min-height:min(72svh,44rem);padding-block:3rem 2rem}[data-home-journey] .home-junction-content{padding-left:var(--journey-inset)}[data-home-journey] .home-hero-headline{overflow-wrap:anywhere;font-size:clamp(1.65rem,1rem + 4.4vw,2.1rem)}[data-home-journey] .home-hero-promise{display:block}[data-home-journey] .home-spine{background:color-mix(in srgb, var(--brand-light) 10%, transparent)}@supports (animation-timeline:--home-track) and (view-timeline-inset:50%){[data-home-track]{view-timeline-name:--home-track;view-timeline-axis:block;view-timeline-inset:50%}@media (prefers-reduced-motion:no-preference){[data-home-fill]{animation:1s linear both home-fibre-fill;animation-timeline:--home-track}[data-home-signal]{animation:1s linear both home-fibre-signal;animation-timeline:--home-track}}}@media (prefers-reduced-motion:no-preference){[data-home-fill],[data-home-signal]{will-change:transform}}@keyframes home-fibre-fill{0%{transform:scaleY(0)}to{transform:scaleY(1)}}@keyframes home-fibre-signal{0%{transform:translateY(0)}to{transform:translateY(var(--home-track-height,0px))}}[data-home-journey] .home-junction-content{--junction-reveal-x:12px}[data-home-journey] .home-actions a{transition-duration:var(--duration-base);transition-timing-function:var(--ease-standard);transition-property:color,background-color,border-color,box-shadow,transform}[data-home-journey] .home-action-primary:is(:hover,:focus-visible){background:var(--brand-secondary);border-color:var(--brand-secondary);color:var(--brand-dark)}[data-home-journey] .home-action-secondary:is(:hover,:focus-visible),[data-home-journey] .home-service-link:is(:hover,:focus-visible) .home-service-action{color:var(--brand-light)}[data-home-journey] .home-actions a:focus-visible svg,[data-home-journey] .home-service-link:focus-visible .home-service-action svg{transform:translate(.25rem)}[data-home-journey] .home-actions a:active{transform:translateY(1px)}[data-home-journey] [data-motion-reveal]:focus-within{opacity:1!important;transform:none!important}[data-home-journey] [data-home-node][data-checkpoint=live]{border-color:var(--brand-primary);color:var(--brand-light)}[data-home-journey] .home-node-ripple{border-color:color-mix(in srgb, var(--brand-primary) 65%, transparent);opacity:0}[data-home-journey] .home-node-core{background:radial-gradient(circle, color-mix(in srgb, var(--brand-primary) 58%, transparent) 0%, transparent 72%);opacity:0}[data-home-journey] [data-checkpoint=live] .home-node-ripple{animation:home-checkpoint-ripple .88s var(--ease-standard) both}[data-home-journey] [data-checkpoint=live] .home-node-core{animation:home-checkpoint-flash .76s var(--ease-standard) both}[data-home-journey] .home-node-halo{box-shadow:0 0 0 5px color-mix(in srgb, var(--brand-primary) 24%, transparent), 0 0 16px 2px color-mix(in srgb, var(--brand-primary) 26%, transparent)}@supports (animation-timeline:--home-track) and (view-timeline-inset:50%){@media (prefers-reduced-motion:no-preference){[data-home-journey] [data-home-node]{animation:1s linear both home-checkpoint-colour;animation-timeline:--home-track;animation-range:var(--home-checkpoint-start) var(--home-checkpoint-arrival)}[data-home-journey] .home-node-halo{animation:1s linear both home-checkpoint-charge;animation-timeline:--home-track;animation-range:var(--home-checkpoint-start) var(--home-checkpoint-arrival)}}}@keyframes home-checkpoint-colour{0%{border-color:color-mix(in srgb, var(--brand-primary) 70%, transparent);color:var(--brand-secondary)}to{border-color:var(--brand-primary);color:var(--brand-light)}}@keyframes home-checkpoint-charge{0%{opacity:0}to{opacity:1}}@keyframes home-checkpoint-ripple{0%{opacity:0;scale:.92}20%{opacity:.5}to{opacity:0;scale:1.65}}@keyframes home-checkpoint-flash{0%{opacity:1}to{opacity:.16}}@media (min-width:40rem){[data-home-journey] .home-hero-content{min-height:min(70svh,46rem)}[data-home-journey] .home-hero-headline{font-size:clamp(2.1rem,6.2vw,4.25rem)}}@media (min-width:20rem){[data-home-journey] .home-headline-accent{white-space:nowrap}}@media (min-width:40rem) and (max-height:34rem){[data-home-journey] .home-hero-content{min-height:0;padding-block:1.25rem 1rem}[data-home-journey] .home-hero-headline{margin-top:.75rem;font-size:clamp(1.75rem,3.8vw,2.3rem)}[data-home-journey] .home-hero-content>p:nth-of-type(2){margin-top:.75rem}[data-home-journey] .home-hero-content .home-actions{margin-top:1rem}}@media (min-width:48rem){[data-home-journey]{--journey-inset:0rem}[data-home-journey] [data-junction-side=left]{--junction-reveal-x:-12px}}@media (prefers-reduced-motion:reduce){[data-home-journey] .home-actions a:active,[data-home-journey] a svg{transform:none!important}}@media (prefers-reduced-motion:reduce),(scripting:none){[data-home-journey] [data-home-node]{border-color:var(--brand-primary);color:var(--brand-light)}}
