:root{--colour-navy: #242851;--colour-cyan: #34C2CB;--colour-cyan-dark: #169aa3;--colour-ink: #15172d;--colour-muted: #626983;--colour-soft: #f5f8fb;--colour-line: #dfe7ef;--colour-white: #ffffff;--colour-success: #177a46;--font-body: "Montserrat", Arial, sans-serif;--font-display: "Baloo 2", "Montserrat", Arial, sans-serif;--shadow-soft: 0 20px 60px rgba(36, 40, 81, .12);--shadow-card: 0 12px 36px rgba(36, 40, 81, .08);--radius-sm: 10px;--radius-md: 18px;--radius-lg: 28px;--container: 1180px;--transition: 180ms ease}*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth}body,h1,h2,h3,h4,p,figure,blockquote,dl,dd{margin:0}ul,ol{margin:0;padding:0}img,picture,svg{display:block;max-width:100%}button,input,select,textarea{font:inherit}body{background:var(--colour-white);color:var(--colour-ink);font-family:var(--font-body);line-height:1.6;min-width:320px}a{color:inherit;text-decoration:none}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid rgba(52,194,203,.55);outline-offset:3px}::selection{background:rgba(52,194,203,.25)}.skip-link{background:var(--colour-navy);color:var(--colour-white);left:1rem;padding:.75rem 1rem;position:fixed;top:-10rem;z-index:1000}.skip-link:focus{top:1rem}.eyebrow{color:var(--colour-cyan-dark);font-size:.78rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}h1,h2,h3{color:var(--colour-navy);font-weight:800;letter-spacing:0;line-height:1.12}h1{font-size:clamp(2.45rem,8vw,5.6rem);line-height:1.04}h2{font-size:clamp(2rem,5vw,3.6rem);line-height:1.1}h3{font-size:clamp(1.15rem,2vw,1.55rem);line-height:1.16}.display-accent{color:var(--colour-cyan-dark);font-family:var(--font-display)}.lead{color:var(--colour-muted);font-size:clamp(1.02rem,2vw,1.25rem);line-height:1.72;max-width:760px}.section-heading{display:grid;gap:1.2rem;margin-bottom:clamp(2.25rem,4vw,3.25rem);max-width:820px}.section-heading.center{margin-left:auto;margin-right:auto;text-align:center}.container{margin-inline:auto;max-width:var(--container);padding-inline:clamp(1rem,4vw,2rem);width:100%}.section{padding-block:clamp(4rem,8vw,7rem)}.section-soft{background:radial-gradient(circle at 12% 8%, rgba(52, 194, 203, 0.12), transparent 28rem),linear-gradient(180deg, #f8fbfd 0%, #eef5f8 100%)}.section-dark{background:radial-gradient(circle at 12% 10%, rgba(52, 194, 203, 0.18), transparent 34rem),linear-gradient(135deg, #242851 0%, #171a39 100%);color:hsla(0,0%,100%,.82)}.section-dark h1,.section-dark h2,.section-dark h3{color:var(--colour-white)}.section-dark .eyebrow,.section-dark .display-accent{color:#72e2e8}.grid{display:grid;gap:clamp(1.25rem,2.5vw,1.75rem)}.grid-2{grid-template-columns:repeat(2, minmax(0, 1fr))}.grid-3{grid-template-columns:repeat(3, minmax(0, 1fr))}.grid-4{grid-template-columns:repeat(4, minmax(0, 1fr))}.page-hero{background:radial-gradient(circle at 82% 18%, rgba(52, 194, 203, 0.18), transparent 28rem),radial-gradient(circle at 18% 8%, rgba(36, 40, 81, 0.08), transparent 24rem),linear-gradient(180deg, #ffffff 0%, #f5f8fb 100%);overflow:hidden;padding-block:clamp(7rem,12vw,10rem) clamp(4rem,8vw,7rem);position:relative}.page-hero::before{background-image:linear-gradient(rgba(36, 40, 81, 0.07) 1px, transparent 1px),linear-gradient(90deg, rgba(36, 40, 81, 0.07) 1px, transparent 1px);background-size:48px 48px;content:"";inset:0;mask-image:linear-gradient(to bottom, #000, transparent);opacity:.5;position:absolute}.page-hero .container{position:relative;z-index:1}.hero-split{align-items:center;display:grid;gap:clamp(2rem,5vw,4rem);grid-template-columns:1.04fr .96fr}.stack{display:grid;gap:1.15rem}.button{align-items:center;border:1px solid rgba(0,0,0,0);border-radius:999px;cursor:pointer;display:inline-flex;font-size:.92rem;font-weight:800;gap:.55rem;justify-content:center;min-height:48px;padding:.85rem 1.25rem;transition:transform var(--transition),background var(--transition),border-color var(--transition),color var(--transition)}.button:hover{transform:translateY(-2px)}.button-primary{background:var(--colour-navy);box-shadow:0 12px 28px rgba(36,40,81,.18);color:var(--colour-white)}.button-primary:hover{background:#171a39}.button-secondary{background:rgba(36,40,81,.04);border-color:rgba(36,40,81,.14);color:var(--colour-navy)}.button-secondary:hover{background:var(--colour-white);border-color:rgba(36,40,81,.32)}.button-dark{background:var(--colour-navy);color:var(--colour-white)}.section-dark .button-primary,.cta-band .button-primary{background:var(--colour-white);border-color:hsla(0,0%,100%,.7);box-shadow:none;color:var(--colour-navy)}.section-dark .button-primary:hover,.cta-band .button-primary:hover{background:#f2f5f8;border-color:var(--colour-white)}.button-row{display:flex;flex-wrap:wrap;gap:.8rem}.card{background:var(--colour-white);border:1px solid var(--colour-line);border-radius:var(--radius-md);box-shadow:var(--shadow-card);display:grid;gap:.9rem;padding:clamp(1.35rem,3vw,1.95rem);transition:transform var(--transition),box-shadow var(--transition),border-color var(--transition)}.card:hover{border-color:rgba(52,194,203,.45);box-shadow:var(--shadow-soft);transform:translateY(-4px)}.card p,.feature-list li{color:var(--colour-muted)}.card p{line-height:1.72}.section-dark .card h2,.section-dark .card h3{color:var(--colour-navy)}.section-dark .card p,.section-dark .card li{color:var(--colour-muted)}.card-icon{align-items:center;background:rgba(52,194,203,.12);border:1px solid rgba(52,194,203,.22);border-radius:14px;color:var(--colour-cyan-dark);display:inline-flex;height:44px;justify-content:center;margin-bottom:.15rem;width:44px}.pill-list{display:flex;flex-wrap:wrap;gap:.6rem;list-style:none}.pill{background:rgba(52,194,203,.1);border:1px solid rgba(52,194,203,.22);border-radius:999px;color:var(--colour-navy);font-size:.83rem;font-weight:700;padding:.42rem .72rem}.feature-list{display:grid;gap:.75rem;list-style:none}.feature-list li{padding-left:1.1rem;position:relative}.feature-list li::before{background:var(--colour-cyan);border-radius:50%;content:"";height:.42rem;left:0;position:absolute;top:.72rem;width:.42rem}.form{display:grid;gap:1rem}.field{display:grid;gap:.45rem}.field label{color:var(--colour-navy);font-size:.86rem;font-weight:800}.field input,.field select,.field textarea{background:var(--colour-white);border:1px solid var(--colour-line);border-radius:14px;color:var(--colour-ink);min-height:48px;padding:.85rem 1rem;transition:border-color var(--transition),box-shadow var(--transition)}.field textarea{min-height:150px;resize:vertical}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--colour-cyan);box-shadow:0 0 0 4px rgba(52,194,203,.14);outline:0}.form-message{border-radius:14px;display:none;font-weight:700;padding:.9rem 1rem}.form-message.is-visible{display:block}.form-message.success{background:rgba(23,122,70,.1);color:var(--colour-success)}.form-message.error{background:rgba(180,38,38,.1);color:#9c2525}.site-header{background:hsla(0,0%,100%,.86);backdrop-filter:blur(18px);border-bottom:1px solid rgba(223,231,239,.75);left:0;position:sticky;right:0;top:0;transition:box-shadow var(--transition),background var(--transition);z-index:100}.site-header.is-scrolled{box-shadow:0 12px 30px rgba(36,40,81,.08)}.header-inner{align-items:center;display:flex;gap:1rem;min-height:76px;justify-content:space-between}.brand{align-items:center;display:inline-flex;flex:0 0 auto;gap:.65rem;font-weight:900}.brand-mark{align-items:center;background:var(--colour-navy);border-radius:13px;color:var(--colour-white);display:inline-flex;font-family:var(--font-display);font-size:1.25rem;height:42px;justify-content:center;width:42px}.brand img{height:46px;max-width:min(190px,46vw);object-fit:contain;width:auto}.brand-name{color:var(--colour-navy);font-size:clamp(.95rem,1.4vw,1.08rem);line-height:1.1;white-space:nowrap}.desktop-nav{align-items:center;display:flex;gap:.15rem}.nav-link{border-radius:999px;color:var(--colour-muted);font-size:.86rem;font-weight:800;padding:.55rem .75rem}.nav-link:hover,.nav-link.is-active{background:rgba(52,194,203,.1);color:var(--colour-navy)}.menu-toggle{align-items:center;background:var(--colour-white);border:1px solid var(--colour-line);border-radius:999px;display:none;height:46px;justify-content:center;width:46px}.menu-toggle span,.menu-toggle span::before,.menu-toggle span::after{background:var(--colour-navy);border-radius:99px;content:"";display:block;height:2px;position:absolute;transition:transform var(--transition),opacity var(--transition);width:20px}.menu-toggle span{position:relative}.menu-toggle span::before{transform:translateY(-6px)}.menu-toggle span::after{transform:translateY(6px)}.menu-toggle[aria-expanded=true] span{background:rgba(0,0,0,0)}.menu-toggle[aria-expanded=true] span::before{transform:rotate(45deg)}.menu-toggle[aria-expanded=true] span::after{transform:rotate(-45deg)}.mobile-nav{display:none}.site-footer{background:#141731;color:hsla(0,0%,100%,.75);padding-block:4rem 1.5rem}.footer-grid{display:grid;gap:2rem;grid-template-columns:1.4fr .8fr .8fr 1fr}.site-footer h2,.site-footer h3,.site-footer strong{color:var(--colour-white)}.site-footer h3{margin-bottom:.95rem}.site-footer .brand img{height:54px;max-width:220px}.footer-links{display:grid;gap:.7rem;list-style:none}.footer-links a:hover{color:var(--colour-cyan)}.footer-bottom{border-top:1px solid hsla(0,0%,100%,.12);color:hsla(0,0%,100%,.58);font-size:.86rem;margin-top:3rem;padding-top:1.25rem}.hero-panel{background:radial-gradient(circle at 78% 20%, rgba(52, 194, 203, 0.16), transparent 18rem),radial-gradient(circle at 15% 15%, rgba(36, 40, 81, 0.08), transparent 17rem),linear-gradient(135deg, rgba(255, 255, 255, 0.95), rgba(245, 248, 251, 0.94));border:1px solid rgba(223,231,239,.88);border-radius:var(--radius-lg);box-shadow:var(--shadow-soft);overflow:hidden;padding:clamp(1rem,3vw,1.35rem);position:relative}.portfolio-hero-visual{aspect-ratio:1/.86;min-height:390px;position:relative}.portfolio-hero-visual::before{background-image:linear-gradient(rgba(36, 40, 81, 0.06) 1px, transparent 1px),linear-gradient(90deg, rgba(36, 40, 81, 0.06) 1px, transparent 1px);background-size:38px 38px;content:"";inset:-2rem;opacity:.75;position:absolute}.portfolio-shot{--float-x: 0;--float-y: -16px;background:hsla(0,0%,100%,.9);border:1px solid rgba(36,40,81,.1);border-radius:22px;box-shadow:0 20px 48px rgba(36,40,81,.14);display:grid;gap:.7rem;margin:0;overflow:hidden;padding:.8rem;position:absolute}.portfolio-shot img{filter:drop-shadow(0 14px 26px rgba(36, 40, 81, 0.15));height:100%;object-fit:contain;width:100%}.portfolio-shot figcaption{color:var(--colour-navy);font-size:.78rem;font-weight:800;line-height:1.35;padding-inline:.25rem}.portfolio-shot-primary{bottom:3%;left:2%;min-height:220px;transform:rotate(-3deg);width:64%;z-index:2}.portfolio-shot-secondary{--float-x: 8px;--float-y: -18px;min-height:170px;right:1%;top:3%;transform:rotate(4deg);width:46%;z-index:3}.portfolio-shot-tertiary{--float-x: -7px;--float-y: -15px;bottom:6%;min-height:150px;right:2%;transform:rotate(3deg);width:36%;z-index:4}.stats-strip{display:grid;gap:1rem;grid-template-columns:repeat(4, 1fr);margin-top:2rem}.stat{border-left:3px solid var(--colour-cyan);padding-left:1rem}.stat strong{color:var(--colour-navy);display:block;font-size:1.05rem}.type-grid{display:grid;gap:1rem;grid-template-columns:repeat(3, minmax(0, 1fr));list-style:none}.type-grid li{background:var(--colour-white);border:1px solid var(--colour-line);border-radius:14px;color:var(--colour-navy);font-weight:750;line-height:1.45;padding:1rem 1.1rem}.work-showcase{display:grid;gap:clamp(1.5rem,4vw,2.5rem)}.work-item{align-items:center;background:var(--colour-white);border:1px solid var(--colour-line);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);display:grid;gap:clamp(1.5rem,4vw,2.5rem);grid-template-columns:minmax(0, 0.95fr) minmax(0, 1.05fr);overflow:hidden;padding:clamp(1.25rem,4vw,2.4rem)}.work-item:nth-child(even) .work-media{order:2}.work-media{align-self:stretch;background:radial-gradient(circle at 18% 12%, rgba(52, 194, 203, 0.16), transparent 15rem),linear-gradient(145deg, #eef4f8, #ffffff);border-radius:22px;display:grid;min-height:280px;overflow:hidden;place-items:center;position:relative}.work-media::before{background:linear-gradient(rgba(36, 40, 81, 0.06) 1px, transparent 1px),linear-gradient(90deg, rgba(36, 40, 81, 0.06) 1px, transparent 1px);background-size:34px 34px;content:"";inset:0;opacity:.7;position:absolute}.work-media-pumbaa{background:linear-gradient(rgba(255, 255, 255, 0.78), rgba(255, 255, 255, 0.92)),url("../images/background-pumbaa-planet.jpg") center/cover}.work-media-tracker{background:linear-gradient(rgba(255, 255, 255, 0.8), rgba(255, 255, 255, 0.94)),url("../images/background-tracker.jpg") center/cover}.work-media-beachbean{background:radial-gradient(circle at 18% 12%, rgba(52, 194, 203, 0.16), transparent 15rem),linear-gradient(145deg, #f0f8f7, #ffffff)}.work-media img{filter:drop-shadow(0 18px 32px rgba(36, 40, 81, 0.16));max-height:330px;object-fit:contain;padding:clamp(1rem,4vw,2rem);position:relative;width:min(100%,620px);z-index:1}.work-media-beachbean img{max-height:420px;padding:0;width:min(100%,760px)}.work-content{display:grid;gap:1rem}.work-content .eyebrow{margin-bottom:.1rem}.work-content a{color:var(--colour-cyan-dark);font-weight:800;text-decoration:underline;text-underline-offset:.18em}.work-content a:hover{color:var(--colour-navy)}.marketplace-visual{align-items:stretch;display:grid;gap:1rem;grid-template-columns:1fr 1fr;padding:clamp(1rem,4vw,2rem);position:relative;width:100%;z-index:1}.marketplace-card{background:hsla(0,0%,100%,.9);border:1px solid rgba(36,40,81,.1);border-radius:18px;box-shadow:0 16px 36px rgba(36,40,81,.1);display:grid;gap:.65rem;padding:1rem}.marketplace-card strong{color:var(--colour-navy)}.marketplace-card span{color:var(--colour-muted);font-size:.86rem}.marketplace-line{background:rgba(36,40,81,.08);border-radius:999px;height:.55rem}.marketplace-line:nth-child(3){width:72%}.process-map{align-items:start;display:grid;gap:clamp(1.75rem,4vw,3rem)}.process-map-visual{background:radial-gradient(circle at 86% 12%, rgba(52, 194, 203, 0.14), transparent 22rem),linear-gradient(180deg, var(--colour-white), #fbfdff);border:1px solid rgba(36,40,81,.08);border-radius:32px;box-shadow:0 28px 80px rgba(36,40,81,.12);margin-inline:auto;overflow:hidden;padding:clamp(1.25rem,3vw,2.25rem);width:min(100%,1120px)}.process-map-visual img{height:auto;margin-inline:auto;object-fit:contain;width:100%}.process-map .section-heading{margin-bottom:0}.process-map-points{display:grid;gap:1rem;grid-template-columns:repeat(3, minmax(0, 1fr))}.process-map-points .card{box-shadow:none}.about-belief-layout{align-items:center;display:grid;gap:clamp(1.75rem,4vw,3rem);grid-template-columns:minmax(0, 1fr) minmax(280px, 0.9fr)}.space-image-card{background:var(--colour-navy);border-radius:var(--radius-lg);box-shadow:var(--shadow-soft);margin:0;min-height:320px;overflow:hidden;position:relative}.space-image-card::after{background:linear-gradient(180deg, rgba(36, 40, 81, 0), rgba(36, 40, 81, 0.18));content:"";inset:0;position:absolute}.space-image-card img{height:100%;object-fit:cover;width:100%}.command-centre-card{aspect-ratio:1.15/1}.about-thinking-grid .card{gap:.9rem}.about-thinking-grid .card h3{font-size:clamp(1.18rem,1.7vw,1.42rem);line-height:1.22}.home-process-preview{display:grid;gap:clamp(1.75rem,4vw,3rem)}.home-process-preview .section-heading{margin-bottom:0}.home-process-preview .button{justify-self:start}.home-process-visual{background:radial-gradient(circle at 86% 12%, rgba(52, 194, 203, 0.14), transparent 22rem),linear-gradient(180deg, #fbfdff, var(--colour-white));border:1px solid rgba(36,40,81,.08);border-radius:var(--radius-lg);box-shadow:var(--shadow-soft);overflow:hidden;padding:clamp(1rem,3vw,2rem)}.home-process-visual picture,.home-process-visual img{display:block;width:100%}.principle-grid{display:grid;gap:1rem;grid-template-columns:repeat(4, minmax(0, 1fr))}.principle{background:var(--colour-white);border:1px solid var(--colour-line);border-radius:var(--radius-md);display:grid;gap:.45rem;padding:1.2rem}.principle strong{color:var(--colour-navy);display:block}.principle span{color:var(--colour-muted);display:block;font-size:.92rem}.cta-band{align-items:center;background:var(--colour-navy);border-radius:var(--radius-lg);color:hsla(0,0%,100%,.82);display:grid;gap:clamp(1.5rem,4vw,2.25rem);grid-template-columns:1fr auto;padding:clamp(1.5rem,4vw,2.4rem)}.cta-band>div{display:grid;gap:.8rem}.cta-band-visual{grid-template-columns:1fr;isolation:isolate;min-height:280px;overflow:hidden;padding-right:clamp(1.5rem,31vw,23rem);position:relative}.cta-band-visual>div,.cta-band-visual .button{position:relative;z-index:2}.cta-band-visual .button{justify-self:start}.cta-astronaut{bottom:-3.25rem;margin:0;pointer-events:none;position:absolute;right:clamp(-3.5rem,-3vw,-1rem);transform:rotate(7deg);width:clamp(230px,30vw,360px);z-index:1}.cta-astronaut img{filter:drop-shadow(0 28px 44px rgba(0, 0, 0, 0.28));width:100%}.cta-band h2,.cta-band h3{color:var(--colour-white)}.timeline{counter-reset:step;display:grid;gap:clamp(1.15rem,2.5vw,1.75rem)}.timeline-item{counter-increment:step;display:grid;gap:1.25rem;grid-template-columns:76px 1fr}.timeline-number{align-items:center;background:var(--colour-navy);border-radius:20px;color:var(--colour-white);display:flex;font-family:var(--font-display);font-size:1.5rem;font-weight:800;height:64px;justify-content:center}.timeline-number::before{content:counter(step, decimal-leading-zero)}.service-detail{align-items:start;display:grid;gap:clamp(1.25rem,3vw,2rem);grid-template-columns:.9fr 1.1fr}.service-detail>div{display:grid;gap:.9rem}.contact-layout{align-items:start;display:grid;gap:2rem;grid-template-columns:.8fr 1.2fr}.contact-details-card h2{font-size:clamp(1.35rem,2vw,1.7rem);line-height:1.16}.reveal{opacity:0;transform:translateY(18px);transition:opacity 550ms ease,transform 550ms ease}.reveal.is-visible{opacity:1;transform:translateY(0)}@media(prefers-reduced-motion: no-preference){.portfolio-shot{animation:float 7s ease-in-out infinite}.portfolio-shot-secondary{animation-delay:-2s}.portfolio-shot-tertiary{animation-delay:-4s}}@keyframes float{0%,100%{translate:0 0}50%{translate:var(--float-x, 0) var(--float-y, -16px)}}@media(prefers-reduced-motion: reduce){*,*::before,*::after{animation-duration:.01ms !important;animation-iteration-count:1 !important;scroll-behavior:auto !important;transition-duration:.01ms !important}}@media(max-width: 1100px){.desktop-nav,.header-cta{display:none}.menu-toggle{display:inline-flex}.mobile-nav{background:hsla(0,0%,100%,.98);border-top:1px solid var(--colour-line);display:grid;gap:.35rem;max-height:0;overflow:hidden;padding-inline:clamp(1rem,4vw,2rem);transition:max-height 260ms ease,padding-block 260ms ease}.mobile-nav.is-open{max-height:540px;padding-block:1rem 1.25rem}.mobile-nav .nav-link{justify-content:flex-start;width:100%}.mobile-nav .button{justify-self:start;min-height:44px;padding:.72rem 1.15rem}.hero-split,.about-belief-layout,.work-item,.service-detail,.contact-layout,.footer-grid{grid-template-columns:1fr}.work-item:nth-child(even) .work-media{order:0}.grid-4{grid-template-columns:repeat(2, minmax(0, 1fr))}.type-grid,.principle-grid{grid-template-columns:repeat(2, minmax(0, 1fr))}}@media(max-width: 760px){.grid-2,.grid-3,.grid-4,.process-map-points,.type-grid,.principle-grid,.stats-strip,.cta-band{grid-template-columns:1fr}.process-map-visual{border-radius:20px;margin-inline:calc(clamp(1rem,4vw,2rem)*-1);padding:1rem;width:auto}.home-process-visual{border-radius:20px;margin-inline:calc(clamp(1rem,4vw,2rem)*-1);padding:1rem}.process-map-visual picture,.process-map-visual img{display:block;width:100%}.cta-band-visual{min-height:0;padding-right:clamp(1.5rem,4vw,2.4rem)}.cta-astronaut{bottom:auto;justify-self:center;margin-block:.25rem -1rem;max-width:280px;position:relative;right:auto;transform:rotate(5deg);width:76%}.portfolio-hero-visual{aspect-ratio:auto;display:grid;gap:1rem;min-height:0}.portfolio-shot,.portfolio-shot-primary,.portfolio-shot-secondary,.portfolio-shot-tertiary{bottom:auto;left:auto;min-height:0;position:relative;right:auto;top:auto;transform:none;width:100%}.portfolio-shot img{max-height:210px}.work-media{min-height:230px}.work-media img{max-height:260px}.marketplace-visual{grid-template-columns:1fr}.timeline-item{grid-template-columns:1fr}.timeline-number{height:52px;width:68px}}
