/* Webframes — operations in full flow. Shared by the static and React sites. */
:root{--paper:#f5f5f0;--ink:#10243e;--muted:#5f6d7a;--line:rgba(16,36,62,.12);--ease:cubic-bezier(.2,.75,.25,1)}
html{overflow-x:clip}body{font-family:Inter,"Helvetica Neue",Arial,sans-serif;-webkit-font-smoothing:antialiased;background:var(--paper);overflow-x:clip}
.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{touch-action:manipulation}
::selection{background:var(--lime);color:var(--ink)}
:focus-visible{outline:2px solid #6e9400;outline-offset:5px}
h1,h2,h3{font-family:Inter,"Helvetica Neue",Arial,sans-serif;font-weight:500;letter-spacing:-.055em}
h1,h2{line-height:1.04}h1 em,h2 em{font-style:normal;font-weight:inherit;color:#677565}
p{line-height:1.65}.eyebrow{font-size:12px;font-weight:600;letter-spacing:.14em;margin-bottom:26px}.eyebrow span{display:none}
.site-header{height:80px;padding:0 4vw;border:0;background:rgba(245,245,240,.86);backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px);transition:box-shadow .3s,background .3s}
.site-header.is-scrolled{background:rgba(245,245,240,.96);box-shadow:0 1px 0 var(--line),0 4px 28px #10243e06}
.brand{font-size:23px;font-weight:700;letter-spacing:-.06em}.brand-mark{width:33px;height:33px;border-radius:10px;font-weight:600;margin-right:9px}.brand-dot{color:#79a000}
.site-header nav{gap:30px;font-size:14px;font-weight:500}.site-header nav a,.nav-action{transition:opacity .25s}
.header-cta{border:1px solid var(--line);border-radius:30px;padding:12px 19px;font-size:13px;font-weight:600;transition:background .25s,transform .25s}.header-cta:hover{background:#fff;transform:translateY(-2px)}
.menu-toggle{border-radius:22px;font-size:12px;font-weight:600;letter-spacing:0;text-transform:none;padding:9px 14px}
.button{min-height:54px;padding:0 25px;border-radius:32px;font-size:14px;font-weight:600;gap:20px;box-shadow:none;transition:background .25s,box-shadow .3s,transform .3s var(--ease)}
.button:hover{transform:translateY(-3px);box-shadow:0 9px 30px #10243e18}.button-primary{background:var(--ink);color:white;box-shadow:none}.button-lime{background:var(--lime);box-shadow:none}
.button span{font-size:20px;font-weight:400}.text-link{font-size:14px;font-weight:600;gap:14px;line-height:1.5}.text-link span{transition:transform .3s}.text-link:hover span{transform:translate(3px,-3px)}
.cinematic-hero{position:relative;isolation:isolate;min-height:740px;height:calc(100svh - 100px);max-height:1000px;margin:0 18px;border-radius:25px;overflow:hidden;color:white;background:#08121b;padding:64px 4vw 130px;display:flex;align-items:flex-start}
.hero-scenes,.hero-scene{position:absolute;inset:0;width:100%;height:100%;z-index:-2}.hero-scenes{overflow:hidden;transform:translateY(var(--hero-shift,0px)) scale(1.04);will-change:transform}
.hero-scene{object-fit:cover;object-position:center 58%;opacity:0;transform:scale(1.07);transition:opacity 1.05s ease,transform 2.2s var(--ease)}.hero-scene.is-current{opacity:1;transform:scale(1)}
.hero-scene.hero-poster{object-position:center}
.hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;z-index:-1;opacity:0;pointer-events:none;transition:opacity .9s ease}
.cinematic-hero.is-video-playing .hero-video{opacity:1}
.hero-video-toggle{position:absolute;right:28px;top:24px;z-index:3;border:1px solid #ffffff55;border-radius:28px;background:#08182699;color:#fff;padding:11px 17px;min-height:44px;font-size:14px;line-height:1.4;cursor:pointer}
.hero-video-toggle[hidden]{display:none}
.hero-video-toggle:hover{background:#173446}
@media(max-width:560px){.hero-video-toggle{top:14px;right:14px;padding:8px 13px;min-height:40px;font-size:12px}section.cinematic-hero{padding-top:75px}}
@media(prefers-reduced-motion:reduce){.hero-video,.hero-video-toggle{display:none}}
.cinematic-hero::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(3,12,22,.82),rgba(3,12,22,.16) 75%),linear-gradient(0deg,rgba(3,12,22,.85),transparent 40%)}
.cinematic-hero .hero-copy{align-self:auto;max-width:850px;margin:0;animation:hero-arrive 1.1s var(--ease) both}.cinematic-hero .eyebrow{color:#d6dfdf;font-size:12px;margin-bottom:32px}
.cinematic-hero h1{font-size:clamp(65px,7.9vw,124px);line-height:1.01;letter-spacing:-.065em;font-weight:500}.cinematic-hero h1 em{color:var(--lime)}
.cinematic-hero .hero-lead{font-size:18px;color:#d6dde1;max-width:420px;margin-top:28px;line-height:1.6}.cinematic-hero .hero-actions{gap:28px;margin-top:32px}.cinematic-hero .text-link{color:#ecf0f2}
.hero-context{position:absolute;right:4vw;bottom:170px;max-width:350px;padding:24px 28px;background:rgba(224,236,247,.08);border:1px solid rgba(255,255,255,.19);border-radius:18px;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);box-shadow:0 12px 48px #0002;animation:hero-arrive 1.4s .15s var(--ease) both}
.context-label{font-size:12px;letter-spacing:.06em;color:#d0dadd}.hero-context p{margin:10px 0 20px;font-size:20px;letter-spacing:-.025em;line-height:1.3}.context-flow{display:flex;align-items:center;gap:12px;font-size:12px}.context-flow span{padding:7px 10px;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:8px}.context-flow i{font-style:normal;color:var(--lime)}
.hero-bottom{position:absolute;bottom:31px;left:4vw;right:4vw;display:flex;justify-content:space-between;align-items:end;gap:35px}.hero-bottom-label{font-size:13px;color:#bec8ce;line-height:1.6}.scene-picker{display:flex;gap:28px;width:51%;max-width:620px}.scene-picker button{flex:1;position:relative;min-height:59px;text-align:left;border:0;border-top:1px solid #ffffff4d;background:transparent;color:#c9d1d6;padding:15px 0 0;cursor:pointer;font-size:14px;transition:color .3s}.scene-picker button span{display:block;font-size:11px;color:#b6bfc7;margin-bottom:7px}.scene-picker button::before{content:"";position:absolute;left:0;right:0;top:-1px;height:2px;background:var(--lime);transform:scaleX(0);transform-origin:left;transition:transform .65s var(--ease)}.scene-picker button[aria-pressed="true"]{color:white}.scene-picker button[aria-pressed="true"]::before{transform:scaleX(1)}
.trust-line{min-height:104px;border:0;padding:25px 7vw;justify-content:space-around;gap:20px;font-size:12px;text-transform:none;letter-spacing:.01em;font-weight:500;color:#66727e}.trust-line i{width:3px;height:3px;background:#a5b19e}
.connected-section{padding:95px 6vw 115px;display:grid;grid-template-columns:1fr 1.1fr;align-items:center;gap:4vw;max-width:1700px;margin:auto;scroll-margin-top:90px}.connected-copy h2{font-size:clamp(40px,4.4vw,68px);line-height:1.07}.connected-copy>p:not(.eyebrow){max-width:440px;font-size:17px;color:var(--muted);margin:28px 0}.connected-copy .text-link{margin-top:30px}.map-instruction{display:flex;gap:12px;align-items:center;color:#6e7b86;font-size:12px;margin-top:54px}.map-instruction>span{font-size:22px}
.system-stage{position:relative;min-width:0;background:radial-gradient(ellipse at 50% 50%,#fff 5%,#f0f2e9 70%,#f5f5f0 100%);border-radius:50%}.system-map{height:560px;min-height:560px;width:100%;max-width:none;margin:0;transform:none;overflow:visible}.system-map .map-grid{opacity:.045;inset:8%;background-size:32px 32px}.system-map .orbit-one{width:264px;height:264px;border:1px solid #10243e1a}.system-map .orbit-two{width:376px;height:376px;border:1px solid #10243e18;opacity:1}.system-map .orbit-three{display:block;width:488px;height:488px;border:1px dashed #10243e15;opacity:.7}
.core-node{width:112px;height:112px;background:var(--ink);color:#fff;border:1px solid #ffffff30;box-shadow:0 0 0 7px #c9ff4580,0 0 0 19px #f4f5ef,0 20px 42px #10243e1a;gap:7px}.core-node b{font:500 23px/1.1 Inter,"Helvetica Neue",Arial,sans-serif;letter-spacing:-.04em;max-width:none}.core-node span{font-size:10px;letter-spacing:0;color:#d6dedd}.core-pulse{width:143px;height:143px;border-color:#8caf4444;animation-duration:5s}
.domain-cluster{left:var(--radius);top:0;width:104px;height:42px;border:1px solid #10243e15;border-radius:24px;background:rgba(255,255,255,.94);box-shadow:0 4px 16px #10243e08;transform:translate(-50%,-50%) rotate(calc(0deg - var(--angle)));animation-name:editorial-counter;cursor:pointer}.domain-cluster>strong{font-size:12px;font-weight:500;letter-spacing:-.015em}.domain-cluster:hover,.domain-cluster:focus,.domain-cluster.is-active{background:var(--ink);color:white;box-shadow:0 5px 22px #10243e20}
.domain-details span{background:white;color:#4c6071;border:1px solid #10243e1a;box-shadow:0 4px 16px #10243e0a;font-size:10px;font-weight:500;max-width:none;padding:5px 9px;pointer-events:none}.domain-cluster:hover .domain-details span,.domain-cluster:focus .domain-details span,.domain-cluster.is-active .domain-details span{pointer-events:auto}.domain-details .sat-short{--satellite-distance:25.2px}.domain-details .sat-medium{--satellite-distance:31.2px}.domain-details .sat-long{--satellite-distance:34.8px}
.orbit-toggle{position:absolute;bottom:0;right:20px;display:flex;gap:12px;align-items:center;border:1px solid var(--line);border-radius:22px;background:#ffffff80;color:#63707b;font-size:12px;padding:10px 14px;cursor:pointer}.system-stage.is-paused .domain-anchor,.system-stage.is-paused .domain-cluster,.system-stage.is-paused .domain-details,.system-stage.is-paused .domain-details span,.system-stage.is-paused .core-pulse{animation-play-state:paused}
.solutions{padding:95px 6vw 120px;background:#eaece6;border-radius:36px 36px 0 0}.section-heading{grid-template-columns:.65fr 1.25fr 1fr;gap:4vw;margin-bottom:50px}.section-heading h2{font-size:clamp(37px,4vw,62px)}.section-heading>p:last-child{font-size:16px}.capability-grid{gap:16px;border:0;background:none}.capability-card{border-radius:22px;border:1px solid #ffffff80;background:#f8f9f4;min-height:325px;padding:32px;transition:transform .5s var(--ease),box-shadow .5s}.capability-card:hover{transform:translateY(-7px);box-shadow:0 18px 45px #10243e0a}.card-top{font-size:12px;letter-spacing:.04em}.card-top b{font-weight:500}.card-top span{font:13px Inter,Arial,sans-serif}.capability-card h3{font:500 29px/1.15 Inter,"Helvetica Neue",Arial,sans-serif;letter-spacing:-.04em;margin:55px 0 17px}.capability-card p{font-size:15px;margin-bottom:28px;line-height:1.6}.capability-card a{font-size:13px;font-weight:600}
.scale-section{padding:110px 6vw;background:#10243e;border:0;gap:9vw}.scale-copy{align-self:center}.scale-copy h2,.approach h2,.contact h2{font-size:clamp(42px,4.6vw,72px);line-height:1.06}.scale-steps{border-top-color:#ffffff22}.scale-steps article{padding:29px 0;border-bottom-color:#ffffff22;grid-template-columns:36px 1fr}.scale-steps b{font:13px Inter,Arial,sans-serif}.scale-steps h3{font:500 24px/1.2 Inter,Arial,sans-serif;letter-spacing:-.03em;margin-bottom:12px}.scale-steps p{font-size:15px;color:#c0cad4}
.approach{padding:110px 6vw}.approach-intro{margin-bottom:55px}.process-grid{border:0;gap:26px}.process-grid article{padding:25px 0 0;border:0;border-top:1px solid #b7c0b4}.process-grid span{font-size:12px;font-weight:500;letter-spacing:.05em}.process-grid h3{font:500 25px/1.2 Inter,Arial,sans-serif;letter-spacing:-.04em;margin:35px 0 16px}.process-grid p{font-size:15px;line-height:1.65}
.industries{padding:90px 6vw 110px;border:0}.industry-list{gap:10px;margin:35px 0}.industry-list span{border:1px solid var(--line);border-radius:30px;padding:12px 22px;margin:0;font:400 18px Inter,Arial,sans-serif;background:transparent}.industry-note{font-size:16px}
.contact{position:relative;overflow:hidden;padding:110px 6vw;background:#0b1b2c;gap:7vw}.contact::before{content:"";position:absolute;width:600px;height:600px;right:-300px;top:-200px;background:radial-gradient(circle,#c9ff4510,transparent 65%);pointer-events:none}.contact-side p{font-size:16px}.contact-email{font-size:14px;font-weight:400}.contact .eyebrow{color:#afbec8}
footer{padding:40px 6vw;grid-template-columns:1fr auto;gap:35px;background:#0b1b2c;min-height:150px;border-top:1px solid #ffffff1a}.footer-links{grid-column:2;grid-row:1;display:flex;gap:22px;font-size:12px;color:#c6d0d7;flex-wrap:wrap;justify-content:flex-end}footer>span{grid-column:1/-1;justify-self:start;font-size:12px;color:#889cae}.footer-brand .brand-mark{background:#ffffff12;color:var(--lime)}
.industry-stories{padding:55px 6vw 95px}.story-heading{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:40px}.story-heading h2{font-size:clamp(38px,4.4vw,66px);line-height:1.08}.story-heading>p{font-size:16px;color:var(--muted);margin:0 0 5px;max-width:340px}.industry-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.industry-story{position:relative;isolation:isolate;overflow:hidden;min-height:510px;border-radius:23px;display:flex;align-items:end;background:#10243e;color:#fff}.industry-story img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transition:transform 1.2s var(--ease)}.industry-story::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,rgba(4,16,29,.94),rgba(4,16,29,.12) 80%)}.industry-story:first-child img{object-position:50% 38%;filter:brightness(1.65)}.story-content{width:100%;padding:30px}.story-index{font-size:12px;letter-spacing:.03em;color:#d9e3e5}.story-content h3{font-size:clamp(27px,2.7vw,42px);line-height:1.1;font-weight:500;margin:24px 0 16px;letter-spacing:-.045em}.story-content p{font-size:14px;line-height:1.6;color:#d5dfe4;margin:0 0 26px;max-width:290px}.story-link{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:12px;font-weight:500}.story-link b{font-size:21px;font-weight:400;width:38px;height:38px;border:1px solid #ffffff50;border-radius:50%;display:grid;place-items:center;transition:background .3s,color .3s,transform .3s}.industry-story:hover img,.industry-story:focus-visible img{transform:scale(1.065)}.industry-story:hover .story-link b,.industry-story:focus-visible .story-link b{background:var(--lime);color:var(--ink);border-color:var(--lime);transform:rotate(45deg)}.industry-footnote{display:flex;align-items:center;justify-content:space-between;gap:30px;margin-top:29px;color:var(--muted);font-size:13px}.industry-footnote .text-link{color:var(--ink);font-size:13px;white-space:nowrap}
.reveal-pending{opacity:0;transform:translateY(28px);transition:opacity .85s var(--ease),transform .85s var(--ease)}.reveal-pending.is-revealed{opacity:1;transform:translateY(0)}.industry-gallery .reveal-pending:nth-child(2),.capability-grid .reveal-pending:nth-child(2){transition-delay:.1s}.industry-gallery .reveal-pending:nth-child(3),.capability-grid .reveal-pending:nth-child(3){transition-delay:.2s}
.capability-card{position:relative;overflow:hidden}.capability-card::before{content:"";position:absolute;inset:0;background:radial-gradient(330px circle at var(--spot-x,50%) var(--spot-y,0%),#c9ff452b,transparent 65%);pointer-events:none;opacity:0;transition:opacity .3s}.capability-card:hover::before{opacity:1}.capability-card>*{position:relative}.system-stage:hover{background:radial-gradient(ellipse at var(--spot-x,50%) var(--spot-y,50%),#ecf4df,#f5f5f0 75%)}
.domain-details span{visibility:hidden;opacity:0}.domain-cluster.is-hovered .domain-details span,.domain-cluster.is-keyfocused .domain-details span,.domain-cluster.is-active .domain-details span{visibility:visible;opacity:1}.domain-details{pointer-events:none}.domain-cluster.is-active .domain-details{pointer-events:auto}
.cinematic-hero[data-scene="aviation"] .hero-scene[data-scene-image="aviation"]{filter:brightness(1.35)}
/* Secondary pages share the same softened surfaces and rhythm. */
.page-hero{padding:95px 6vw 85px}.page-hero--dark{margin:0 18px;border-radius:25px;background:radial-gradient(ellipse at 90% 100%,#28474c,#10243e 65%)}.page-hero h1{font-size:clamp(48px,6vw,88px);line-height:1.06;max-width:900px}.page-lead{font-size:17px}.page-section{padding:90px 6vw}.section-title-row h2,.about-grid h2,.enquiry-aside h2{font-size:clamp(38px,4vw,60px)}.detail-grid{gap:18px;border:0;background:transparent}.detail-card{padding:36px;border:1px solid var(--line);border-radius:22px;background:#fff;min-height:300px}.detail-card__number{font:12px Inter,Arial,sans-serif;letter-spacing:.07em;margin-bottom:36px}.detail-card h2,.detail-card h3{font:500 30px/1.14 Inter,Arial,sans-serif;letter-spacing:-.04em}.detail-card p{font-size:16px}.detail-card li{border-radius:20px;font-size:12px;text-transform:none;letter-spacing:0;font-weight:500;padding:8px 13px}.detail-card--feature{background:var(--ink)}.detail-card--feature .detail-card__number{color:#c9d4db}.detail-card--feature li{background:#ffffff0a}
.inline-cta{padding:60px 6vw;gap:40px}.inline-cta h2{font-size:clamp(32px,3.5vw,52px)}.inline-cta .button{margin-top:22px}.principle-grid{gap:22px;border:0;background:transparent}.principle-grid article{border:1px solid #ffffff20;border-radius:22px;background:#ffffff05;min-height:250px}.principle-grid span{font-size:12px;font-weight:500}.principle-grid h3{font:500 26px/1.2 Inter,Arial,sans-serif;letter-spacing:-.04em;margin-top:40px}.principle-grid p{font-size:15px}.approach-step h2{font-size:30px}.approach-step p{font-size:16px}.about-copy p{font-size:17px}.scale-list span{font-size:15px}.enquiry-form{border-radius:24px;background:#fff;padding:36px;box-shadow:0 18px 65px #10243e07}.form-field input,.form-field select,.form-field textarea{border-radius:11px;border-color:#d1d7db;padding:14px;font-size:16px;background:#fcfdfb}.form-field label,.form-legend{font-size:12px;font-weight:600;text-transform:none;letter-spacing:0}.form-help,.form-notice,.consent-field label{font-size:13px}.form-submit{font-size:14px}.enquiry-aside a{font-size:14px}.privacy-content p,.privacy-content li{font-size:16px}.privacy-content h2{font-size:30px}.privacy-highlight{border-radius:18px}
.pricing-modal,.pricing-modal-react{border:1px solid var(--line);border-radius:24px!important;box-shadow:0 30px 100px #06142633!important}.pricing-modal__header{background:rgba(245,245,240,.96);padding:20px 30px}.pricing-modal__intro h2{font-size:clamp(38px,4.5vw,64px)}.pricing-modal__intro>div>p{font-size:16px}.modal-close{border-color:var(--line);border-radius:50%;width:40px;height:40px}.pricing-topics span{border-radius:16px;font-size:12px;font-weight:500;background:white}.pricing-steps{gap:12px;padding:0 26px;background:transparent;border:0}.pricing-steps article{border:1px solid var(--line);border-radius:16px;background:white;padding:25px}.pricing-steps span{font-size:12px;font-weight:500}.pricing-steps h3{font:500 24px/1.15 Inter,Arial,sans-serif;letter-spacing:-.035em;margin:27px 0 16px}.pricing-steps p{font-size:14px}.pricing-modal__footer p{font-size:12px}.pricing-modal__footer .button{flex-shrink:0}
.privacy-banner{left:auto;right:22px;bottom:22px;width:min(410px,calc(100% - 32px));display:grid;grid-template-columns:1fr auto;gap:16px;padding:23px;border:1px solid #ffffffb3;border-radius:19px;background:rgba(255,255,255,.96);box-shadow:0 10px 60px #06142621;backdrop-filter:blur(20px)}.privacy-banner>div{grid-column:1/-1;display:block}.privacy-banner strong{display:block;margin-bottom:7px;font:600 15px Inter,Arial,sans-serif;letter-spacing:-.02em}.privacy-banner p{font-size:12px;line-height:1.6}.privacy-banner>a{font-size:12px;font-weight:500;align-self:center;white-space:normal;border:0;text-decoration:underline;text-underline-offset:4px}.privacy-banner button{border-radius:24px;font-size:12px;font-weight:500;padding:11px 15px}
@keyframes hero-arrive{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}
@keyframes editorial-counter{from{transform:translate(-50%,-50%) rotate(calc(0deg - var(--angle)))}to{transform:translate(-50%,-50%) rotate(calc(0deg - var(--angle) - 360deg))}}
@media(min-width:1700px){.cinematic-hero{padding-top:100px}.cinematic-hero .hero-copy{max-width:1000px}}
@media(max-width:1100px){.hero-context{right:4vw;max-width:295px;bottom:145px;padding:20px}.cinematic-hero{min-height:730px}.connected-section{gap:1vw;padding-left:4vw;padding-right:4vw}.connected-copy h2{font-size:42px}.system-stage{margin-right:-15px}.system-map{transform:scale(.9);transform-origin:center}.section-heading{grid-template-columns:1fr 1.8fr}.section-heading>p:last-child{grid-column:2}.site-header nav{gap:20px}.hero-bottom-label{font-size:12px}.scene-picker{width:60%}}
@media(max-width:900px){.site-header{height:72px}.site-header nav{border-radius:0 0 20px 20px;padding:28px 5vw}.cinematic-hero{margin:0 12px;min-height:800px;height:auto;padding:60px 5vw 240px}.cinematic-hero h1{font-size:clamp(62px,10vw,90px)}.hero-context{bottom:130px;right:5vw;max-width:300px;padding:18px 22px}.hero-context p{font-size:17px;margin-bottom:12px}.hero-bottom{left:5vw;right:5vw}.hero-bottom-label{display:none}.scene-picker{width:100%;max-width:none}.connected-section{grid-template-columns:1fr;gap:20px;padding:80px 6vw}.connected-copy>p:not(.eyebrow){max-width:520px}.connected-copy h2{font-size:clamp(40px,6vw,62px)}.map-instruction{margin-top:28px}.system-stage{width:100%;max-width:620px;margin:0 auto}.system-map{transform:none;min-height:540px;height:540px}.section-heading{grid-template-columns:1fr}.section-heading>p:last-child{grid-column:auto;max-width:550px}.section-heading .eyebrow{margin-bottom:0}.capability-grid{grid-template-columns:1fr}.capability-card{min-height:260px}.capability-card h3{margin-top:35px}.capability-card p{max-width:100%}.scale-section,.contact{grid-template-columns:1fr;gap:50px}.process-grid{grid-template-columns:1fr 1fr;gap:35px}.process-grid article:nth-child(-n+2){border-bottom:0}.process-grid article:nth-child(2){border-right:0}.page-hero--dark{margin:0 12px}.page-hero h1{font-size:clamp(44px,7vw,68px)}.section-title-row{gap:30px}.detail-card h2{font-size:29px}.enquiry-layout{gap:40px}.principle-grid{grid-template-columns:1fr}.pricing-modal__intro{gap:30px}.pricing-steps{grid-template-columns:1fr}.pricing-modal__footer{flex-direction:column;align-items:start;gap:24px}footer{grid-template-columns:1fr}.footer-links{grid-column:1;grid-row:auto;justify-content:flex-start;gap:20px;padding:0}footer>span{grid-column:1}.trust-line{min-height:95px;padding:25px 6vw}.trust-line span:nth-of-type(2),.trust-line i:nth-of-type(2){display:initial}.trust-line span:nth-of-type(3),.trust-line i:nth-of-type(3){display:none}}
@media(max-width:560px){.site-header{padding:0 18px;column-gap:9px;height:70px}.brand{font-size:21px}.brand-mark{width:29px;height:29px;font-size:12px;border-radius:9px}.menu-toggle{font-size:12px;padding:9px 12px}.site-header .header-cta{font-size:0;min-width:0;padding:10px 12px}.site-header .header-cta::before{font-size:12px}.header-cta svg{display:none}.cinematic-hero{margin:0 8px;border-radius:20px;min-height:800px;padding:43px 24px 300px}.cinematic-hero h1{font-size:clamp(48px,11.8vw,65px);line-height:1.04}.cinematic-hero .eyebrow{font-size:10px;letter-spacing:.12em;margin-bottom:25px}.cinematic-hero .hero-lead{font-size:16px;line-height:1.6;margin-top:24px;max-width:310px}.cinematic-hero .hero-actions{flex-direction:column;gap:22px;margin-top:27px}.cinematic-hero .text-link{font-size:13px}.button{min-height:51px;padding:0 22px}.hero-context{left:24px;right:auto;bottom:137px;padding:17px 20px;max-width:calc(100% - 48px);background:#ffffff0c}.context-label{font-size:11px}.hero-context p{font-size:17px}.context-flow{font-size:11px;gap:10px}.hero-bottom{left:24px;right:24px;bottom:26px}.scene-picker{gap:18px}.scene-picker button{font-size:12px;min-height:58px}.hero-scene{object-position:60% center}.hero-scenes{transform:scale(1.03)}.trust-line{font-size:11px;gap:12px;min-height:85px;padding:22px 22px}.trust-line span:nth-of-type(2),.trust-line i:nth-of-type(2){display:none}.connected-section{padding:65px 24px 70px;overflow:hidden;gap:0}.connected-copy h2{font-size:39px}.connected-copy>p:not(.eyebrow){font-size:16px}.connected-copy .text-link{font-size:13px}.system-stage{width:100%;height:405px;margin-top:22px;border-radius:40px}.system-map{height:520px;min-height:520px;width:520px;max-width:none;position:absolute;left:50%;top:0;margin:0;transform:translateX(-50%) scale(.7);transform-origin:center top}.orbit-toggle{bottom:0;right:0;font-size:11px}.solutions,.scale-section,.approach,.industries,.contact{padding:70px 24px}.solutions{border-radius:25px 25px 0 0}.section-heading h2{font-size:38px}.capability-card{padding:28px;min-height:285px;border-radius:19px}.capability-card h3{font-size:27px}.scale-copy h2,.approach h2,.contact h2{font-size:39px}.scale-steps p,.process-grid p{font-size:15px}.process-grid{grid-template-columns:1fr;gap:30px}.process-grid article{border-bottom:0}.process-grid h3{margin-top:23px}.industry-list span{font-size:15px;padding:10px 16px}.industry-note{font-size:15px}.contact-side{margin-top:0}.contact-email{font-size:13px}footer{padding:35px 24px;gap:28px}.footer-links{gap:17px;font-size:12px}footer>span{font-size:12px}.page-hero{padding:58px 24px}.page-hero--dark{margin:0 8px;border-radius:20px}.page-hero h1{font-size:44px}.page-section{padding:65px 24px}.section-title-row h2,.about-grid h2,.enquiry-aside h2{font-size:37px}.detail-card{padding:26px}.detail-card h2,.detail-card h3{font-size:26px}.detail-card p{font-size:15px}.inline-cta{padding:45px 24px}.inline-cta h2{font-size:35px}.about-grid{gap:35px}.enquiry-form{padding:26px 20px;box-shadow:none;border-radius:20px}.form-help,.consent-field label{font-size:12px}.form-grid{gap:22px}.approach-step h2{font-size:27px}.privacy-banner{right:16px;bottom:16px;left:auto;display:grid;flex-direction:initial;gap:13px;padding:19px}.privacy-banner button{width:auto}.privacy-banner strong{font-size:14px}.privacy-banner p{font-size:12px}.pricing-modal__header{padding:17px 20px}.pricing-modal__header .eyebrow{font-size:10px;letter-spacing:.08em}.pricing-modal__intro{padding:30px 22px}.pricing-modal__intro h2{font-size:39px}.pricing-steps{padding:0 18px}.pricing-steps article{padding:23px}.pricing-modal__footer{padding:25px 22px}.pricing-modal__footer .button{font-size:12px;white-space:normal;text-align:center}.pricing-modal-react{max-height:91svh}}
@media(max-width:900px){.industry-stories{padding:45px 6vw 75px}.story-heading{display:block}.story-heading>p{margin-top:24px}.industry-gallery{gap:14px}.industry-story{min-height:440px}.story-content{padding:22px}.story-content h3{font-size:28px}.story-content p{font-size:13px}.story-index{font-size:11px}.industry-footnote{align-items:start;flex-direction:column;gap:17px}.story-link{font-size:11px}.story-link b{flex-shrink:0}}
@media(max-width:680px){.industry-stories{padding:40px 24px 55px}.story-heading h2{font-size:39px}.industry-gallery{grid-template-columns:1fr;gap:20px}.industry-story{min-height:450px}.story-content{padding:29px}.story-content h3{font-size:35px}.story-content p{font-size:15px;max-width:320px}.story-index,.story-link{font-size:12px}.story-link b{width:42px;height:42px}.industry-story img{object-position:center}.reveal-pending{transform:translateY(18px)}}
.page-section--dark h2 em{color:var(--lime)}
.privacy-banner.cookie-banner{width:min(460px,calc(100% - 32px));max-height:calc(100svh - 40px);overflow-y:auto;grid-template-columns:1fr}
.privacy-banner.cookie-banner strong{font-size:1.125rem;white-space:normal}
.privacy-banner.cookie-banner p{font-size:1rem;line-height:1.55}
.privacy-banner.cookie-banner p+p{margin-top:12px}
.privacy-banner.cookie-banner>a{font-size:.875rem;justify-self:start}
.privacy-banner.cookie-banner .cookie-banner__actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.privacy-banner.cookie-banner button{min-height:44px;font-size:.875rem;line-height:1.4;padding:12px;white-space:normal}
.privacy-banner.cookie-banner :focus-visible{outline:2px solid var(--ink);outline-offset:4px}
.privacy-content #cookies{scroll-margin-top:100px}
.privacy-content #cookies code{overflow-wrap:anywhere}
.privacy-content #cookies .button{white-space:normal;text-align:center;max-width:100%}
/* Text-led navigation and layouts without ornamental arrows or counters. */
/* Standalone pricing: clear annual scope, monthly instalments and ongoing care. */
.pricing-overview{padding-bottom:65px}
.pricing-plan-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;align-items:stretch}
.pricing-plan{display:flex;flex-direction:column;padding:clamp(28px,4vw,60px);border:1px solid var(--line);border-radius:25px;background:#fff;min-width:0}
.pricing-plan--featured{background:var(--ink);color:#fff;border-color:var(--ink)}
.pricing-plan .eyebrow{margin:0 0 24px;color:var(--muted)}
.pricing-plan--featured .eyebrow{color:#c9d5de}
.pricing-plan h2{font-size:clamp(29px,3vw,43px);letter-spacing:-.04em}
.pricing-amount{display:flex;flex-direction:column;gap:9px;margin:40px 0 28px;line-height:1.15}
.pricing-amount>span{font-size:15px;color:var(--muted)}
.pricing-amount strong{font-size:clamp(46px,5.6vw,86px);font-weight:500;letter-spacing:-.055em;line-height:1.05;white-space:nowrap}
.pricing-plan--featured .pricing-amount strong{color:var(--lime)}
.pricing-plan--featured .pricing-amount>span{color:#c9d5de}
.pricing-plan .pricing-instalments{font-size:17px;line-height:1.6;margin:0 0 20px}
.pricing-instalments strong{font-weight:600}
.pricing-plan>p:not(.eyebrow):not(.pricing-amount):not(.pricing-instalments){font-size:16px;color:var(--muted);margin:0 0 32px;max-width:570px}
.pricing-plan--featured>p:not(.eyebrow):not(.pricing-amount):not(.pricing-instalments){color:#c9d5de}
.pricing-plan .button{align-self:flex-start;margin-top:auto}
.pricing-change-note{margin-top:auto;padding-top:25px;border-top:1px solid var(--line)}
.pricing-change-note h3{font-size:21px;font-weight:500;letter-spacing:-.025em;margin:0 0 12px}
.pricing-change-note p{font-size:15px;color:var(--muted);margin:0}
.pricing-small-print{max-width:950px;margin:25px 0 0;font-size:13px;color:var(--muted);line-height:1.65}
.pricing-scope{padding-top:40px}
.pricing-areas{display:flex;flex-wrap:wrap;gap:12px}
.pricing-areas a{border:1px solid var(--line);border-radius:30px;padding:14px 20px;background:#fff;font-size:15px;line-height:1.4;transition:background .25s,border-color .25s}
.pricing-areas a:hover,.pricing-areas a:focus-visible{background:#e8f4ce;border-color:#9caf7b}
@media(max-width:900px){.pricing-plan-grid{grid-template-columns:1fr}.pricing-amount strong{font-size:70px}.pricing-plan{padding:38px}.pricing-plan .button{margin-top:12px}.pricing-change-note{margin-top:6px}}
@media(max-width:560px){.pricing-overview{padding-bottom:45px}.pricing-plan{padding:30px 24px;border-radius:21px}.pricing-plan h2{font-size:30px}.pricing-amount{margin:32px 0 25px}.pricing-amount strong{font-size:clamp(38px,12vw,60px)}.pricing-plan .pricing-instalments{font-size:16px}.pricing-plan .eyebrow{margin-bottom:19px}.pricing-scope{padding-top:20px}.pricing-areas{gap:9px}.pricing-areas a{font-size:14px;padding:12px 16px}}
.scale-steps article,.scale-list div{grid-template-columns:1fr;gap:0}
.approach-step{grid-template-columns:minmax(180px,.65fr) minmax(0,1.35fr)}
.approach-step p{grid-column:auto}
.scene-picker button{min-height:44px;padding-top:15px}
.story-link{display:inline-block;border-bottom:1px solid #ffffff60;padding-bottom:4px}
.industry-story:hover .story-link,.industry-story:focus-visible .story-link{border-color:var(--lime)}
.map-instruction{display:block}
@media(max-width:900px){.approach-step{grid-template-columns:1fr;gap:18px}}
@media(max-width:560px){.domain-cluster>strong{font-size:15px}.domain-details span{font-size:13px}.domain-cluster::after{content:"";position:absolute;inset:-11px -3px;border-radius:30px}.domain-cluster .domain-details{z-index:3}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.hero-scenes{transform:none;will-change:auto}.domain-anchor,.domain-cluster,.domain-details,.domain-details span{animation-play-state:paused!important}.cinematic-hero .hero-copy,.hero-context{animation:none}.reveal-pending{opacity:1;transform:none}.industry-story:hover img{transform:none}.orbit-toggle{display:none}}
