/* Draft colours follow the current site's teal family. Artwork remains replaceable. */
:root{--teal:#32afb5;--ink:#18383a;--paper:#ffffff;--line:#c6dfe0;--page-pad:clamp(24px,6vw,100px);font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:32px}body{margin:0}a{color:inherit;text-underline-offset:5px}button{font:inherit}button,a,summary{-webkit-tap-highlight-color:transparent}button,summary{cursor:pointer}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #1d3e40;outline-offset:6px}main:focus{outline:none}p{line-height:1.65}h1,h2,h3,p{margin:0}h2{font-size:clamp(32px,3.5vw,52px);line-height:1.13;font-weight:500;letter-spacing:-1.8px}button{color:inherit}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;top:12px;left:24px;z-index:20;background:var(--paper);padding:14px;transform:translateY(-160%)}.skip-link:focus{transform:none}
.hero{height:100svh;min-height:760px;position:relative;background:var(--teal);color:white;overflow:hidden;isolation:isolate}.site-header{position:absolute;z-index:6;top:0;width:100%;display:flex;align-items:center;justify-content:space-between;padding:30px var(--page-pad)}.replay{display:flex;align-items:center;gap:9px;background:transparent;border:1px solid #ffffff70;border-radius:30px;padding:10px 18px;font-size:14px}.replay span{font-size:22px;line-height:1}.replay:hover{background:#ffffff15}nav{display:flex;gap:32px;align-items:center}nav a{text-decoration:none;font-size:15px}.nav-contact{border-bottom:1px solid #ffffff90;padding:8px 0}nav a:hover{text-decoration:underline}.nav-contact span{margin-left:22px}.menu-toggle{display:none}.hero-content{position:absolute;left:var(--page-pad);top:25%;width:49%;max-width:660px;z-index:3}.wordmark{display:block;width:100%;height:auto;transform-origin:left bottom}.hero-copy{margin-top:36px;max-width:510px}h1{font-size:clamp(24px,2.5vw,36px);line-height:1.22;letter-spacing:-.9px;font-weight:500}.hero-copy p{margin-top:20px;color:#fff;font-size:16px;line-height:1.6}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:35px;padding:17px 23px;border-radius:4px;text-decoration:none;font-size:15px;font-weight:600}.button-light{background:var(--paper);color:var(--ink)}.button:hover{background:#d6eff0}.button span{font-size:22px;font-weight:400;line-height:1}.hero-copy .button{margin-top:28px}.rocket{position:absolute;z-index:2;width:clamp(175px,17vw,240px);height:auto;right:calc(20.8% - clamp(87.5px,8.5vw,120px));bottom:29%;transform:rotate(12deg);transform-origin:50% 90%}.cloud{position:absolute;z-index:1;bottom:-1px;left:0;width:100%;height:34%;object-fit:fill;transform-origin:80% 100%}.hero-bottom{position:absolute;z-index:4;bottom:28px;left:var(--page-pad);right:var(--page-pad);display:flex;justify-content:space-between;gap:24px;align-items:center;color:var(--ink)}.draft-note{font-size:13px;max-width:44ch}.scroll-link{display:flex;gap:22px;text-decoration:none;font-size:14px}.scroll-link span{font-size:24px}.skip-intro{position:absolute;right:var(--page-pad);bottom:28px;z-index:8;background:var(--paper);color:var(--ink);border:1px solid var(--ink);border-radius:30px;padding:10px 16px}.skip-intro[hidden]{display:none}.intro-pending #intro-logo,.intro-pending #intro-rocket,.intro-pending #intro-cloud,.intro-pending .intro-ui{visibility:hidden}.intro-playing .scroll-link{visibility:hidden}
.section{padding:110px var(--page-pad)}.approach{display:grid;grid-template-columns:1fr 1fr;gap:9vw}.section-copy{max-width:490px}.lead{font-size:25px;line-height:1.35;letter-spacing:-.5px}.section-copy>p+p{margin-top:25px;font-size:17px}.text-link{display:inline-flex;align-items:center;gap:20px;font-size:15px;line-height:1.6}.section-copy .text-link{margin-top:28px}.text-link:hover{text-decoration-thickness:2px}.services{background:var(--surface-secondary);display:grid;grid-template-columns:1fr 1.25fr;gap:8vw}.section-intro p{margin-top:25px;font-size:17px}.service-list details,.faq-list details{border-top:1px solid #779b9d;padding:24px 0}.service-list details:last-child,.faq-list details:last-child{border-bottom:1px solid #779b9d}summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:22px;line-height:1.3}summary::-webkit-details-marker{display:none}.expand{font-size:27px;flex-shrink:0;font-weight:400}details[open] .expand{transform:rotate(45deg)}.detail-body{padding-top:18px;max-width:52ch}.detail-body p{font-size:16px}.detail-body a{margin-top:16px}.work-heading{display:flex;align-items:end;justify-content:space-between;gap:32px;margin-bottom:50px}.work-heading p{font-size:17px}.project-list>a{display:flex;align-items:center;justify-content:space-between;gap:25px;padding:32px 0;border-top:1px solid var(--line);text-decoration:none}.project-list>a:last-child{border-bottom:1px solid var(--line)}.project-list>a>span[aria-hidden]{font-size:32px;transition:transform .2s}.project-list>a:hover>span[aria-hidden]{transform:translate(4px,-4px)}.project-list h3{font-size:clamp(23px,2.2vw,32px);font-weight:500;letter-spacing:-.6px}.project-list p{margin-top:9px;font-size:16px}.work-note{font-size:14px;margin-top:20px}.questions{display:grid;grid-template-columns:1fr 1.25fr;gap:8vw;padding-top:10px}.faq-list summary{font-size:19px}.faq-list p{margin-top:18px}.faq-list a{margin-top:15px}.contact{padding:90px var(--page-pad);background:var(--teal);color:#fff;display:flex;justify-content:space-between;align-items:center;gap:60px}.contact h2{font-size:clamp(32px,3.8vw,57px);max-width:750px}.contact>div{flex-shrink:0}.email{display:block;margin-top:25px;font-size:16px}footer{padding:30px var(--page-pad);display:flex;justify-content:space-between;gap:20px;font-size:13px;flex-wrap:wrap}footer p{line-height:1.4}
@media(min-width:1600px){.hero-content{top:28%}.rocket{right:calc(20.8% - 120px)}}
@media(max-width:1000px){nav{gap:22px}.hero{min-height:800px}.hero-content{width:53%;top:26%}.hero-copy{margin-top:30px}.rocket{width:185px;right:calc(19% - 92.5px);bottom:27%}.cloud{height:32%}.section{padding:80px var(--page-pad)}.approach,.services,.questions{gap:5vw}.contact{gap:35px;align-items:start;flex-direction:column}.contact h2{max-width:700px}.questions{padding-top:0}}
@media(max-width:700px){html{scroll-padding-top:20px}.hero{height:100svh;min-height:870px}.site-header{padding-top:22px;align-items:start}.replay{font-size:13px;padding:9px 13px}.menu-toggle{display:flex;align-items:center;gap:12px;padding:9px 0 9px 14px;border:0;background:transparent;font-size:15px}.menu-toggle span{font-size:21px;line-height:1}nav{display:none;position:absolute;right:var(--page-pad);top:78px;min-width:210px;padding:20px 25px;background:var(--paper);color:var(--ink);box-shadow:0 8px 24px #1d3e4020;border-radius:5px}nav[data-open="true"]{display:flex;flex-direction:column;align-items:start;gap:23px}nav a{font-size:17px}.nav-contact{border-color:var(--ink)}.hero-content{left:var(--page-pad);right:var(--page-pad);top:15%;width:auto;max-width:none}.wordmark{width:min(100%,480px)}.hero-copy{margin-top:28px;max-width:36ch}h1{font-size:clamp(26px,6.7vw,35px);letter-spacing:-.7px}.hero-copy p{font-size:15px;margin-top:18px}.desktop-break{display:none}.hero-copy .button{margin-top:23px;padding:15px 19px}.rocket{width:130px;right:calc(21% - 65px);bottom:11%;transform:rotate(10deg)}.cloud{height:18%}.hero-bottom{bottom:21px;align-items:end}.draft-note{font-size:12px;max-width:27ch;line-height:1.5}.scroll-link{font-size:0;gap:0}.scroll-link span{font-size:26px}.skip-intro{bottom:20px}.section{padding:65px var(--page-pad)}h2{font-size:34px;letter-spacing:-1px}.approach,.services,.questions{grid-template-columns:1fr;gap:35px}.lead{font-size:23px}.section-copy>p+p{font-size:16px;margin-top:20px}.section-copy .text-link{margin-top:20px}summary{font-size:20px}.service-list details{padding:23px 0}.work-heading{display:block;margin-bottom:28px}.work-heading p{margin-top:20px;font-size:16px}.project-list>a{padding:26px 0}.project-list h3{font-size:23px;max-width:21ch}.project-list p{font-size:15px}.questions{padding-top:5px}.faq-list summary{font-size:18px}.contact{padding:65px var(--page-pad);gap:32px}.contact h2{font-size:36px}.contact>div{width:100%}.contact .button{gap:20px}.email{font-size:15px}footer{padding-top:25px;padding-bottom:25px;flex-direction:column;gap:16px}}
@media(min-width:701px) and (max-width:1000px){.rocket{right:calc(20.8% - 92.5px)}}
@media(max-width:700px){.rocket{transform:rotate(0deg)}html:not(.js-enabled) nav{display:flex;flex-wrap:wrap;position:static;background:none;box-shadow:none;gap:14px;padding:0;color:white;min-width:0}html:not(.js-enabled) .menu-toggle{display:none}html:not(.js-enabled) .site-header{justify-content:flex-end}}
html:not(.js-enabled) .replay{display:none}
:is(a,button,summary):focus-visible{outline-color:var(--teal)}.hero :is(a,button):focus-visible,.contact a:focus-visible{outline-color:#1d3e40}
@media(max-width:360px){.hero{min-height:900px}.hero-content{top:14%}.hero-copy{margin-top:22px}.rocket{width:116px;right:calc(23% - 58px);bottom:10%}.button{font-size:14px;gap:20px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.intro-pending #intro-logo,.intro-pending #intro-rocket,.intro-pending #intro-cloud,.intro-pending .intro-ui{visibility:visible}}

/* Supplied logo colour and original-image viewport. The PNG is never redrawn or recoloured.
   Display crop: x=170, y=360, width=740, height=356 in the original 1080px square. */
:root{--brand-teal:#32afb5;--brand-white:#fff;--surface-secondary:#e9f7f8;--cloud-teal:#b1dfe1;--page-pad-mobile:24px;--space-content:24px;--radius-button:4px;--intro-duration:2200;--intro-delay:180;--teal:var(--brand-teal);--ink:#18383a;--paper:var(--brand-white)}
.hero,.contact{color:var(--ink)}
.hero-content{top:20%}
.wordmark{position:relative;width:min(100%,540px);aspect-ratio:740/356;overflow:hidden;height:auto}
.wordmark img{position:absolute;width:145.945946%;max-width:none;height:auto;left:-22.972973%;top:-101.123596%}
.hero-copy{margin-top:28px}
.hero-copy p{color:var(--ink)}
.replay{border-color:#1d3e4080}.replay:hover{background:#ffffff25}
.nav-contact{border-color:#1d3e4070}
.hero :is(a,button):focus-visible,.contact a:focus-visible{outline-color:var(--ink)}
@media(min-width:701px) and (max-height:820px){.hero-content{top:17%}.hero-copy{margin-top:22px}.hero-copy p{margin-top:16px}.hero-copy .button{margin-top:22px}}
@media(min-width:1600px){.hero-content{top:23%}}
@media(max-width:1000px) and (min-width:701px){.hero-content{top:19%}}
@media(max-width:700px){.hero-content{top:12%}.wordmark{width:min(100%,480px)}.hero-copy{margin-top:24px}html:not(.js-enabled) nav{color:var(--ink)}}
@media(max-width:360px){.hero-content{top:12%}.hero-copy{margin-top:22px}}

/* Honour Liftoff's light-only colours and the transparent logo image.
   This avoids darkened solid logo rectangles when the browser supports opt-out. */
:root{color-scheme:only light}
.wordmark img[src$="liftoff-logo-transparent.svg"],
.brand-crop img[src$="liftoff-logo-transparent.svg"]{
  display:block;position:static;inset:auto;width:100%;height:100%;
  max-width:100%;object-fit:contain;
}
