/* Four art directions share content and semantics, not a card-grid layout. */
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font:400 17px/1.65 var(--body);-webkit-font-smoothing:antialiased;--body:'Segoe UI',Arial,sans-serif;--display:var(--body);--gutter:clamp(22px,4.8vw,84px);--max:1520px}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}button,a{-webkit-tap-highlight-color:transparent}button{background:none;border:0}button:disabled{cursor:default;opacity:.45}img{display:block;max-width:100%}svg{overflow:visible}button>svg,a>svg{width:20px;height:20px;flex:none}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-family:var(--display);font-weight:500;line-height:1.1;letter-spacing:-.04em}h1{font-size:clamp(38px,5.8vw,84px)}h2{font-size:clamp(30px,3.5vw,52px)}h3{font-size:clamp(20px,2vw,28px);letter-spacing:-.025em;line-height:1.25}p{max-width:72ch}em{font-style:normal;color:var(--accent)}[hidden]{display:none!important}:focus-visible{outline:3px solid var(--accent);outline-offset:6px}.skip-link{position:fixed;top:-80px;left:20px;z-index:300;padding:12px 20px;background:var(--ink);color:var(--bg)}.skip-link:focus{top:12px}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.honey{display:none}.kicker,.eyebrow,.hero-kicker,.product-suite-kicker{font-family:var(--body);font-size:12px;font-weight:600;line-height:1.5;letter-spacing:.13em;text-transform:uppercase;margin-bottom:20px;color:var(--muted)}.muted-heading{color:var(--muted)}.wrap,.v2-wrap{width:100%;max-width:var(--max);margin:auto;padding-inline:var(--gutter)}.site-nav{position:sticky;top:0;z-index:80;padding:12px var(--gutter);display:flex;gap:28px;align-items:center;min-height:92px;border-bottom:1px solid var(--rule);background:var(--header);backdrop-filter:blur(20px)}.brand-slot{flex:none;width:205px;line-height:0}.brand-motion-link{display:block;width:100%;line-height:0;background:none!important;border:0!important;padding:0!important}.brand-motion-stage{display:block;position:relative;width:100%}.brand-motion-poster{width:100%;height:auto}.brand-o-motion{display:none;position:absolute;inset:0;width:100%;height:100%}.brand-motion-stage .brand-motion-poster{opacity:1}.primary-nav{display:flex;gap:25px;margin-left:auto;align-items:center}.primary-nav a{font-size:14px;position:relative;white-space:nowrap;padding-block:12px}.primary-nav a:after{content:'';position:absolute;bottom:6px;left:0;width:100%;height:2px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .25s}.primary-nav a:hover:after,.primary-nav a[aria-current]:after{transform:scaleX(1)}.nav-book,.btn-z,.action-primary{background:var(--accent);color:var(--on-accent);border:1px solid transparent;padding:13px 22px;min-height:48px;display:inline-flex;align-items:center;gap:16px;font-size:15px;font-weight:600;line-height:1.4;transition:transform .3s,background .3s}.nav-book{margin-left:8px;font-size:13px;padding:13px 18px}.nav-book:hover,.btn-z:hover{transform:translateY(-3px)}.menu-toggle{display:none;margin-left:auto;min-height:44px;min-width:44px}.menu-panel{position:fixed;inset:86px 0 auto;background:var(--bg);z-index:78;padding:30px var(--gutter);border-bottom:1px solid var(--rule)}.menu-panel a{display:block;padding:10px 0;font-size:23px}.studio-bar{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:11px;letter-spacing:.1em;text-transform:uppercase;border-bottom:1px solid var(--rule);padding:9px var(--gutter);color:var(--muted)}.studio-bar strong{color:var(--ink)}.experience-tools{display:flex;align-items:center;gap:15px}.experience-tools button{font-size:11px;min-height:32px;display:flex;align-items:center;gap:6px;letter-spacing:.025em}.sound-dot{width:6px;height:6px;border-radius:50%;background:var(--muted)}[aria-pressed=true] .sound-dot{background:var(--accent)}.experience-tools input{width:50px;accent-color:var(--accent)}.concept-page{min-height:70vh}main>section:not(.concept-hero):not(.outcome-ribbon):not(.page-cta):not(.cta-section):not(.detail-hero){padding-block:clamp(48px,7vw,105px)}main>section:not(.v2-wrap):not(.wrap):not(.concept-hero):not(.detail-hero):not(.outcome-ribbon):not(.page-cta):not(.cta-section):not(.approach-section):not(.detail-process):not(.voice-demo-section):not(.closing-section){padding-inline:var(--gutter);max-width:var(--max);margin:auto}.concept-hero{position:relative;overflow:hidden;padding:50px var(--gutter) 40px;min-height:650px}.concept-hero .cinema-copy{position:relative;z-index:2}.concept-hero .cinema-copy h1{max-width:11ch;margin-bottom:25px}.title-line{display:block}.concept-hero .cinema-lead{font-size:18px;line-height:1.7;max-width:46ch;color:var(--muted)}.cinema-actions,.hero-actions{display:flex;flex-wrap:wrap;gap:16px 25px;align-items:center;margin-top:30px}.cinema-link,.text-link,.editorial-link,.enquiry-alternative{font-size:15px;display:inline-flex;align-items:center;gap:12px;min-height:44px;border-bottom:1px solid var(--rule)}.hero-footnote{font-size:12px;color:var(--muted);margin-top:18px;max-width:52ch}.hero-footnote+.hero-footnote{font-size:11px}.hero-kicker{display:flex;align-items:center;gap:10px}.status-dot{height:6px;width:6px;border-radius:50%;background:var(--accent)}.hero-copy-footer{display:flex;gap:25px;align-items:center;flex-wrap:wrap;margin-top:30px;font-size:12px;color:var(--muted)}.hero-art{min-width:0;position:relative}.hero-badge{font-size:11px;letter-spacing:.13em;text-transform:uppercase;color:var(--muted)}.hero-service-intro{font-size:11px;color:var(--muted);display:flex;justify-content:space-between;gap:20px;padding-block:14px;border-bottom:1px solid var(--rule)}.explore-hint{font-size:11px;letter-spacing:.04em;color:var(--muted);margin:14px 0 0;max-width:none}.explorer{position:relative}.service-focus{padding-top:20px;margin-top:8px;border-top:1px solid var(--rule);min-height:155px;max-width:none}.service-focus .focus-name{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--accent);margin:0 0 8px}.service-focus h3{font-size:20px;line-height:1.3;max-width:44ch;margin-bottom:8px}.service-focus p{font-size:14px;line-height:1.6;color:var(--muted)}.service-focus>a{display:inline-flex;align-items:center;gap:12px;font-size:13px;border-bottom:1px solid var(--rule);margin-top:12px}.services-readable{margin:35px 0 0;border-block:1px solid var(--rule)}.services-readable>summary{cursor:pointer;font-size:13px;padding:15px 0;color:var(--muted)}.service-text-index{display:grid;grid-template-columns:1fr 1fr;gap:28px;padding:20px 0 32px}.service-text-index article{border-top:1px solid var(--rule);padding-top:20px}.service-text-index h3{font-size:21px;margin:10px 0}.service-text-index p{font-size:16px;color:var(--muted)}.service-text-index a{font-size:13px;color:var(--accent)}.service-text-index .service-name{font-size:12px;letter-spacing:.1em;text-transform:uppercase}.source-example{padding:26px var(--gutter);display:grid;grid-template-columns:1fr 1fr;gap:50px;border-top:1px solid var(--rule);background:var(--panel)}.live-moment{max-width:650px}.moment-top{display:flex;gap:14px;align-items:center}.moment-icon{width:36px;height:36px}.moment-icon svg{width:22px;height:22px}.moment-label{font-size:10px;letter-spacing:.1em}.moment-top p{font-size:18px;font-weight:600}.moment-number{margin-left:auto;font-size:11px}.moment-lines{display:flex;align-items:center;gap:20px;justify-content:space-between;margin-top:14px}.moment-message{font-size:14px}.moment-route{font-size:12px;color:var(--muted)}.moment-progress{height:1px;background:var(--rule);margin-top:15px}.moment-progress i{height:1px;width:36%;display:block;background:var(--accent);animation:progress 8s linear infinite}.live-moment small{font-size:10px;color:var(--muted)}.scene-controls{display:flex;gap:14px;align-items:center;flex-wrap:wrap}.scene-choice{color:var(--muted);border-bottom:1px solid var(--rule);padding:7px 0;min-height:40px;font-size:12px}.scene-choice.is-active{color:var(--ink);border-color:var(--accent)}.scene-number{font-size:10px;margin-right:6px}.hero-bottom{font-size:12px;line-height:1.5;color:var(--muted);display:flex;flex-wrap:wrap;gap:18px;margin-top:14px}.outcome-inner{display:flex;justify-content:space-between;gap:25px;align-items:center;padding-block:26px;border-bottom:1px solid var(--rule)}.outcome-inner button{border-bottom:1px solid var(--rule);padding:12px 0;display:flex;gap:22px;align-items:center;font-size:19px}.ribbon-intro{font-size:10px;letter-spacing:.15em}.human-intro{display:grid;grid-template-columns:1fr 1fr;gap:40px 70px;align-items:start}.intro-copy>p{margin-bottom:20px;color:var(--muted)}.home-product-links{grid-column:1/-1;display:flex;gap:18px 30px;flex-wrap:wrap;align-items:center;border-block:1px solid var(--rule);padding:22px 0;font-size:14px}.home-product-links>span{font-size:11px;color:var(--muted);letter-spacing:.13em}.home-page-routes{display:flex;grid-column:1/-1;gap:40px}.home-page-routes>a{flex:1;border-bottom:1px solid var(--rule);padding:16px 0}.home-page-routes span{display:block;font-size:12px;color:var(--muted)}.home-page-routes strong{font-weight:500;font-size:19px}.section-opening,.section-head{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:end;margin-bottom:35px}.section-opening>p,.section-head>p{color:var(--muted);max-width:58ch}.sector-gallery{display:flex;gap:24px}.sector-photo{position:relative;overflow:hidden;display:block;flex:1;min-width:0;height:450px;padding:0;color:#fff;text-align:left;background:var(--panel)}.sector-photo>img{width:100%;height:100%;object-fit:cover;transition:transform .8s}.sector-photo:hover>img{transform:scale(1.05)}.sector-shade{position:absolute;inset:0;background:linear-gradient(0deg,#041a36ed,transparent 75%)}.sector-photo-text{position:absolute;left:25px;right:25px;bottom:22px}.sector-photo-text small{font-size:10px;letter-spacing:.1em}.sector-photo-text strong{display:block;font-size:27px;line-height:1.2;font-weight:500;margin:18px 0}.sector-photo-text>span{font-size:12px;display:flex;justify-content:space-between;gap:14px}.sector-note{font-size:12px;color:var(--muted);margin-top:18px}.page-cta,.cta-section{background:var(--panel);padding-block:70px;border-top:1px solid var(--rule)}.page-cta-grid,.cta-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}.page-cta p,.cta-right p{color:var(--muted);margin-top:18px}.page-cta-actions,.cta-right{min-width:0}.consultation-actions{display:flex;flex-wrap:wrap;gap:20px;align-items:center}.page-call-links,.direct-contact{display:flex;flex-wrap:wrap;gap:12px 24px;font-size:14px;margin-top:25px}.direct-contact>a:first-child{width:100%}.site-footer{padding:55px var(--gutter) 20px;background:var(--footer);color:var(--footer-ink);border-top:1px solid var(--rule)}.site-footer .wrap{padding:0}.footer-top{display:grid;grid-template-columns:1.4fr .8fr 1.1fr;gap:55px}.footer-brand .brand-motion-link{width:245px}.footer-tagline{font-size:14px;margin-top:15px}.footer-col-title{font-size:11px;letter-spacing:.13em;text-transform:uppercase;margin-bottom:16px}.footer-links{display:grid;gap:10px}.footer-links a{font-size:14px}.footer-page-nav{display:flex;gap:30px;flex-wrap:wrap;border-top:1px solid #ffffff25;margin-top:35px;padding:25px 0;font-size:13px}.footer-bottom{display:flex;flex-wrap:wrap;gap:20px;justify-content:space-between;border-top:1px solid #ffffff25;padding-top:20px;font-size:12px}.footer-legal{display:flex;gap:18px;flex-wrap:wrap}.photo-credits{font-size:11px;margin-top:20px;opacity:.75}.photo-credits>a{margin-right:15px;display:inline-block;text-decoration:underline}.prototype-note{padding:12px var(--gutter);font-size:11px;text-align:center;background:var(--bg);color:var(--muted)}.detail-hero{position:relative;padding:45px var(--gutter) 70px;overflow:hidden;border-bottom:1px solid var(--rule)}.detail-hero .wrap{padding:0}.breadcrumbs{font-size:12px;color:var(--muted);margin-bottom:45px}.detail-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(40px,6vw,95px);align-items:start}.detail-hero h1{max-width:14ch;font-size:clamp(38px,5.3vw,74px);margin-bottom:24px}.detail-hero .hero-lead{font-size:19px;line-height:1.65;color:var(--muted);max-width:48ch}.interior-backdrop{position:relative;float:right;width:43%;height:390px;margin:10px 0 35px 45px}.interior-backdrop img{width:100%;height:100%;object-fit:cover}.detail-hero .detail-grid{display:block}.detail-aside{clear:both;display:grid;grid-template-columns:.4fr .8fr 1fr;gap:25px;border-top:1px solid var(--rule);padding-top:25px;margin-top:40px;font-size:15px}.detail-aside .eyebrow{margin:0}.detail-aside p{font-size:15px;color:var(--muted)}.detail-aside p:last-child{grid-column:3}.detail-aside .field-hint{font-size:12px}.detail-hero:after{content:'';clear:both;display:table}.section.rule{border-bottom:1px solid var(--rule)}.detail-benefits{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}.detail-benefit{padding-top:25px;border-top:1px solid var(--rule)}.detail-benefit p{margin-top:14px;color:var(--muted)}.detail-benefit .eyebrow{font-size:11px;color:var(--accent);margin-bottom:16px}.detail-boundary{font-size:14px;color:var(--muted);margin-top:35px;padding-top:22px;border-top:1px solid var(--rule)}.detail-include{font-size:14px;margin-top:20px}.detail-process{padding-block:70px;background:var(--panel)}.detail-process p{margin-top:20px;color:var(--muted)}.detail-list{margin:0;padding-left:22px}.detail-list li{padding-block:10px}.human-environment{display:grid;grid-template-columns:1fr 1fr;gap:65px}.human-environment-copy>p{margin-top:22px;color:var(--muted)}.human-environment-copy h2{margin-bottom:22px}.human-environment-points{padding-left:20px;margin-block:24px}.human-environment-media{display:flex;gap:20px;align-items:center}.human-photo{overflow:hidden;flex:1}.human-photo img{width:100%;height:360px;object-fit:cover}.human-photo-small{transform:translateY(40px)}.approach-section{padding-block:75px;background:var(--panel)}.approach-layout{display:grid;grid-template-columns:1fr 1fr;gap:70px}.approach-heading>p{color:var(--muted);margin-top:22px}.approach-photo{margin-top:25px;max-width:480px}.approach-photo img{height:auto;aspect-ratio:1.7}.approach-photo figcaption{font-size:11px;padding-top:12px;color:var(--muted)}.approach-list article{display:flex;gap:24px;border-top:1px solid var(--rule);padding-block:28px}.approach-list article>span{font-size:13px;color:var(--accent)}.approach-list p{margin-top:12px;color:var(--muted)}.source-rows{display:block;padding-top:25px}.solution-row{display:grid;grid-template-columns:30px 1fr 90px 90px 20px;align-items:center;gap:20px;border-top:1px solid var(--rule);padding:22px 0}.solution-row h3{font-size:20px}.solution-row p{color:var(--muted);font-size:15px;margin-top:7px}.solution-row .row-number{font-size:11px}.solution-thumb{display:block;width:90px;height:68px;overflow:hidden}.solution-thumb img{width:100%;height:100%;object-fit:cover}.solution-tag{font-size:10px;text-transform:uppercase}.solutions-photo{display:none}.source-photo-caption{font-size:12px;color:var(--muted);padding-top:15px}.source-photo-caption h3{font-size:16px}.faq-grid,.v2-faq{display:grid;grid-template-columns:.85fr 1.15fr;gap:70px}.faq-title p,.v2-faq>div>p:last-child{color:var(--muted);margin-top:24px}.faq-list details{border-top:1px solid var(--rule);padding-block:20px}.faq-list summary{cursor:pointer;font-size:18px;list-style:none;display:flex;gap:30px;align-items:center;justify-content:space-between}.faq-list summary:after{content:'+';font-size:25px;color:var(--accent)}.faq-list details[open] summary:after{content:'−'}.faq-list p{font-size:16px;color:var(--muted);margin-top:15px}.page-inline-actions{display:flex;flex-wrap:wrap;gap:22px;margin-top:40px}.closing-section{display:grid;grid-template-columns:1fr 1fr;gap:60px;background:var(--panel);padding:60px var(--gutter)}.closing-photo img{width:100%;height:450px;object-fit:cover}.closing-copy p{color:var(--muted);margin-block:22px}.closing-email{font-size:14px;display:block;margin-top:25px}.product-suite-overview .section-intro{margin-bottom:35px}.section-intro>p:last-child{color:var(--muted);margin-top:22px;max-width:none}.business-stories{display:grid;grid-template-columns:1fr 1fr;gap:65px}.story-tab{display:flex;width:100%;text-align:left;align-items:start;gap:15px;padding:23px 0;border-bottom:1px solid var(--rule)}.story-tab strong{font-size:19px;font-weight:500}.story-tab p{font-size:14px;color:var(--muted)}.story-tab>span{font-size:11px;color:var(--accent)}.story-tab>svg{margin-left:auto}.story-menu h2{margin-bottom:25px}.story-image-frame{position:relative;height:330px;overflow:hidden}.story-image{position:absolute;inset:0;opacity:0;transition:opacity .7s}.story-image.is-active{opacity:1}.story-image img{width:100%;height:100%;object-fit:cover}.photo-overline{position:absolute;bottom:18px;left:18px;right:18px;color:white;font-size:12px;text-shadow:0 1px 6px black}.story-content{padding:25px 0}.story-content h3{margin:12px 0}.story-content>p{font-size:16px;color:var(--muted)}.small-index{font-size:11px;letter-spacing:.1em;color:var(--accent)}.marquee-band{overflow:hidden;border-block:1px solid var(--rule);padding:20px 0}.marquee-track{display:flex;width:max-content;gap:50px;animation:marquee 40s linear infinite;font-size:26px}.marquee-track i{font-style:normal;color:var(--accent)}.voice-demo-section{padding:65px var(--gutter);background:var(--panel)}.voice-layout{display:grid;grid-template-columns:.85fr 1.15fr;gap:60px}.voice-copy h2{max-width:13ch}.voice-copy>p{margin-top:20px;color:var(--muted)}.voice-copy small{font-size:12px}.voice-play,.voice-stop{display:inline-flex;gap:14px;align-items:center;padding:12px 18px;border:1px solid var(--rule);margin:20px 12px 15px 0;min-height:44px}.voice-play svg,.voice-stop svg{width:18px;height:18px}.voice-help{font-size:13px}.voice-transcript{list-style:none;padding:0;max-height:430px;overflow:auto}.voice-line{border-top:1px solid var(--rule);padding:14px 0;display:grid;grid-template-columns:100px 1fr;gap:20px}.voice-speaker{font-size:14px;font-weight:600}.voice-speaker small{display:block;font-weight:400;font-size:11px;color:var(--muted)}.voice-text{font-size:16px}.voice-line.is-current{color:var(--accent)}.voice-card-title{font-size:21px}.voice-card-sub,.voice-transcript-note{font-size:12px;color:var(--muted);margin-block:15px}.voice-card-bottom{display:flex;justify-content:space-between;font-size:12px}.voice-settings{font-size:13px;margin-top:20px}.voice-settings label{display:block;margin:12px 0}.voice-settings select{width:100%;font-size:13px}.voice-settings-hint{font-size:12px}.waveform{height:70px;display:flex;align-items:center;gap:4px}.waveform i{width:3px;height:var(--height,25px);background:var(--accent);animation:pulse 1.2s infinite alternate;animation-delay:var(--delay,0s)}dialog{max-width:min(760px,calc(100% - 26px));width:100%;max-height:90dvh;border:1px solid var(--rule);background:var(--bg);color:var(--ink);padding:0}dialog::backdrop{background:#031831b8;backdrop-filter:blur(8px)}.dialog-head{display:flex;justify-content:space-between;gap:20px;align-items:center;border-bottom:1px solid var(--rule);padding:20px 26px}.dialog-head .eyebrow{margin:0}.dialog-close{font-size:30px;width:40px;height:40px}.dialog-body{padding:28px}.form-progress{list-style:none;display:flex;gap:20px;padding:0;font-size:12px;color:var(--muted)}.form-progress [aria-current]{color:var(--ink)}.form-heading{font-size:32px;margin-top:22px}.form-intro{font-size:15px;margin-block:18px;color:var(--muted)}fieldset{border:0;padding:0}.choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.choice{border:1px solid var(--rule);padding:15px;font-size:15px;display:flex;gap:10px;align-items:center}.choice:has(:checked){border-color:var(--accent)}input,textarea,select{max-width:100%;border:1px solid var(--rule);background:var(--panel);padding:10px 14px;border-radius:0}input:not([type=checkbox]):not([type=range]),textarea,select{width:100%}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.field{margin-bottom:18px}.field-label{display:block;font-size:14px;margin-bottom:7px}.field-label span,.field-hint{font-size:12px;color:var(--muted)}.form-actions{display:flex;align-items:center;gap:22px;margin-top:30px;border-top:1px solid var(--rule);padding-top:20px}.form-step-count{margin-left:auto;font-size:12px}.privacy-note,.form-mode{font-size:12px;margin-top:16px}.form-mode{color:var(--accent)}.review-brief{font-size:14px}.review-brief dt{font-weight:600;margin-top:10px}.review-brief dd{margin:0}.form-error{padding:15px;border:1px solid #d26050;color:#d26050}.success-actions{display:flex;flex-wrap:wrap;gap:12px}.success-circle{font-size:40px;color:var(--accent)}.revealed{animation:arrive .7s both}.remote-unavailable{display:grid;place-content:center;padding:30px;border:1px solid var(--rule);font-size:12px;color:var(--muted);background:var(--panel);text-align:center}.asset-note{display:block;font-size:11px}.selection-pulse{animation:arrive .4s both}.route-status{font-size:10px;color:var(--muted)}.preview-overlay{position:fixed;left:14px;bottom:14px;z-index:70;background:var(--bg);border:1px solid var(--rule);padding:6px 12px;font-size:10px;letter-spacing:.07em;color:var(--muted)}
@keyframes arrive{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}@keyframes progress{from{transform:scaleX(.1);transform-origin:left}to{transform:scaleX(2.5);transform-origin:left}}@keyframes pulse{to{transform:scaleY(.5)}}@keyframes marquee{to{transform:translateX(-30%)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes float{50%{transform:translateY(-9px)}}@keyframes dash{to{stroke-dashoffset:-100}}@keyframes drift{50%{transform:scale(1.065) translateX(-1%)}}@keyframes revealLine{from{transform:translateY(110%)}to{transform:translateY(0)}}
.motion-paused *, .motion-paused *::before,.motion-paused *::after{animation-play-state:paused!important;transition-duration:0s!important}.motion-paused{scroll-behavior:auto}.motion-paused .revealed{animation:none;opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}.revealed{opacity:1;transform:none}}
@media(max-width:1180px){.primary-nav{gap:16px}.primary-nav a{font-size:13px}.brand-slot{width:180px}.site-nav{gap:16px}.nav-book{font-size:12px;padding:12px}.detail-benefits{grid-template-columns:1fr 1fr}.detail-aside{grid-template-columns:1fr 1fr}.detail-aside .eyebrow{grid-column:1/-1}.detail-aside p:last-child{grid-column:auto}}
@media(max-width:960px){.primary-nav,.site-nav>.nav-book{display:none}.menu-toggle{display:block}.site-nav{min-height:82px}.studio-bar{flex-wrap:wrap;font-size:10px}.concept-hero{min-height:0}.source-example{gap:24px}.detail-grid,.human-environment,.approach-layout,.business-stories,.faq-grid,.v2-faq,.page-cta-grid,.cta-grid,.closing-section{grid-template-columns:1fr;gap:35px}.detail-hero .interior-backdrop{width:48%;height:330px}.detail-hero h1{font-size:42px}.human-environment-media{max-width:680px}.human-intro{gap:35px}.sector-gallery{gap:15px}.sector-photo{height:360px}.sector-photo-text{left:17px;right:17px}.sector-photo-text strong{font-size:23px}.footer-top{gap:25px;grid-template-columns:1fr 1fr}.footer-brand{grid-column:1/-1}.section-opening,.section-head{gap:32px}.voice-layout{grid-template-columns:1fr;gap:30px}.source-example{grid-template-columns:1fr}}
@media(max-width:640px){body{font-size:16px}.site-nav{padding-block:10px;min-height:76px}.brand-slot{width:174px}.studio-bar{padding-block:8px;gap:4px}.studio-bar>.studio-label{font-size:9px;letter-spacing:.07em}.experience-tools{gap:14px}.experience-tools button{font-size:10px}.experience-tools input{width:44px}.menu-panel{inset:75px 0 auto}.concept-hero{padding-top:28px;padding-bottom:25px}.concept-hero .cinema-copy h1{font-size:44px;line-height:1.07;max-width:12ch;letter-spacing:-.045em}.concept-hero .cinema-lead{font-size:16px}.hero-footnote{font-size:11px}.cinema-actions{gap:12px;align-items:flex-start;flex-direction:column}.btn-z,.nav-book,.action-primary{font-size:14px}.outcome-inner{display:grid;grid-template-columns:1fr;gap:12px}.outcome-inner br{display:none}.outcome-inner button{font-size:17px}.moment-lines{display:block}.moment-route{margin-top:10px}.source-example{padding-block:24px}.human-intro,.section-opening,.section-head{grid-template-columns:1fr;gap:23px}.home-page-routes{display:block}.home-page-routes>a{display:block}.home-product-links{gap:15px 22px}.sector-gallery{display:block}.sector-photo{width:100%;height:350px;margin-bottom:22px}.sector-photo-text strong{font-size:30px}.detail-hero{padding-top:30px;padding-bottom:38px;display:flex;flex-direction:column}.detail-hero .interior-backdrop{float:none;width:100%;height:250px;margin:0 0 24px;order:1}.detail-hero .wrap{order:0}.detail-hero .hero-lead{font-size:17px}.detail-hero h1{font-size:42px}.detail-aside{grid-template-columns:1fr;gap:14px;font-size:16px}.detail-aside h3{font-size:22px}.breadcrumbs{margin-bottom:25px}.detail-benefits{grid-template-columns:1fr}.detail-benefit p{font-size:16px}.human-environment-media{gap:14px}.human-photo img{height:240px}.human-photo-small{transform:translateY(20px)}.solution-row{grid-template-columns:24px minmax(0,1fr) 70px 16px;gap:12px}.solution-row h3{font-size:18px}.solution-tag{display:none}.solution-thumb{width:70px;height:70px}.solution-row p{font-size:14px}.story-image-frame{height:260px}.footer-top{grid-template-columns:1fr;gap:30px}.footer-brand{grid-column:auto}.footer-page-nav{gap:15px 24px}.footer-bottom,.footer-legal{display:block}.footer-legal a{display:block;margin-top:12px}.service-text-index{grid-template-columns:1fr}.voice-line{grid-template-columns:70px 1fr;gap:12px}.choice-grid,.field-grid{grid-template-columns:1fr}.form-heading{font-size:28px}.dialog-body{padding:21px}.form-progress{font-size:11px;gap:15px}.form-actions{gap:12px}.form-step-count{font-size:11px}.home-product-links>span{width:100%}.hero-service-intro{font-size:10px}.preview-overlay{display:none}}
/* A focus target for route announcements is not a visible interactive box. */
h1[tabindex="-1"]:focus{outline:none}
.experience-tools input[type=range]{padding:0;border:0;min-height:18px;height:18px;background:transparent}


/* Constellation v4 • authoritative blue/white solution-led layer.
   The shared hero begins at document y=0. The fixed navigation overlays that
   same image. Transparent logo PNGs have real alpha; CSS does not fake it. */
body.theme-constellation{
 --bg:#fff;--header:transparent;--panel:#f2f7fc;--ink:#08244d;--muted:#526882;--rule:#cfdeed;
 --accent:#164f92;--accent2:#a6d2ff;--on-accent:#fff;--footer:#08244d;--footer-ink:#e5effa;
 --max:1540px;--gutter:clamp(20px,4.2vw,72px);--nav-height:100px;
 color:var(--ink);background:#fff;overflow-x:clip;font-family:'Segoe UI',Arial,sans-serif;
}
html{scroll-padding-top:118px}h1,h2,h3{letter-spacing:-.035em}p{line-height:1.65}
body.theme-constellation .site-nav{position:fixed;inset:0 0 auto;padding:0;min-height:0;color:#fff;background:transparent;border:0;box-shadow:none;backdrop-filter:none;z-index:90;transition:background .25s,box-shadow .25s}
.nav-inner{display:flex;align-items:center;gap:28px;min-height:var(--nav-height);max-width:var(--max);margin:auto;padding:16px var(--gutter);width:100%}
.site-nav.scrolled,.menu-open .site-nav{background:rgba(8,36,77,.95)!important;backdrop-filter:blur(16px)!important;box-shadow:0 8px 25px #031c3520!important}
.site-nav .brand-slot{width:246px;background:transparent;max-width:34vw}
.brand-motion-link,.brand-motion-stage{background:transparent!important;box-shadow:none!important;border:none!important}
.brand-motion-stage{aspect-ratio:996/301;width:100%;overflow:visible}
.brand-motion-poster{width:100%;height:auto;opacity:0;pointer-events:none}
.brand-o-motion{display:block;width:100%;height:100%;position:absolute;inset:0}
body.theme-constellation .primary-nav{gap:25px;margin-left:auto;min-width:0}
.primary-nav a{font-size:15px;font-weight:500;color:#fff}.primary-nav a:after{background:#b8ddff}
body.theme-constellation .nav-book{border:1px solid #ffffff8c;background:rgba(255,255,255,.075);color:#fff;border-radius:100px;font-size:14px;white-space:nowrap;gap:12px;box-shadow:none;min-height:46px}
body.theme-constellation .nav-book:hover{background:#fff;color:#08244d;transform:translateY(-2px)}
.menu-toggle{color:#fff;width:44px;padding:8px;min-height:44px;position:relative}
.menu-toggle span{height:2px;width:24px;display:block;margin:6px auto;background:currentColor}
.menu-panel{top:var(--nav-height);background:rgba(8,36,77,.98);color:#fff;max-height:calc(100dvh - var(--nav-height));overflow:auto;z-index:89;border-color:#ffffff24}
.menu-panel a{font-size:22px;line-height:1.5}.menu-panel a:last-child{font-size:16px;color:#badbff;margin-top:12px}
body.theme-constellation .experience-tools{position:fixed;bottom:18px;right:22px;z-index:70;gap:12px;background:rgba(8,36,77,.88);backdrop-filter:blur(16px);border:1px solid #ffffff35;color:#fff;border-radius:100px;padding:5px 14px;box-shadow:0 5px 20px #001c3820}
.experience-tools button{font-size:12px;min-height:36px;color:#fff}.experience-tools input[type=range]{width:40px;accent-color:#c3e2ff}.sound-dot{background:#b4c8dd}[aria-pressed=true] .sound-dot{background:#a5d6ff}
.prototype-note{background:#061d3d;color:#b5cbe3;text-align:center;padding:24px var(--gutter) 70px;font-size:12px}
/* One seamless photographic composition per page. */
body.theme-constellation main>.shared-hero{position:relative;isolation:isolate;margin:0;padding:0;max-width:none;width:100%;background:#08244d;color:#fff;overflow:hidden;border:0;border-radius:0}
.hero-backdrop,.hero-scrim{position:absolute;inset:0;z-index:-2;pointer-events:none;overflow:hidden}
.hero-backdrop img{display:block;width:100%;height:100%;max-width:none;object-fit:cover;animation:hero-drift 28s ease-in-out infinite alternate;transform-origin:55% 38%;filter:saturate(.66)}
.hero-scrim{z-index:-1;background:linear-gradient(90deg,rgba(8,36,77,.88) 0%,rgba(8,36,77,.64) 43%,rgba(8,36,77,.57) 100%),linear-gradient(180deg,rgba(8,36,77,.56) 0%,transparent 22%,rgba(8,36,77,.24) 100%)}
.hero-grid{width:100%;max-width:var(--max);padding:calc(var(--site-header-height, var(--nav-height)) + 50px) var(--gutter) 68px;margin:auto;position:relative;display:grid;grid-template-columns:minmax(0,.83fr) minmax(0,1.35fr);column-gap:clamp(34px,4vw,68px);row-gap:34px;align-items:center}
.hero-with-map .hero-grid{grid-template-areas:'intro map' 'detail map';min-height:920px;padding-top:calc(var(--site-header-height, var(--nav-height)) + 38px)}
.hero-intro{grid-area:intro;min-width:0;align-self:end}.hero-network{grid-area:map;min-width:0;align-self:center}.hero-detail{grid-area:detail;align-self:start}
.hero-standard .hero-grid{min-height:675px;grid-template-areas:'intro note';grid-template-columns:minmax(0,1.25fr) minmax(0,.8fr);align-items:end;column-gap:clamp(50px,8vw,170px);padding-top:calc(var(--site-header-height, var(--nav-height)) + 78px);padding-bottom:95px}
.hero-standard .hero-intro{align-self:center}.hero-note{grid-area:note;align-self:center;min-width:0}
.shared-hero h1{font-size:clamp(39px,4.55vw,69px);font-weight:500;line-height:1.1;letter-spacing:-.045em;color:#fff;margin:0 0 24px;max-width:20ch;overflow-wrap:break-word;text-wrap:balance}
.hero-with-map h1{font-size:clamp(40px,4.15vw,62px);max-width:15ch;line-height:1.08}.shared-hero h1 em{color:#b9dcff;font-style:normal}
.shared-hero .hero-lead{font-size:18px;line-height:1.65;max-width:53ch;color:#ecf4fc;font-weight:400;margin:0}
.shared-hero .hero-kicker{font-size:12px;letter-spacing:.1em;font-weight:600;text-transform:uppercase;color:#e0eefb;margin:0 0 22px;gap:12px;max-width:100%}.hero-kicker>span{display:block;width:26px;height:1px;background:#bbdaff;flex:none}
.shared-hero .hero-actions{margin-top:26px;gap:14px 23px}.hero-small{font-size:12px;color:#d3e6fa;margin-top:18px;max-width:44ch}
body.theme-constellation .btn-z{border-radius:100px;background:#164f92;color:#fff;box-shadow:none}.btn-z:hover{background:#0d3d7b}
body.theme-constellation .shared-hero .hero-book{background:rgba(255,255,255,.10);border:1px solid #ffffff8f;color:#fff;backdrop-filter:blur(8px);padding:12px 19px;min-height:48px;gap:12px;font-size:14px}
body.theme-constellation .shared-hero .hero-book:hover{background:#fff;color:#08244d}.hero-secondary{font-size:14px;color:#fff;min-height:44px;display:inline-flex;align-items:center;gap:16px;border-bottom:1px solid #ffffff65}
.shared-hero .breadcrumbs{font-size:12px;letter-spacing:.02em;display:flex;flex-wrap:wrap;gap:12px;margin:0 0 26px;color:#d4e8fb}.shared-hero .breadcrumbs a{border:0}
.hero-bottom-line{position:absolute;bottom:20px;left:var(--gutter);right:var(--gutter);display:flex;gap:20px;justify-content:space-between;border-top:1px solid #ffffff24;padding-top:13px;font-size:10px;letter-spacing:.14em;color:#c2d9ef;line-height:1.6}
/* Real translucent explanation panels. Only the surface is translucent. */
body.theme-constellation .glass-detail{background:rgba(8,36,77,.20);border:1px solid rgba(232,243,255,.28);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:0 12px 35px #00183412;border-radius:22px;padding:23px 26px;color:#fff;max-width:100%;margin:0;min-height:0}
body.theme-constellation .service-focus .focus-top{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:10px}
body.theme-constellation .service-focus .focus-name{color:#bcdcff;font-size:11px;letter-spacing:.1em;font-weight:600;text-transform:uppercase;margin:0}
.focus-index{font-size:11px;letter-spacing:.06em;color:#d0e5f8;white-space:nowrap}
body.theme-constellation .service-focus h3{font-size:21px;line-height:1.28;margin-bottom:10px;max-width:36ch;color:inherit;letter-spacing:-.015em}
body.theme-constellation .service-focus p{font-size:15px;color:#e9f3ff;max-width:58ch;line-height:1.65;margin:0}
body.theme-constellation .service-focus>a{font-size:13px;line-height:1.4;min-height:36px;display:inline-flex;align-items:center;gap:20px;color:#fff;border-bottom:1px solid #ffffff50;margin-top:12px}
.hero-note .note-eyebrow,.hero-note .eyebrow{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:#b6d9ff;margin-bottom:18px}
.hero-note h3{color:#fff;font-size:28px;line-height:1.2;margin-bottom:18px}
.hero-note p{font-size:17px;color:#ecf5ff;margin:0 0 15px}.hero-note p:last-child{margin:0}.hero-note .field-hint,.hero-note .supporting-product{font-size:12px;display:block;color:#d0e3f5;margin-top:16px}
/* Eight connected customer challenges, not six product badges. */
.hero-map-eyebrow{display:flex;justify-content:space-between;gap:20px;color:#ccdef0;font-size:10px;letter-spacing:.13em;padding:0 10px 12px;border-bottom:1px solid #ffffff20}
.network{position:relative;height:645px;width:100%;max-width:850px;margin:0 auto;isolation:isolate;min-width:0;background:transparent;overflow:visible}
.network-links{position:absolute;inset:0;width:100%;height:100%;z-index:-1;pointer-events:none;overflow:visible}.network-links path{fill:none;stroke:#9bc6ed5c;stroke-width:1}.network-links .signal{stroke:#a9d8ff;stroke-width:1.8;stroke-dasharray:4 96;animation:dash 7s linear infinite;opacity:.50}.network-links .signal.is-active{opacity:1;stroke:#fff;stroke-width:2.8}
.network-rings{position:absolute;left:50%;top:50%;width:64%;height:69%;border-radius:50%;border:1px solid #b8d9ff18;transform:translate(-50%,-50%);pointer-events:none;z-index:-1}.network-rings:before{content:'';position:absolute;inset:22%;border:1px dashed #c2e0ff2c;border-radius:50%;animation:spin 85s linear infinite}
.network-centre{position:absolute;left:50%;top:50%;width:184px;height:184px;transform:translate(-50%,-50%);border:1px solid #c2e5ff68;border-radius:50%;background:radial-gradient(circle at 25% 20%,#4473a14d,#08244d88);backdrop-filter:blur(5px);color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;z-index:2;box-shadow:0 0 70px #67b5fb10}
.network-centre:before{content:'';position:absolute;inset:-11px;border:1px dashed #b1d9ff4f;border-radius:50%;animation:spin 45s linear infinite}
.network-centre small{font-size:10px;letter-spacing:.13em;color:#d0e9ff}.network-centre strong{font-size:31px;line-height:1.07;font-weight:500;letter-spacing:-.04em;margin:10px 0}.network-centre>span{font-size:10px;letter-spacing:.02em;color:#c9e4fc}
.map-node{position:absolute;left:var(--x);top:var(--y);transform:translate(-50%,-50%);width:158px;min-height:120px;padding:0;text-align:center;z-index:4;color:#fff;touch-action:manipulation}
.node-photo{display:block;width:78px;height:78px;padding:4px;border:1px solid #deefff75;border-radius:50%;margin:0 auto 9px;background:rgba(8,36,77,.22);transition:transform .3s,border-color .3s,box-shadow .3s;position:relative}
.node-photo img{width:100%;height:100%;object-fit:cover;border-radius:50%;filter:saturate(.8)}
.node-photo:after{content:'';position:absolute;inset:-5px;border:1px solid transparent;border-radius:50%;transition:border-color .3s}
.node-name{display:block;font-size:14px;line-height:1.24;font-weight:600;color:#fff;text-shadow:0 2px 8px #0008;max-width:145px;margin:auto;transition:transform .3s}
.node-number{display:block;font-size:10px;color:#c1daef;letter-spacing:.12em;margin-top:4px}
.map-node:hover .node-photo,.map-node:focus-visible .node-photo,.map-node.is-active .node-photo{transform:scale(1.10);border-color:#fff;box-shadow:0 0 32px #a0d8ff33}
.map-node.is-active .node-photo:after{border-color:#b9dcff65}.map-node:hover .node-name,.map-node:focus-visible .node-name{transform:scale(1.035)}
.network-caption{font-size:11px;color:#d6e9fb;text-align:center;letter-spacing:.05em;line-height:1.5;margin:10px 0 0;max-width:none}
.map-node:focus-visible{outline:2px solid #daeeff;outline-offset:8px;border-radius:12px}
/* White predominantly; modest blue-tint sections with a matching navy footer. */
body.theme-constellation main>.content-block{position:relative;max-width:none;width:100%;padding-inline:var(--gutter);padding-block:clamp(52px,6vw,88px);margin:0;box-shadow:none;border:0;background:#fff}
body.theme-constellation main>.content-block>.wrap,body.theme-constellation main>.content-block>.v2-wrap{padding-inline:0;max-width:calc(var(--max) - var(--gutter)*2)}
body.theme-constellation main>.surface-white{background:#fff}
body.theme-constellation main>.surface-blue{background:#edf5fc}
body.theme-constellation .human-intro{border:0;color:var(--ink)}
body.theme-constellation .home-product-links,body.theme-constellation .home-page-routes a{background:none}
body.theme-constellation .home-product-links>span{font-size:11px}
body.theme-constellation .section-opening,body.theme-constellation .section-head{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:40px;align-items:center}
.section-opening>p,.section-head>p{max-width:60ch;justify-self:stretch;font-size:17px}
body.theme-constellation main>.outcome-ribbon{background:#fff;padding-block:22px;border-bottom:1px solid #d6e3f0}
body.theme-constellation .outcome-inner{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:0;max-width:1396px;margin:auto}
.outcome-inner button{color:#08244d}.outcome-inner .ribbon-intro{color:#536e8f}
body.theme-constellation .sector-photo{border-radius:160px 160px 10px 10px;border:0;background:#08244d;overflow:hidden}
body.theme-constellation .sector-photo svg{display:none!important}
body.theme-constellation .sector-photo-text,body.theme-constellation .sector-photo-text small,body.theme-constellation .sector-photo-text strong{color:#fff}
body.theme-constellation .sector-note{font-size:12px;color:#536e8f}
body.theme-constellation main>.page-cta,body.theme-constellation main>.cta-section{background:#164f92;color:#fff;padding-block:64px}
.page-cta h2,.cta-section h2,.cta-section h3{color:#fff}.page-cta p,.cta-section p{color:#deedfb}
.page-cta .kicker,.cta-section .eyebrow,.cta-section em,.page-cta a,.cta-section a{color:#fff}
body.theme-constellation .page-cta .btn-z,body.theme-constellation .cta-section .btn-z{background:#fff;color:#08244d}
body.theme-constellation .page-cta .enquiry-alternative,body.theme-constellation .cta-section .enquiry-alternative{color:#fff;border-color:#ffffff55}
.page-content-anchor{display:block;height:0;position:relative;top:-22px}
.solution-paths{border-top:1px solid var(--rule);margin-top:30px}
.solution-path{display:grid;grid-template-columns:38px minmax(0,1fr) 165px 28px;gap:24px;align-items:center;padding:24px 10px;border-bottom:1px solid var(--rule);transition:background .25s}
.solution-path:hover{background:#e2effb}.path-number{font-size:12px;color:#617b99;align-self:start;margin-top:10px}.solution-path h3{font-size:24px;margin-bottom:10px}.solution-path p{font-size:17px;color:#536982;max-width:75ch}.solution-path small{display:block;font-size:12px;color:#537295;margin-top:8px}.path-photo{height:106px;overflow:hidden;border-radius:100px}.path-photo img{width:100%;height:100%;object-fit:cover}.path-arrow{font-size:24px;color:#164f92}
.inline-network{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,.8fr);gap:40px;align-items:center;background:#08244d;padding:26px 38px;color:#fff;border-radius:30px;margin-bottom:25px}
.inline-network .network{height:620px}.inline-network .map-node{width:144px}.inline-network .node-photo{width:68px;height:68px}.inline-network .node-name{font-size:13px}.inline-network .network-centre{width:162px;height:162px}.inline-network .network-centre strong{font-size:28px}
.human-photo{border-radius:20px;overflow:hidden}.human-photo figcaption{background:#fff;padding:12px 16px;font-size:13px}.human-photo img{width:100%;object-fit:cover}
.services-readable>summary{font-size:15px;min-height:50px}.services-readable{background:none}
body.theme-constellation .site-footer{background:#08244d;color:#e2effc;padding-top:65px}
.site-footer .footer-top{border:0}.site-footer .footer-col-title{color:#adceee}.site-footer .footer-links a{color:#e6f2fd;font-size:15px}.site-footer a:hover{color:#fff}.site-footer .footer-tagline{color:#c4d9ef}.site-footer .brand-motion-link{max-width:310px}
.site-footer .footer-bottom,.site-footer .footer-page-nav,.site-footer .photo-credits{border-color:#ffffff25;color:#b6d0e7}.photo-credits a{color:inherit}
body.theme-constellation dialog{background:#fff;color:#08244d;border-radius:18px}dialog input,dialog select,dialog textarea{background:#fff}dialog .form-mode{color:#164f92}
.voice-demo-header .brand-motion-link{max-width:250px}.voice-demo-header{color:#08244d}
@keyframes hero-drift{from{transform:scale(1.035) translateX(-.3%)}to{transform:scale(1.095) translateX(.4%)}}
@media(min-width:1650px){.hero-with-map .hero-grid{min-height:970px}.network{height:690px}.node-photo{width:86px;height:86px}.node-name{font-size:15px}.network-centre{width:200px;height:200px}}
@media(max-width:1190px){.nav-inner{gap:18px}.site-nav .brand-slot{width:215px}.primary-nav{gap:18px!important}.primary-nav a{font-size:14px}.site-nav .nav-book{font-size:12px!important;padding:12px 15px}.hero-grid{column-gap:28px}.hero-with-map h1{font-size:48px}.network{height:600px}.map-node{width:135px}.node-photo{width:66px;height:66px}.node-name{font-size:13px;max-width:125px}.network-centre{width:145px;height:145px}.network-centre strong{font-size:25px}.network-centre small{font-size:8px}.network-centre>span{font-size:9px}.hero-standard .hero-grid{column-gap:45px}.hero-note h3{font-size:24px}.hero-note p{font-size:16px}}
@media(max-width:1023px){body.theme-constellation{--nav-height:88px}.primary-nav,.site-nav .nav-book{display:none}.menu-toggle{display:block}.site-nav .brand-slot{width:225px;max-width:70%}.hero-with-map .hero-grid{grid-template-columns:minmax(0,1fr);grid-template-areas:'intro' 'map' 'detail';min-height:0;padding-top:calc(var(--site-header-height, var(--nav-height)) + 46px);row-gap:30px}.hero-intro{align-self:start}.hero-with-map h1{max-width:18ch;font-size:56px}.hero-with-map .hero-lead{max-width:65ch}.hero-network{max-width:820px;justify-self:center;width:100%}.network{height:650px}.node-photo{width:82px;height:82px}.node-name{font-size:15px;max-width:150px}.map-node{width:165px}.network-centre{width:180px;height:180px}.network-centre strong{font-size:30px}.network-centre small{font-size:10px}.network-centre>span{font-size:10px}.hero-detail{max-width:700px!important;width:100%;justify-self:center}.hero-standard .hero-grid{grid-template-columns:minmax(0,1fr) minmax(0,.8fr);padding-top:calc(var(--site-header-height, var(--nav-height)) + 60px);min-height:660px;gap:35px}.shared-hero h1{font-size:44px}.shared-hero .hero-lead{font-size:17px}.outcome-inner{flex-wrap:wrap!important}.ribbon-intro{width:100%}.inline-network{grid-template-columns:minmax(0,1fr);padding:24px;gap:22px}.inline-network .network{height:680px}.inline-network .map-node{width:155px}.inline-network .node-photo{width:78px;height:78px}.inline-network .node-name{font-size:14px}.human-intro{grid-template-columns:1fr!important}.section-opening,.section-head{grid-template-columns:1fr!important}.home-product-links{flex-wrap:wrap}.hero-note{padding:22px!important}.experience-tools{bottom:12px!important;right:12px!important}}
@media(max-width:639px){body.theme-constellation{--nav-height:82px;--gutter:22px}.nav-inner{padding-block:12px}.site-nav .brand-slot{width:200px}.shared-hero .hero-grid{grid-template-columns:minmax(0,1fr);padding-top:calc(var(--site-header-height, var(--nav-height)) + 26px);padding-bottom:74px;gap:28px}.hero-standard .hero-grid{grid-template-areas:'intro' 'note';min-height:0;padding-bottom:80px}.shared-hero h1,.hero-with-map h1{font-size:40px;line-height:1.12;max-width:20ch;letter-spacing:-.04em}.shared-hero .hero-kicker{font-size:10px;margin-bottom:19px;line-height:1.6;letter-spacing:.07em}.shared-hero .hero-lead{font-size:16px;line-height:1.7}.shared-hero .breadcrumbs{font-size:11px;gap:8px;margin-bottom:22px}.hero-actions{gap:15px 22px!important;margin-top:22px!important}.shared-hero .hero-book{font-size:13px!important;padding:13px 16px!important}.hero-small{font-size:12px}.hero-map-eyebrow{font-size:9px;padding-bottom:14px}.hero-bottom-line{font-size:8px;gap:18px;letter-spacing:.08em}.hero-bottom-line>span:last-child{text-align:right}.hero-note h3{font-size:25px}.hero-note p{font-size:16px}.hero-note .eyebrow{font-size:11px}.glass-detail{border-radius:18px!important;padding:22px!important}.service-focus h3{font-size:21px!important}.service-focus p{font-size:15px!important}.service-focus .focus-name{font-size:10px!important}
 /* A connected touch layout, not shrunken labels or horizontally clipped nodes. */
 .network,.inline-network .network{height:auto;max-width:none;padding-top:148px;position:relative}
 .network-links{display:none}.network-rings{display:none}.network-centre,.inline-network .network-centre{top:0;left:50%;transform:translateX(-50%);width:125px;height:125px}.network-centre strong,.inline-network .network-centre strong{font-size:24px;margin:8px 0}.network-centre small{font-size:8px}.network-centre>span{font-size:8px}.network-centre:before{inset:-7px}
 .map-nodes{position:relative;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 22px;width:100%;padding:12px 0}
 .map-nodes:before{content:'';position:absolute;top:-23px;bottom:63px;left:50%;width:1px;background:linear-gradient(#badcff88,#badcff30)}
 .map-node,.inline-network .map-node{position:relative;left:auto;top:auto;transform:none;width:100%;min-width:0;min-height:126px;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;min-height:126px;padding:0 3px}
 .map-node:before{content:'';position:absolute;top:35px;height:1px;left:50%;width:calc(50% + 12px);background:#bbdfff55;z-index:-1}.map-node:nth-child(even):before{left:auto;right:50%}
 .node-photo,.inline-network .node-photo{width:65px;height:65px;margin-bottom:10px}.node-name,.inline-network .node-name{font-size:13px;line-height:1.3;max-width:145px}.node-number{font-size:9px;margin-top:5px}.network-caption{margin-top:4px;font-size:10px}.hero-detail{margin-top:0!important}
 .solution-path{grid-template-columns:22px minmax(0,1fr) 62px;gap:13px;padding:22px 0}.path-photo{width:62px;height:62px;border-radius:50%;align-self:start;margin-top:8px}.path-arrow{display:none}.solution-path h3{font-size:20px}.solution-path p{font-size:15px}.solution-path small{font-size:11px}.path-number{font-size:10px}.section-opening>p,.section-head>p{font-size:16px}.inline-network{border-radius:22px;padding:24px 18px}.content-block .section-opening h2{font-size:32px}.outcome-inner{display:grid!important;grid-template-columns:minmax(0,1fr);gap:15px!important}.outcome-inner button{font-size:17px}.site-footer .brand-motion-link{max-width:260px}.experience-tools input[type=range]{display:none}.experience-tools button{font-size:11px}.experience-tools{padding:4px 12px!important;gap:10px!important}.page-call-links,.direct-contact{flex-wrap:wrap}.page-cta h2{font-size:34px}}
@media(max-width:355px){.shared-hero h1{font-size:36px}.hero-actions .hero-book{font-size:12px!important;gap:9px}.map-node{padding-inline:0}.node-name{font-size:12px!important}.node-photo{width:60px;height:60px}.site-nav .brand-slot{width:183px}.hero-detail{padding:18px!important}}
@media(prefers-reduced-motion:reduce){.hero-backdrop img{animation:none;transform:none}.network-centre:before,.network-rings:before,.network-links .signal{animation:none}.node-photo,.node-name{transition:none}}
@media print{.site-nav,.experience-tools{display:none}.shared-hero .hero-grid{padding-top:40px}.shared-hero{print-color-adjust:exact}.hero-backdrop img{animation:none}}
/* Shared hero supersedes the inherited high-specificity content-section rule. */
body.theme-constellation main>.shared-hero{padding:0!important;max-width:none!important;margin:0!important}



/* ZAVVION / CINEMATIC SOLUTIONS / V6
   White-first editorial pages. Photo movement is optional. Frosting is local
   to controls, solution lenses and map nodes: never to an entire photograph. */
body.theme-constellation{
 --bg:#fff;--panel:#f2f7fc;--ink:#082450;--muted:#526780;--rule:#d5e1ec;
 --accent:#164f92;--accent2:#badcff;--on-accent:#fff;--footer:#082450;
 --max:1500px;--gutter:clamp(22px,4.3vw,78px);--nav-height:100px;
 --ease:cubic-bezier(.2,.75,.25,1);background:#fff;
}
html{font-size:100%;scroll-padding-top:120px}
h1,h2,h3{letter-spacing:-.04em}
h2{font-size:clamp(32px,3.5vw,50px);line-height:1.13;text-wrap:balance}
p{line-height:1.7}
button,a{touch-action:manipulation}
button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #68adf3;outline-offset:5px}
body.theme-constellation .site-nav .brand-slot{width:240px;max-width:34vw;filter:drop-shadow(0 1px 5px #0003)}
body.theme-constellation .nav-inner{padding-block:14px;min-height:var(--nav-height)}
body.theme-constellation .site-nav:not(.scrolled){background:linear-gradient(180deg,rgba(7,17,30,.22),transparent);backdrop-filter:none}
body.theme-constellation .site-nav.scrolled{background:rgba(8,36,80,.92)!important;backdrop-filter:blur(18px)!important;-webkit-backdrop-filter:blur(18px)!important;box-shadow:0 12px 32px #04163116!important}
body.theme-constellation .site-nav .primary-nav a{font-size:15px;text-shadow:0 1px 6px #0008}
body.theme-constellation .site-nav .nav-book{backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);background:#ffffff0b;border-color:#ffffff85}
body.theme-constellation .site-nav .nav-book:hover{background:white;color:#082450}
body.theme-constellation .menu-panel{background:rgba(8,36,80,.97);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
body.theme-constellation .experience-tools{bottom:18px;right:20px;background:rgba(8,36,80,.86);border-color:#ffffff2d;font-size:12px;box-shadow:0 10px 40px #05162f20}
/* Hero: the actual photograph runs uninterrupted behind the navigation. */
body.theme-constellation main>.shared-hero{background:#082450;overflow:hidden;isolation:isolate}
.hero-backdrop.hero-gallery{position:absolute;inset:0;overflow:hidden;z-index:-2;filter:none;backdrop-filter:none}
.hero-photo-layer{position:absolute;inset:0;opacity:0;transition:opacity 1.5s ease;pointer-events:none}
.hero-photo-layer.is-active{opacity:1}
body.theme-constellation .hero-gallery .hero-image{width:100%;height:100%;object-fit:cover;max-width:none;filter:none;opacity:1;animation:photo-breathe-v7 24s ease-in-out infinite alternate;animation-play-state:paused;will-change:transform}
body.theme-constellation .hero-photo-layer.is-active .hero-image{animation-play-state:running}
body.theme-constellation .hero-is-paused .hero-image,.motion-paused .hero-gallery .hero-image{animation-play-state:paused!important}
@keyframes photo-breathe-v7{from{transform:scale(1.025) translateX(-.2%)}to{transform:scale(1.085) translateX(.5%)}}
body.theme-constellation .shared-hero .hero-scrim{background:linear-gradient(90deg,rgba(5,13,22,.62),rgba(5,13,22,.37) 37%,rgba(5,13,22,.065) 77%),linear-gradient(180deg,rgba(5,13,22,.32),transparent 27%,transparent 65%,rgba(5,13,22,.41));filter:none;backdrop-filter:none;-webkit-backdrop-filter:none}
body.theme-constellation .shared-hero .hero-grid{width:100%;max-width:var(--max);margin:auto;padding:calc(var(--site-header-height, var(--nav-height)) + 55px) var(--gutter) 118px;row-gap:28px}
body.theme-constellation .shared-hero h1{font-size:clamp(40px,4.5vw,66px);line-height:1.11;font-weight:500;letter-spacing:-.052em;max-width:19ch;margin-bottom:26px;text-wrap:balance;text-shadow:0 2px 13px #0005}
body.theme-constellation .shared-hero h1 em{color:#e1f0ff}
body.theme-constellation .shared-hero .hero-kicker{font-size:12px;line-height:1.5;letter-spacing:.12em;color:#fff;text-shadow:0 1px 5px #0008;margin-bottom:25px}
body.theme-constellation .shared-hero .hero-lead{font-size:18px;line-height:1.75;color:#fff;max-width:48ch;text-shadow:0 1px 5px #0009}
body.theme-constellation .shared-hero .hero-small{font-size:12px;line-height:1.6;color:#f0f7ff;text-shadow:0 1px 5px #0009;max-width:47ch;margin-top:24px}
body.theme-constellation .shared-hero .hero-actions{gap:18px 26px;margin-top:30px}
body.theme-constellation .shared-hero .hero-book{background:rgba(255,255,255,.16);border:1px solid #ffffffe0;border-radius:40px;min-height:52px;padding:14px 22px;font-size:14px;box-shadow:inset 0 1px 0 #ffffff1f}
body.theme-constellation .shared-hero .hero-book:hover{background:#fff;color:#082450;transform:translateY(-2px)}
body.theme-constellation .hero-secondary{color:white;font-size:14px;text-shadow:0 1px 5px #0009}
body.theme-constellation .shared-hero.hero-cinematic .hero-grid{grid-template-columns:minmax(0,1.05fr) minmax(0,1.08fr);grid-template-areas:'intro stage';align-items:center;column-gap:clamp(45px,7.5vw,118px);min-height:900px}
.hero-cinematic .hero-intro{align-self:center}
.outcome-stage{grid-area:stage;min-width:0;width:100%;position:relative;z-index:2;align-self:center}
.stage-heading{display:flex;align-items:center;gap:10px;border-bottom:1px solid #ffffff43;padding:0 0 18px;color:#fff;margin-bottom:22px}
.stage-heading p{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.09em;text-shadow:0 1px 5px #0008}
.stage-heading>span:last-child{margin-left:auto;font-size:10px;white-space:nowrap;color:#e5f1ff}
.live-indicator{display:block;width:6px;height:6px;border-radius:50%;background:#d1e9ff;box-shadow:0 0 0 5px #c6e2ff1c;flex:none;animation:indicator-breathe 4s ease-in-out infinite}
@keyframes indicator-breathe{50%{box-shadow:0 0 0 8px #c6e2ff0b}}
.outcome-lenses{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px 14px;padding-bottom:19px;align-items:stretch;perspective:1400px;transform-style:preserve-3d}
.solution-lens{--lens-shift:0px;--lens-depth:-24px;--lens-scale:.955;--lens-border:rgba(255,255,255,.25);position:relative;display:grid;grid-template-columns:30px minmax(0,1fr) 17px;align-items:center;gap:11px;text-align:left;min-height:76px;padding:12px 15px;border:1px solid var(--lens-border);border-radius:19px;background:linear-gradient(120deg,#ffffff10,#ffffff03),rgba(8,25,43,.22);backdrop-filter:blur(13px);-webkit-backdrop-filter:blur(13px);color:#fff;box-shadow:inset 0 1px 0 #ffffff10,0 9px 24px #04142612;transition:background .35s,border-color .35s,transform .55s cubic-bezier(.2,.75,.2,1),box-shadow .45s,opacity .4s,filter .45s;isolation:isolate;min-width:0;transform:translate3d(0,var(--lens-shift),var(--lens-depth)) scale(var(--lens-scale));opacity:.74;filter:saturate(.82) blur(.15px);will-change:transform,opacity,filter}
.solution-lens:nth-child(even){--lens-shift:10px}
.solution-lens .lens-icon{width:30px;height:30px;display:grid;place-items:center;color:#deefff}
.solution-lens .lens-icon svg{width:25px;height:25px}
.lens-name{font-size:16px;line-height:1.33;font-weight:500;text-shadow:0 1px 4px #0007;min-width:0}
.lens-marker{font-size:10px;letter-spacing:.05em;color:#e0edfb;align-self:start;margin-top:2px}
.solution-lens.is-active,.solution-lens:hover,.solution-lens:focus-visible{--lens-scale:1.06;--lens-depth:52px;--lens-shift:-4px;--lens-border:#ecf8fff0;background:linear-gradient(130deg,#ffffff26,#ffffff0a),rgba(9,38,67,.44);box-shadow:inset 0 1px 0 #ffffff36,0 24px 56px #031c3842;opacity:1;filter:none;z-index:4}
.solution-lens:nth-child(even).is-active,.solution-lens:nth-child(even):hover,.solution-lens:nth-child(even):focus-visible{--lens-shift:6px}
body.theme-constellation .glass-detail{background:linear-gradient(135deg,#ffffff14,#ffffff04),rgba(7,21,35,.25);border:1px solid #ffffff59;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:inset 0 1px 0 #ffffff0d,0 20px 55px #04162713;color:white;border-radius:24px}
body.theme-constellation .lens-detail{margin-top:12px;min-height:241px;padding:22px 25px;position:relative}
body.theme-constellation .service-focus h3{font-size:22px;line-height:1.3;letter-spacing:-.025em;max-width:36ch;color:white}
body.theme-constellation .service-focus p{font-size:16px;line-height:1.7;color:#fff;text-shadow:0 1px 3px #0005;max-width:65ch}
body.theme-constellation .service-focus .focus-name{font-size:10px;letter-spacing:.1em;color:#d2eaff}
body.theme-constellation .service-focus>a{font-size:14px;min-height:38px;border-color:#ffffff70;margin-top:12px}
body.theme-constellation .hero-standard .hero-grid{grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);grid-template-areas:'intro note';column-gap:clamp(70px,11vw,180px);min-height:730px;align-items:center}
body.theme-constellation .hero-note{align-self:center;padding:32px;max-width:460px;justify-self:end;position:relative}
.note-line{display:block;height:1px;width:42px;background:#cee7ff;margin:2px 0 24px}
body.theme-constellation .hero-note h3{font-size:27px;letter-spacing:-.03em;line-height:1.24}
body.theme-constellation .hero-note p{font-size:17px;line-height:1.7;color:#f2f8ff}
.hero-note .note-eyebrow{font-size:12px!important}
.hero-lower{position:absolute;bottom:24px;left:var(--gutter);right:var(--gutter);display:flex;justify-content:space-between;align-items:center;gap:22px;border-top:1px solid #ffffff35;padding-top:17px;z-index:4}
.photo-controls{display:flex;align-items:center;gap:24px;min-width:0;color:white}
.photo-scene{display:flex;align-items:center;gap:12px;font-size:11px;text-shadow:0 1px 6px #0008;white-space:nowrap}
.scene-tick{height:5px;width:5px;background:white;border-radius:50%}
.photo-scene>[data-photo-count]{font-variant-numeric:tabular-nums;letter-spacing:.08em}
.photo-scene .scene-label{opacity:.92}
.photo-selectors{display:flex;align-items:center;gap:8px}
.photo-selectors button{position:relative;padding:16px 0;width:34px;min-height:38px}
.photo-selectors button:before{content:'';position:absolute;left:0;right:0;top:50%;height:2px;background:#ffffff40}
.photo-selectors span{position:absolute;left:0;right:0;top:50%;height:2px;background:#fff;transform-origin:left;transform:scaleX(0)}
.photo-selectors .is-active span{transform:scaleX(var(--photo-progress,0))}
.hero-is-paused .photo-selectors .is-active:before{background:#fff}
.photo-arrows{display:flex;gap:6px}
.photo-arrows button{display:grid;place-content:center;width:38px;height:38px;border:1px solid #ffffff60;background:#ffffff0a;border-radius:50%;font:400 24px/1 Arial}
.photo-arrows button:hover{background:#ffffff25}
.hero-signature{font-size:10px;letter-spacing:.14em;color:#eef7ff;text-shadow:0 1px 5px #0009}
/* SOLUTIONS ONLY: eight local, feathered frosted nodes, sharp picture between. */
body.theme-constellation .hero-with-map .hero-grid{grid-template-columns:minmax(0,.76fr) minmax(0,1.32fr);grid-template-areas:'intro map' 'detail map';min-height:995px;column-gap:50px;row-gap:32px}
body.theme-constellation .hero-with-map .hero-intro{align-self:end}
body.theme-constellation .hero-with-map h1{font-size:clamp(42px,4.1vw,59px);max-width:15ch}
body.theme-constellation .hero-with-map .network{height:740px;max-width:none;background:transparent;filter:none;backdrop-filter:none;-webkit-backdrop-filter:none}
body.theme-constellation .hero-network{background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none;filter:none}
body.theme-constellation .hero-map-eyebrow{font-size:11px;letter-spacing:.09em;margin-bottom:15px;color:white;border-color:#ffffff38;text-shadow:0 1px 5px #0007}
body.theme-constellation .map-node{width:166px;min-height:146px;padding:10px 6px;isolation:isolate;background:transparent;border:0;border-radius:65px}
.node-glass{position:absolute;inset:-8px -14px -8px;z-index:-1;border-radius:48%;background:rgba(8,26,44,.35);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);mask-image:radial-gradient(ellipse at center,black 35%,rgba(0,0,0,.97) 62%,transparent 76%);-webkit-mask-image:radial-gradient(ellipse at center,black 35%,rgba(0,0,0,.97) 62%,transparent 76%);pointer-events:none;transition:background .3s}
.map-node.is-active .node-glass,.map-node:hover .node-glass{background:rgba(8,30,52,.55)}
body.theme-constellation .node-photo{width:86px;height:86px;padding:4px;background:#ffffff0c;border-color:#ffffffb0;box-shadow:0 8px 23px #0002;margin-bottom:9px}
body.theme-constellation .node-photo img{filter:none}
body.theme-constellation .node-name{font-size:16px;max-width:100%;line-height:1.3;color:white;font-weight:600;text-shadow:0 1px 6px #0009;position:relative}
body.theme-constellation .node-number{font-size:10px;color:white;text-shadow:0 1px 4px #000a}
body.theme-constellation .network-centre{width:180px;height:180px;background:linear-gradient(145deg,#ffffff22,#ffffff03),rgba(8,30,52,.3);backdrop-filter:blur(11px);-webkit-backdrop-filter:blur(11px);border-color:#ffffff75;box-shadow:0 12px 35px #0001}
body.theme-constellation .network-centre strong{font-size:31px;color:white;text-shadow:0 1px 5px #0007}
body.theme-constellation .network-centre small,.network-centre>span{color:#fff}
body.theme-constellation .hero-with-map .hero-detail{max-width:470px;align-self:start}
body.theme-constellation .network-caption{color:white;text-shadow:0 1px 6px #0008;font-size:12px}
body.theme-constellation .network-links path{stroke:#deeeff65;stroke-width:1.1}
body.theme-constellation .network-links .signal{stroke:#d4eaff;opacity:.6}
body.theme-constellation .network-links .signal.is-active{stroke:white;opacity:1}
/* The same sophistication below the fold: a single rail and generous white. */
body.theme-constellation main>.polished-content{display:block;width:100%;max-width:none;margin:0;padding:clamp(65px,7.2vw,106px) var(--gutter);position:relative;overflow:clip;background:white;border:0}
body.theme-constellation main>.polished-content.surface-blue{background:linear-gradient(125deg,#eef5fc,#f7faff 70%,#f0f6fc)}
.section-rail{max-width:calc(var(--max) - var(--gutter)*2);margin-inline:auto;width:100%;min-width:0;position:relative;z-index:1}
.section-rail>.wrap,.section-rail>.v2-wrap{width:100%;max-width:none;padding-inline:0}
.section-rail>*{min-width:0}
body.theme-constellation .section-opening,body.theme-constellation .section-head{grid-template-columns:minmax(0,1fr) minmax(0,.9fr);gap:clamp(32px,5vw,100px);align-items:center;margin-bottom:48px}
body.theme-constellation .section-opening>p,body.theme-constellation .section-head>p{max-width:60ch;width:100%;font-size:18px;line-height:1.8;color:#526780}
.polished-content .kicker,.polished-content .eyebrow{font-size:12px;font-weight:600;letter-spacing:.115em;color:#446584;margin-bottom:20px;position:relative}
.polished-content .muted-heading,.polished-content em{color:#3874ae}
.polished-content h2{max-width:24ch;color:#082450}
.polished-content h3{color:#082450}
body.theme-constellation .polished-content .btn-z{padding:14px 22px;min-height:50px;background:#082450;color:white}
body.theme-constellation .polished-content .btn-z:hover{background:#164f92;box-shadow:0 10px 28px #08245018}
body.theme-constellation .polished-content .editorial-link{border-color:#7799bc;color:#082450;font-weight:500}
body.theme-constellation main>.outcome-ribbon{padding-block:29px;background:white;border-bottom:1px solid #e1e9f1}
body.theme-constellation .outcome-inner{border:0;display:grid;grid-template-columns:.65fr repeat(3,minmax(0,1fr));gap:35px;align-items:center}
body.theme-constellation .outcome-inner button{font-size:17px;min-height:54px;line-height:1.45;border:0;border-left:1px solid #d9e5ef;padding:6px 0 6px 25px;gap:20px;justify-content:space-between;color:#082450}
body.theme-constellation .outcome-inner button:hover{color:#286dad}
body.theme-constellation .outcome-inner .ribbon-intro{font-size:11px;letter-spacing:.12em;color:#687f98}
.human-intro-rail{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.98fr);column-gap:clamp(36px,6vw,100px);row-gap:55px;align-items:start}
body.theme-constellation .intro-copy>p{font-size:18px;line-height:1.8;color:#526780}
body.theme-constellation .intro-heading h2{font-size:clamp(34px,3.6vw,51px);max-width:20ch}
.home-outcome-index{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;column-gap:64px;margin-top:2px;border-top:1px solid #c8d9e8}
.home-outcome-index>a{display:grid;grid-template-columns:25px minmax(0,1fr) 20px;align-items:center;gap:19px;border-bottom:1px solid #d5e2ee;padding:23px 0;font-size:20px;font-weight:500;line-height:1.35;transition:padding .3s,color .3s}
.home-outcome-index>a .index-number{font-size:10px;letter-spacing:.1em;color:#657f99}
.home-outcome-index>a>svg{width:18px;height:18px;color:#567a9f;transition:transform .35s}
.home-outcome-index>a:hover{color:#2366a5;padding-left:9px}
.home-outcome-index>a:hover>svg{transform:translate(2px,-2px)}
body.theme-constellation .chapter-links{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-top:9px}
body.theme-constellation .chapter-links>a{height:295px;min-width:0;position:relative;isolation:isolate;border:0;overflow:hidden;border-radius:25px;padding:0;background:#082450;display:block}
.chapter-links>a:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#071b31a8,transparent 75%);z-index:0;pointer-events:none}
.chapter-links .chapter-image{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease);filter:saturate(.9)}
.chapter-links>a:hover .chapter-image{transform:scale(1.065)}
.chapter-caption{position:absolute;left:22px;right:22px;bottom:22px;padding:18px 20px;background:rgba(10,29,50,.28);backdrop-filter:blur(11px);-webkit-backdrop-filter:blur(11px);border:1px solid #ffffff6a;border-radius:17px;z-index:1;display:grid;grid-template-columns:1fr 24px;gap:5px}
body.theme-constellation .chapter-caption>span:first-child{font-size:11px;letter-spacing:.09em;text-transform:uppercase;color:#e8f3ff}
body.theme-constellation .chapter-caption strong{grid-column:1;display:block;font-size:23px;line-height:1.35;font-weight:500;color:#fff}
body.theme-constellation .chapter-caption>.arrow{grid-column:2;grid-row:1/3;align-self:center;font-size:24px;color:white}
body.theme-constellation main>.delivery-preview{background:#f0f6fc}
.delivery-preview .section-opening{margin-bottom:50px}
.delivery-preview h2 .editorial-break{display:none}
.delivery-stages{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:42px;position:relative;margin-bottom:35px}
.delivery-stages:before{content:'';position:absolute;left:28px;right:28px;top:27px;height:1px;background:linear-gradient(90deg,#83a8ce,#cedfeb);pointer-events:none}
.delivery-stages article{min-width:0;position:relative}
.delivery-stages article>span{width:54px;height:54px;display:grid;place-items:center;border:1px solid #adcae6;border-radius:50%;font-size:12px;background:#f3f8fd;color:#1d527f;margin-bottom:28px;box-shadow:0 0 0 9px #f0f6fc}
.delivery-stages h3{font-size:23px;line-height:1.3;max-width:22ch;margin-bottom:15px}
.delivery-stages p{font-size:17px;line-height:1.8;color:#526780;max-width:40ch}
/* Photographs and their glass captions connect the hero to the page body. */
body.theme-constellation .sector-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px}
body.theme-constellation .sector-photo{width:100%;height:460px;border-radius:25px!important;margin:0;border:0;box-shadow:0 16px 45px #0824500e;isolation:isolate;transition:translate .5s var(--ease),box-shadow .5s}
body.theme-constellation .sector-photo:nth-child(2){margin-top:26px}
body.theme-constellation .sector-photo:nth-child(3){margin-top:52px}
body.theme-constellation .sector-photo:hover{translate:0 -6px;box-shadow:0 23px 50px #08245016}
body.theme-constellation .sector-photo>img{transition:transform 1.3s var(--ease);height:100%;width:100%;object-fit:cover}
body.theme-constellation .sector-shade{background:linear-gradient(0deg,#04162955,transparent 70%)}
body.theme-constellation .sector-photo-text{left:19px;right:19px;bottom:20px;border:1px solid #ffffff63;border-radius:19px;padding:20px;background:rgba(9,30,51,.36);backdrop-filter:blur(13px);-webkit-backdrop-filter:blur(13px);box-shadow:inset 0 1px 0 #ffffff10}
body.theme-constellation .sector-photo-text small{font-size:10px;line-height:1.5;letter-spacing:.09em;color:#e9f4ff}
body.theme-constellation .sector-photo-text strong{font-size:29px;font-weight:500;line-height:1.14;margin:14px 0 18px;color:white;letter-spacing:-.03em}
body.theme-constellation .sector-photo-text>span{padding-top:12px;border-top:1px solid #ffffff50;font-size:13px;line-height:1.6;color:#f1f8ff}
.sector-index{position:absolute;top:20px;left:22px;font-size:11px;letter-spacing:.1em;color:white;width:34px;height:34px;border:1px solid #ffffff8f;border-radius:50%;display:grid;place-items:center;background:#00000012;backdrop-filter:blur(5px)}
body.theme-constellation .sector-note{font-size:12px;margin-top:30px;color:#607d97}
/* Inner-page reading surfaces: clean editorial lines, subtle curved accents. */
.human-environment-rail{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:70px;align-items:center}
body.theme-constellation .human-environment-media{gap:19px;align-items:center}
body.theme-constellation .human-photo{border-radius:24px!important;box-shadow:0 15px 38px #08245012;overflow:hidden}
body.theme-constellation .human-photo-small{margin-top:50px}
body.theme-constellation .human-environment-copy>p:not(.kicker){font-size:18px;line-height:1.8;color:#526780}
body.theme-constellation .human-environment-copy h2{margin-bottom:25px}
body.theme-constellation .human-environment-points{list-style:none;padding:0;margin:25px 0}
.human-environment-points li{position:relative;padding:14px 0 14px 27px;border-top:1px solid #dae6ef;font-size:16px;color:#244766}
.human-environment-points li:before{content:'';position:absolute;left:0;top:23px;width:6px;height:6px;border:1px solid #6a97c0;border-radius:50%}
body.theme-constellation .approach-layout{grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:clamp(42px,7vw,110px)}
body.theme-constellation .approach-heading h2{max-width:18ch}
body.theme-constellation .approach-heading>p:not(.kicker){font-size:18px;line-height:1.8;max-width:46ch;color:#526780;margin-top:24px}
body.theme-constellation .approach-photo{margin-top:30px;max-width:none;border-radius:24px;box-shadow:none}
body.theme-constellation .approach-photo img{aspect-ratio:1.5;height:auto;width:100%;object-fit:cover;transition:transform 1.2s}
body.theme-constellation .approach-photo figcaption{font-size:13px;padding:16px 20px;line-height:1.65;background:white;border:1px solid #dce7f1;border-top:0}
body.theme-constellation .approach-list{position:relative}
body.theme-constellation .approach-list article{display:grid;grid-template-columns:44px minmax(0,1fr);gap:24px;padding:32px 0;border-color:#cbdde9}
body.theme-constellation .approach-list article>span{width:42px;height:42px;display:grid;place-items:center;border:1px solid #b6cfe6;border-radius:50%;font-size:12px;color:#4076a2;margin:0;padding:0}
body.theme-constellation .approach-list h3{font-size:25px;line-height:1.3;margin:0 0 16px}
body.theme-constellation .approach-list p{font-size:17px;line-height:1.85;max-width:none;color:#526780}
body.theme-constellation .solution-paths{border-top:1px solid #cbdce9;margin-top:26px}
body.theme-constellation .solution-path{grid-template-columns:35px minmax(0,1fr) 170px 24px;gap:28px;padding:29px 12px 29px 0;border-color:#d0e1ef;border-radius:0;background:transparent}
body.theme-constellation .solution-path:hover{background:#e9f2fb}
body.theme-constellation .solution-path h3{font-size:26px;letter-spacing:-.025em;margin-bottom:12px}
body.theme-constellation .solution-path p{font-size:17px;line-height:1.75;max-width:73ch;color:#526780}
body.theme-constellation .solution-path small{font-size:12px;color:#6585a1;margin-top:12px}
body.theme-constellation .path-number{font-size:11px;color:#698aa8;margin-top:8px}
body.theme-constellation .path-photo{height:116px;border-radius:20px;overflow:hidden}
body.theme-constellation .path-photo img{transition:transform 1.1s}
.solution-path:hover .path-photo img{transform:scale(1.065)}
body.theme-constellation .detail-benefits{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:36px}
body.theme-constellation .detail-benefit{position:relative;min-width:0;border-top:1px solid #abc6dd;background:transparent;padding:28px 0 20px;border-radius:0}
.benefit-index{display:flex;align-items:center;justify-content:center;width:38px;height:38px;border:1px solid #b9d0e4;border-radius:50%;font-size:11px;color:#5a7f9e;margin-bottom:26px;background:#f5f9fd}
body.theme-constellation .detail-benefit>.eyebrow{display:none}
body.theme-constellation .detail-benefit h3{font-size:23px;line-height:1.35;letter-spacing:-.025em}
body.theme-constellation .detail-benefit p{font-size:17px;line-height:1.8;margin-top:16px;color:#526780}
body.theme-constellation .detail-boundary{border-left:2px solid #81add2;border-top:0;border-radius:0 15px 15px 0;background:#eef5fc;padding:22px 26px;font-size:14px;line-height:1.8;margin-top:24px;color:#486783}
body.theme-constellation .detail-boundary strong{color:#082450}
body.theme-constellation .detail-process .detail-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:80px;align-items:center}
body.theme-constellation .detail-process h2{max-width:22ch}
body.theme-constellation .detail-process p{font-size:18px;line-height:1.75;color:#526780}
body.theme-constellation .detail-list{list-style:none;padding:0;counter-reset:questions}
.detail-list li{position:relative;padding:24px 0 24px 39px;counter-increment:questions;border-bottom:1px solid #cbdce9;font-size:18px;line-height:1.6;color:#224968}
.detail-list li:before{content:'0' counter(questions);position:absolute;left:0;top:28px;font-size:11px;color:#6987a2}
body.theme-constellation .faq-rail{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:90px}
body.theme-constellation .faq-list{border-top:1px solid #c7dcea}
body.theme-constellation .faq-list details{border-bottom:1px solid #c7dcea;padding:0}
body.theme-constellation .faq-list summary{min-height:76px;display:flex;align-items:center;justify-content:space-between;gap:26px;font-size:18px;line-height:1.5;color:#103351;padding:22px 0;list-style:none;cursor:pointer}
body.theme-constellation .faq-list summary:after{content:'+';border:1px solid #b3cde2;width:30px;height:30px;border-radius:50%;display:grid;place-items:center;flex:none;font-size:18px;font-weight:400;color:#5980a2}
body.theme-constellation .faq-list details[open] summary:after{content:'−'}
.faq-list summary::-webkit-details-marker{display:none}
body.theme-constellation .faq-list details>p{padding:0 40px 24px 0;font-size:17px;line-height:1.8;color:#526780;max-width:70ch}
body.theme-constellation .faq-rail>div>p:last-child{font-size:18px;color:#526780;margin-top:24px}
.business-stories-rail{display:grid;grid-template-columns:1fr 1.1fr;gap:65px;align-items:center}
.closing-rail{display:grid;grid-template-columns:1fr 1fr;gap:0}
body.theme-constellation .story-image-frame{border-radius:26px;overflow:hidden}
body.theme-constellation .story-content{border-radius:0 0 26px 26px;background:#f1f6fc;padding:30px}
body.theme-constellation .closing-photo{border-radius:26px;overflow:hidden}
body.theme-constellation .closing-copy{background:transparent;color:var(--ink);padding:32px 0 32px 60px}
body.theme-constellation .closing-copy h2,body.theme-constellation .closing-copy p{color:var(--ink)}
body.theme-constellation .closing-copy .btn-z{background:#082450;color:white}
/* A photographic invitation closes each page rather than a plain blue slab. */
body.theme-constellation main>.cinematic-cta{background:#082450;color:#fff;position:relative;isolation:isolate;padding-block:90px;overflow:hidden}
.cinematic-cta .section-rail{position:static;z-index:auto}
.cta-photograph{position:absolute;inset:0;z-index:-2;overflow:hidden;pointer-events:none}
.cta-photograph img{width:100%;height:100%;object-fit:cover;object-position:50% 45%;animation:photo-breathe-v7 30s ease-in-out infinite alternate;filter:saturate(.8)}
.cinematic-cta:after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#061d3dee,#08244dcb 50%,#08244d8c)}
body.theme-constellation .cinematic-cta .page-cta-grid,body.theme-constellation .cinematic-cta .cta-grid{gap:80px;grid-template-columns:1.1fr .9fr;align-items:center}
body.theme-constellation .cinematic-cta h2,body.theme-constellation .cinematic-cta h3,body.theme-constellation .cinematic-cta em{color:white}
body.theme-constellation .cinematic-cta p{color:#e7f2ff;font-size:18px;line-height:1.8}
body.theme-constellation .cinematic-cta .kicker,body.theme-constellation .cinematic-cta .eyebrow{color:#c0dcf5}
body.theme-constellation .cinematic-cta .page-cta-actions,body.theme-constellation .cinematic-cta .cta-right{padding:30px;border:1px solid #ffffff45;border-radius:24px;background:#ffffff09;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);color:white}
body.theme-constellation .cinematic-cta .btn-z{background:#fff;color:#082450}
body.theme-constellation .cinematic-cta .enquiry-alternative{color:white;border-color:#ffffff55}
body.theme-constellation .cinematic-cta .page-call-links,body.theme-constellation .cinematic-cta .direct-contact{gap:12px 20px;font-size:14px;margin-top:24px;color:#e8f5ff}
body.theme-constellation .site-footer{background:#082450;padding-top:70px;border:0;position:relative}
body.theme-constellation .footer-top{gap:80px;grid-template-columns:1.2fr .8fr 1.1fr}
body.theme-constellation .footer-tagline{margin-top:25px;color:#c3d9ef;font-size:16px;line-height:1.8}
body.theme-constellation .footer-col-title{font-size:11px;letter-spacing:.12em;margin-bottom:24px;color:#a9c7e4}
body.theme-constellation .footer-links{gap:13px}
body.theme-constellation .footer-links a{font-size:15px;color:#e1effd}
body.theme-constellation .footer-page-nav{margin-top:45px;padding-block:27px;border-color:#ffffff20}
body.theme-constellation .footer-bottom{font-size:12px;line-height:1.7;padding-block:23px;border-color:#ffffff20}
body.theme-constellation .prototype-note{background:#082450;border-top:1px solid #ffffff12;color:#91b0cf}
body.theme-constellation .voice-demo-section{border-radius:0}
body.theme-constellation .voice-player,body.theme-constellation .voice-console{border-radius:25px;overflow:hidden}
/* Motion never hides copy; layout remains usable with animation switched off. */
@media(min-width:1650px){body.theme-constellation .shared-hero.hero-cinematic .hero-grid{min-height:970px}.lens-name{font-size:18px}.solution-lens{min-height:84px}.hero-with-map .node-name{font-size:17px}.hero-with-map .map-node{width:188px}.hero-with-map .node-photo{width:94px;height:94px}}
@media(max-width:1190px){
 body.theme-constellation .shared-hero.hero-cinematic .hero-grid{column-gap:44px;grid-template-columns:minmax(0,1fr) minmax(0,1fr);min-height:930px}
 body.theme-constellation .shared-hero h1{font-size:50px}
 .solution-lens{grid-template-columns:24px minmax(0,1fr);padding:12px;gap:9px;min-height:82px}
 .lens-marker{display:none}.lens-name{font-size:15px}.lens-icon svg{width:23px!important;height:23px!important}
 body.theme-constellation .hero-standard .hero-grid{column-gap:50px}
 body.theme-constellation .hero-with-map .hero-grid{grid-template-columns:1fr;grid-template-areas:'intro' 'map' 'detail';min-height:0;gap:30px}
 body.theme-constellation .hero-with-map .hero-intro{max-width:740px}.hero-with-map .hero-network{width:100%;max-width:900px;justify-self:center}
 body.theme-constellation .hero-with-map .hero-detail{max-width:740px;width:100%;justify-self:center}
 body.theme-constellation .hero-with-map .map-node{width:172px}
 body.theme-constellation .hero-with-map .node-name{font-size:16px}
 body.theme-constellation .sector-gallery{gap:20px}.sector-photo-text{padding:16px!important}
 body.theme-constellation .sector-photo-text strong{font-size:25px}.human-environment-rail{gap:40px}
 body.theme-constellation .footer-top{gap:40px}
}
@media(max-width:980px){
 body.theme-constellation .shared-hero.hero-cinematic .hero-grid{grid-template-columns:1fr;grid-template-areas:'intro' 'stage';gap:48px;min-height:0;padding-top:calc(var(--site-header-height, var(--nav-height)) + 40px)}
 body.theme-constellation .hero-intro{max-width:690px}
 body.theme-constellation .hero-cinematic h1{max-width:20ch;font-size:clamp(42px,6.8vw,58px)}
 .outcome-stage{max-width:740px;justify-self:center}
 .outcome-lenses{gap:15px 18px}.solution-lens{grid-template-columns:30px minmax(0,1fr) 15px;min-height:76px;padding:16px}.lens-name{font-size:17px}.lens-marker{display:block}
 body.theme-constellation .lens-detail{min-height:210px}
 body.theme-constellation .hero-standard .hero-grid{grid-template-columns:1fr;grid-template-areas:'intro' 'note';gap:40px;min-height:0;padding-top:calc(var(--site-header-height, var(--nav-height)) + 40px)}
 body.theme-constellation .hero-standard .hero-note{max-width:640px;width:100%;justify-self:start;align-self:start}
 body.theme-constellation .outcome-inner{grid-template-columns:1fr 1fr;gap:15px 25px}
 body.theme-constellation .outcome-inner button{padding-left:18px;font-size:16px}.outcome-inner .ribbon-intro{align-self:center}
 .human-intro-rail{column-gap:40px;row-gap:42px}
 body.theme-constellation .section-opening,body.theme-constellation .section-head{gap:30px}
 .home-outcome-index{column-gap:40px}.home-outcome-index>a{font-size:18px;gap:12px}
 .delivery-stages{gap:28px}.delivery-stages h3{font-size:21px}.delivery-stages p{font-size:16px}
 body.theme-constellation .sector-gallery{grid-template-columns:1fr 1fr}
 body.theme-constellation .sector-photo:nth-child(2){margin-top:0}
 body.theme-constellation .sector-photo:nth-child(3){margin-top:0;grid-column:1/-1;max-width:none;height:330px}
 body.theme-constellation .sector-photo:nth-child(3) .sector-photo-text{max-width:430px}
 .human-environment-rail{grid-template-columns:1fr;gap:35px}
 body.theme-constellation .human-environment-media{max-width:800px;width:100%}
 body.theme-constellation .approach-layout{column-gap:40px}
 body.theme-constellation .detail-benefits{gap:25px}
 body.theme-constellation .detail-benefit h3{font-size:21px}.detail-benefit p{font-size:16px!important}
 body.theme-constellation .detail-process .detail-grid{gap:40px}
 body.theme-constellation .faq-rail{gap:38px;grid-template-columns:.8fr 1.2fr}
 body.theme-constellation .cinematic-cta .page-cta-grid,body.theme-constellation .cinematic-cta .cta-grid{gap:38px}
 body.theme-constellation .cinematic-cta .page-cta-actions,body.theme-constellation .cinematic-cta .cta-right{padding:25px}
}
@media(max-width:700px){
 .human-intro-rail,.human-environment-rail,.business-stories-rail,.closing-rail{grid-template-columns:1fr;row-gap:32px}
 body.theme-constellation .polished-content{padding-block:65px}
 body.theme-constellation .section-opening,body.theme-constellation .section-head{grid-template-columns:1fr;gap:25px;margin-bottom:32px}
 body.theme-constellation .section-opening>p,body.theme-constellation .section-head>p{font-size:17px;line-height:1.75}
 body.theme-constellation .intro-heading h2{font-size:39px}
 body.theme-constellation .intro-copy>p{font-size:17px}
 .home-outcome-index{grid-template-columns:1fr;gap:0}.home-outcome-index>a{font-size:19px;padding-block:23px}
 body.theme-constellation .chapter-links{grid-template-columns:1fr;gap:22px;margin-top:0}
 body.theme-constellation .chapter-links>a{height:290px}
 .delivery-stages{grid-template-columns:1fr;gap:27px}
 .delivery-stages:before{top:25px;left:25px;bottom:45px;right:auto;width:1px;height:auto}
 .delivery-stages article{display:grid;grid-template-columns:52px minmax(0,1fr);gap:23px}
 .delivery-stages article>span{margin:0}.delivery-stages article h3{margin:0 0 10px;max-width:none;font-size:23px}
 .delivery-stages article p{font-size:17px;max-width:none}
 body.theme-constellation .sector-gallery{grid-template-columns:1fr;gap:24px}
 body.theme-constellation .sector-photo,body.theme-constellation .sector-photo:nth-child(3){height:425px;margin:0;grid-column:auto;border-radius:24px!important}
 body.theme-constellation .sector-photo-text strong{font-size:31px}
 body.theme-constellation .sector-photo-text{padding:22px!important}
 body.theme-constellation .approach-layout{grid-template-columns:1fr;row-gap:34px}
 body.theme-constellation .detail-benefits{grid-template-columns:1fr;gap:15px}
 body.theme-constellation .detail-benefit{padding-top:25px;padding-bottom:15px}
 body.theme-constellation .detail-benefit h3{font-size:25px}
 body.theme-constellation .detail-benefit p{font-size:17px!important}.benefit-index{margin-bottom:20px}
 body.theme-constellation .detail-process .detail-grid{grid-template-columns:1fr;gap:27px}
 body.theme-constellation .solution-path{grid-template-columns:25px minmax(0,1fr) 66px;gap:16px;padding-block:24px;padding-right:0}
 body.theme-constellation .path-photo{height:79px;border-radius:18px;align-self:start}
 body.theme-constellation .solution-path h3{font-size:22px}.solution-path p{font-size:16px!important}.path-arrow{display:none}
 body.theme-constellation .solution-path small{font-size:11px}
 body.theme-constellation .faq-rail{grid-template-columns:1fr;row-gap:28px}
 body.theme-constellation .faq-list summary{font-size:18px;min-height:80px}
 body.theme-constellation .cinematic-cta .page-cta-grid,body.theme-constellation .cinematic-cta .cta-grid{grid-template-columns:1fr;gap:32px}
 body.theme-constellation main>.cinematic-cta{padding-block:64px}
 body.theme-constellation .cinematic-cta .page-cta-actions,body.theme-constellation .cinematic-cta .cta-right{padding:25px 21px}
 body.theme-constellation .footer-top{grid-template-columns:1fr;gap:35px}
 body.theme-constellation .site-footer{padding-top:58px}
 body.theme-constellation .footer-col-title{margin-bottom:19px}
 body.theme-constellation .footer-links{gap:12px}
 body.theme-constellation .closing-copy{padding:28px 0}
}
@media(max-width:639px){
 body.theme-constellation{--gutter:22px;--nav-height:85px}
 body.theme-constellation .site-nav .brand-slot{width:195px;max-width:calc(100vw - 110px)}
 body.theme-constellation .nav-inner{padding-block:10px}
 body.theme-constellation .shared-hero .hero-grid{padding-top:calc(var(--site-header-height, var(--nav-height)) + 36px);padding-bottom:126px;row-gap:40px}
 body.theme-constellation .shared-hero h1,body.theme-constellation .hero-with-map h1{font-size:40px;line-height:1.13;max-width:20ch;letter-spacing:-.042em}
 body.theme-constellation .shared-hero .hero-lead{font-size:17px;line-height:1.7}
 body.theme-constellation .shared-hero .hero-kicker{font-size:11px;letter-spacing:.09em;margin-bottom:22px}
 body.theme-constellation .shared-hero .hero-actions{gap:14px 19px;margin-top:24px}
 body.theme-constellation .shared-hero .hero-book{font-size:13px;padding:13px 19px;gap:13px}
 body.theme-constellation .hero-secondary{font-size:13px}
 body.theme-constellation .hero-small{font-size:12px}
 .stage-heading{gap:10px;margin-bottom:19px;padding-bottom:15px}.stage-heading p{font-size:10px;letter-spacing:.08em}.stage-heading>span:last-child{font-size:10px}
 .outcome-lenses{gap:11px 12px;padding-bottom:14px}
 .solution-lens{grid-template-columns:1fr;padding:15px 14px;min-height:114px;row-gap:10px;align-content:start;border-radius:19px}
 .solution-lens .lens-icon{width:25px;height:25px}.solution-lens .lens-icon svg{width:24px!important;height:24px!important}
 .lens-name{font-size:16px;line-height:1.3;font-weight:500}
 .lens-marker{position:absolute;right:14px;top:14px;font-size:9px}
 body.theme-constellation .lens-detail{margin-top:11px;min-height:275px;padding:22px}
 body.theme-constellation .service-focus h3{font-size:22px;line-height:1.35}
 body.theme-constellation .service-focus p{font-size:16px;line-height:1.7}
 body.theme-constellation .service-focus .focus-name{font-size:10px}
 body.theme-constellation .service-focus>a{font-size:14px}
 body.theme-constellation .shared-hero .hero-scrim{background:linear-gradient(90deg,rgba(5,15,26,.35),rgba(5,15,26,.13)),linear-gradient(180deg,rgba(5,15,26,.30),transparent 30%,transparent 88%,rgba(5,15,26,.4))}
 /* Tall mobile heroes keep a recognisable, viewport-height picture. */
 body.theme-constellation .hero-backdrop.hero-gallery{overflow:visible}
 body.theme-constellation .hero-gallery .hero-photo-layer{position:absolute;inset:0}
 body.theme-constellation .hero-gallery .hero-photo-layer .hero-image{position:sticky;top:0;height:100svh;min-height:620px;transform:none;animation:none;object-position:55% center!important}
 .hero-lower{bottom:22px;gap:10px;flex-direction:column;align-items:flex-start;padding-top:14px}
 .photo-controls{gap:12px;width:100%;justify-content:space-between}
 .photo-scene{font-size:10px;gap:8px}.photo-scene .scene-label{display:none}
 .photo-selectors{gap:6px}.photo-selectors button{width:26px}
 .photo-arrows{gap:5px}.photo-arrows button{width:36px;height:36px}
 .hero-signature{font-size:9px;letter-spacing:.11em}
 body.theme-constellation .hero-note{padding:26px;max-width:none!important}.hero-note h3{font-size:25px!important}.hero-note p{font-size:16px!important}
 body.theme-constellation .hero-with-map .hero-grid{row-gap:34px}
 body.theme-constellation .hero-with-map .network{height:auto;padding-top:195px}
 body.theme-constellation .hero-with-map .network-centre{width:155px;height:155px;top:5px;left:50%;transform:translateX(-50%)}
 body.theme-constellation .hero-with-map .network-centre strong{font-size:28px}
 body.theme-constellation .map-nodes{display:grid;grid-template-columns:1fr 1fr;gap:24px 21px;position:relative}
 body.theme-constellation .map-node{position:relative;left:auto;top:auto;transform:none;width:100%!important;min-height:157px;padding:7px 4px;background:none}
 body.theme-constellation .node-glass{inset:-8px -7px;mask-image:radial-gradient(ellipse at center,black 35%,rgba(0,0,0,.97) 66%,transparent 79%);-webkit-mask-image:radial-gradient(ellipse at center,black 35%,rgba(0,0,0,.97) 66%,transparent 79%)}
 body.theme-constellation .hero-with-map .node-photo{width:76px;height:76px;margin-bottom:10px}
 body.theme-constellation .hero-with-map .node-name{font-size:15px!important;line-height:1.35;max-width:none}
 body.theme-constellation .hero-with-map .node-number{font-size:10px}
 body.theme-constellation .network-links,body.theme-constellation .network-rings{display:none}
 body.theme-constellation .network-caption{font-size:11px;letter-spacing:.015em;margin-top:25px}
 body.theme-constellation .hero-with-map .hero-detail{padding:23px;max-width:none;min-height:270px}
 body.theme-constellation .outcome-inner{grid-template-columns:1fr;gap:7px}
 body.theme-constellation .outcome-inner button{border-left:0;border-bottom:1px solid #d6e4ef;padding:14px 0;font-size:18px;min-height:62px}
 body.theme-constellation .outcome-inner button:last-child{border-bottom:0}
 .ribbon-intro br{display:none}
 .chapter-caption{left:16px;right:16px;bottom:16px;padding:19px}.chapter-caption strong{font-size:22px!important}
 body.theme-constellation .human-environment-media{grid-template-columns:1fr 1fr}.human-photo-small{margin-top:32px!important}
 body.theme-constellation .human-environment-points li{font-size:16px}
 .polished-content h2{font-size:35px;max-width:23ch}
 .hero-with-map .hero-map-eyebrow{font-size:10px!important}
 body.theme-constellation .experience-tools{bottom:10px;right:12px;padding:3px 12px!important;gap:10px!important}
 body.theme-constellation .experience-tools button{font-size:11px;min-height:34px}
}
@media(max-width:355px){
 body.theme-constellation{--gutter:19px}.lens-name{font-size:15px}.solution-lens{padding:14px 12px;min-height:116px}
 body.theme-constellation .shared-hero h1,body.theme-constellation .hero-with-map h1{font-size:36px}
 body.theme-constellation .hero-with-map .node-name{font-size:14px!important}
 body.theme-constellation .hero-with-map .node-photo{width:70px;height:70px}
 body.theme-constellation .map-nodes{gap:21px 19px}
 body.theme-constellation .hero-with-map .network-centre{width:144px;height:144px}
 body.theme-constellation .solution-path{grid-template-columns:20px minmax(0,1fr);gap:14px}.path-photo{display:none}
}
@media(prefers-reduced-motion:reduce){
 *,*:before,*:after{scroll-behavior:auto!important}
 .hero-photo-layer{transition:none!important}.hero-image,.cta-photograph img,.live-indicator{animation:none!important}
 .solution-lens,.sector-photo,.sector-photo img,.chapter-image{transition:none!important;translate:none!important;transform:none!important}
}
.motion-paused .hero-image,.motion-paused .cta-photograph img,.motion-paused .live-indicator{animation-play-state:paused!important}
@media print{.photo-controls,.hero-lower,.experience-tools{display:none!important}.hero-photo-layer:not(.is-active){display:none}.shared-hero{break-inside:avoid}.polished-content{break-inside:auto}}
/* Final white-space and mobile composition refinements. */
body.theme-constellation[data-page="home"] main>#home-overview,
body.theme-constellation[data-page="home"] main>#sectors{background:#fff}
body.theme-constellation[data-page="home"] main>.delivery-preview{background:linear-gradient(120deg,#edf5fd,#f6faff)}
.lens-mobile-controls,.lens-swipe-note{display:none}
@media(max-width:639px){
 .stage-heading{margin-bottom:10px;gap:9px;align-items:center}
 .stage-heading>span:last-of-type{display:none}
 .lens-mobile-controls{display:flex;gap:5px;margin-left:auto}
 .lens-mobile-controls button{width:34px;height:34px;border:1px solid #ffffff77;background:#ffffff08;border-radius:50%;display:grid;place-items:center;font:24px/1 Arial;color:white;flex:none}
 .outcome-lenses{position:relative;display:flex;overflow-x:auto;overflow-y:visible;scroll-snap-type:x mandatory;overscroll-behavior-inline:contain;scrollbar-width:thin;scrollbar-color:#c8e2fa77 #ffffff09;padding:8px 4px 15px;gap:12px;scroll-padding-inline:4px;margin-inline:-4px}
 .outcome-lenses .solution-lens{flex:0 0 78%;grid-template-columns:31px minmax(0,1fr) 14px;min-height:98px;align-content:center;scroll-snap-align:start;translate:none!important;padding:15px;gap:12px}
 .outcome-lenses .solution-lens .lens-marker{position:static;display:block;align-self:start;margin:0;font-size:10px}
 .outcome-lenses .solution-lens .lens-name{font-size:17px;line-height:1.4}
 .lens-swipe-note{display:block;font-size:11px;color:#ecf5ff;text-shadow:0 1px 5px #0008;line-height:1.5;margin:8px 0 18px}
 body.theme-constellation .lens-detail{min-height:274px}
}
@media(max-width:639px){
 /* clip, unlike hidden, does not create an intermediate scroll container.
    The photo can stay behind the entire tall mobile hero while it scrolls. */
 body.theme-constellation main>.shared-hero{overflow:clip}
}


/* V8 — a continuous circular carousel, scoped to the home hero only. */
.orbit-stage .stage-heading{margin-bottom:0;gap:10px;padding-bottom:16px}
.orbit-stage .stage-heading .orbit-count{display:block;margin-left:auto;font:500 11px/1.4 Arial,sans-serif;letter-spacing:.08em;white-space:nowrap}
.orbit-stage .orbit-viewport{height:412px;width:100%;position:relative;isolation:isolate;perspective:1300px;overflow:visible;touch-action:pan-y}
.orbit-track{position:absolute;left:50%;top:50%;width:calc(var(--orbit-rx,150px)*2);height:calc(var(--orbit-ry,110px)*2);transform:translate(-50%,-50%);border:1px solid rgba(228,242,255,.22);border-radius:50%;pointer-events:none;z-index:0;box-shadow:0 0 28px rgba(223,237,255,.04)}
.orbit-track-inner{width:calc(var(--orbit-rx,150px)*1.78);height:calc(var(--orbit-ry,110px)*1.78);border-style:dashed;border-color:rgba(230,243,255,.1);box-shadow:none}
.orbit-centre-note{position:absolute;left:50%;top:48%;transform:translate(-50%,-50%);display:grid;gap:7px;max-width:110px;text-align:center;color:#fff;text-shadow:0 1px 9px #000;font-size:9px;font-weight:500;line-height:1.35;letter-spacing:.2em;pointer-events:none;z-index:1;opacity:.8}
.orbit-card{position:absolute;left:50%;top:50%;width:204px;height:116px;padding:16px 19px;display:grid;grid-template-columns:1fr auto;grid-template-rows:26px 1fr;gap:11px 15px;align-items:start;text-align:left;min-height:0;max-width:none;border-radius:22px;border:1px solid rgba(246,251,255,.5);background:linear-gradient(125deg,rgba(255,255,255,.12),rgba(255,255,255,.025)),rgba(10,29,47,.46);color:#fff;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:inset 0 1px 0 #ffffff22,0 12px 32px rgba(3,14,29,.12);transform-origin:center;will-change:transform,opacity;transition:background .3s,border-color .3s,box-shadow .3s;translate:none;cursor:pointer}
.orbit-card .lens-icon{display:block;width:26px;height:26px;color:#deefff}
.orbit-card .lens-icon svg{display:block;width:26px;height:26px;stroke-width:1.35}
.orbit-card .lens-marker{position:static;align-self:start;justify-self:end;margin:0;color:#e4f1fe;font-size:10px;font-weight:500;line-height:1.3;letter-spacing:.1em}
.orbit-card .lens-name{display:block;grid-column:1/-1;color:#fff;font-size:18px;font-weight:600;line-height:1.22;letter-spacing:-.025em;text-shadow:0 1px 4px #0006;align-self:center;min-width:0}
.orbit-card.is-front{background:linear-gradient(125deg,rgba(255,255,255,.19),rgba(255,255,255,.05)),rgba(8,36,65,.48);border-color:rgba(255,255,255,.88);box-shadow:inset 0 1px 0 #ffffff52,0 22px 50px rgba(1,14,33,.28)}
.orbit-card:focus-visible{outline:3px solid #fff;outline-offset:5px}
.orbit-card:hover{border-color:#fff}
.orbit-controls{display:flex;align-items:center;justify-content:center;gap:9px;padding:7px 0 0;min-width:0}
.orbit-step,.orbit-play{display:grid;place-items:center;flex:none;width:36px;height:36px;border:1px solid #ffffff64;border-radius:50%;color:#fff;background:rgba(7,25,44,.3);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);font:400 23px/1 Arial,sans-serif;transition:background .2s}
.orbit-play{margin-left:3px}.orbit-play svg{width:17px;height:17px}
.orbit-play .play-mark{display:none}.orbit-play.is-paused .play-mark{display:block}.orbit-play.is-paused .pause-mark{display:none}
.orbit-play:disabled{opacity:.55;cursor:default}
.orbit-step:hover,.orbit-play:hover{background:rgba(255,255,255,.19)}
.orbit-dots{display:flex;gap:1px;min-width:0;align-items:center;justify-content:center}
.orbit-dots button{position:relative;width:29px;height:36px;border:0;background:none;color:#dceeff;font:500 10px/1 Arial,sans-serif;flex:none}
.orbit-dots button::after{content:'';position:absolute;left:50%;bottom:1px;width:4px;height:4px;border-radius:50%;background:#fff;transform:translateX(-50%) scale(0);transition:transform .25s}
.orbit-dots button.is-active{color:#fff}.orbit-dots button.is-active::after{transform:translateX(-50%) scale(1)}
.orbit-timing{height:1px;background:#ffffff25;max-width:160px;width:38%;margin:14px auto 0;overflow:hidden}
.orbit-timing span{display:block;width:100%;height:100%;transform:scaleX(var(--orbit-progress,0));transform-origin:left;background:#e3f1ff}
.orbit-hint{font-size:11px;color:#eef6ff;line-height:1.45;text-align:center;margin:11px auto 0;text-shadow:0 1px 6px #000b;min-height:16px}
body.theme-constellation .orbit-stage .lens-detail{margin-top:20px;min-height:235px;padding:22px 25px}
body.theme-constellation .orbit-stage .lens-detail h3{font-size:22px;line-height:1.3}
@media(min-width:1600px){.orbit-stage .orbit-viewport{height:440px}.orbit-card{width:224px;height:126px}.orbit-card .lens-name{font-size:20px}}
@media(min-width:640px) and (max-width:1100px){.orbit-stage{max-width:660px;margin-inline:auto}.orbit-stage .orbit-viewport{height:410px}}
@media(max-width:639px){
 .orbit-stage .orbit-viewport{height:348px}
 .orbit-card{width:162px;height:116px;padding:14px 16px;border-radius:20px;gap:9px 12px}
 .orbit-card .lens-name{font-size:17px;line-height:1.24}
 .orbit-card .lens-icon,.orbit-card .lens-icon svg{width:24px;height:24px}
 .orbit-centre-note{font-size:8px;letter-spacing:.13em;max-width:90px}
 .orbit-controls{gap:4px;padding-top:4px}.orbit-step,.orbit-play{width:32px;height:34px}
 .orbit-dots{gap:0}.orbit-dots button{width:24px;height:34px;font-size:9px}
 .orbit-stage .stage-heading{gap:8px;margin-bottom:0}.orbit-stage .stage-heading p{font-size:10px}
 .orbit-stage .stage-heading .orbit-count{display:block;font-size:10px}
 body.theme-constellation .orbit-stage .lens-detail{min-height:282px;padding:21px;margin-top:17px}
 .orbit-hint{font-size:10px}.orbit-play{margin-left:2px}
}
@media(max-width:355px){.orbit-card{width:152px;height:116px;padding:14px}.orbit-card .lens-name{font-size:16px}.orbit-dots button{width:20px}.orbit-controls{gap:2px}}
@media(prefers-reduced-motion:reduce){.orbit-card{transition:none!important}.orbit-track,.orbit-centre-note{animation:none!important}}


/* V9 orbit refinement: larger front card, hidden bottom detail panel */
.orbit-stage .orbit-viewport{height:468px}
.orbit-card{width:210px;min-height:118px;height:auto;padding:15px 17px;display:grid;grid-template-columns:1fr auto;grid-template-rows:auto auto auto;gap:10px 14px;align-content:start}
.orbit-card .lens-name{grid-column:1/-1;font-size:18px;line-height:1.18;min-height:2.4em;display:flex;align-items:center}
.orbit-card .lens-expanded{grid-column:1/-1;display:block;max-height:0;opacity:0;overflow:hidden;margin-top:0;pointer-events:none;transition:max-height .42s cubic-bezier(.2,.75,.2,1),opacity .32s ease,margin-top .32s ease}
.orbit-card .lens-headline{display:block;font-size:14px;line-height:1.32;font-weight:700;color:#fff;text-shadow:0 1px 4px rgba(0,0,0,.34);margin-bottom:7px}
.orbit-card .lens-copy{display:block;font-size:13px;line-height:1.48;color:#edf6ff;text-shadow:0 1px 3px rgba(0,0,0,.28)}
.orbit-card.is-front{width:286px;min-height:188px;padding:18px 20px 20px;border-radius:24px;background:linear-gradient(125deg,rgba(255,255,255,.22),rgba(255,255,255,.06)),rgba(8,36,65,.56);border-color:rgba(255,255,255,.92);box-shadow:inset 0 1px 0 rgba(255,255,255,.52),0 24px 56px rgba(1,14,33,.3)}
.orbit-card.is-front .lens-name{font-size:21px;line-height:1.15;min-height:0}
.orbit-card.is-front .lens-expanded{max-height:160px;opacity:1;margin-top:2px}
.orbit-stage .lens-detail{display:none !important}
.orbit-stage .orbit-hint{margin-top:12px}
@media(min-width:1600px){.orbit-stage .orbit-viewport{height:490px}.orbit-card{width:224px}.orbit-card.is-front{width:306px;min-height:198px}.orbit-card.is-front .lens-name{font-size:22px}}
@media(max-width:639px){
 .orbit-stage .orbit-viewport{height:394px}
 .orbit-card{width:158px;min-height:108px;padding:13px 14px;border-radius:18px;gap:8px 10px}
 .orbit-card .lens-name{font-size:16px;min-height:2.35em}
 .orbit-card .lens-headline{font-size:12px;line-height:1.3;margin-bottom:5px}
 .orbit-card .lens-copy{font-size:11.5px;line-height:1.42}
 .orbit-card.is-front{width:228px;min-height:170px;padding:16px 17px 17px;border-radius:21px}
 .orbit-card.is-front .lens-name{font-size:18px}
}
@media(max-width:355px){.orbit-card{width:150px}.orbit-card.is-front{width:214px}}


/* V10 orbit tuning: slightly larger cards + more transparent glass */
.orbit-card{
  width:222px;
  min-height:124px;
  padding:16px 18px;
  background:linear-gradient(125deg,rgba(255,255,255,.095),rgba(255,255,255,.018)),rgba(8,25,43,.28);
  border-color:rgba(246,251,255,.42);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.16),0 12px 32px rgba(3,14,29,.08);
}
.orbit-card .lens-name{font-size:19px}
.orbit-card .lens-headline{font-size:14.5px}
.orbit-card .lens-copy{font-size:13.5px;color:#f2f8ff}
.orbit-card.is-front{
  width:302px;
  min-height:196px;
  padding:19px 22px 21px;
  background:linear-gradient(125deg,rgba(255,255,255,.16),rgba(255,255,255,.035)),rgba(8,36,65,.34);
  border-color:rgba(255,255,255,.82);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.36),0 24px 56px rgba(1,14,33,.22);
}
.orbit-card.is-front .lens-name{font-size:22px}
.orbit-card.is-front .lens-expanded{max-height:175px}
@media(min-width:1600px){
  .orbit-card{width:236px;min-height:130px}
  .orbit-card.is-front{width:320px;min-height:206px}
}
@media(max-width:639px){
  .orbit-card{
    width:170px;
    min-height:114px;
    padding:13px 15px;
    background:linear-gradient(125deg,rgba(255,255,255,.09),rgba(255,255,255,.018)),rgba(8,25,43,.25);
  }
  .orbit-card .lens-name{font-size:17px}
  .orbit-card .lens-headline{font-size:12.5px}
  .orbit-card .lens-copy{font-size:12px}
  .orbit-card.is-front{
    width:242px;
    min-height:178px;
    padding:16px 18px 18px;
    background:linear-gradient(125deg,rgba(255,255,255,.15),rgba(255,255,255,.03)),rgba(8,36,65,.31);
  }
  .orbit-card.is-front .lens-name{font-size:19px}
}
@media(max-width:355px){
  .orbit-card{width:158px}
  .orbit-card.is-front{width:224px}
}


/* V11 orbit tuning: more transparent glass boxes */
.orbit-card{
  background:linear-gradient(125deg,rgba(255,255,255,.06),rgba(255,255,255,.012)),rgba(8,25,43,.18);
  border-color:rgba(246,251,255,.34);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.10),0 10px 24px rgba(3,14,29,.05);
}
.orbit-card.is-front{
  background:linear-gradient(125deg,rgba(255,255,255,.11),rgba(255,255,255,.022)),rgba(8,36,65,.24);
  border-color:rgba(255,255,255,.72);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.28),0 20px 40px rgba(1,14,33,.14);
}
@media(max-width:639px){
  .orbit-card{
    background:linear-gradient(125deg,rgba(255,255,255,.055),rgba(255,255,255,.012)),rgba(8,25,43,.16);
  }
  .orbit-card.is-front{
    background:linear-gradient(125deg,rgba(255,255,255,.10),rgba(255,255,255,.02)),rgba(8,36,65,.22);
  }
}


/* V12 orbit tuning: even more transparent glass boxes */
.orbit-card{
  background:linear-gradient(125deg,rgba(255,255,255,.04),rgba(255,255,255,.008)),rgba(8,25,43,.12);
  border-color:rgba(246,251,255,.28);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 8px 20px rgba(3,14,29,.035);
}
.orbit-card.is-front{
  background:linear-gradient(125deg,rgba(255,255,255,.08),rgba(255,255,255,.016)),rgba(8,36,65,.17);
  border-color:rgba(255,255,255,.62);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.22),0 16px 32px rgba(1,14,33,.10);
}
@media(max-width:639px){
  .orbit-card{
    background:linear-gradient(125deg,rgba(255,255,255,.035),rgba(255,255,255,.008)),rgba(8,25,43,.11);
  }
  .orbit-card.is-front{
    background:linear-gradient(125deg,rgba(255,255,255,.075),rgba(255,255,255,.014)),rgba(8,36,65,.16);
  }
}


/* V13 map-node refinement: remove ugly grey patches, integrate label inside bigger glass circles */
.map-node,
.inline-network .map-node{
  width:176px;
  min-height:176px;
  height:176px;
  padding:18px 16px 14px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:flex-start;
  gap:4px;
  border-radius:50%;
}
.node-glass{
  inset:0;
  z-index:-1;
  border-radius:50%;
  background:linear-gradient(160deg,rgba(255,255,255,.10),rgba(255,255,255,.03)),rgba(8,26,44,.08);
  border:1px solid rgba(230,242,255,.18);
  backdrop-filter:blur(5px) saturate(1.03);
  -webkit-backdrop-filter:blur(5px) saturate(1.03);
  mask-image:none;
  -webkit-mask-image:none;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.18),0 14px 36px rgba(1,14,33,.06);
  transition:background .32s,border-color .32s,box-shadow .32s,opacity .32s;
}
.map-node.is-active .node-glass,
.map-node:hover .node-glass,
.map-node:focus-visible .node-glass{
  background:linear-gradient(160deg,rgba(255,255,255,.15),rgba(255,255,255,.05)),rgba(8,30,52,.12);
  border-color:rgba(255,255,255,.38);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.28),0 18px 42px rgba(1,14,33,.10);
}
body.theme-constellation .node-photo,
.inline-network .node-photo{
  width:72px;
  height:72px;
  margin:2px auto 8px;
  padding:3px;
  background:rgba(255,255,255,.05);
  border-color:rgba(255,255,255,.72);
  box-shadow:0 8px 20px rgba(0,0,0,.10);
}
.node-photo:after{inset:-4px}
body.theme-constellation .node-name,
.inline-network .node-name{
  font-size:16px;
  line-height:1.2;
  max-width:118px;
  margin:0 auto;
  text-align:center;
  text-wrap:balance;
}
body.theme-constellation .node-number,
.inline-network .node-number{
  margin-top:2px;
  font-size:10px;
  letter-spacing:.14em;
  color:#f2f8ff;
}
.map-node:hover .node-photo,
.map-node:focus-visible .node-photo,
.map-node.is-active .node-photo{
  transform:scale(1.07);
  box-shadow:0 0 24px rgba(160,216,255,.18);
}
.map-node:hover .node-name,
.map-node:focus-visible .node-name,
.map-node.is-active .node-name{transform:none}
.map-node:focus-visible{outline:2px solid #daeeff;outline-offset:4px;border-radius:50%}
.network-caption{margin-top:18px}

@media(max-width:639px){
  .map-node,
  .inline-network .map-node{
    width:142px;
    min-height:142px;
    height:142px;
    padding:14px 11px 11px;
    border-radius:50%;
  }
  .node-photo,
  .inline-network .node-photo{width:58px;height:58px;margin-bottom:7px}
  .node-name,
  .inline-network .node-name{font-size:13px;line-height:1.18;max-width:94px}
  .node-number{font-size:9px;margin-top:1px}
  .map-nodes{gap:18px 14px;padding-top:8px}
  .map-node:before{top:28px;width:calc(50% + 8px)}
}
@media(max-width:355px){
  .map-node,
  .inline-network .map-node{width:132px;min-height:132px;height:132px}
  .node-photo{width:54px;height:54px}
  .node-name{font-size:12px;max-width:88px}
}

/* V15 / Real map links and word-level motion; no surface/layout changes. */
.network a.map-node{color:inherit;text-decoration:none;cursor:pointer;-webkit-tap-highlight-color:transparent}
.network a.map-node:focus-visible{outline:2px solid #daeeff;outline-offset:4px;border-radius:50%}
.panel-word{display:inline-block;max-width:100%;white-space:normal;overflow-wrap:break-word;font:inherit;letter-spacing:inherit;color:inherit;vertical-align:baseline}
/* Motion is progressive enhancement. Never hide the settled source copy. */
@media(prefers-reduced-motion:reduce){.panel-word{opacity:1!important;transform:none!important}}
.motion-paused .panel-word{opacity:1!important;transform:none!important}
@media print{.panel-word{opacity:1!important;transform:none!important}}


/* V16 — compact shared footer. Changes only spacing and responsive link layout.
 * Text, links, click-to-call targets, logo artwork and motion are unchanged.
 * No fixed height or text scaling: wrapped content remains fully visible.
 */
body.theme-constellation .site-footer.footer--compact{
  padding:30px var(--gutter) 18px;
}
body.theme-constellation .footer--compact .footer-top{
  display:grid;
  grid-template-columns:minmax(180px,.76fr) minmax(0,1.20fr) minmax(0,1.35fr);
  align-items:start;
  column-gap:clamp(24px,3vw,46px);
  row-gap:24px;
}
body.theme-constellation .footer--compact .footer-top>div{min-width:0}
body.theme-constellation .footer--compact .footer-brand{grid-column:auto}
body.theme-constellation .footer--compact .footer-brand .brand-motion-link{
  width:245px;max-width:100%;
}
body.theme-constellation .footer--compact .footer-tagline{
  margin-top:12px;font-size:16px;line-height:1.5;max-width:30ch;
}
body.theme-constellation .footer--compact .footer-col-title{
  margin:0 0 10px;font-size:11px;line-height:1.5;letter-spacing:.12em;
}
body.theme-constellation .footer--compact .footer-links{
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));
  align-items:start;column-gap:22px;row-gap:4px;
}
body.theme-constellation .footer--compact .footer-links a{
  display:flex;align-items:center;gap:7px;
  min-width:0;min-height:30px;padding:3px 0;margin:0;
  font-size:15px;line-height:1.5;white-space:normal;overflow-wrap:anywhere;
}
body.theme-constellation .footer--compact .booking-label{min-width:0}
body.theme-constellation .footer--compact .booking-footer-link .arrow{flex:none}
body.theme-constellation .footer--compact .footer-page-nav{
  display:flex;align-items:center;flex-wrap:wrap;gap:6px 26px;
  margin-top:18px;padding:10px 0;font-size:13px;line-height:1.5;
}
body.theme-constellation .footer--compact .footer-page-nav>a{
  display:inline-flex;align-items:center;min-height:30px;padding:3px 0;
}
body.theme-constellation .footer--compact .footer-bottom{
  display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;
  gap:6px 24px;padding:10px 0 0;font-size:12px;line-height:1.6;
}
body.theme-constellation .footer--compact .footer-legal{
  display:flex;align-items:center;flex-wrap:wrap;gap:4px 18px;
}
body.theme-constellation .footer--compact .footer-legal>a{
  display:inline-flex;align-items:center;min-height:28px;margin:0;padding:2px 0;
}
body.theme-constellation .footer--compact .photo-credits{
  margin-top:7px;font-size:11px;line-height:1.6;
}
body.theme-constellation .footer--compact .photo-credits>summary{
  cursor:pointer;width:fit-content;min-height:26px;
}
body.theme-constellation .footer--compact .photo-credits[open]>p{margin:8px 0}
body.theme-constellation .footer--compact .photo-credits>a{
  padding:4px 0;line-height:1.6;
}
@media(max-width:1180px){
  body.theme-constellation .footer--compact .footer-top{
    grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);column-gap:34px;
  }
  body.theme-constellation .footer--compact .footer-brand{
    grid-column:1/-1;display:flex;align-items:center;gap:28px;
  }
  body.theme-constellation .footer--compact .footer-brand .brand-motion-link{
    width:225px;flex:none;
  }
  body.theme-constellation .footer--compact .footer-tagline{margin:0}
}
@media(max-width:760px){
  body.theme-constellation .site-footer.footer--compact{padding-block:26px 18px}
  body.theme-constellation .footer--compact .footer-top{
    grid-template-columns:minmax(0,1fr);row-gap:20px;
  }
  body.theme-constellation .footer--compact .footer-brand{
    gap:20px;flex-wrap:wrap;
  }
  body.theme-constellation .footer--compact .footer-brand .brand-motion-link{width:215px}
  body.theme-constellation .footer--compact .footer-links{column-gap:22px;row-gap:5px}
  body.theme-constellation .footer--compact .footer-links a{min-height:36px}
  body.theme-constellation .footer--compact .footer-top>div:last-child .footer-links{
    display:flex;flex-wrap:wrap;gap:3px 24px;
  }
  body.theme-constellation .footer--compact .footer-top>div:last-child .footer-links>a{
    flex:0 1 auto;max-width:100%;
  }
  body.theme-constellation .footer--compact .footer-page-nav{
    margin-top:14px;gap:3px 22px;padding-block:8px;
  }
  body.theme-constellation .footer--compact .footer-bottom{gap:6px 18px}
}
@media(max-width:420px){
  body.theme-constellation .footer--compact .footer-brand{display:block}
  body.theme-constellation .footer--compact .footer-tagline{margin-top:10px}
  body.theme-constellation .footer--compact .footer-page-nav{gap:3px 17px}
}

/* Honour v17's supplied-logo poster mode; a later inherited SVG rule must not draw the obsolete O overlay. */
body.theme-constellation .brand-motion-stage > svg.brand-o-motion { display:none!important; }
/* V18: approved company-wide homepage promise. Other page styles unchanged. */
body.theme-constellation[data-page="home"] .hero-intro h1 .business-promise-line {
  display:block;
  max-width:100%;
}
body.theme-constellation[data-page="home"] .hero-intro h1 .business-promise-line:not(em) { color:#fff; }
@media (max-width:639px) {
  body.theme-constellation[data-page="home"] .hero-intro h1 {
    font-size:clamp(1.75rem,8.4vw,2.5rem);
    line-height:1.15;
    max-width:none;
    letter-spacing:-.035em;
  }
}


/* V19 — slim shared contact bar above the existing navigation.
 * Numbers stay complete and visible at every breakpoint; only the new row
 * reflows. Header height is measured by initContactHeaderSizing(). */
html{scroll-padding-top:calc(var(--site-header-height,140px) + 20px)}
body.theme-constellation .site-nav{display:block}
.z-contact-strip{color:#f4f8fe;background:rgba(8,36,80,.86);border-bottom:1px solid rgba(213,233,252,.17);width:100%;font-size:14px;line-height:1.4}
.z-contact-inner{max-width:var(--max);width:100%;margin-inline:auto;padding:0 var(--gutter);min-height:42px;display:flex;align-items:center;justify-content:space-between;column-gap:26px}
.z-contact-caption{font-size:14px;font-weight:600;line-height:1.5;white-space:nowrap;color:#d5eaff;flex:none}
.z-contact-links{display:flex;align-items:center;justify-content:flex-end;column-gap:clamp(18px,2vw,32px);row-gap:0;min-width:0}
.z-contact-links a{display:inline-flex;align-items:center;gap:5px;font-size:14px;line-height:1.5;font-weight:400;white-space:nowrap;min-height:42px;color:#f5faff;text-shadow:none;padding:4px 0;text-decoration:none;text-underline-offset:4px;border-radius:2px}
.z-contact-country{color:#c0dbf5;font-weight:500}
.z-contact-value{white-space:nowrap}
.z-contact-links a:hover{color:#fff;text-decoration:underline;text-decoration-color:#afdcff}
.z-contact-links a:focus-visible{outline:2px solid #fff;outline-offset:3px;text-decoration:underline}
.z-email-caption{display:none}
body.theme-constellation .menu-panel{top:var(--site-header-height,var(--nav-height));max-height:calc(100dvh - var(--site-header-height,var(--nav-height)))}
@media(max-width:1100px){
 .z-contact-inner{flex-direction:column;align-items:flex-start;gap:1px;padding-block:5px}
 .z-contact-caption{font-size:13px}
 .z-contact-links{width:100%;justify-content:space-between;gap:0 14px}
 .z-contact-links a{font-size:13px;min-height:34px}
}
@media(max-width:700px){
 .z-contact-inner{padding-block:7px 8px;gap:4px}
 .z-contact-caption{font-size:12px;letter-spacing:.02em}
 .z-contact-links{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:5px 14px;align-items:start}
 .z-contact-links a{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:0;font-size:13px;min-height:38px;padding:0;white-space:normal}
 .z-contact-country{display:block;font-size:11px;line-height:1.45;letter-spacing:.02em}
 .z-contact-value{font-size:13px;line-height:1.5}
 .z-email-caption{display:block}
}
@media(max-width:350px){
 .z-contact-inner{padding-inline:16px}
 .z-contact-links{column-gap:9px}
}
@media(max-width:290px){
 .z-contact-links{grid-template-columns:minmax(0,1fr)}
}
@media print{.z-contact-strip{display:none!important}}

/* V23 — one glass layer across the contact row and navigation, not behind the
 * logo alone. Logo pixels and text remain sharp and opaque; only the backdrop
 * is blurred. Hero geometry, content and photographic sequences are untouched.
 */
body.theme-constellation .site-nav.z-glass-header{
  background:transparent!important;
  backdrop-filter:none!important;-webkit-backdrop-filter:none!important;
  border:0!important;box-shadow:none!important;
  opacity:1;filter:none;isolation:isolate;
}
body.theme-constellation .site-nav.z-glass-header::before{
  content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
  background:rgba(8,36,80,.10);
  backdrop-filter:blur(10px) saturate(110%);
  -webkit-backdrop-filter:blur(10px) saturate(110%);
  border-bottom:1px solid rgba(255,255,255,.12);
  box-shadow:0 3px 16px rgba(2,12,30,.035);
  transition:background .3s ease,box-shadow .3s ease,
    backdrop-filter .3s ease,-webkit-backdrop-filter .3s ease;
}
body.theme-constellation .site-nav.z-glass-header.scrolled::before{background:rgba(8,36,80,.22)}
/* V33: lighter footer-family navy glass replaces the neutral-grey scroll tint.
 * The supplied footer swatch is approximately #172D4B. Compositing this navy
 * at 84% over white gives approximately #3C4F68, a lighter related blue.
 * Apply colour to the one full-width glass plane, never to the logo artwork.
 * All sizing, typography, photography and footer declarations are unchanged. */
body.theme-constellation.past-hero .site-nav.z-glass-header::before,
body.theme-constellation.menu-open .site-nav.z-glass-header::before{
  background:rgba(23,45,75,.84);
  backdrop-filter:blur(14px) saturate(110%);
  -webkit-backdrop-filter:blur(14px) saturate(110%);
  border-bottom-color:rgba(255,255,255,.18);
  box-shadow:0 4px 20px rgba(2,12,30,.06);
}
body.theme-constellation .site-nav.z-glass-header .z-contact-strip,
body.theme-constellation .site-nav.z-glass-header .nav-inner{
  background:transparent!important;backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;box-shadow:none!important;
}
body.theme-constellation .site-nav.z-glass-header .z-contact-strip{border-bottom-color:rgba(255,255,255,.12)}
body.theme-constellation .site-nav.z-glass-header :is(.primary-nav a,.z-contact-links a,.z-contact-country,.z-contact-caption){
  color:#fff;text-shadow:0 1px 3px rgba(0,0,0,.55),0 1px 9px rgba(0,0,0,.24);
}
body.theme-constellation .site-nav.z-glass-header .menu-toggle{color:white}
body.theme-constellation .site-nav.z-glass-header .brand-slot{
  background:transparent!important;box-shadow:none!important;filter:none!important;
  backdrop-filter:none!important;-webkit-backdrop-filter:none!important;
}
body.theme-constellation .brand-motion-link.brand-live-logo,
body.theme-constellation .brand-live-logo .brand-animation-stage{
  background:transparent!important;box-shadow:none!important;border:0!important;
  filter:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;
  opacity:1!important;mix-blend-mode:normal;line-height:0;
}
body.theme-constellation .brand-live-logo .brand-animation-stage{
  display:block;width:100%;aspect-ratio:3/1;height:auto;position:relative;padding:0;overflow:visible;
}
body.theme-constellation .brand-live-logo .brand-fixed-art{
  display:block;width:100%;height:auto;max-width:100%;aspect-ratio:3/1;
  object-fit:contain;opacity:1!important;filter:none!important;background:transparent!important;
  border:0;padding:0;margin:0;transform:none!important;
}
body.theme-constellation .brand-live-logo .brand-live-o{
  display:block;position:absolute;left:65.37037037%;top:11.66666667%;
  width:17.96296296%;height:56.11111111%;max-width:none;
  background:transparent!important;border:0;padding:0;margin:0;
  opacity:1!important;filter:none!important;pointer-events:none;
}
body.theme-constellation .brand-live-logo .brand-live-o[hidden]{display:none!important}
body.theme-constellation .brand-live-logo::before,
body.theme-constellation .brand-live-logo::after,
body.theme-constellation .brand-animation-stage::before,
body.theme-constellation .brand-animation-stage::after{content:none!important}

html[data-header-variant="dark-blue"] body.theme-constellation.past-hero:not(.menu-open) .site-nav.z-glass-header::before,
html[data-header-variant="dark-blue"] body.theme-constellation.menu-open .site-nav.z-glass-header::before{
  background:rgba(8,36,80,.64);backdrop-filter:blur(14px) saturate(110%);-webkit-backdrop-filter:blur(14px) saturate(110%);
  border-bottom-color:rgba(255,255,255,.18);box-shadow:0 4px 18px rgba(5,21,45,.035);
}
html[data-header-variant="dark-blue"] body.theme-constellation:is(.past-hero,.menu-open) .site-nav.z-glass-header :is(.primary-nav a,.z-contact-links a,.z-contact-country,.z-contact-caption,.menu-toggle,.nav-book){
  color:#fff;text-shadow:0 1px 3px rgba(0,0,0,.30);
}
html[data-header-variant="dark-blue"] body.theme-constellation:is(.past-hero,.menu-open) .site-nav.z-glass-header .primary-nav a:after{background:#d8eeff;}
html[data-header-variant="dark-blue"] body.theme-constellation:is(.past-hero,.menu-open) .site-nav.z-glass-header .nav-book{
  border-color:rgba(255,255,255,.60);background:rgba(255,255,255,.08);
}
html[data-header-variant="dark-blue"] body.theme-constellation:is(.past-hero,.menu-open) .site-nav.z-glass-header .z-contact-strip{border-bottom-color:rgba(255,255,255,.12);}
html[data-header-variant="dark-blue"] body.theme-constellation .menu-panel{
  background:rgba(8,36,80,.96);color:#fff;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
}
html[data-header-variant="dark-blue"] body.theme-constellation .menu-panel :is(a,button,label){color:#fff;text-shadow:none;}
html[data-header-variant="dark-blue"] body.theme-constellation .menu-panel .experience-tools{background:rgba(255,255,255,.10);border-color:rgba(255,255,255,.16);}
html[data-header-variant="dark-blue"] body.theme-constellation:is(.past-hero,.menu-open) .site-nav .brand-animation-stage{
  filter:drop-shadow(0 1px 1.5px rgba(2,14,32,.45));
}
@supports not ((backdrop-filter:blur(10px)) or (-webkit-backdrop-filter:blur(10px))){
  body.theme-constellation .site-nav.z-glass-header::before{background:rgba(23,45,75,.88)}
  body.theme-constellation.past-hero .site-nav.z-glass-header::before,
  body.theme-constellation.menu-open .site-nav.z-glass-header::before{background:rgba(23,45,75,.88)}
}
@media(prefers-reduced-motion:reduce){
  body.theme-constellation .site-nav.z-glass-header::before{transition:none}
}


/* V24 — all three country bases; grouped footer contacts.
 * Original animation, glass header and photography remain untouched.
 */
body.theme-constellation .site-footer.footer--organised .footer-top {
  grid-template-columns:minmax(190px,.83fr) minmax(280px,1.28fr) minmax(236px,.96fr) minmax(218px,.94fr);
  column-gap:clamp(22px,2.2vw,36px);row-gap:26px;align-items:start;
}
body.theme-constellation .footer--organised .footer-brand {grid-column:auto;display:block;}
body.theme-constellation .footer--organised .footer-brand .brand-motion-link {width:245px;max-width:100%;}
body.theme-constellation .footer--organised .footer-tagline {margin-top:12px;}
body.theme-constellation .footer--organised .footer-solutions-group .footer-links {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 20px;}
body.theme-constellation .footer--organised .footer-phone-links {display:flex;flex-direction:column;align-items:stretch;gap:4px;}
body.theme-constellation .footer--organised .footer-phone-link {
  display:grid;grid-template-columns:69px minmax(0,1fr);column-gap:10px;align-items:center;
  font-size:15px;line-height:1.5;min-height:30px;padding:3px 0;margin:0;color:#e6f2fd;text-decoration:none;
}
body.theme-constellation .footer--organised .footer-phone-country {color:#adc9e6;white-space:nowrap;}
body.theme-constellation .footer--organised .footer-phone-number {white-space:nowrap;font-variant-numeric:tabular-nums;}
body.theme-constellation .footer--organised .footer-contact-actions {display:flex;flex-direction:column;align-items:stretch;gap:9px;}
body.theme-constellation .footer--organised .footer-consultation {
  display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;
  min-height:43px;max-width:100%;margin:0;border:1px solid rgba(201,225,250,.35);border-radius:10px;
  background:rgba(255,255,255,.045);color:#fff;font-size:15px;font-weight:600;line-height:1.45;
  transition:background .2s,border-color .2s;
}
body.theme-constellation .footer--organised .footer-consultation .arrow {flex:none;font-size:18px;}
body.theme-constellation .footer--organised .footer-consultation:hover,
body.theme-constellation .footer--organised .footer-consultation:focus-visible {background:rgba(255,255,255,.12);border-color:rgba(222,239,255,.8);}
body.theme-constellation .footer--organised .footer-email,
body.theme-constellation .footer--organised .footer-contact-nav a {display:inline-flex;align-items:center;min-height:30px;padding:3px 0;font-size:15px;line-height:1.5;color:#e6f2fd;text-decoration:none;text-underline-offset:4px;}
body.theme-constellation .footer--organised .footer-contact-nav {display:flex;flex-wrap:wrap;gap:3px 20px;}
body.theme-constellation .footer--organised .footer-phone-link:hover .footer-phone-number,
body.theme-constellation .footer--organised .footer-email:hover,
body.theme-constellation .footer--organised .footer-contact-nav a:hover {color:#fff;text-decoration:underline;}
@media(max-width:1200px){
  body.theme-constellation .site-footer.footer--organised .footer-top {grid-template-columns:minmax(250px,1.2fr) minmax(236px,1fr) minmax(218px,1fr);column-gap:24px;}
  body.theme-constellation .footer--organised .footer-brand {grid-column:1/-1;display:flex;align-items:center;gap:28px;}
  body.theme-constellation .footer--organised .footer-tagline {margin:0;}
}
@media(max-width:960px){
  body.theme-constellation .site-footer.footer--organised .footer-top {grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:30px;row-gap:24px;}
  body.theme-constellation .footer--organised .footer-solutions-group {grid-column:1/-1;}
  body.theme-constellation .footer--organised .footer-solutions-group .footer-links {grid-template-columns:repeat(4,minmax(0,1fr));gap:4px 20px;}
}
@media(max-width:620px){
  body.theme-constellation .site-footer.footer--organised .footer-top {grid-template-columns:minmax(0,1fr);row-gap:22px;}
  body.theme-constellation .footer--organised .footer-brand {grid-column:auto;display:block;}
  body.theme-constellation .footer--organised .footer-brand .brand-motion-link {width:215px;}
  body.theme-constellation .footer--organised .footer-tagline {margin-top:10px;}
  body.theme-constellation .footer--organised .footer-solutions-group {grid-column:auto;}
  body.theme-constellation .footer--organised .footer-solutions-group .footer-links {grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 20px;}
  body.theme-constellation .footer--organised .footer-phone-links {gap:2px;}
  body.theme-constellation .footer--organised .footer-phone-link {min-height:34px;grid-template-columns:76px minmax(0,1fr);}
  body.theme-constellation .footer--organised .footer-contact-actions {gap:8px;}
  body.theme-constellation .footer--organised .footer-consultation {width:100%;min-height:44px;}
  body.theme-constellation .footer--organised .footer-email,
  body.theme-constellation .footer--organised .footer-contact-nav a {min-height:34px;}
  /* Leave room for the pre-existing fixed motion and sound controls. */
  body.theme-constellation .site-footer.footer--organised {padding-bottom:64px;}
}
@media(prefers-reduced-motion:reduce){body.theme-constellation .footer--organised .footer-consultation{transition:none;}}

/* V24 final steer — bring the caption beside the phone/email cluster instead
 * of distributing it to the opposite edge. Narrow layouts keep the caption
 * immediately above the contacts, with their full numbers still visible. */
@media(min-width:1101px){
  body.theme-constellation .z-contact-inner {justify-content:flex-end;column-gap:22px;}
}


/* V27 — requested partnership-copy and closing consultation spacing only.
 * Keep the home paragraph closer to its heading on a wide screen, then
 * slightly lower. Stacked phone/tablet layouts retain their normal flow.
 */
@media (min-width:981px) {
  body.theme-constellation[data-page="home"] .delivery-preview .section-opening {
    grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);
    column-gap:clamp(32px,4vw,56px);
  }
  body.theme-constellation[data-page="home"] .delivery-preview .section-opening > p {
    margin-top:40px;
    text-align:left;
  }
}

/* The white consultation button previously touched the preceding paragraph.
 * Add 20px above the actions, reduce vertical button padding (not its type),
 * and redistribute the existing lower spacer. This preserves the contact
 * block's placement, wrapping, font size and US / UK / Australia sequence.
 */
body.theme-constellation .cinematic-cta .cta-right > .consultation-actions {
  margin-top:20px;
  align-items:center;
}
body.theme-constellation .cinematic-cta .cta-right > .consultation-actions .booking-primary {
  min-height:44px;
  padding-block:10.5px;
}
body.theme-constellation .cinematic-cta .cta-right > .direct-contact {
  margin-top:11px;
}
@media (max-width:640px) {
  body.theme-constellation .cinematic-cta .cta-right > .direct-contact {
    margin-top:10px;
  }
}


/* V28 — solution icon colours retained in both V30 options.
 * These are decorative cues alongside the existing text. Navigation controls,
 * logo artwork, card geometry and all animation functions remain unchanged.
 */
body.theme-constellation {
  --z-icon-calls:#63E6A6;
  --z-icon-records:#76D8FF;
  --z-icon-reviews:#FFD24A;
  --z-icon-journey:#C3AEFF;
  --z-icon-web:#63B6FF;
  --z-icon-code:#FFFFFF;
  --z-icon-process:#FFB56B;
  --z-icon-events:#FF92B4;
}
body.theme-constellation .z-solution-icon {
  color:var(--z-icon-colour,#FFFFFF);
  stroke:currentColor;
  filter:drop-shadow(0 1px 2px rgba(0,0,0,.38));
}
body.theme-constellation [data-icon-solution="voice"]{--z-icon-colour:var(--z-icon-calls)}
body.theme-constellation [data-icon-solution="crm"]{--z-icon-colour:var(--z-icon-records)}
body.theme-constellation [data-icon-solution="google-reviews"]{--z-icon-colour:var(--z-icon-reviews)}
body.theme-constellation [data-icon-solution="revenue-engine"]{--z-icon-colour:var(--z-icon-journey)}
body.theme-constellation [data-icon-solution="online-visibility"]{--z-icon-colour:var(--z-icon-web)}
body.theme-constellation [data-icon-solution="development"]{--z-icon-colour:var(--z-icon-code)}
body.theme-constellation [data-icon-solution="process-engineering"]{--z-icon-colour:var(--z-icon-process)}
body.theme-constellation [data-icon-solution="events"]{--z-icon-colour:var(--z-icon-events)}
body.theme-constellation .orbit-card .lens-icon[data-solution-icon="google-reviews"] {
  width:104px;max-width:100%;height:26px;
  display:flex;align-items:center;
}
body.theme-constellation .orbit-card .lens-icon .z-solution-icon--reviews {
  width:104px!important;max-width:100%;height:24px!important;flex:none;fill:currentColor;
}
body.theme-constellation .z-review-star{fill:currentColor;stroke:currentColor}

/* V30 / Option 2 — one real photograph spans the existing closing invitation
 * and footer. The full-width canvas never repeats at their boundary. Text,
 * links, phone order, main/footer landmarks and all logo assets are unchanged.
 */
.z-page-composition{position:relative;isolation:isolate;}
.z-page-composition>#page-view,.z-page-composition>#footer-view{position:relative;z-index:1;background:transparent;}
.z-closing-continuum{position:absolute;left:0;right:0;top:0;height:0;z-index:0;overflow:hidden;pointer-events:none;background:#082450;}
.z-closing-continuum>img{display:block;width:100%;height:100%;max-width:none;object-fit:cover;object-position:50% 45%;filter:saturate(.8);animation:photo-breathe-v7 30s ease-in-out infinite alternate;}
.z-closing-continuum:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 0%,rgba(6,29,61,.06) 40%,rgba(6,29,61,.28) 100%),linear-gradient(90deg,#061d3dee,#08244dcb 50%,#08244d8c);}
body.theme-constellation .z-page-composition.photo-footer-ready main>.cinematic-cta.z-joined-cta,
body.theme-constellation .z-page-composition.photo-footer-ready .site-footer{background:transparent!important;}
body.theme-constellation .z-page-composition.photo-footer-ready main>.cinematic-cta.z-joined-cta::after{display:none;}
.z-page-composition.photo-footer-ready .z-joined-cta .cta-photograph{display:none;}
body.theme-constellation .z-page-composition.photo-footer-ready .site-footer{border-top:0;}
/* A continuous vertical shade—not a new solid band—supports footer copy. */
.z-page-composition.photo-footer-ready .site-footer :is(.footer-tagline,.footer-links a,.footer-phone-link,.footer-contact-actions a,.footer-bottom,.footer-page-nav){text-shadow:0 1px 3px rgba(0,0,0,.22);}
.motion-paused .z-closing-continuum>img{animation-play-state:paused!important;}
@media(prefers-reduced-motion:reduce){.z-closing-continuum>img{animation:none!important;transform:none!important;}}
@media print{.z-closing-continuum{display:none!important;}.z-page-composition.photo-footer-ready .site-footer{background:#082450!important;print-color-adjust:exact;}}

/* Continue the same photograph behind the inherited preview-only notice. */
.z-page-composition>.prototype-note{position:relative;z-index:1;}
body.theme-constellation .z-page-composition.photo-footer-ready>.prototype-note{background:transparent!important;}


/* V31 — Option 2 responsive/touch refinement. The approved desktop art direction,
 * photography, copy, blue glass layers, logo player and footer plane are retained.
 * Controls adapt to the available width and pointer, not a device-name list. */
html { -webkit-text-size-adjust:100%; text-size-adjust:100%; }
body.theme-constellation :is(.hero-grid,.section-opening,.cta-grid,.page-cta-grid,
  .footer-top,.dialog-body,.field-grid)>* { min-width:0; }
body.theme-constellation :is(.hero-lead,.hero-note p,.lens-name,.lens-copy,
  .footer-email,.field-hint,.privacy-note) { overflow-wrap:break-word; }
body.theme-constellation .orbit-card.is-front .lens-expanded { max-height:none; overflow:visible; }
.orbit-card[data-orbit-measure] { animation:none!important; transition:none!important; }
.orbit-card[data-orbit-measure] * { animation:none!important; transition:none!important; }

/* No zoom lock. Notched-screen padding belongs to layout, never the artwork. */
body.theme-constellation .nav-inner,
body.theme-constellation .z-contact-inner {
  padding-left:max(var(--gutter),env(safe-area-inset-left,0px));
  padding-right:max(var(--gutter),env(safe-area-inset-right,0px));
}
body.theme-constellation .menu-panel {
  overscroll-behavior:contain;
  padding-bottom:max(24px,env(safe-area-inset-bottom,0px));
}
body.theme-constellation dialog {
  max-height:calc(100dvh - 24px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px));
  overflow-y:auto;
  overscroll-behavior:contain;
}
body.theme-constellation .footer--organised .footer-phone-number {
  white-space:normal;overflow-wrap:break-word;
}

/* Keep motion/sound available without an overlay covering the mobile page.
 * JS moves the SAME controls into the menu, preserving their IDs and listeners. */
@media(max-width:1023px) {
  body.theme-constellation .menu-panel .experience-tools {
    position:static!important;inset:auto!important;
    display:flex!important;flex-wrap:wrap;justify-content:flex-start;
    width:100%;max-width:none;border:0;border-radius:0;
    border-top:1px solid rgba(255,255,255,.18);
    margin-top:16px;padding:12px 0 4px!important;gap:12px 20px!important;
    background:transparent;box-shadow:none;backdrop-filter:none;
  }
  body.theme-constellation .menu-panel .experience-tools button {
    font-size:14px;min-height:44px;
  }
  body.theme-constellation .menu-toggle {min-width:44px;min-height:44px;}
  body.theme-constellation .menu-panel a {min-height:44px;}
  body.theme-constellation :is(input,textarea,select) {font-size:16px;}
}

/* Split the tiny carousel controls into a selection row plus spacious arrows.
 * All eight options remain visible; the circular animation is not replaced. */
@media(max-width:639px) {
  body.theme-constellation {--gutter:max(22px,env(safe-area-inset-left,0px),env(safe-area-inset-right,0px));}
  body.theme-constellation .orbit-controls {
    display:flex;flex-wrap:wrap;justify-content:center;gap:10px;
    padding-top:12px;
  }
  body.theme-constellation .orbit-dots {
    order:-1;flex:0 0 100%;display:grid;
    grid-template-columns:repeat(8,minmax(0,1fr));gap:2px;
  }
  body.theme-constellation .orbit-dots button {
    width:100%;min-width:0;height:44px;font-size:11px;padding:0;
  }
  body.theme-constellation :is(.orbit-step,.orbit-play) {
    width:44px;min-width:44px;height:44px;min-height:44px;
  }
  body.theme-constellation .orbit-card {max-width:calc(100% / 1.11 - 24px);}
  body.theme-constellation .photo-arrows button {
    width:44px;min-width:44px;height:44px;min-height:44px;
  }
  body.theme-constellation .photo-selectors button {min-height:44px;min-width:32px;}
  body.theme-constellation .photo-controls {flex-wrap:wrap;row-gap:8px;}
  body.theme-constellation .hero-actions :is(a,button),
  body.theme-constellation .consultation-actions :is(a,button) {min-height:44px;max-width:100%;}
  body.theme-constellation .cinematic-cta .consultation-actions {flex-wrap:wrap;}
  body.theme-constellation .cinematic-cta :is(.page-call-links,.direct-contact) a {
    min-height:44px;display:inline-flex;align-items:center;max-width:100%;white-space:normal;
  }
  body.theme-constellation .footer--organised :is(.footer-links a,.footer-phone-link,
    .footer-email,.footer-contact-nav a,.footer-page-nav a,.footer-legal a) {
    min-height:44px;display:flex;align-items:center;
  }
  body.theme-constellation .footer--organised .footer-phone-link {display:grid;}
  body.theme-constellation .footer--organised .footer-bottom {row-gap:8px;}
  body.theme-constellation .site-footer {padding-bottom:max(26px,env(safe-area-inset-bottom,0px));}
  body.theme-constellation .dialog-head {position:sticky;top:0;z-index:2;background:#fff;}
  body.theme-constellation .dialog-close {min-width:44px;min-height:44px;}
  body.theme-constellation .form-actions {flex-wrap:wrap;gap:12px;}
}
@media(max-width:349px) {
  body.theme-constellation .orbit-dots {grid-template-columns:repeat(4,minmax(0,1fr));gap:2px 8px;}
}
@media(pointer:coarse) {
  body.theme-constellation :is(.z-contact-links a,.voice-play,.voice-stop) {min-height:44px;}
  /* Touch selections already have click/tap handlers; do not depend on hover. */
}
/* Preserve useful landscape reading space rather than a two-line contact header. */
@media(orientation:landscape) and (max-height:540px) and (min-width:700px) and (max-width:1100px) {
  body.theme-constellation .z-contact-inner {
    flex-direction:row;align-items:center;justify-content:flex-end;
    gap:12px;padding-block:2px;min-height:40px;
  }
  body.theme-constellation .z-contact-caption {font-size:12px;}
  body.theme-constellation .z-contact-links {
    display:flex;width:auto;flex-wrap:wrap;justify-content:flex-end;gap:0 14px;
  }
  body.theme-constellation .z-contact-links a {
    font-size:12px;line-height:1.5;min-height:36px;flex-direction:row;
  }
  body.theme-constellation .z-contact-links :is(.z-contact-country,.z-contact-value) {font-size:12px;}
  body.theme-constellation .nav-inner {min-height:66px;padding-block:6px;}
  body.theme-constellation .site-nav .brand-slot {width:164px;}
}


/* V32 — compact photographic ending. Readable text, not scaled desktop columns.
 * Footer is rebuilt as a shared component. Mobile keeps all phone numbers,
 * email and main actions visible; the full secondary navigation is expandable.
 * Background continuity and the transparent animated logo use the existing player.
 */
body.theme-constellation .site-footer.z-footer{
 padding:26px var(--gutter) 18px;border-top:0;min-height:0;
}
.z-footer .z-footer-wrap{
 max-width:var(--max);margin:0 auto;display:grid;min-width:0;
 grid-template-columns:minmax(165px,.80fr) minmax(260px,1.30fr) minmax(238px,1fr) minmax(210px,1fr);
 grid-template-areas:'brand solutions phones connect' 'meta meta meta meta' 'copyright copyright copyright copyright';
 gap:14px clamp(20px,2.4vw,36px);align-items:start;
}
.z-footer-wrap>*{min-width:0}
.z-footer .z-footer-brand{grid-area:brand}
.z-footer .z-footer-brand .brand-motion-link{width:200px;max-width:100%;margin:0}
.z-footer .z-footer-tagline{font-size:14px;line-height:1.55;margin:6px 0 0;color:#dceaf7;letter-spacing:0;max-width:30ch}
.z-footer .z-footer-label{font-size:11px;line-height:1.5;font-weight:600;text-transform:uppercase;letter-spacing:.09em;color:#c7d9ed;margin:0 0 8px}
.z-footer .z-footer-phones{grid-area:phones}
.z-footer .z-footer-phone-list{display:grid;gap:0}
.z-footer .z-footer-phone{display:grid;grid-template-columns:70px minmax(0,1fr);gap:8px;align-items:center;min-height:30px;font-size:14px;line-height:1.5;padding:3px 0;color:#f5f9ff;text-decoration:none}
.z-footer .z-footer-country{color:#c7d9ed}
.z-footer .z-footer-number{white-space:nowrap;font-variant-numeric:tabular-nums}
.z-footer .z-footer-connect{grid-area:connect;display:grid;grid-template-areas:'label' 'booking' 'email' 'contact';row-gap:2px}
.z-footer .z-footer-connect>.z-footer-label{grid-area:label}
.z-footer .z-footer-actions{display:contents}
.z-footer .z-footer-consultation{grid-area:booking;display:inline-flex;align-items:center;justify-content:space-between;gap:8px;min-height:44px;padding:9px 13px;font-size:14px;line-height:1.4;font-weight:600;border:1px solid #d8edffa3;border-radius:12px;background:rgba(255,255,255,.08);color:#fff;max-width:100%}
.z-footer .z-footer-consultation .arrow{font-size:18px;flex:none}
.z-footer .z-footer-email{grid-area:email}
.z-footer .z-footer-contact{grid-area:contact}
.z-footer :is(.z-footer-email,.z-footer-contact){display:inline-flex;align-items:center;min-height:30px;font-size:14px;line-height:1.5;color:#f5f9ff;text-decoration:none;padding:3px 0}
.z-footer .z-footer-resources,.z-footer .z-footer-more{display:contents}
.z-footer .z-footer-toggle{display:none}
.z-footer .z-footer-solutions{grid-area:solutions}
.z-footer .z-footer-solution-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 18px}
.z-footer .z-footer-solution-links a{display:flex;align-items:center;min-height:27px;padding:3px 0;font-size:14px;line-height:1.5;color:#f5f9ff}
.z-footer .z-footer-meta{grid-area:meta;display:flex;align-items:center;flex-wrap:wrap;gap:0 22px;border-top:1px solid rgba(221,237,255,.22);padding-top:8px;margin-top:0;min-width:0}
.z-footer .z-footer-nav,.z-footer .z-footer-legal{display:flex;flex-wrap:wrap;gap:0 18px;align-items:center}
.z-footer .z-footer-legal{margin-left:auto}
.z-footer .z-footer-meta a{font-size:13px;line-height:1.5;min-height:30px;display:inline-flex;align-items:center;color:#dfebf8;padding:3px 0}
.z-footer .z-footer-copyright{grid-area:copyright;color:#d2e3f6;font-size:12px;line-height:1.5;padding:0;margin:0}
.z-footer .z-footer-credits{color:#d2e3f6;font-size:12px;line-height:1.6;flex:0 0 auto;max-width:100%}
.z-footer .z-footer-credits>summary{cursor:pointer;min-height:30px;display:flex;gap:6px;align-items:center;list-style:none;white-space:nowrap}
.z-footer .z-footer-credits>summary:before{content:'+';font-size:16px}
.z-footer .z-footer-credits[open]>summary:before{content:'−'}
.z-footer .z-footer-credits[open]{flex:1 1 100%;width:100%;border-top:1px solid #dbeaff33;padding-top:8px}
.z-footer .z-footer-credits p{font-size:14px;line-height:1.6;color:#e0ecf8;margin:6px 0 12px;max-width:80ch}
.z-footer .z-footer-credits a{display:inline-flex;margin-right:18px;text-decoration:underline;text-underline-offset:3px}
.z-footer a{border-radius:3px;text-underline-offset:4px}
.z-footer a:hover{text-decoration:underline;color:#fff}
.z-footer .z-footer-consultation:hover{background:rgba(255,255,255,.17);text-decoration:none}
.z-footer :is(a,button,summary):focus-visible{outline:2px solid #c7edff;outline-offset:3px}
.z-footer .z-footer-more[hidden]{display:none!important}
/* Remove the excessive closing-section padding, not its wording or actions. */
body.theme-constellation main>.cinematic-cta{
 padding-block:42px 30px;min-height:0;
}
body.theme-constellation .cinematic-cta :is(.page-cta-grid,.cta-grid){gap:28px 48px;align-items:center}
body.theme-constellation .cinematic-cta .kicker{font-size:12px;line-height:1.5;letter-spacing:.1em;margin-bottom:14px}
body.theme-constellation .cinematic-cta h2{font-size:clamp(28px,2.5vw,38px);line-height:1.18;letter-spacing:-.03em;max-width:24ch}
body.theme-constellation .cinematic-cta p:not(.kicker){font-size:16px;line-height:1.65;margin-top:14px;max-width:62ch}
body.theme-constellation .cinematic-cta :is(.page-cta-actions,.cta-right){padding:22px;border-radius:20px}
body.theme-constellation .cinematic-cta :is(.page-call-links,.direct-contact){margin-top:18px}
/* Keep the preview warning reachable without a large trailing empty band. */
body.theme-constellation .z-page-composition>.prototype-note.z-preview-note{
 padding:0 var(--gutter) max(8px,env(safe-area-inset-bottom,0px));min-height:0;text-align:left;color:#d3e5f7;letter-spacing:0;
}
.z-preview-note>summary{display:flex;align-items:center;gap:7px;min-height:30px;max-width:var(--max);margin:auto;cursor:pointer;font-size:12px;line-height:1.5;list-style:none}
.z-preview-note>summary:before{content:'+';font-size:15px}
.z-preview-note[open]>summary:before{content:'−'}
.z-preview-note>p{font-size:13px;line-height:1.6;max-width:var(--max);margin:0 auto 12px;color:inherit}
.z-preview-note>summary:focus-visible{outline:2px solid #c7edff;outline-offset:3px}
@media(max-width:1199px) and (min-width:701px){
 .z-footer .z-footer-wrap{grid-template-columns:minmax(240px,1fr) minmax(0,1fr);grid-template-areas:'brand connect' 'solutions phones' 'meta meta' 'copyright copyright';gap:16px 32px}
 .z-footer .z-footer-brand{display:flex;align-items:center;gap:16px;flex-wrap:wrap}
 .z-footer .z-footer-brand .brand-motion-link{width:180px}
 .z-footer .z-footer-tagline{margin:0}
 .z-footer .z-footer-connect{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:'label label' 'booking contact' 'email email';column-gap:16px}
 .z-footer .z-footer-legal{margin-left:0}
}
@media(max-width:1023px){
 body.theme-constellation .site-footer.z-footer{padding:16px 18px 6px}
 .z-footer .z-footer-wrap{grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-areas:'brand email' 'actions actions' 'phones phones' 'resources resources' 'copyright copyright';gap:10px 10px}
 .z-footer .z-footer-brand{align-self:center}
 .z-footer .z-footer-brand .brand-motion-link{width:180px;max-width:100%}
 .z-footer .z-footer-connect{display:contents}
 .z-footer .z-footer-connect>.z-footer-label,.z-footer .z-footer-phones>.z-footer-label{display:none}
 .z-footer .z-footer-actions{grid-area:actions;display:flex;align-items:stretch;gap:10px}
 .z-footer .z-footer-consultation{flex:1 1 auto;min-height:46px;justify-content:center;font-size:14px;padding:10px 10px;border-radius:12px;white-space:normal;text-align:center}
 .z-footer .z-footer-consultation .arrow{display:none}
 .z-footer .z-footer-contact{flex:0 0 84px;justify-content:center;min-height:46px;border:1px solid #d8edff60;border-radius:12px;padding:9px 6px;font-size:14px}
 .z-footer .z-footer-email{align-self:center;justify-self:end;font-size:14px;line-height:1.5;min-height:44px;padding:0;white-space:nowrap}
 .z-footer .z-footer-phone-list{gap:0}
 .z-footer .z-footer-phone{grid-template-columns:72px minmax(0,1fr);gap:12px;min-height:44px;padding:7px 0;font-size:15px;line-height:1.6}
 .z-footer .z-footer-phone+.z-footer-phone{border-top:1px solid #dbeaff12}
 .z-footer .z-footer-resources{grid-area:resources;display:block;border-block:1px solid #dbeaff38}
 .z-footer .z-footer-toggle{display:flex;width:100%;align-items:center;justify-content:space-between;gap:12px;min-height:46px;padding:8px 0;color:#fff;font-size:15px;font-weight:600;line-height:1.5;text-align:left}
 .z-footer .z-footer-toggle-mark{font:400 24px/1 Arial,sans-serif;padding-inline:6px}
 .z-footer .z-footer-more{display:block;padding:4px 0 12px}
 .z-footer .z-footer-tagline{font-size:14px;line-height:1.55;margin:8px 0 20px;max-width:none}
 .z-footer .z-footer-label{font-size:11px;line-height:1.5;margin-bottom:8px}
 .z-footer .z-footer-solution-links{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 16px}
 .z-footer .z-footer-solution-links a{min-height:44px;font-size:14px;line-height:1.5;padding-block:8px}
 .z-footer .z-footer-meta{display:block;border-top:1px solid #dbeaff33;padding-top:12px;margin-top:16px}
 .z-footer .z-footer-nav,.z-footer .z-footer-legal{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 16px;margin:0}
 .z-footer .z-footer-legal{border-top:1px solid #dbeaff20;margin-top:10px;padding-top:8px}
 .z-footer .z-footer-meta a{min-height:44px;font-size:14px;padding-block:8px}
 .z-footer .z-footer-credits{margin:8px 0 0}
 .z-footer .z-footer-credits>summary{min-height:44px;font-size:14px}
 .z-footer .z-footer-credits a{display:flex;margin-right:0}
 .z-footer .z-footer-copyright{font-size:12px;line-height:1.55;margin-top:0}
 body.theme-constellation main>.cinematic-cta{padding-block:30px 16px}
 body.theme-constellation .cinematic-cta :is(.page-cta-grid,.cta-grid){grid-template-columns:minmax(0,1fr);gap:18px}
 body.theme-constellation .cinematic-cta h2{font-size:28px;line-height:1.2;max-width:24ch}
 body.theme-constellation .cinematic-cta .kicker{font-size:11px;margin-bottom:10px}
 body.theme-constellation .cinematic-cta p:not(.kicker){font-size:16px;line-height:1.6;margin-top:10px}
 body.theme-constellation .cinematic-cta :is(.page-cta-actions,.cta-right){padding:18px;border-radius:16px}
 body.theme-constellation .cinematic-cta .consultation-actions{gap:10px 16px;align-items:center;flex-wrap:wrap}
 body.theme-constellation .cinematic-cta .consultation-actions .btn-z{min-height:44px;font-size:14px;padding:10px 14px}
 body.theme-constellation .cinematic-cta .enquiry-alternative{min-height:44px;font-size:14px;padding-block:8px}
 /* These three numbers are shown, in full and in the same order, directly below
  * in the compact footer. Suppress only this repeated mobile copy. */
 body.theme-constellation .cinematic-cta :is(.page-call-links,.direct-contact){display:none}
 body.theme-constellation .z-page-composition>.prototype-note.z-preview-note{padding-inline:18px;padding-bottom:max(8px,env(safe-area-inset-bottom,0px))}
 .z-preview-note>summary{min-height:44px;font-size:12px}
}
@media(max-width:359px){
 .z-footer .z-footer-wrap{column-gap:8px}
 .z-footer .z-footer-actions{gap:8px}
 .z-footer .z-footer-email{font-size:13px}
 .z-footer .z-footer-consultation{font-size:13px}
 .z-footer .z-footer-contact{flex-basis:78px}
}
@media(pointer:coarse) and (min-width:701px){
 .z-footer :is(.z-footer-phone,.z-footer-solution-links a,.z-footer-meta a,.z-footer-email,.z-footer-contact,.z-footer-credits>summary){min-height:44px}
}
@media print{
 .z-footer .z-footer-toggle,.z-preview-note{display:none!important}
 .z-footer .z-footer-more[hidden]{display:block!important}
}

/* Tablet / phone landscape: retain the compact disclosure, but use available
 * width for the grouped telephone numbers instead of stacking more rows. */
@media(min-width:701px) and (max-width:1023px){
 .z-footer .z-footer-brand .brand-motion-link{width:200px}
 .z-footer .z-footer-actions{justify-content:flex-end}
 .z-footer .z-footer-consultation{flex:0 1 290px}
 .z-footer .z-footer-contact{flex-basis:100px}
 .z-footer .z-footer-phone-list{grid-template-columns:repeat(3,minmax(0,1fr));column-gap:20px}
 .z-footer .z-footer-phone{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:2px;min-height:60px;font-size:15px;padding:6px 0}
 .z-footer .z-footer-country{font-size:12px}
 .z-footer .z-footer-phone+.z-footer-phone{border-top:0}
 .z-footer .z-footer-email{font-size:15px}
 .z-footer .z-footer-solution-links{grid-template-columns:repeat(4,minmax(0,1fr))}
 body.theme-constellation .cinematic-cta :is(.page-cta-grid,.cta-grid){grid-template-columns:1.1fr 1fr;gap:26px}
}

/* Long contact details remain readable with browser text enlargement. */
.z-footer :is(a,button){min-width:0;overflow-wrap:anywhere}
.z-footer .z-footer-number{white-space:normal;overflow-wrap:anywhere}
.z-footer .z-footer-email{white-space:normal;overflow-wrap:anywhere}

/* V34 — remove the owner's circled duplicate actions, not remaining contacts.
 * Reflow the existing compact footer so deleted controls leave no empty row.
 * Header, imagery, logo playback and all font sizes are otherwise unchanged.
 */
@media (min-width:1024px) {
 .z-footer .z-footer-connect {display:flex;flex-direction:column;align-items:flex-start;gap:0;padding-top:17px;}
 .z-footer .z-footer-connect .z-footer-email {grid-area:auto;margin:0;max-width:100%;}
}
@media (max-width:1023px) {
 .z-footer .z-footer-wrap {grid-template-areas:'brand email' 'phones phones' 'resources resources' 'copyright copyright';}
}


/* V35 — message-led hero, shared across all 14 routes.
 * Remove the action row in the renderer, not by hiding links with CSS.
 * Use the released space for natural lines and breathing room. No forced
 * justification, enlarged inter-word spaces or fixed-height text containers.
 * This layer deliberately does not alter header/card transparency or media.
 */
body.theme-constellation .hero--message-led .hero-intro{min-width:0;}
body.theme-constellation .hero--message-led .hero-kicker{margin-bottom:24px;}
body.theme-constellation .hero--message-led .hero-intro h1{
  max-width:22ch;line-height:1.12;letter-spacing:-.04em;
  margin-bottom:28px;text-wrap:balance;
}
body.theme-constellation .hero--message-led .hero-intro .hero-lead{
  max-width:55ch;line-height:1.75;margin:0;text-wrap:pretty;
}
body.theme-constellation[data-page="home"] .hero--message-led .hero-intro h1{
  font-size:clamp(2.625rem,4.35vw,4rem);max-width:none;line-height:1.12;
  font-weight:600;letter-spacing:-.045em;
}
body.theme-constellation[data-page="home"] .hero--message-led .business-promise-line{
  display:block;max-width:100%;white-space:normal;
}
body.theme-constellation .hero--message-led.hero-with-map .hero-intro h1{max-width:none;}
@media(min-width:1024px){
  body.theme-constellation .hero--message-led.hero-standard .hero-grid{
    grid-template-columns:minmax(0,1.2fr) minmax(0,.9fr);
    column-gap:clamp(36px,6vw,88px);align-items:center;
  }
  body.theme-constellation .hero--message-led.hero-standard .hero-intro{max-width:none;}
  body.theme-constellation .hero--message-led.hero-standard .hero-intro h1{
    max-width:22ch;font-size:clamp(2.625rem,4.15vw,4rem);
  }
}
@media(min-width:640px) and (max-width:1023px){
  body.theme-constellation .hero--message-led .hero-intro{max-width:46rem;width:100%;}
  body.theme-constellation .hero--message-led .hero-intro h1{
    font-size:clamp(2.625rem,5.6vw,3.5rem);max-width:24ch;
  }
  body.theme-constellation[data-page="home"] .hero--message-led .hero-intro h1{
    font-size:clamp(2.625rem,5.6vw,3.5rem);max-width:none;
  }
  body.theme-constellation .hero--message-led .hero-intro .hero-lead{max-width:58ch;}
}
@media(max-width:639px){
  body.theme-constellation .hero--message-led .hero-intro{width:100%;max-width:none;}
  body.theme-constellation .hero--message-led .hero-kicker{
    margin-bottom:20px;font-size:11px;line-height:1.6;letter-spacing:.07em;
  }
  body.theme-constellation .hero--message-led .hero-intro h1{
    font-size:clamp(2rem,8.9vw,2.625rem);line-height:1.17;
    max-width:none;margin-bottom:24px;letter-spacing:-.035em;
  }
  body.theme-constellation[data-page="home"] .hero--message-led .hero-intro h1{
    font-size:clamp(1.9375rem,9.15vw,2.625rem);max-width:none;
    line-height:1.17;letter-spacing:-.04em;
  }
  body.theme-constellation .hero--message-led .hero-intro .hero-lead{
    max-width:100%;font-size:17px;line-height:1.7;
  }
}


/* V36 — distribute the existing footer groups across the content rail.
 * No service/contact links are deleted; no removed booking controls return.
 * Real text size and 44px mobile targets are retained. Secondary navigation
 * continues to expand on small screens through the existing footer controller.
 */
body.theme-constellation .z-footer--distributed .z-footer-wrap{
 width:100%;
}
body.theme-constellation .z-footer--distributed .z-footer-connect{
 display:flex;flex-direction:column;align-items:flex-start;
 justify-self:end;align-self:start;width:max-content;max-width:100%;
 gap:0;padding:0;margin:0;
}
body.theme-constellation .z-footer--distributed .z-footer-connect>.z-footer-label{
 display:block;grid-area:auto;margin:0 0 8px;
}
body.theme-constellation .z-footer--distributed .z-footer-connect>.z-footer-email{
 grid-area:auto;margin:0;padding:3px 0;min-height:30px;
 align-self:auto;justify-self:auto;max-width:100%;
}
body.theme-constellation .z-footer--distributed .z-footer-solution-links{
 column-gap:clamp(22px,2.8vw,44px);
}
@media(min-width:1200px){
 body.theme-constellation .z-footer--distributed .z-footer-wrap{
  grid-template-columns:minmax(180px,.82fr) minmax(340px,1.5fr) minmax(230px,.95fr) max-content;
  grid-template-areas:'brand solutions phones connect' 'meta meta meta meta' 'copyright copyright copyright copyright';
  gap:14px clamp(30px,3.8vw,60px);
 }
}
@media(min-width:1024px) and (max-width:1199px){
 body.theme-constellation .z-footer--distributed .z-footer-wrap{
  grid-template-columns:minmax(320px,1.4fr) minmax(228px,1fr) max-content;
  grid-template-areas:'brand brand brand' 'solutions phones connect' 'meta meta meta' 'copyright copyright copyright';
  gap:18px clamp(28px,3.5vw,42px);
 }
 body.theme-constellation .z-footer--distributed .z-footer-brand{
  display:flex;align-items:center;gap:24px;flex-wrap:wrap;
 }
 body.theme-constellation .z-footer--distributed .z-footer-brand .brand-motion-link{width:180px;}
 body.theme-constellation .z-footer--distributed .z-footer-tagline{margin:0;}
}
@media(max-width:1023px){
 body.theme-constellation .z-footer--distributed .z-footer-wrap{
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  grid-template-areas:'brand connect' 'phones phones' 'resources resources' 'copyright copyright';
  gap:10px 14px;
 }
 body.theme-constellation .z-footer--distributed .z-footer-connect{
  grid-area:connect;align-self:center;align-items:flex-end;
 }
 body.theme-constellation .z-footer--distributed .z-footer-connect>.z-footer-label{
  margin:0;text-align:right;font-size:11px;line-height:1.5;
 }
 body.theme-constellation .z-footer--distributed .z-footer-connect>.z-footer-email{
  min-height:44px;padding:0;font-size:14px;line-height:1.5;
 }
 body.theme-constellation .z-footer--distributed .z-footer-phones>.z-footer-label{
  display:block;margin:4px 0 2px;
 }
 body.theme-constellation .z-footer--distributed .z-footer-phone{
  min-height:44px;font-size:15px;
 }
 body.theme-constellation .z-footer--distributed .z-footer-solution-links{column-gap:16px;}
}
@media(max-width:359px){
 body.theme-constellation .z-footer--distributed .z-footer-wrap{column-gap:10px;}
 body.theme-constellation .z-footer--distributed .z-footer-connect>.z-footer-email{font-size:13px;}
}

/* V36 — lighter, genuinely translucent full-width navy glass.
 * The 84%-opaque scrolled tint is replaced by 64%, letting over twice as much
 * of the underlying scene through. Only the backdrop plane is blurred; the
 * transparent animated logo, text and controls remain fully opaque/sharp.
 * The footer photograph and its overlay are deliberately untouched.
 */
body.theme-constellation .site-nav.z-glass-header::before{
 background:rgba(8,36,80,.08);
 backdrop-filter:blur(10px) saturate(110%);
 -webkit-backdrop-filter:blur(10px) saturate(110%);
 box-shadow:0 3px 16px rgba(2,12,30,.025);
}
body.theme-constellation .site-nav.z-glass-header.scrolled::before{
 background:rgba(8,36,80,.16);
}
body.theme-constellation.past-hero:not(.menu-open) .site-nav.z-glass-header::before{
 background:rgba(8,36,80,.64);
 backdrop-filter:blur(10px) saturate(110%);
 -webkit-backdrop-filter:blur(10px) saturate(110%);
 border-bottom-color:rgba(255,255,255,.16);
 box-shadow:0 3px 16px rgba(2,12,30,.035);
}
/* The expanded mobile menu needs a legible surface of its own. */
body.theme-constellation.menu-open .site-nav.z-glass-header::before{
 background:rgba(8,36,80,.78);
}

html[data-header-variant="dark-blue"] body.theme-constellation.past-hero:not(.menu-open) .site-nav.z-glass-header::before,
html[data-header-variant="dark-blue"] body.theme-constellation.menu-open .site-nav.z-glass-header::before{
  background:rgba(8,36,80,.64);backdrop-filter:blur(14px) saturate(110%);-webkit-backdrop-filter:blur(14px) saturate(110%);
  border-bottom-color:rgba(255,255,255,.18);box-shadow:0 4px 18px rgba(5,21,45,.035);
}
html[data-header-variant="dark-blue"] body.theme-constellation:is(.past-hero,.menu-open) .site-nav.z-glass-header :is(.primary-nav a,.z-contact-links a,.z-contact-country,.z-contact-caption,.menu-toggle,.nav-book){
  color:#fff;text-shadow:0 1px 3px rgba(0,0,0,.30);
}
html[data-header-variant="dark-blue"] body.theme-constellation:is(.past-hero,.menu-open) .site-nav.z-glass-header .primary-nav a:after{background:#d8eeff;}
html[data-header-variant="dark-blue"] body.theme-constellation:is(.past-hero,.menu-open) .site-nav.z-glass-header .nav-book{
  border-color:rgba(255,255,255,.60);background:rgba(255,255,255,.08);
}
html[data-header-variant="dark-blue"] body.theme-constellation:is(.past-hero,.menu-open) .site-nav.z-glass-header .z-contact-strip{border-bottom-color:rgba(255,255,255,.12);}
html[data-header-variant="dark-blue"] body.theme-constellation .menu-panel{
  background:rgba(8,36,80,.96);color:#fff;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
}
html[data-header-variant="dark-blue"] body.theme-constellation .menu-panel :is(a,button,label){color:#fff;text-shadow:none;}
html[data-header-variant="dark-blue"] body.theme-constellation .menu-panel .experience-tools{background:rgba(255,255,255,.10);border-color:rgba(255,255,255,.16);}
html[data-header-variant="dark-blue"] body.theme-constellation:is(.past-hero,.menu-open) .site-nav .brand-animation-stage{
  filter:drop-shadow(0 1px 1.5px rgba(2,14,32,.45));
}
@supports not ((backdrop-filter:blur(10px)) or (-webkit-backdrop-filter:blur(10px))){
 body.theme-constellation .site-nav.z-glass-header::before,
 body.theme-constellation .site-nav.z-glass-header.scrolled::before,
 body.theme-constellation.past-hero .site-nav.z-glass-header::before,
 body.theme-constellation.menu-open .site-nav.z-glass-header::before{
  background:rgba(8,36,80,.84);
 }
}

/* V37 — shorter footer without smaller type or a changed visual identity.
 * Keep the existing distributed groups, mobile disclosure and full-size contacts.
 */
body.theme-constellation .site-footer.z-footer.z-footer--distributed{padding-block:16px 10px;}
body.theme-constellation .z-footer--distributed .z-footer-wrap{row-gap:6px;}
body.theme-constellation .z-footer--distributed .z-footer-label,
body.theme-constellation .z-footer--distributed .z-footer-connect>.z-footer-label{margin-bottom:6px;}
body.theme-constellation .z-footer--distributed .z-footer-solution-links a{min-height:24px;padding-block:1.5px;}
body.theme-constellation .z-footer--distributed .z-footer-phone{min-height:28px;padding-block:2.5px;}
body.theme-constellation .z-footer--distributed .z-footer-meta{padding-top:4px;}
@media(min-width:1024px) and (max-width:1199px){body.theme-constellation .z-footer--distributed .z-footer-wrap{row-gap:8px;}}
@media(max-width:1023px){
 body.theme-constellation .site-footer.z-footer.z-footer--distributed{padding-block:8px 6px;}
 body.theme-constellation .z-footer--distributed .z-footer-wrap{row-gap:2px;}
 body.theme-constellation .z-footer--distributed .z-footer-connect>.z-footer-label{margin:0;}
 body.theme-constellation .z-footer--distributed .z-footer-connect>.z-footer-email{margin-top:-6px;min-height:44px;}
 body.theme-constellation .z-footer--distributed .z-footer-phones>.z-footer-label{margin:0 0 2px;}
 body.theme-constellation .z-footer--distributed .z-footer-phone{min-height:44px;padding-block:7px;}
 body.theme-constellation .z-footer--distributed .z-footer-toggle{min-height:44px;padding-block:6px;}
 body.theme-constellation .z-footer--distributed .z-footer-more .z-footer-label{margin-bottom:8px;}
 body.theme-constellation .z-footer--distributed .z-footer-solution-links a{min-height:44px;padding-block:8px;}
 body.theme-constellation .z-footer--distributed .z-footer-meta{padding-top:12px;}
 body.theme-constellation .z-footer--distributed .z-footer-copyright{padding-top:4px;}
}
@media(min-width:701px) and (max-width:1023px){body.theme-constellation .z-footer--distributed .z-footer-phone{min-height:60px;padding-block:6px;}}
@media(pointer:coarse) and (min-width:1024px){body.theme-constellation .z-footer--distributed :is(.z-footer-phone,.z-footer-solution-links a){min-height:44px;}}

/* V38 — Social media is a distinct ninth outcome, not a replacement for SEO.
 * Native icons, responsive grid controls, same photographic and motion language.
 */
body.theme-constellation .lens-icon[data-solution-icon="social-media"],
body.theme-constellation .z-solution-icon[data-icon-solution="social-media"]{color:#FFADD5;}
body.theme-constellation .home-outcome-index>a:last-child:nth-child(odd){grid-column:1/-1;}
body.theme-constellation .z-footer-solution-links>a:last-child:nth-child(odd){grid-column:1/-1;}
@media(max-width:639px){
 body.theme-constellation .network--expanded .map-node:last-child:nth-child(odd){grid-column:1/-1;justify-self:center;}
 body.theme-constellation .network--expanded .map-node:last-child:nth-child(odd)::before{display:none;}
 body.theme-constellation .orbit-stage[data-service-count="9"] .orbit-dots{grid-template-columns:repeat(3,minmax(0,1fr));}
}
/* Nine nodes: preserve a round final node in the two-column touch layout. */
@media(max-width:639px){
 body.theme-constellation .network--expanded .map-node:last-child:nth-child(odd){width:calc((100% - 21px)/2)!important;}
}
/* On narrow tablets the nine-node orbit needs a slightly smaller footprint;
 * the 15px labels and explicit photographic content remain readable. */
@media(min-width:640px) and (max-width:700px){
 body.theme-constellation .network--expanded .map-node{width:150px!important;height:150px;min-height:150px;padding:10px 8px 8px;gap:2px;}
 body.theme-constellation .network--expanded .node-photo{width:64px;height:64px;margin:0 auto 6px;}
 body.theme-constellation .network--expanded .node-name{font-size:15px!important;line-height:1.2;max-width:128px;}
 body.theme-constellation .network--expanded .node-number{margin-top:0;font-size:10px;}
}

/* V39 — Voice product content, matching the existing editorial layout. */
body.theme-constellation .z-voice-directions,
body.theme-constellation .z-voice-roles{
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 48px;
}
body.theme-constellation .z-voice-directions>article{
  padding:24px 0 0;border-top:1px solid #bfd0e4;min-width:0;
}
body.theme-constellation .z-direction-number{display:block;font-size:12px;font-weight:600;letter-spacing:.08em;color:#3d6795;margin-bottom:16px;}
body.theme-constellation .z-voice-directions h3{font-size:26px;line-height:1.25;letter-spacing:-.025em;margin-bottom:14px;}
body.theme-constellation .z-voice-directions p,
body.theme-constellation .z-voice-roles p{font-size:17px;line-height:1.7;color:var(--muted);max-width:55ch;}
body.theme-constellation .z-voice-roles>article{display:grid;grid-template-columns:28px minmax(0,1fr);gap:16px;align-items:start;min-width:0;border-top:1px solid #cbd8e7;padding-top:24px;}
body.theme-constellation .z-voice-roles>article>span{font-size:12px;color:#4f7097;padding-top:6px;}
body.theme-constellation .z-voice-roles h3{font-size:24px;line-height:1.3;letter-spacing:-.025em;margin-bottom:12px;}
body.theme-constellation .voice-product-section .section-head,
body.theme-constellation .voice-role-section .section-head{align-items:start;}
body.theme-constellation .voice-role-section .section-head>p{align-self:center;}
@media(max-width:639px){
  body.theme-constellation .z-voice-directions,body.theme-constellation .z-voice-roles{grid-template-columns:minmax(0,1fr);gap:26px;}
  body.theme-constellation .z-voice-directions h3,body.theme-constellation .z-voice-roles h3{font-size:23px;}
  body.theme-constellation .z-voice-roles>article{gap:10px;grid-template-columns:24px minmax(0,1fr);}
}
/* V39 — only the scrolled/background-on-white states differ between options.
 * The opening hero glass, logo art, footer and page dimensions stay unchanged.
 * Light blue = 40% sRGB white mixed into the previous RGB(8,36,80) tint,
 * giving RGB(107,124,150); alpha remains .64. Dark ink protects nav legibility.
 */
html[data-header-variant="charcoal"] body.theme-constellation.past-hero:not(.menu-open) .site-nav.z-glass-header::before,
html[data-header-variant="charcoal"] body.theme-constellation.menu-open .site-nav.z-glass-header::before{
  background:rgba(20,24,31,.70);backdrop-filter:blur(14px) saturate(100%);-webkit-backdrop-filter:blur(14px) saturate(100%);
  border-bottom-color:rgba(255,255,255,.16);box-shadow:0 4px 18px rgba(5,10,19,.045);
}
html[data-header-variant="charcoal"] body.theme-constellation .menu-panel{
  background:rgba(20,24,31,.94);color:#fff;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
}
html[data-header-variant="lighter-blue"] body.theme-constellation.past-hero:not(.menu-open) .site-nav.z-glass-header::before,
html[data-header-variant="lighter-blue"] body.theme-constellation.menu-open .site-nav.z-glass-header::before{
  background:rgba(107,124,150,.64);backdrop-filter:blur(14px) saturate(110%);-webkit-backdrop-filter:blur(14px) saturate(110%);
  border-bottom-color:rgba(255,255,255,.30);box-shadow:0 4px 18px rgba(5,21,45,.035);
}
html[data-header-variant="lighter-blue"] body.theme-constellation:is(.past-hero,.menu-open) .site-nav.z-glass-header :is(.primary-nav a,.z-contact-links a,.z-contact-country,.z-contact-caption,.menu-toggle,.nav-book){
  color:#082450;text-shadow:none;
}
html[data-header-variant="lighter-blue"] body.theme-constellation:is(.past-hero,.menu-open) .site-nav.z-glass-header .primary-nav a:after{background:#214a7c;}
html[data-header-variant="lighter-blue"] body.theme-constellation:is(.past-hero,.menu-open) .site-nav.z-glass-header .nav-book{
  border-color:rgba(8,36,80,.40);background:rgba(255,255,255,.28);
}
html[data-header-variant="lighter-blue"] body.theme-constellation:is(.past-hero,.menu-open) .site-nav.z-glass-header .z-contact-strip{border-bottom-color:rgba(8,36,80,.14);}
/* Switch only the ink over the existing photographic closing section. */
html[data-header-variant="lighter-blue"] body.theme-constellation.z-header-over-photography:not(.menu-open) .site-nav.z-glass-header :is(.primary-nav a,.z-contact-links a,.z-contact-country,.z-contact-caption,.menu-toggle,.nav-book){color:#fff;text-shadow:0 1px 3px rgba(0,0,0,.55);}
html[data-header-variant="lighter-blue"] body.theme-constellation.z-header-over-photography:not(.menu-open) .site-nav.z-glass-header .primary-nav a:after{background:#d8eeff;}
html[data-header-variant="lighter-blue"] body.theme-constellation.z-header-over-photography:not(.menu-open) .site-nav.z-glass-header .nav-book{border-color:rgba(255,255,255,.60);background:rgba(255,255,255,.08);}
/* The original white logo stays unchanged; a delicate alpha-shaped shadow aids
 * its edges over light glass without introducing a logo-specific rectangle. */
html[data-header-variant="lighter-blue"] body.theme-constellation:is(.past-hero,.menu-open) .site-nav .brand-animation-stage{
  filter:drop-shadow(0 1px 1.5px rgba(2,14,32,.60));
}
html[data-header-variant="lighter-blue"] body.theme-constellation .menu-panel{
  background:rgba(219,228,241,.96);color:#082450;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
}
html[data-header-variant="lighter-blue"] body.theme-constellation .menu-panel :is(a,button,label){color:#082450;text-shadow:none;}
html[data-header-variant="lighter-blue"] body.theme-constellation .menu-panel .experience-tools{background:rgba(255,255,255,.38);border-color:rgba(8,36,80,.20);}

html[data-header-variant="dark-blue"] body.theme-constellation.past-hero:not(.menu-open) .site-nav.z-glass-header::before,
html[data-header-variant="dark-blue"] body.theme-constellation.menu-open .site-nav.z-glass-header::before{
  background:rgba(8,36,80,.64);backdrop-filter:blur(14px) saturate(110%);-webkit-backdrop-filter:blur(14px) saturate(110%);
  border-bottom-color:rgba(255,255,255,.18);box-shadow:0 4px 18px rgba(5,21,45,.035);
}
html[data-header-variant="dark-blue"] body.theme-constellation:is(.past-hero,.menu-open) .site-nav.z-glass-header :is(.primary-nav a,.z-contact-links a,.z-contact-country,.z-contact-caption,.menu-toggle,.nav-book){
  color:#fff;text-shadow:0 1px 3px rgba(0,0,0,.30);
}
html[data-header-variant="dark-blue"] body.theme-constellation:is(.past-hero,.menu-open) .site-nav.z-glass-header .primary-nav a:after{background:#d8eeff;}
html[data-header-variant="dark-blue"] body.theme-constellation:is(.past-hero,.menu-open) .site-nav.z-glass-header .nav-book{
  border-color:rgba(255,255,255,.60);background:rgba(255,255,255,.08);
}
html[data-header-variant="dark-blue"] body.theme-constellation:is(.past-hero,.menu-open) .site-nav.z-glass-header .z-contact-strip{border-bottom-color:rgba(255,255,255,.12);}
html[data-header-variant="dark-blue"] body.theme-constellation .menu-panel{
  background:rgba(8,36,80,.96);color:#fff;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
}
html[data-header-variant="dark-blue"] body.theme-constellation .menu-panel :is(a,button,label){color:#fff;text-shadow:none;}
html[data-header-variant="dark-blue"] body.theme-constellation .menu-panel .experience-tools{background:rgba(255,255,255,.10);border-color:rgba(255,255,255,.16);}
html[data-header-variant="dark-blue"] body.theme-constellation:is(.past-hero,.menu-open) .site-nav .brand-animation-stage{
  filter:drop-shadow(0 1px 1.5px rgba(2,14,32,.45));
}
@supports not ((backdrop-filter:blur(10px)) or (-webkit-backdrop-filter:blur(10px))){
  html[data-header-variant="charcoal"] body.theme-constellation:is(.past-hero,.menu-open) .site-nav.z-glass-header::before{background:rgba(20,24,31,.91);}
  html[data-header-variant="lighter-blue"] body.theme-constellation:is(.past-hero,.menu-open) .site-nav.z-glass-header::before{background:rgba(160,175,198,.95);}
  html[data-header-variant="dark-blue"] body.theme-constellation:is(.past-hero,.menu-open) .site-nav.z-glass-header::before{background:rgba(8,36,80,.92);}
}
