@import url('/assets/fonts/archivo.css');
:root{--paper:#f0eee8;--ink:#20211e;--muted:#5c5d55;--line:#cccdc4;--accent:#b92e08;--dark-muted:#c3c5bb;--sans:'Archivo',Arial,sans-serif;--max:1440px;--gutter:64px;--section-space:clamp(64px,8vw,108px);--layout-gap:clamp(36px,5vw,80px)}
*{box-sizing:border-box}
html{overflow-y:scroll;scroll-behavior:auto;scroll-padding-top:30px;scrollbar-color:#8c8d80 var(--paper)}
body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.65 var(--sans);-webkit-font-smoothing:antialiased}
::selection{background:var(--accent);color:white}
a{color:inherit;text-decoration:none;text-underline-offset:5px}
a:hover{text-decoration:underline}
button,input{font:inherit}button{cursor:pointer}button:disabled{cursor:wait;opacity:.6}
:focus-visible{outline:2px solid currentColor;outline-offset:6px}
[hidden]{display:none!important}
h1,h2,h3,p,figure,ol{margin:0}h1,h2{font-weight:700;line-height:.98;letter-spacing:-.035em;text-transform:uppercase;text-wrap:balance}h1{font-size:clamp(2.75rem,4.4vw,4rem)}h2{font-size:clamp(2rem,1.2rem + 2.5vw,3.5rem);max-width:18ch}h3{font-size:1.15rem;line-height:1.3;font-weight:600}em{font-style:normal;color:var(--accent)}svg{display:block}.wrap{max-width:var(--max);margin:auto;padding:0 max(var(--gutter),env(safe-area-inset-right)) 0 max(var(--gutter),env(safe-area-inset-left))}.muted{color:var(--muted)}.lead{font-size:1.3rem;line-height:1.5}
.button svg,.text-link svg,.nav a svg,footer a svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.5;flex:none}
.skip-link{position:fixed;top:12px;left:12px;z-index:30;background:var(--paper);padding:12px 20px;transform:translateY(-150%)}.skip-link:focus{transform:none}
.nav{position:absolute;inset:0 0 auto;z-index:20;color:white}.nav .wrap{height:100px;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;min-height:44px}.nav img{display:block;width:180px;height:auto}.nav ul{display:flex;gap:32px;list-style:none;margin:0;padding:0}.nav ul a{display:flex;gap:12px;align-items:center;min-height:44px;font-size:.75rem;text-transform:uppercase;font-weight:600;letter-spacing:.035em}
.hero{position:relative;min-height:680px;height:100svh;max-height:960px;background:#343b32;color:white;isolation:isolate;overflow:hidden}
.hero-media,.hero-shade{position:absolute;inset:0;z-index:-1}
.hero-media img{width:100%;height:100%;object-fit:cover;object-position:58% center}
.hero-shade{background:linear-gradient(90deg,rgba(10,16,13,.78),rgba(10,16,13,.2) 55%,rgba(10,16,13,.04) 85%),linear-gradient(0deg,rgba(10,16,13,.65),transparent 60%,rgba(10,16,13,.22))}
.hero-grid{height:100%;min-height:inherit;display:grid;grid-template-rows:1fr auto;align-items:center;gap:40px;padding-top:128px;padding-bottom:24px}
.hero-content{display:grid;justify-items:start;gap:24px;width:52%;max-width:600px;min-width:0}
.hero h1{max-width:17ch;text-wrap:initial}
.hero h1>span{display:block}
.hero h1 em{display:inline-block;color:inherit}
.hero-copy{font-size:1rem;line-height:1.6;max-width:44ch}
.hero-detail{font-size:.875rem;color:#e1e2db;margin-top:12px}
.button{display:inline-flex;align-items:center;justify-content:space-between;gap:20px;background:var(--accent);color:white;padding:15px 22px;min-height:52px;text-transform:uppercase;font-size:.75rem;letter-spacing:.025em;font-weight:600;transition:background-color 180ms ease,transform 180ms ease}
.button:hover{background:#a82c07;text-decoration:none}
.button:active{transform:translateY(0)}
.hero-foot{display:flex;justify-content:space-between;align-items:center;gap:24px;font-size:.75rem;color:#e1e2db;text-transform:uppercase;letter-spacing:.025em}
.hero-foot a{display:flex;gap:12px;align-items:center;min-height:44px}
.hero-foot button{background:none;border:0;padding:10px 0;color:inherit;text-transform:inherit;font-size:inherit;letter-spacing:inherit;text-decoration:underline;text-underline-offset:4px;min-height:44px}
.hero-foot .concept-caption{text-transform:none;letter-spacing:0}
section{padding:var(--section-space) 0}.manifesto .wrap{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--layout-gap);align-items:start}.manifesto h2{max-width:17ch}.manifesto-copy{max-width:58ch}.manifesto-copy p+p{margin-top:22px;color:var(--muted)}.manifesto-copy .text-link{margin-top:28px}.text-link{display:inline-flex;align-items:center;gap:12px;min-height:44px;font-size:.8rem;text-transform:uppercase;font-weight:600;letter-spacing:.025em}
.platform{background:#dfe2d7}.evidence-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:var(--layout-gap);row-gap:32px;align-items:start}.platform .lead,.evidence .lead{margin-top:24px;max-width:46ch;font-size:1.1rem}.proof-list article{padding:0 0 24px;margin-bottom:24px;border-bottom:1px solid #bfc3b6}.proof-list article:last-child{margin-bottom:0;padding-bottom:0;border:0}.proof-list p{margin-top:12px;max-width:60ch;color:var(--muted);font-size:1rem}.platform-boundary{grid-column:1/-1;border-top:1px solid #bfc3b6;padding-top:20px;max-width:95ch;font-size:.8rem;color:var(--muted)}
.section-intro{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--layout-gap);align-items:start;margin-bottom:40px}.section-intro p{max-width:54ch;font-size:1.1rem}.use-cases{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.use-cases article{padding:clamp(24px,3vw,40px);background:#dad7cc;display:flex;flex-direction:column}.use-cases article:last-child{background:#333b30;color:var(--paper)}.use-cases h3{font-size:1.7rem;letter-spacing:-.025em}.use-cases p{margin-top:20px;max-width:54ch;font-size:1rem}.case-question{font-size:.75rem;text-transform:uppercase;font-weight:600;min-height:44px;padding-top:28px;margin-top:auto}.approach-flow{margin-top:clamp(40px,5vw,64px);border-top:1px solid var(--line);padding-top:28px}.approach-flow>p{font-size:.76rem;text-transform:uppercase;color:var(--muted);margin-bottom:30px}.approach-flow ol{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;list-style:none;padding:0}.approach-flow li>span{font-size:.8rem;color:var(--accent)}.approach-flow h3{margin:20px 0 12px;font-size:1rem}.approach-flow li p{font-size:1rem;max-width:44ch;color:var(--muted)}
.evidence{background:var(--ink);color:var(--paper)}.evidence em{color:#e1ae87}.evidence .muted,.evidence .proof-list p{color:var(--dark-muted)}.evidence .text-link{margin-top:28px}.proof-list details{padding:24px 0;border-bottom:1px solid #54564e}.proof-list details:first-child{padding-top:0}.proof-list summary{list-style:none;font-size:1.1rem;line-height:1.4;font-weight:500;cursor:pointer;position:relative;display:flex;align-items:center;min-height:44px;padding:8px 35px 8px 0}.proof-list summary::-webkit-details-marker{display:none}.proof-list summary::after{content:'+';position:absolute;right:0;top:50%;transform:translateY(-50%);font-size:1.5rem;font-weight:400}.proof-list details[open] summary::after{content:'−'}.proof-list summary:hover{color:#e1ae87}

.contact{background:#b92e08;color:white}.contact-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--layout-gap);align-items:start}.contact h2{font-size:clamp(2rem,4vw,4rem);max-width:16ch}.contact em{color:inherit}.contact .lead{margin-bottom:20px}.contact .button{background:var(--paper);color:var(--ink);margin-top:28px}.contact .button:hover{background:white}.contact .contact-note{font-size:.75rem;margin-top:24px}
footer{background:var(--paper);color:var(--muted);border-top:1px solid var(--line);padding:24px 0 max(24px,env(safe-area-inset-bottom))}footer .wrap{display:flex;align-items:center;justify-content:space-between;gap:24px;font-size:.8rem}footer a{display:flex;align-items:center;gap:12px;min-height:44px}
.case-question{display:flex;align-items:center;gap:10px}.case-question svg,.hero-foot svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.5;flex:none}

/* The flight film is the only continuous motion on the page. */
.hero-media video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:58% center;opacity:0;pointer-events:none;transition:opacity 250ms ease}
.film-visible .hero-media video{opacity:1}

/* An enquiry can be sent here, without opening an email application. */
.contact .contact-intro{margin-top:24px;max-width:48ch}
.contact-form{display:grid;gap:22px;min-width:0}
.form-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.form-field{display:flex;flex-direction:column;gap:8px;min-width:0}
.form-field label{font-size:.8rem;font-weight:600}
.form-field label span{font-weight:400}
.form-field input,.form-field textarea{display:block;width:100%;min-width:0;border:1px solid var(--paper);border-radius:0;background:var(--paper);color:var(--ink);padding:12px 14px;font:inherit;font-size:1rem;line-height:1.5;caret-color:var(--ink)}
.form-field input{min-height:50px}
.form-field textarea{min-height:138px;resize:vertical}
.form-field input::placeholder,.form-field textarea::placeholder{color:var(--muted);opacity:1}
.form-field input:focus-visible,.form-field textarea:focus-visible{outline:2px solid white;outline-offset:3px;border-color:white}
.form-hint{font-size:.8125rem;line-height:1.5;color:#f8d9cf}
.contact-form .button{margin-top:0;border:0;justify-self:start}
.contact-form .contact-note{margin-top:0;font-size:.8125rem;max-width:64ch}
.contact-note a{text-decoration:underline}
.form-status{font-size:.9rem;font-weight:500;padding:16px 0;border-top:1px solid #ed9a80}
.form-status:empty{display:none}
.form-honey{display:none}

/* Reflow when the text columns stop providing a comfortable measure. */
@media(max-width:1100px){
  :root{--gutter:36px}
  .nav ul{gap:24px}
  .hero-content{width:56%}
}
@media(max-width:960px){
  .manifesto .wrap,.section-intro,.evidence-grid,.contact-grid{grid-template-columns:1fr;gap:28px}
  .manifesto h2,.section-intro h2,.evidence h2{max-width:20ch}
  .manifesto-copy,.section-intro p,.proof-list,.contact-form{width:100%;max-width:64ch}
  .platform .lead,.evidence .lead,.contact .contact-intro{max-width:58ch}
  .contact h2{font-size:clamp(2rem,5.2vw,3rem);max-width:19ch}
  .contact-form{max-width:720px}
  footer .wrap{display:grid;grid-template-columns:1fr auto;gap:8px 24px}
  footer .wrap>span:last-child{grid-column:1/-1}
}
/* In portrait, keep the whole aircraft and group all introductory text below it. */
@media(max-width:760px),(max-aspect-ratio:1/1){
  .nav .wrap{height:84px}
  .hero{height:auto;min-height:0;max-height:none;padding-top:84px;background:#20251e}
  .hero-media{position:relative;inset:auto;z-index:0;width:100%;height:auto;aspect-ratio:16/9;background:#20251e}
  .hero-media img,.hero-media video{position:absolute;inset:0;object-fit:contain;object-position:center}
  .hero-media::after{content:'';position:absolute;inset:78% 0 0;background:linear-gradient(transparent,#20251e);pointer-events:none}
  .hero-shade{display:none}
  .hero-grid{height:auto;min-height:0;padding-top:28px;padding-bottom:24px;gap:32px;grid-template-rows:auto auto}
  .hero-content{width:100%;max-width:720px;gap:24px}
  .hero h1{font-size:clamp(2rem,5.6vw,3.5rem);max-width:22ch}
  .hero-copy{max-width:58ch}
  .hero-foot{display:grid;grid-template-columns:1fr auto;gap:4px 16px}
  .hero-foot .concept-caption{grid-column:1/-1;grid-row:2}
  .hero-foot button{grid-column:2;grid-row:1;justify-self:end}
}
@media(max-width:760px){
  :root{--gutter:24px}
  .nav img{width:145px}
  .nav ul{gap:16px}
  .nav li:nth-child(2){display:none}
  .nav a svg{width:16px}
  .section-intro{margin-bottom:28px}
  .use-cases{grid-template-columns:1fr;gap:20px}
  .use-cases h3{font-size:1.5rem}
  .approach-flow ol{grid-template-columns:1fr;gap:28px}
  .approach-flow li{display:grid;grid-template-columns:24px 1fr;gap:16px}
  .approach-flow h3{margin:0 0 8px}
  .contact-form{gap:20px}
  .lead{font-size:1.15rem}
}
@media(max-width:600px){
  .nav .wrap{height:72px}
  .hero{padding-top:72px}
  .hero-grid{padding-top:24px;gap:28px}
  .hero-content{gap:20px}
  .hero h1{font-size:clamp(1.875rem,8.4vw,3rem)}
  .hero-detail{margin-top:10px}
  .hero-foot a{gap:8px}
  .button{padding:14px 18px;gap:16px}
  .form-row{grid-template-columns:1fr}
}
@media(max-width:480px){
  .nav img{width:124px}
  .nav li:first-child{display:none}
  .hero .button{width:100%}
}
@media(max-width:380px){
  :root{--gutter:20px}
  footer .wrap{grid-template-columns:1fr;gap:8px}
}
/* Preserve a usable text column in short landscape windows and at high zoom. */
@media(max-height:560px) and (min-width:761px){
  .nav .wrap{height:72px}
  .hero{height:auto;min-height:600px;max-height:none}
  .hero-grid{padding-top:104px;gap:28px}
  .hero-content{width:62%;max-width:600px;gap:20px}
  .hero h1{font-size:clamp(2.5rem,4.4vw,3rem)}
}
@media(hover:hover){.button:hover{transform:translateY(-2px)}.button:active{transform:none}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;animation:none!important}html{scroll-behavior:auto}}
