/* Homepage and aviation case layout. Shared brand.css supplies the palette,
   outlined identity and local fonts; navigation.css stays last in the head. */
body.hs-homepage{margin:0;background:var(--paper);color:var(--ink);font:1.0625rem/1.5 Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased}
.hs-homepage,.hs-homepage *,.hs-homepage *::before,.hs-homepage *::after{box-sizing:border-box}
.hs-homepage a{color:inherit;text-underline-offset:5px;text-decoration-thickness:1px}
.hs-homepage :focus-visible{outline:3px solid var(--focus);outline-offset:4px}
.hs-homepage>.skip,.hs-homepage>.skip-link{position:absolute;left:20px;top:-160px;z-index:1000;display:inline-flex;align-items:center;min-height:44px;padding:12px 16px;background:var(--ink);color:var(--paper);font-size:1rem;line-height:1.4}
.hs-homepage>.skip:focus,.hs-homepage>.skip-link:focus{top:12px}
.hs-homepage .wrap{width:min(1180px,100%);max-width:1180px;margin-inline:auto;padding-inline:clamp(20px,4vw,32px)}
.hs-homepage main{font:1.0625rem/1.5 Arial,Helvetica,sans-serif;color:var(--ink)}
.hs-homepage main *,.hs-homepage main *::before,.hs-homepage main *::after{box-sizing:border-box}
.hs-homepage main h1,.hs-homepage main h2,.hs-homepage main h3,.hs-homepage main p,.hs-homepage main figure,.hs-homepage main ul,.hs-homepage main ol,.hs-homepage main dl,.hs-homepage main dd{margin:0}
.hs-homepage main ul,.hs-homepage main ol{padding:0;list-style:none}
.hs-homepage main img{display:block;max-width:100%;height:auto}
.hs-homepage main a{color:var(--ink);text-underline-offset:.18em;text-decoration-thickness:.08em}
.hs-homepage main a:hover{color:var(--accent)}
.hs-homepage main :focus-visible{outline:3px solid var(--focus);outline-offset:4px}
.hs-homepage main h1,.hs-homepage main h2,.hs-homepage main h3{font-family:"HS Archivo","Arial Black",Arial,sans-serif;font-weight:800}
.hs-homepage main .h-display{font-size:clamp(2.5rem,6vw,4.75rem);line-height:1.01;letter-spacing:-.03em;color:var(--ink);text-wrap:balance;max-width:17.5em;overflow-wrap:break-word}
.hs-homepage main .h-section{font-size:clamp(1.9rem,3.6vw,3rem);line-height:1.05;letter-spacing:-.025em;color:var(--ink);max-width:none}
.hs-homepage main .h-card{font-size:clamp(1.45rem,2.2vw,1.75rem);line-height:1.12;letter-spacing:-.018em;color:var(--ink)}
.hs-homepage main .h-small{font-size:1.3rem;line-height:1.15;letter-spacing:-.015em;color:var(--ink)}
.hs-homepage main .lead{font-family:"HS Source Serif",Georgia,"Times New Roman",serif;font-size:clamp(1.15rem,1.6vw,1.3rem);line-height:1.5;max-width:40em;text-wrap:pretty}
.hs-homepage main .body-serif{font-family:"HS Source Serif",Georgia,"Times New Roman",serif;font-size:1.125rem;line-height:1.55;text-wrap:pretty}
.hs-homepage main .small{font-size:.9375rem;color:var(--muted)}
.hs-homepage main .measure{max-width:38em}
.hs-homepage main .tag{display:inline-block;padding:.42em .6em .38em;border:1.5px solid currentColor;color:var(--ink);font-size:.72rem;font-weight:700;line-height:1;letter-spacing:.1em;text-transform:uppercase;white-space:nowrap;vertical-align:.12em}
.hs-homepage main .tag--live{background:var(--ink);border-color:var(--ink);color:var(--paper)}
.hs-homepage main .tag--no{color:var(--accent)}
.hs-homepage main .btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:.85rem 1.35rem;border:2px solid var(--ink);border-radius:4px;color:var(--ink);background:transparent;font-size:1rem;font-weight:700;line-height:1.25;text-decoration:none;text-align:center}
.hs-homepage main .btn:hover{color:var(--ink);background:var(--wash)}
.hs-homepage main .btn--solid{background:var(--ink);color:var(--paper)}
.hs-homepage main .btn--solid:hover{background:var(--accent);border-color:var(--accent);color:var(--paper)}
.hs-homepage main .btn-row{display:flex;flex-wrap:wrap;gap:.75rem;min-width:0}
.hs-homepage main .section{padding-block:clamp(3rem,7vw,4.5rem)}
.hs-homepage main .section--line{border-top:1px solid var(--line)}
.hs-homepage main .section--tint{background:var(--wash);border-top:1px solid var(--line)}
.hs-homepage main .section-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:.75rem 4rem;margin-bottom:clamp(1.75rem,3vw,2.25rem)}
.hs-homepage main .section-head p{flex:1 1 22rem;max-width:34rem;min-width:0}
.hs-homepage main .hero{display:block;padding-block:clamp(3rem,8vw,5.5rem) clamp(2.5rem,6vw,4rem)}
.hs-homepage main .hero-foot{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:1.75rem 4rem;margin-top:clamp(1.75rem,3vw,2.5rem);padding-top:1.75rem;border-top:6px solid var(--ink)}
.hs-homepage main .hero-foot .lead{flex:1 1 26rem;min-width:0}
.hs-homepage main .crumbs{font-size:.9375rem;font-weight:600;margin-bottom:1.25rem}
.hs-homepage main .crumbs a{color:var(--muted)}
.hs-homepage main .crumbs span{color:var(--muted);padding-inline:.35em}
.hs-homepage main .card{padding:clamp(1.4rem,2.6vw,2rem);background:var(--surface);border:1px solid var(--line);border-top:6px solid var(--ink)}
.hs-homepage main .card>*+*{margin-top:.9rem}
.hs-homepage main .cols{display:grid;gap:clamp(1.5rem,3vw,2rem)}
.hs-homepage main .ledger{border-top:1px solid var(--line)}
.hs-homepage main .ledger>div{display:grid;grid-template-columns:minmax(0,1fr);gap:.35rem 1.25rem;padding-block:.85rem;border-bottom:1px solid var(--line)}
.hs-homepage main .ledger dt{padding-top:.1rem}
.hs-homepage main .ledger dd{font-size:1rem;overflow-wrap:anywhere}
.hs-homepage main .figure-stat{display:flex;flex-wrap:wrap;align-items:baseline;gap:.25rem 1rem}
.hs-homepage main .figure-stat b{font-family:"HS Archivo","Arial Black",Arial,sans-serif;font-weight:800;font-size:clamp(2.5rem,14vw,3.5rem);line-height:1;letter-spacing:-.03em;color:var(--ink)}
.hs-homepage main .figure-stat span{font-weight:600;max-width:16rem;line-height:1.3}
.hs-homepage main .pillars{display:grid;gap:1.75rem 2.5rem}
.hs-homepage main .pillars>*{border-top:6px solid var(--ink);padding-top:.9rem;min-width:0}
.hs-homepage main .pillars p{margin-top:.4rem;font-size:1rem}
.hs-homepage main .pillars--num>*{display:grid;grid-template-columns:auto minmax(0,1fr);column-gap:1.1rem}
.hs-homepage main .pillars--num .n{font-family:"HS Archivo","Arial Black",Arial,sans-serif;font-weight:800;font-size:3.4rem;line-height:.9;letter-spacing:-.03em;color:var(--ink)}
.hs-homepage main .pillars .what{margin-top:.9rem;padding-top:.8rem;border-top:1px solid var(--line);font-size:.9375rem}
.hs-homepage main .pillars .what b{color:var(--ink)}
.hs-homepage main .shot{min-width:0}
.hs-homepage main .shot a{display:block;border:1px solid var(--ink);background:#fff;cursor:zoom-in;line-height:0}
.hs-homepage main .shot img{display:block;width:100%;height:auto}
.hs-homepage main .shot a:hover{outline:3px solid var(--ink);outline-offset:0}
.hs-homepage main .shot figcaption{display:flex;flex-wrap:wrap;align-items:baseline;gap:.3rem .7rem;margin-top:.6rem;font-size:.9375rem;line-height:1.4}
.hs-homepage main .shot figcaption b{font-weight:700;color:var(--ink)}
.hs-homepage main .shot figcaption span{color:var(--muted)}
.hs-homepage main .shot figcaption .tag--live{color:var(--paper)}
.hs-homepage main .shot figcaption .tag--no{color:var(--accent)}
.hs-homepage main .shot--tile img{aspect-ratio:3/2;object-fit:cover;object-position:left top}
.hs-homepage main .shot--lead a{border-top:6px solid var(--ink)}
.hs-homepage main .gallery{display:grid;gap:clamp(1rem,2vw,1.5rem)}
.hs-homepage main .gallery .shot--lead{grid-column:1/-1}
.hs-homepage main .mini{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.9rem}
.hs-homepage main .mini .shot--lead{grid-column:1/-1}
.hs-homepage main .mini figcaption{display:none}
.hs-homepage main .feature{display:grid;gap:clamp(1.75rem,4vw,3rem);align-items:start;min-width:0}
.hs-homepage main .feature>*{min-width:0}
.hs-homepage main .feature-text>*+*{margin-top:1rem}
.hs-homepage main .status{border-top:1px solid var(--line)}
.hs-homepage main .status li{display:grid;grid-template-columns:minmax(0,1fr);gap:.3rem 1rem;align-items:baseline;padding-block:.7rem;border-bottom:1px solid var(--line);font-size:1rem;margin:0}
.hs-homepage main .status li b{font-weight:700;color:var(--ink)}
.hs-homepage main .status li span.where{color:var(--muted);font-size:.9375rem}
.hs-homepage main .steps{border-top:6px solid var(--ink)}
.hs-homepage main .step{display:grid;gap:1.25rem clamp(1.75rem,4vw,3.5rem);align-items:center;padding-block:clamp(1.75rem,3.5vw,2.75rem);border-bottom:1px solid var(--line);margin:0}
.hs-homepage main .step-text{display:grid;grid-template-columns:auto minmax(0,1fr);column-gap:1.25rem;align-content:start}
.hs-homepage main .step-text .n{font-family:"HS Archivo","Arial Black",Arial,sans-serif;font-weight:800;font-size:clamp(3rem,5vw,4.25rem);line-height:.85;letter-spacing:-.04em;color:var(--ink)}
.hs-homepage main .step-text p{margin-top:.5rem}
.hs-homepage main .glance{display:grid;gap:0 2.5rem;border-top:6px solid var(--ink)}
.hs-homepage main .glance>div{display:grid;grid-template-columns:min(7.5rem,35%) minmax(0,1fr);gap:1rem;padding-block:.85rem;border-bottom:1px solid var(--line);font-size:1rem}
.hs-homepage main .glance dt{font-weight:700;color:var(--ink)}
.hs-homepage main .glance--who{margin-top:1.75rem;border-top:1px solid var(--line)}
.hs-homepage main .glance--who>div{grid-template-columns:min(5.5rem,42%) minmax(0,1fr)}
.hs-homepage main .glance--who b{font-weight:800;color:var(--ink)}
.hs-homepage main .band{background:var(--band);color:var(--band-ink)}
.hs-homepage main .band a{color:var(--band-ink)}
.hs-homepage main .band a:hover{color:var(--band-accent)}
.hs-homepage main .band .h-section{color:var(--band-ink)}
.hs-homepage main .band-top{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:1.5rem 4rem;padding-block:clamp(3rem,6vw,4rem) clamp(2rem,4vw,2.75rem)}
.hs-homepage main .band-top>div:first-child{flex:1 1 26rem;min-width:0}
.hs-homepage main .band-top p{margin-top:.9rem;max-width:36rem;color:var(--band-ink)}
.hs-homepage main .band .btn{border-color:var(--band-ink);color:var(--band-ink)}
.hs-homepage main .band .btn:hover{background:var(--band-line);color:var(--band-ink)}
.hs-homepage main .band .btn--solid{background:var(--band-ink);color:var(--band)}
.hs-homepage main .band .btn--solid:hover{background:var(--band-accent);border-color:var(--band-accent);color:var(--band)}
.hs-homepage main .band :focus-visible{outline-color:var(--band-accent)}
@media(min-width:30rem){.hs-homepage main .status li{grid-template-columns:9.25rem minmax(0,1fr)}}
@media(min-width:34rem){.hs-homepage main .ledger>div{grid-template-columns:9.25rem minmax(0,1fr)}}
@media(min-width:40rem){.hs-homepage main .gallery{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:52rem){
  .hs-homepage main .cols--2{grid-template-columns:repeat(2,minmax(0,1fr))}
  .hs-homepage main .cols--3,.hs-homepage main .pillars{grid-template-columns:repeat(3,minmax(0,1fr))}
  .hs-homepage main .glance{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(min-width:58rem){.hs-homepage main .step{grid-template-columns:minmax(0,5fr) minmax(0,7fr)}}
@media(min-width:62rem){
  .hs-homepage main .gallery{grid-template-columns:repeat(3,minmax(0,1fr))}
  .hs-homepage main .feature{grid-template-columns:minmax(0,5fr) minmax(0,7fr)}
}

/* Native modal is outside main, so it has its own distinct, scoped selectors. */
body.hs-homepage.hs-screenshot-open{overflow:hidden}
.hs-homepage .hs-screenshot-viewer{box-sizing:border-box;width:min(calc(100vw - 24px),1500px);max-width:none;max-height:calc(100vh - 24px);max-height:calc(100dvh - 24px);margin:auto;padding:0;border:1px solid var(--band-line);overflow:auto;background:var(--band);color:var(--band-ink);font:1rem/1.4 Arial,Helvetica,sans-serif}
.hs-homepage .hs-screenshot-viewer::backdrop{background:rgba(10,21,19,.86)}
.hs-homepage .hs-screenshot-bar{position:sticky;top:0;z-index:1;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem 1.5rem;padding:1rem;background:var(--band);border-bottom:1px solid var(--band-line)}
.hs-homepage .hs-screenshot-caption{flex:1 1 22rem;min-width:0}
.hs-homepage .hs-screenshot-title{margin:0;color:var(--band-ink);font:700 1rem/1.3 Arial,Helvetica,sans-serif;letter-spacing:0;overflow-wrap:anywhere}
.hs-homepage .hs-screenshot-description{margin:.35rem 0 0;color:var(--band-ink);font-size:.9375rem;line-height:1.4;overflow-wrap:anywhere}
.hs-homepage .hs-screenshot-controls{display:flex;flex:0 1 auto;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:.5rem;min-width:0;max-width:100%}
.hs-homepage .hs-screenshot-count{margin:0 .25rem 0 0;color:var(--band-ink);font-size:.9375rem;line-height:1.4;white-space:nowrap}
.hs-homepage .hs-screenshot-viewer button{box-sizing:border-box;min-width:44px;min-height:44px;margin:0;padding:.5rem .8rem;border:2px solid var(--band-ink);border-radius:4px;background:transparent;color:var(--band-ink);font:700 1rem/1.25 Arial,Helvetica,sans-serif;cursor:pointer}
.hs-homepage .hs-screenshot-viewer button:hover{background:var(--band-line)}
.hs-homepage .hs-screenshot-viewer button:disabled{opacity:.6;cursor:default}
.hs-homepage .hs-screenshot-viewer :focus-visible{outline:3px solid var(--band-accent);outline-offset:3px}
.hs-homepage .hs-screenshot-image{display:block;width:100%;height:auto;max-height:calc(100vh - 11rem);max-height:calc(100dvh - 11rem);object-fit:contain;background:#fff}
.hs-homepage .hs-screenshot-original{display:flex;align-items:center;justify-content:center;min-height:44px;margin:0;padding:.75rem 1rem;color:var(--band-ink);font-size:1rem;text-underline-offset:4px;line-height:1.35}
.hs-homepage .hs-screenshot-original:hover{color:var(--band-accent)}
.hs-homepage .hs-screenshot-status{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
@media(max-width:640px){
  .hs-homepage .hs-screenshot-controls{flex:1 1 100%;justify-content:flex-start}
  .hs-homepage .hs-screenshot-count{flex-basis:100%;margin:0}
  .hs-homepage .hs-screenshot-image{max-height:none}
}
@media(forced-colors:active){
  .hs-homepage main .tag--live,.hs-homepage main .btn--solid,.hs-homepage main .band .btn--solid{background:ButtonFace;color:ButtonText;border-color:ButtonText}
  .hs-homepage main .shot a,.hs-homepage main .shot a:hover{border-color:CanvasText;outline-color:Highlight}
  .hs-homepage .hs-screenshot-viewer,.hs-homepage .hs-screenshot-bar{background:Canvas;color:CanvasText;border-color:CanvasText}
  .hs-homepage .hs-screenshot-viewer button{background:ButtonFace;color:ButtonText;border-color:ButtonText}
}
@media print{
  body.hs-homepage.hs-screenshot-open{overflow:visible}
  .hs-homepage>.skip,.hs-homepage>.skip-link{display:none!important}
  .hs-homepage .wrap{width:100%;max-width:none;padding-inline:0}
  .hs-homepage main{font-size:10pt;line-height:1.45}
  .hs-homepage main .hero,.hs-homepage main .section{padding-block:14pt}
  .hs-homepage main .h-display{font-size:28pt;line-height:1.1}
  .hs-homepage main .h-section{font-size:20pt}
  .hs-homepage main .h-card{font-size:14pt}
  .hs-homepage main .h-small{font-size:12pt}
  .hs-homepage main .lead,.hs-homepage main .body-serif{font-size:11pt}
  .hs-homepage main .card,.hs-homepage main .shot,.hs-homepage main .step{break-inside:avoid}
  .hs-homepage main .band,.hs-homepage main .section--tint{background:#fff;color:#000}
  .hs-homepage main .band a,.hs-homepage main .band p,.hs-homepage main .band .h-section{color:#000}
  .hs-homepage main .btn-row,.hs-homepage .hs-screenshot-viewer{display:none!important}
}
