:root{--ink:#071b2c;--ink2:#173448;--lime:#c8f135;--ice:#ddf4f2;--paper:#f4f3ed;--white:#fff;--muted:#5c6f79;--line:rgba(7,27,44,.16);--max:1180px;--display:"Space Grotesk","Avenir Next","Segoe UI",sans-serif;--body:Inter,"Avenir Next","Segoe UI",sans-serif}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:88px}
body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.6 var(--body);overflow-x:hidden}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit}
img{display:block;width:100%;height:auto}
.wrap{width:min(calc(100% - 40px),var(--max));margin:auto}
.eyebrow{display:flex;gap:10px;align-items:center;margin:0 0 18px;font-size:.75rem;font-weight:800;letter-spacing:.15em;text-transform:uppercase}
.eyebrow:before{content:"";flex:0 0 25px;width:25px;height:3px;background:var(--lime)}
h1,h2,h3{font-family:var(--display);line-height:1.12;letter-spacing:-.04em;margin:0;overflow-wrap:break-word}
h1{font-size:clamp(3rem,6.5vw,6.4rem)}
h2{font-size:clamp(2.25rem,4.2vw,4rem);max-width:850px}
h3{font-size:1.4rem}
.lead{font-size:clamp(1.05rem,1.7vw,1.3rem);line-height:1.55;color:#38505d;max-width:720px}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:10px 22px;border:1px solid var(--ink);font-weight:800;background:transparent;cursor:pointer;transition:transform .2s,background .2s;line-height:1.25;text-align:center}
.btn:hover{transform:translateY(-2px)}
.btn-primary{background:var(--lime)}
header{position:fixed;z-index:20;inset:0 0 auto;background:rgba(244,243,237,.92);backdrop-filter:blur(15px);border-bottom:1px solid var(--line)}
nav{height:76px;display:flex;align-items:center;justify-content:space-between}
.brand{display:flex;gap:12px;align-items:center;font:800 1.45rem var(--display)}
.mark{position:relative;flex:0 0 31px;width:31px;height:31px}
.mark i{position:absolute;width:10px;height:10px;border:solid var(--ink)}
.mark i:nth-child(1){left:0;top:0;border-width:3px 0 0 3px}
.mark i:nth-child(2){right:0;top:0;border-width:3px 3px 0 0}
.mark i:nth-child(3){left:0;bottom:0;border-width:0 0 3px 3px}
.mark i:nth-child(4){right:0;bottom:0;border-width:0 3px 3px 0}
.mark:after{content:"";position:absolute;width:7px;height:7px;border-radius:50%;background:var(--lime);inset:12px}
.navlinks{display:flex;gap:24px;align-items:center;font-weight:700;font-size:.9rem}
.navlinks .btn{min-height:44px;padding:8px 16px}
.menu{display:none;border:0;background:transparent;font-weight:800;color:var(--ink)}
.hero{min-height:100vh;padding:150px 0 76px;display:grid;align-items:end;position:relative;overflow:hidden}
.hero-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(220px,.45fr);gap:55px;align-items:end;position:relative;z-index:1}
.hero h1 span{color:transparent;-webkit-text-stroke:2px var(--ink)}
.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:35px}
.scope{padding-top:22px;border-top:1px solid var(--line)}
.scope strong{font-family:var(--display)}
.scope p{color:var(--muted);font-size:.9rem}
.pilot-facts{margin:24px 0 0;display:grid;gap:10px}
.pilot-facts div{display:grid;grid-template-columns:110px 1fr;gap:12px;padding-top:10px;border-top:1px solid var(--line)}
.pilot-facts dt{font-size:.7rem;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}
.pilot-facts dd{margin:0;font-size:.8rem;font-weight:800}
.flightline{position:absolute;width:510px;height:510px;border:1px solid var(--line);border-radius:50%;right:-140px;top:120px;pointer-events:none}
.flightline:before,.flightline:after{content:"";position:absolute;border:1px dashed var(--line);border-radius:50%;inset:60px}
.flightline:after{inset:140px}
.ticker{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));background:var(--ink);color:white}
.ticker span{min-width:0;padding:17px 14px;text-align:center;font:700 .72rem/1.3 var(--display);letter-spacing:.09em;text-transform:uppercase;overflow-wrap:anywhere}
.ticker span:after{content:" +";color:var(--lime)}
section{padding:110px 0}
.split{display:grid;grid-template-columns:.65fr 1.35fr;gap:70px}
.statement{font:600 clamp(1.7rem,3vw,2.7rem)/1.3 var(--display);letter-spacing:-.035em;margin:0}
.statement em{font-style:normal;background:linear-gradient(transparent 68%,var(--lime) 0)}
.services{background:white}
.section-head{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(250px,.75fr);align-items:end;gap:42px;margin-bottom:55px}
.section-head>p{max-width:430px;color:var(--muted);margin:0}
.service-group+.service-group{margin-top:72px}
.group-heading{display:flex;align-items:end;justify-content:space-between;gap:24px;padding-bottom:16px;border-bottom:1px solid var(--line)}
.group-heading p{margin:0;font:700 1.25rem var(--display)}
.group-heading span{color:var(--muted);font-size:.8rem;text-align:right}
.service-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
.card{position:relative;min-height:330px;padding:34px 36px 30px;border-bottom:1px solid var(--line)}
.card:nth-child(odd){border-right:1px solid var(--line)}
.card .number{font:.8rem monospace;color:var(--muted)}
.availability{float:right;padding:4px 8px;background:#edf4d4;color:#38500b;font-size:.68rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}
.availability.data{background:var(--ice);color:#214855}
.availability.planned{background:#eef0eb;color:#52616a}
.card h3{font-size:clamp(1.7rem,2.7vw,2.35rem);margin:46px 0 15px;max-width:560px}
.card p{color:#536570;max-width:540px;margin-bottom:0}
.card small{display:inline-block;margin-top:18px;padding:5px 9px;border:1px solid var(--line);font-size:.73rem;line-height:1.45}
.data-services .card{background:linear-gradient(145deg,rgba(221,244,242,.38),transparent 56%)}
.data-workflow{background:var(--paper)}
.workflow-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:1px solid var(--line)}
.workflow-grid article{padding:26px;border-right:1px solid var(--line)}
.workflow-grid article:last-child{border-right:0}
.workflow-grid b{font:700 2.8rem var(--display);color:#c9cec8}
.workflow-grid h3{margin:24px 0 10px;font-size:1.35rem}
.workflow-grid p{margin:0;color:var(--muted);font-size:.9rem}
.accuracy-note{display:grid;grid-template-columns:220px 1fr;gap:30px;margin-top:22px;padding:26px;background:var(--ink);color:white;border-left:5px solid var(--lime)}
.accuracy-note strong{font:700 1.3rem var(--display)}
.accuracy-note p{margin:0;color:#c7d2d7;font-size:.9rem}
.gallery{background:var(--ink);color:white}
.gallery .section-head>p{color:#afbdc4}
.gallery-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.gallery figure{margin:0;position:relative;overflow:hidden;background:#183448;min-width:0}
.gallery figure.wide{grid-column:span 2}
.gallery img{aspect-ratio:16/9;object-fit:cover;transition:transform .35s}
.gallery figure:not(.wide) img{aspect-ratio:4/3}
.gallery figure:hover img{transform:scale(1.018)}
figcaption{position:absolute;inset:auto 0 0;padding:62px 24px 22px;background:linear-gradient(transparent,rgba(7,27,44,.94));display:grid;grid-template-columns:auto minmax(180px,1fr);gap:22px;align-items:end}
figcaption b{font:700 1.4rem var(--display)}
figcaption span{font-size:.82rem;line-height:1.45;color:#d8e1e4;text-align:right}
.process-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin-top:58px}
.process-grid article{padding:25px;border-left:1px solid var(--line)}
.process-grid article:last-child{border-right:1px solid var(--line)}
.process-grid b{font:700 3rem var(--display);color:#cdd0c9}
.process-grid h3{margin:28px 0 10px;font-size:1.3rem}
.process-grid p{color:var(--muted);font-size:.92rem;margin-bottom:0}
.request{background:var(--ice)}
.request-grid{display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);gap:70px;align-items:start}
.trust{display:grid;gap:12px;margin-top:35px;font-weight:700}
.request form{background:white;padding:38px;box-shadow:0 25px 70px rgba(7,27,44,.08);min-width:0}
form h3{margin:5px 0 20px}
form h3:not(:first-child){margin-top:38px;padding-top:30px;border-top:1px solid var(--line)}
.fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.fields .full{grid-column:1/-1}
label{font-size:.82rem;font-weight:800;letter-spacing:.02em;min-width:0}
input,select,textarea{display:block;width:100%;min-width:0;margin-top:7px;padding:13px 12px;border:1px solid #afbdc1;background:#fff;color:var(--ink);border-radius:0}
input:focus,select:focus,textarea:focus{outline:3px solid rgba(200,241,53,.7);border-color:var(--ink)}
textarea{resize:vertical}
.consent{display:flex;gap:10px;align-items:flex-start;margin:24px 0;line-height:1.45}
.consent input{flex:0 0 18px;width:18px;margin:3px 0}
.submit{width:100%}
.form-note{font-size:.75rem;color:var(--muted);margin:13px 0 0}
.form-note.success{padding:12px;background:#edf7d1;color:#2f4b08}
footer{background:var(--ink);color:white;padding:58px 0 25px}
.footer-grid{display:grid;grid-template-columns:1.4fr repeat(2,1fr);gap:35px}
.footer-grid>div{display:grid;align-content:start;gap:7px;min-width:0}
.footer-grid a:not(.brand),.footer-grid span,.footer-grid p{color:#adbbc2;overflow-wrap:anywhere}
.footer-grid .mark i{border-color:white}
.legal{border-top:1px solid rgba(255,255,255,.14);margin-top:40px;padding-top:22px;color:#81939d;font-size:.8rem}

@media(max-width:980px){
  .navlinks{gap:14px;font-size:.82rem}
  .workflow-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .workflow-grid article:nth-child(2){border-right:0}
  .workflow-grid article:nth-child(-n+2){border-bottom:1px solid var(--line)}
  .footer-grid{grid-template-columns:1.4fr repeat(2,1fr)}
}

@media(max-width:820px){
  .menu{display:block}
  .navlinks{display:none;position:absolute;top:76px;left:0;right:0;padding:22px;background:var(--paper);border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch;gap:8px}
  .navlinks.open{display:flex}
  .navlinks a{padding:8px 0}
  .hero{min-height:auto;padding-top:145px}
  .hero-grid,.split,.request-grid,.section-head{grid-template-columns:1fr}
  .scope{display:none}
  .section-head{align-items:start;gap:24px}
  .section-head>p{max-width:680px}
  .workflow-grid,.process-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .process-grid article:nth-child(2){border-right:1px solid var(--line)}
  .request-grid{gap:42px}
  .accuracy-note{grid-template-columns:1fr;gap:12px}
  section{padding:82px 0}
}

@media(max-width:600px){
  .wrap{width:min(calc(100% - 28px),var(--max))}
  h1{font-size:clamp(2.75rem,13vw,4rem)}
  h2{font-size:clamp(2.05rem,10vw,3rem)}
  .hero{padding:132px 0 66px}
  .flightline{width:390px;height:390px;right:-190px;top:96px}
  .actions .btn{width:100%}
  .ticker{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ticker span{padding:13px 8px;font-size:.64rem;border-bottom:1px solid rgba(255,255,255,.1)}
  .ticker span:last-child{grid-column:1/-1}
  .group-heading{display:block}
  .group-heading span{display:block;text-align:left;margin-top:6px}
  .service-grid,.gallery-grid,.workflow-grid,.process-grid,.fields,.footer-grid{grid-template-columns:1fr}
  .card{min-height:0;padding:28px 20px 30px;border-right:0!important}
  .card h3{margin-top:36px}
  .gallery figure.wide{grid-column:auto}
  .gallery figure img,.gallery figure:not(.wide) img{aspect-ratio:4/3}
  figcaption{display:block;padding:52px 18px 17px}
  figcaption span{display:block;text-align:left;margin-top:5px}
  .workflow-grid article,.process-grid article{border-right:0!important;border-left:0;border-bottom:1px solid var(--line)}
  .workflow-grid article:last-child,.process-grid article:last-child{border-bottom:0}
  .process-grid{border:1px solid var(--line);margin-top:40px}
  .fields .full{grid-column:auto}
  .request form{padding:26px 19px}
}
