/* On-Demand API Hero: Figma node 41:2, desktop geometry at 1440px. */
.on-demand-api-hero{position:relative;height:619px;overflow:hidden;background:var(--airnav-color-canvas)}
.on-demand-api-hero__visual{position:absolute;top:0;right:0;left:auto;z-index:0;width:1430px;height:619px;max-width:none;pointer-events:none;user-select:none}
.on-demand-api-hero__container{position:relative;z-index:1;height:100%}
.on-demand-api-hero__copy{position:absolute;top:100px;left:0;width:447px}
.on-demand-api-hero__copy-text{position:relative;isolation:isolate}
.on-demand-api-hero__copy-text::before{position:absolute;z-index:-1;inset:-48px -112px 20px -72px;content:"";pointer-events:none;background:rgba(255,255,255,.92);border-radius:50%;filter:blur(48px)}
.on-demand-api-hero__eyebrow,.on-demand-api-hero__title,.on-demand-api-hero__subtitle{margin:0}
.on-demand-api-hero__eyebrow{color:var(--airnav-color-green);font:700 20px/27px var(--airnav-font-body)}
.on-demand-api-hero__title{margin-top:20px;color:var(--airnav-color-forest);font:400 80px/1.1 var(--airnav-font-display);letter-spacing:-1.6px}
.on-demand-api-hero__subtitle{margin-top:12px;color:rgba(17,32,27,.7);font:400 20px/27px var(--airnav-font-body)}
.on-demand-api-hero__actions{display:flex;gap:24px;align-items:center;margin-top:44px}
.on-demand-api-hero__actions .airnav-button{white-space:nowrap}

/* Wider than 1440: keep the visual on the content (as on Custom Solutions); its left edge is white in the artwork, fade the right one into the page. */
/* Wider than 1440 the picture stays on the 1440 frame; its right edge fades thinly, as the monitor is 25px from it. */
@media (min-width:1441px){.on-demand-api-hero__visual{right:auto;left:calc(50% - 710px);-webkit-mask-image:linear-gradient(to left,transparent 0,#000 min(24px,calc((100vw - 1440px) * .4)));mask-image:linear-gradient(to left,transparent 0,#000 min(24px,calc((100vw - 1440px) * .4)))}}
/* Narrower than 1440 the text keeps its size, so the picture shrinks instead: the left monitor (38.64% into the picture) always starts 37px after the buttons, as at 1440. Anchored bottom right so the desk still runs off the edges. */
@media (min-width:1101px) and (max-width:1439px){.on-demand-api-hero__visual{top:auto;bottom:0;width:calc((100% - var(--airnav-gutter) - 483px) * 1.6297);height:auto}}
@media (max-width:1100px){.on-demand-api-hero{height:auto;min-height:619px;padding:80px 0 0}.on-demand-api-hero__container{height:auto}.on-demand-api-hero__copy{position:relative;top:auto;left:auto}.on-demand-api-hero__visual{position:relative;top:auto;left:50%;display:block;width:min(1369px,134%);height:auto;margin-top:40px;transform:translateX(-50%)}}
/* Phone: copy, visual, buttons (wrappers display:contents so they can be ordered); the visual is sized so both monitors span the width. */
@media (max-width:700px){.on-demand-api-hero{display:flex;flex-direction:column;min-height:0;padding:56px 0 72px}.on-demand-api-hero__container,.on-demand-api-hero__copy{display:contents}.on-demand-api-hero__copy-text,.on-demand-api-hero__actions{width:min(var(--airnav-content-max),calc(100% - (2 * var(--airnav-gutter))));margin-inline:auto}.on-demand-api-hero__title{font-size:40px;line-height:1.1;letter-spacing:-.8px}.on-demand-api-hero__title br{display:none}.on-demand-api-hero__subtitle{margin-top:24px;font-size:18px}.on-demand-api-hero__actions{order:1;flex-direction:column;align-items:stretch;gap:16px;margin-top:32px}.on-demand-api-hero__actions .airnav-button{width:100%}.on-demand-api-hero__visual{left:auto;width:154.2%;max-width:none;margin:8px 0 0 -54.2%;transform:none}}

/* On-Demand API Developer Introduction: Figma node 41:29. */
.on-demand-developer{height:804px;overflow:hidden;background:var(--airnav-color-surface)}
.on-demand-developer__container{position:relative;height:100%}
.on-demand-developer__content{position:absolute;top:72px;left:0;width:630px}
.on-demand-developer__title,.on-demand-developer__body,.on-demand-developer__card h3,.on-demand-developer__card p{margin:0}
.on-demand-developer__title{color:var(--airnav-color-forest);font:400 64px/1.1 var(--airnav-font-display);letter-spacing:-1.28px}
.on-demand-developer__title span{display:block}.on-demand-developer__title-highlight{color:var(--airnav-color-green)}
.on-demand-developer__body{margin-top:32px;color:rgba(17,32,27,.7);font:400 16px/normal var(--airnav-font-body)}
.on-demand-developer__card{height:300px;padding:32px;margin-top:34px;overflow:hidden;background:#fff;border-radius:16px}
.on-demand-developer__card h3{color:var(--airnav-color-green);font:400 24px/1.1 var(--airnav-font-display)}
.on-demand-developer__card ul{display:flex;flex-direction:column;gap:16px;padding:0;margin:20px 0;list-style:none}
.on-demand-developer__card li{display:flex;gap:8px;align-items:flex-start;color:rgba(17,32,27,.7);font:400 16px/22px var(--airnav-font-body)}
.on-demand-developer__card li img{width:16px;height:16px;flex:0 0 16px;margin-top:3px}.on-demand-developer__card p{color:rgba(17,32,27,.7);font:400 16px/1.5 var(--airnav-font-body)}
.on-demand-developer__visual{position:absolute;right:0;bottom:71px;width:min(552px,calc((100% - 686px) * .9305));height:auto;aspect-ratio:1239/1269;max-width:none;object-fit:cover;pointer-events:none;transform:translate(3.14%,5.07%)}
@media(max-width:1100px){.on-demand-developer{height:auto;overflow:hidden}.on-demand-developer__container{display:flex;flex-direction:column;height:auto;padding-top:72px;padding-bottom:72px}.on-demand-developer__content{position:relative;top:auto;left:auto;width:min(100%,630px)}.on-demand-developer__visual{position:relative;top:auto;right:auto;bottom:auto;left:auto;width:min(100%,628px);height:auto;aspect-ratio:1239/1269;margin:56px auto 0;object-fit:cover;transform:none}}
/* Phone: heading, code visual, body, card (content wrapper display:contents so the visual can sit between). */
@media(max-width:700px){.on-demand-developer__content{display:contents}.on-demand-developer__title{font-size:40px;letter-spacing:-.8px}.on-demand-developer__body{order:1;margin-top:40px;line-height:1.5}.on-demand-developer__card{order:1;height:auto;min-height:300px;padding:24px;margin-top:32px}.on-demand-developer__visual{margin-top:24px}}
/* On-Demand API aviation data tabs. */
.on-demand-tabs__header p{white-space:nowrap;align-self:center}
.on-demand-tabs__panel--categories .on-demand-tabs__card li + li{margin-top:8px}
.on-demand-tabs__header{grid-template-columns:373px max-content minmax(0,1fr)!important;grid-template-rows:70px!important}
.on-demand-tabs__header h2{white-space:nowrap}
.on-demand-tabs__panel--fields .on-demand-tabs__card ul{list-style:none}
.on-demand-tabs__intro--sdk strong{font-weight:600}
.on-demand-tabs__header{align-items:end!important}
.on-demand-tabs__header p{align-self:auto!important;white-space:nowrap!important}
.on-demand-tabs__header p br{display:none!important}
.on-demand-tabs__header{grid-template-columns:373px 189px minmax(0,1fr)!important;grid-template-rows:10px 50px 10px!important;align-items:initial!important}
.on-demand-tabs__header h2{grid-column:1;grid-row:1 / -1;height:70px!important;min-height:0;white-space:nowrap!important}
.on-demand-tabs__header p{grid-column:2;grid-row:2;align-self:center!important;white-space:nowrap!important}
.on-demand-tabs__header p br{display:inline!important}
.on-demand-tabs__header span{grid-column:3;grid-row:3;align-self:center}
.on-demand-tabs__header{display:flex!important;height:70px!important;align-items:baseline!important;gap:40px!important}
.on-demand-tabs__header h2{width:373px;height:auto!important;flex:none}
.on-demand-tabs__header p{width:189px;flex:none}
.on-demand-tabs__header span{flex:1;min-width:0;align-self:flex-end;margin-bottom:16px}
.on-demand-tabs__header p{white-space:normal!important}
.on-demand-tabs__panel--fields .on-demand-tabs__card li{display:grid;grid-template-columns:24px minmax(0,1fr);column-gap:4px}
.on-demand-tabs__panel--fields .on-demand-tabs__card li+li{margin-top:16px}
.on-demand-tabs__panel--fields .on-demand-tabs__card li b{width:auto}
.on-demand-tabs__panel--categories .on-demand-tabs__card ul{padding-left:68px}
.on-demand-tabs{background:#fff;padding:140px 0}.on-demand-tabs__container{max-width:1280px;margin:auto}.on-demand-tabs__header{height:70px;display:grid;grid-template-columns:373px 189px 1fr;gap:40px;align-items:center}.on-demand-tabs__header h2{margin:0;color:#0e3a2f;font-family:Manrope,sans-serif;font-size:64px;font-weight:400;line-height:1.1;letter-spacing:-1.28px}.on-demand-tabs__header p{margin:0;color:rgba(17,32,27,.7);font:400 18px/1.4 "Open Sans",sans-serif}.on-demand-tabs__header span{height:1px;background:#d6e1dc}.on-demand-tabs__list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));height:60px;margin-top:64px;border:1px solid #d6e1dc;border-radius:8px}.on-demand-tabs__list button{display:flex;align-items:center;justify-content:center;gap:16px;border:1px solid transparent;border-radius:8px;background:transparent;color:rgba(17,32,27,.7);font:600 18px/1 "Open Sans",sans-serif;white-space:nowrap;cursor:pointer}.on-demand-tabs__list button[aria-selected=true]{border-color:#007944;color:#007944;font-weight:700}.on-demand-tabs__list button:focus-visible{outline:3px solid #00a49a;outline-offset:3px}.on-demand-tabs__list img{width:20px;height:20px}.on-demand-tabs__panel{margin-top:44px}.on-demand-tabs__intro{max-width:592px;margin:0 auto 52px;color:#0e3a2f;font:400 20px/1.5 "Open Sans",sans-serif;text-align:center}.on-demand-tabs__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.on-demand-tabs__card{box-sizing:border-box;min-width:0;border-radius:16px;background:#f3f6f6;padding:32px;color:rgba(17,32,27,.7)}.on-demand-tabs__card-head{display:flex;gap:16px;align-items:center;min-height:52px}.on-demand-tabs__card-head img{width:52px;height:52px;object-fit:contain;flex:none}.on-demand-tabs__card h3{flex:1;margin:0;color:#0e3a2f;font-family:Manrope,sans-serif;font-size:32px;font-weight:400;line-height:1.1;letter-spacing:-.64px}.on-demand-tabs__card-head b{color:#00a49a;font-family:Manrope,sans-serif;font-size:32px;font-weight:400;line-height:1.1}.on-demand-tabs__card p,.on-demand-tabs__card ul{margin:16px 0 0;font:400 16px/1.5 "Open Sans",sans-serif}.on-demand-tabs__card ul{padding-left:21px}.on-demand-tabs__card li+li{margin-top:4px}.on-demand-tabs__card li b{display:inline-block;width:32px;color:#00a49a;font-weight:600}.on-demand-tabs__panel--categories .on-demand-tabs__card:nth-child(3){grid-row:span 2}.on-demand-tabs__panel--fields .on-demand-tabs__grid,.on-demand-tabs__panel--sdk .on-demand-tabs__grid{grid-template-columns:repeat(4,1fr)}.on-demand-tabs__panel--fields .on-demand-tabs__card{min-height:394px}.on-demand-tabs__panel--sdk .on-demand-tabs__grid{gap:20px}.on-demand-tabs__panel--sdk .on-demand-tabs__card{height:152px;border:1px solid #d6e1dc;background:#fff;padding:12px 20px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px}.on-demand-tabs__panel--sdk .on-demand-tabs__card-head{display:flex;min-height:0;flex-direction:column;gap:12px}.on-demand-tabs__panel--sdk .on-demand-tabs__card-head img{width:68px;height:68px}.on-demand-tabs__panel--sdk .on-demand-tabs__card h3{flex:none;font:600 18px/1 "Open Sans",sans-serif;letter-spacing:0}.on-demand-tabs__panel--sdk .on-demand-tabs__card-head b{display:none}@media(max-width:1319px){.on-demand-tabs__container{margin:0 40px}}@media(max-width:900px){.on-demand-tabs{padding:140px 0}.on-demand-tabs__header{grid-template-columns:1fr;gap:16px;height:auto}.on-demand-tabs__header span{display:none}.on-demand-tabs__header h2{font-size:50px}.on-demand-tabs__list{overflow-x:auto;display:flex}.on-demand-tabs__list button{min-width:max-content;padding:0 24px;flex:1}.on-demand-tabs__grid,.on-demand-tabs__panel--fields .on-demand-tabs__grid{grid-template-columns:repeat(2,1fr)}.on-demand-tabs__panel--sdk .on-demand-tabs__grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:700px){.on-demand-tabs{padding:72px 0}}@media(max-width:540px){.on-demand-tabs__container{margin:0 20px}.on-demand-tabs__header h2{font-size:42px}.on-demand-tabs__list{margin-top:40px}.on-demand-tabs__list button{padding:0 20px}.on-demand-tabs__grid,.on-demand-tabs__panel--fields .on-demand-tabs__grid,.on-demand-tabs__panel--sdk .on-demand-tabs__grid{grid-template-columns:1fr}.on-demand-tabs__panel--categories .on-demand-tabs__card:nth-child(3){grid-row:auto}.on-demand-tabs__card h3{font-size:28px}.on-demand-tabs__panel--fields .on-demand-tabs__card{min-height:0}}

@media (max-width: 900px) {
  .on-demand-tabs__header { display: grid !important; grid-template-columns: minmax(0, 1fr) !important; grid-template-rows: auto !important; align-items: start !important; gap: 16px !important; height: auto !important; }
  .on-demand-tabs__header h2, .on-demand-tabs__header p { width: auto; grid-column: auto; grid-row: auto; }
  .on-demand-tabs__header p { align-self: auto !important; }
  .on-demand-tabs__header span { display: none; }
}

/* Latest Figma aviation-data typography, colors, and panel geometry. */
.on-demand-tabs__header h2,
.on-demand-tabs__card h3,
.on-demand-tabs__card-head b,
.on-demand-tabs__panel--fields .on-demand-tabs__card li b {
	font-family: var(--airnav-font-display);
}

.on-demand-tabs__card-head b,
.on-demand-tabs__panel--fields .on-demand-tabs__card li b {
	color: var(--airnav-color-green);
}

.on-demand-tabs__panel--fields .on-demand-tabs__card li b {
	font-weight: 400;
	letter-spacing: -.32px;
}

.on-demand-tabs__card-head { min-width: 0; }
.on-demand-tabs__card h3 { min-width: 0; overflow-wrap: anywhere; }
.on-demand-tabs__panel--categories .on-demand-tabs__card li + li { margin-top: 12px; }
.on-demand-tabs__list button { transition: background-color 150ms ease, border-color 150ms ease, color 150ms ease; }
.on-demand-tabs__list button:not([aria-selected="true"]):hover { background: var(--airnav-color-surface); }
.on-demand-tabs__icon { width: 20px; height: 20px; flex: 0 0 20px; background: currentColor; -webkit-mask: var(--airnav-tab-icon) center / contain no-repeat; mask: var(--airnav-tab-icon) center / contain no-repeat; }
.on-demand-tabs__icon--categories { --airnav-tab-icon: url('../icons/on-demand-api/tabs/categories-active.svg'); }
.on-demand-tabs__icon--formats { --airnav-tab-icon: url('../icons/on-demand-api/tabs/formats-active.svg'); }
.on-demand-tabs__icon--fields { --airnav-tab-icon: url('../icons/on-demand-api/tabs/fields-active.svg'); }
.on-demand-tabs__icon--sdk { --airnav-tab-icon: url('../icons/on-demand-api/tabs/sdk-active.svg'); }

@media (min-width: 901px) {
	.on-demand-tabs__panel--fields .on-demand-tabs__intro { max-width: none; margin-bottom: 27px; white-space: nowrap; }
	.on-demand-tabs__panel--fields .on-demand-tabs__card ul { line-height: 1.2; }
	.on-demand-tabs__panel--sdk .on-demand-tabs__intro { max-width: 720px; margin-bottom: 41px; }
	.on-demand-tabs[data-active-tab="sdk"] { padding-bottom: 140px; }
}

@media (min-width: 1101px) {
	.on-demand-tabs__panel--fields .on-demand-tabs__card:nth-child(4) li + li { margin-top: 10px; }
}

@media (min-width: 1320px) {
	.on-demand-tabs__panel--formats .on-demand-tabs__card { height: 222px; }
	.on-demand-tabs__panel--fields .on-demand-tabs__card { height: 394px; min-height: 0; }
}

@media (min-width: 901px) and (max-width: 1319px) {
	.on-demand-tabs__panel--formats .on-demand-tabs__card { height: auto; min-height: 222px; }
	.on-demand-tabs__panel--fields .on-demand-tabs__card { height: auto; min-height: 394px; }
}

@media (min-width: 901px) and (max-width: 1199px) {
	.on-demand-tabs__panel--categories .on-demand-tabs__grid { grid-template-rows: auto; }
	.on-demand-tabs__panel--categories .on-demand-tabs__card:nth-child(3) { grid-row: auto; }
}

/* The cards are stored 01, 03, 05, 02, 04 for the column-major desktop grid; once it reflows, show them in number order. */
@media (max-width: 1199px) {
	.on-demand-tabs__panel--categories .on-demand-tabs__card:nth-child(1) { order: 1; }
	.on-demand-tabs__panel--categories .on-demand-tabs__card:nth-child(4) { order: 2; }
	.on-demand-tabs__panel--categories .on-demand-tabs__card:nth-child(2) { order: 3; }
	.on-demand-tabs__panel--categories .on-demand-tabs__card:nth-child(5) { order: 4; }
	.on-demand-tabs__panel--categories .on-demand-tabs__card:nth-child(3) { order: 5; }
}

@media (min-width: 901px) and (max-width: 1100px) {
	.on-demand-tabs__panel--fields .on-demand-tabs__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 900px) {
	.on-demand-tabs__panel--fields .on-demand-tabs__card { height: auto; }
}

/* Phone: the tabs stack as a list; 62px rows overlap each other and the list border by 1px so the open tab's outline sits on the edge. */
@media (max-width: 700px) {
	.on-demand-tabs__header h2 { font-size: 40px; letter-spacing: -.8px; }
	.on-demand-tabs__list { flex-direction: column; height: auto; overflow: visible; }
	.on-demand-tabs__list button { flex: none; min-width: 0; height: 62px; margin: -1px; background-clip: padding-box; }
	.on-demand-tabs__panel { margin-top: 20px; }
	.on-demand-tabs__intro { max-width: none; margin: 0 0 20px; color: rgba(17, 32, 27, .7); font-size: 16px; line-height: 22px; text-align: left; }
	.on-demand-tabs__intro--sdk { line-height: 24px; }
	.on-demand-tabs__intro--sdk strong { font-size: 20px; }
	.on-demand-tabs__card { padding: 24px; }
	.on-demand-tabs__card-head { min-height: 44px; gap: 12px; }
	.on-demand-tabs__card-head img { width: 44px; height: 44px; }
	.on-demand-tabs__card h3, .on-demand-tabs__card-head b { font-size: 24px; }
	.on-demand-tabs__card h3 { letter-spacing: -.48px; text-wrap: balance; }
	.on-demand-tabs__card h3 br { display: none; }
	.on-demand-tabs__card p, .on-demand-tabs__card ul { margin-top: 8px; font-size: 14px; }
	.on-demand-tabs__panel--categories .on-demand-tabs__card li + li { margin-top: 8px; }
	.on-demand-tabs__panel--fields .on-demand-tabs__card ul { margin-top: 16px; line-height: 1.2; }
	.on-demand-tabs__panel--fields .on-demand-tabs__card li b { line-height: 20px; }
	.on-demand-tabs__panel--sdk .on-demand-tabs__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.on-demand-tabs__panel--sdk .on-demand-tabs__card { height: 100px; }
	.on-demand-tabs__panel--sdk .on-demand-tabs__card-head img { width: 36px; height: 36px; }
	.on-demand-tabs__panel--sdk .on-demand-tabs__card h3 { font-size: 16px; }
}

/* On-Demand API Core Capabilities: Figma node 41:55. */
.on-demand-capabilities {
  height: 1232px;
  overflow: hidden;
  background: var(--airnav-color-surface);
}

.on-demand-capabilities__container {
  position: relative;
  height: 100%;
}

.on-demand-capabilities__header {
  position: absolute;
  top: 72px;
  left: 411.648px;
  width: 462.704px;
  text-align: center;
}

.on-demand-capabilities__header h2,
.on-demand-capabilities__header p,
.on-demand-capabilities__card h3,
.on-demand-capabilities__card p,
.on-demand-capabilities__annotation {
  margin: 0;
}

.on-demand-capabilities__header h2 {
  color: var(--airnav-color-forest);
  font-family: var(--airnav-font-display);
  font-size: 64px;
  font-weight: 400;
  line-height: 1.1;
  letter-spacing: -1.28px;
  white-space: nowrap;
}

.on-demand-capabilities__header p {
  width: 414px;
  margin: 20px auto 0;
  color: rgba(17, 32, 27, 0.7);
  font-family: var(--airnav-font-body);
  font-size: 16px;
  font-weight: 400;
  line-height: normal;
}

.on-demand-capabilities__layout {
  position: absolute;
  top: 72px;
  left: 0;
  display: flex;
  align-items: flex-start;
  width: 100%;
}

.on-demand-capabilities__cards {
  display: grid;
  flex: 0 0 372px;
  gap: 24px;
  padding: 0;
  margin: 0;
  list-style: none;
}

.on-demand-capabilities__cards--left {
  margin-right: 39.648px;
}

.on-demand-capabilities__cards--right {
  margin-left: 33.648px;
}

.on-demand-capabilities__card {
  position: relative;
  display: flex;
  flex-direction: column;
  min-height: 0;
  padding: 32px;
  overflow: hidden;
  background: var(--airnav-color-canvas);
  border-radius: var(--airnav-radius-card);
}

.on-demand-capabilities__cards--left li:nth-child(1) .on-demand-capabilities__card,
.on-demand-capabilities__cards--right li:nth-child(1) .on-demand-capabilities__card { height: 258px; }
.on-demand-capabilities__cards--left li:nth-child(2) .on-demand-capabilities__card { height: 244px; }
.on-demand-capabilities__cards--left li:nth-child(3) .on-demand-capabilities__card { height: 244px; }
.on-demand-capabilities__cards--left li:nth-child(4) .on-demand-capabilities__card { height: 270px; }
.on-demand-capabilities__cards--right li:nth-child(2) .on-demand-capabilities__card { height: 268px; }
.on-demand-capabilities__cards--right li:nth-child(3) .on-demand-capabilities__card,
.on-demand-capabilities__cards--right li:nth-child(4) .on-demand-capabilities__card { height: 245px; }

.on-demand-capabilities__card h3 {
  width: 240px;
  color: var(--airnav-color-forest);
  font-family: var(--airnav-font-display);
  font-size: 24px;
  font-weight: 400;
  line-height: 1.1;
  letter-spacing: -0.24px;
}

.on-demand-capabilities__card p {
  margin-top: 32px;
  color: rgba(17, 32, 27, 0.7);
  font-family: var(--airnav-font-body);
  font-size: 16px;
  font-weight: 400;
  line-height: 1.5;
}

.on-demand-capabilities__cards--left li:first-child .on-demand-capabilities__card p,
.on-demand-capabilities__cards--right li:first-child .on-demand-capabilities__card p { font-size: 14px; }

.on-demand-capabilities__number {
  position: absolute;
  top: 32px;
  right: 32px;
	color: var(--airnav-color-green);
  font-family: var(--airnav-font-display);
  font-size: 44px;
  font-weight: 100;
  line-height: 1.1;
}

@media (min-width: 1200px) and (max-width: 1319px) {
	.on-demand-capabilities { height: auto; padding: 72px 0; }
	.on-demand-capabilities__container { height: auto; }
	.on-demand-capabilities__layout { position: relative; top: 0; width: 100%; }
	.on-demand-capabilities__header { top: 0; left: 50%; transform: translateX(-50%); }
	.on-demand-capabilities__header h2 { font-size: 54px; }
	.on-demand-capabilities__cards { flex-basis: calc((100% - 482.704px) / 2); gap: 22px; }
	.on-demand-capabilities__cards--left { margin-right: 10px; }
	.on-demand-capabilities__cards--right { margin-left: 10px; }
	.on-demand-capabilities__card h3 { width: min(226px, calc(100% - 48px)); }
	.on-demand-capabilities__number { right: 12px; }
	.on-demand-capabilities__cards li:nth-child(n) .on-demand-capabilities__card { height: auto; }
	.on-demand-capabilities__cards--left li:nth-child(1) .on-demand-capabilities__card { min-height: 259px; }
	.on-demand-capabilities__cards--left li:nth-child(2) .on-demand-capabilities__card { min-height: 269px; }
	.on-demand-capabilities__cards--left li:nth-child(3) .on-demand-capabilities__card { min-height: 269px; }
	.on-demand-capabilities__cards--left li:nth-child(4) .on-demand-capabilities__card { min-height: 295px; }
	.on-demand-capabilities__cards--right li:nth-child(1) .on-demand-capabilities__card { min-height: 280px; }
	.on-demand-capabilities__cards--right li:nth-child(2) .on-demand-capabilities__card { min-height: 269px; }
	.on-demand-capabilities__cards--right li:nth-child(3) .on-demand-capabilities__card { min-height: 269px; }
	.on-demand-capabilities__cards--right li:nth-child(4) .on-demand-capabilities__card { min-height: 245px; }
}

/* 1320-1439: the 1440 composition with fluid side columns, so it fits the narrower container. */
@media (min-width: 1320px) and (max-width: 1439px) {
	.on-demand-capabilities { height: auto; padding: 72px 0; }
	.on-demand-capabilities__container { height: auto; }
	.on-demand-capabilities__layout { position: relative; top: 0; }
	.on-demand-capabilities__header { top: 0; left: calc((100% - 536px) / 2 + 39.648px); }
	.on-demand-capabilities__cards { flex-basis: calc((100% - 536px) / 2); }
	.on-demand-capabilities__card h3 { width: min(240px, calc(100% - 68px)); }
	.on-demand-capabilities__visual { margin-bottom: -33px; }
	.on-demand-capabilities__cards li:nth-child(n) .on-demand-capabilities__card { height: auto; }
	.on-demand-capabilities__cards--left li:nth-child(1) .on-demand-capabilities__card,
	.on-demand-capabilities__cards--right li:nth-child(1) .on-demand-capabilities__card { min-height: 258px; }
	.on-demand-capabilities__cards--left li:nth-child(2) .on-demand-capabilities__card,
	.on-demand-capabilities__cards--left li:nth-child(3) .on-demand-capabilities__card { min-height: 244px; }
	.on-demand-capabilities__cards--left li:nth-child(4) .on-demand-capabilities__card { min-height: 270px; }
	.on-demand-capabilities__cards--right li:nth-child(2) .on-demand-capabilities__card { min-height: 268px; }
	.on-demand-capabilities__cards--right li:nth-child(3) .on-demand-capabilities__card,
	.on-demand-capabilities__cards--right li:nth-child(4) .on-demand-capabilities__card { min-height: 245px; }
}

.on-demand-capabilities__visual {
  position: relative;
  flex: 0 0 462.704px;
  width: 462.704px;
  height: 1121px;
}

.on-demand-capabilities__outer {
  position: absolute;
  top: 355px;
  left: 0;
  width: 462.704px;
  height: 766px;
  overflow: hidden;
  background: var(--airnav-color-surface);
}

.on-demand-capabilities__outer img {
  position: absolute;
  top: 0;
  left: -60.37%;
  width: 220.73%;
  max-width: none;
  height: 100%;
  mix-blend-mode: multiply;
}

.on-demand-capabilities__foreground {
  position: absolute;
  top: 387.446px;
  left: 75.472px;
  width: 306.118px;
  max-width: none;
  height: 687.002px;
}

.on-demand-capabilities__annotation {
  position: absolute;
  top: 157.024px;
  left: 187.08px;
  z-index: 1;
  width: 82.543px;
  color: rgba(17, 32, 27, 0.7);
  font-family: var(--airnav-font-body);
  font-size: 18px;
  font-style: italic;
  font-weight: 400;
  line-height: normal;
  text-align: center;
  transform: rotate(-10deg);
}

.on-demand-capabilities__arrow {
  position: absolute;
  top: 218px;
  left: 199.352px;
  width: 59px;
  height: 130.5px;
}

/* Stacked below 1200. After the base visual rule, so its 1121px flex-basis wins over the 462px one. */
@media (max-width: 1199px) {
  .on-demand-capabilities {
    height: auto;
    overflow: hidden;
    padding: 72px 0;
  }

  .on-demand-capabilities__container { height: auto; }
  .on-demand-capabilities__header,
  .on-demand-capabilities__layout { position: static; }
  .on-demand-capabilities__header { width: auto; }
  .on-demand-capabilities__header h2 { white-space: normal; }
  .on-demand-capabilities__layout { display: flex; flex-direction: column; align-items: center; margin-top: 56px; }
  .on-demand-capabilities__cards,
  .on-demand-capabilities__cards--left,
  .on-demand-capabilities__cards--right { width: min(100%, 462.704px); margin: 0; }
  .on-demand-capabilities__visual { order: 2; flex: 0 0 1121px; width: 462.704px; height: 1121px; margin: 56px 0; }
  .on-demand-capabilities__cards--right { order: 3; }
}

@media (max-width: 700px) {
  .on-demand-capabilities__header h2 { font-size: 40px; letter-spacing: -.8px; }
  .on-demand-capabilities__header p { width: auto; margin-top: 16px; }
  .on-demand-capabilities__layout { margin-top: 40px; }
  .on-demand-capabilities__cards { width: 100%; }
  .on-demand-capabilities__cards--right { margin-top: 24px; }
  .on-demand-capabilities__card,
  .on-demand-capabilities__cards--left li:nth-child(n) .on-demand-capabilities__card,
  .on-demand-capabilities__cards--right li:nth-child(n) .on-demand-capabilities__card { height: auto; min-height: 244px; }
  /* Above the cards; its unscaled top 157px is empty, so it is pulled up over the header and ignores the pointer. */
  .on-demand-capabilities__visual { order: -1; flex-basis: 852px; width: 462.704px; height: 852px; margin: -146px 0 0; pointer-events: none; transform: scale(0.76); transform-origin: top center; }
  .on-demand-capabilities__card h3 { max-width: calc(100% - 68px); }
}

/* On-Demand API ODAPI Advantage: Figma node 41:310 (1440 x 771). A line break saved in a tile's copy is kept above phone width. */
.on-demand-advantage { position: relative; height: 771px; overflow: hidden; color: #fff; background: var(--airnav-color-forest); }
.on-demand-advantage__container { position: relative; z-index: 1; height: 100%; }
.on-demand-advantage__header { position: absolute; top: 72px; left: 0; }
.on-demand-advantage__header h2, .on-demand-advantage__header p, .on-demand-advantage__tiles h3, .on-demand-advantage__tiles p { margin: 0; }
.on-demand-advantage__header h2 { color: #fff; font-family: var(--airnav-font-display); font-size: 64px; font-weight: 400; line-height: 1.1; letter-spacing: -1.28px; }
.on-demand-advantage__header img { display: block; width: 80px; height: 1px; margin-top: 32px; }
.on-demand-advantage__header p { margin-top: 31px; color: rgba(255,255,255,.8); font-family: var(--airnav-font-body); font-size: 18px; font-weight: 400; line-height: normal; }
.on-demand-advantage__tiles { position: absolute; top: 295px; left: 0; display: grid; grid-template-columns: repeat(3, 269px); gap: 54px 20px; width: 847px; padding: 0; margin: 0; list-style: none; }
.on-demand-advantage__tiles li, .on-demand-advantage__tiles article { min-width: 0; height: 175px; }
.on-demand-advantage__tiles article { display: flex; flex-direction: column; padding-left: 24px; border-left: 1px solid var(--airnav-color-border); }
.on-demand-advantage__tiles article > img { width: 40px; height: 40px; flex: 0 0 40px; margin-bottom: 24px; }
.on-demand-advantage__tiles h3 { margin: 0 0 12px; color: #fff; font-family: var(--airnav-font-display); font-size: 26px; font-weight: 400; line-height: 1.1; }
.on-demand-advantage__tiles p { color: rgba(255,255,255,.7); font-family: var(--airnav-font-body); font-size: 18px; font-weight: 400; line-height: normal; white-space: pre-line; }
.on-demand-advantage__visual { position: absolute; top: 0; right: 0; width: 493px; height: 771px; overflow: hidden; }
.on-demand-advantage__visual { transform: rotate(180deg) scaleY(-1); }
/* Figma's crop of the photo at 1440 (a 493px frame), held on the photo's centre so a narrower frame crops evenly instead of stretching it. */
.on-demand-advantage__visual img { position: absolute; top: -224px; left: calc(50% - 807.5px); width: 1747px; max-width: none; height: 1165px; }
.on-demand-advantage__glow { position: absolute; z-index: 0; width: 400px; height: 400px; }
.on-demand-advantage__glow--top { top: -200px; left: -200px; }
.on-demand-advantage__glow--bottom { right: -200px; bottom: -200px; }
@media (min-width: 1441px) { .on-demand-advantage__visual { right: auto; left: calc(50% + 227px); } }
/* Below the 1440 design the tiles keep their 847px, so the photo starts 20px after them, as in Figma, and takes the rest of the width: it never runs under the tiles. Below 1240 it would be too thin, so the section stacks as on tablets. */
@media (min-width: 1240px) and (max-width: 1439px) { .on-demand-advantage__visual { left: calc(var(--airnav-gutter) + 867px); width: auto; } }
@media (max-width: 1239px) { .on-demand-advantage { height: auto; padding: 72px 0; }.on-demand-advantage__header, .on-demand-advantage__tiles { position: static; }.on-demand-advantage__tiles { grid-template-columns: repeat(2, minmax(0, 1fr)); width: min(100%, 620px); margin-top: 56px; }.on-demand-advantage__visual { position: relative; width: 493px; max-width: 100%; margin: 56px 0 0 auto; }.on-demand-advantage__container { height: auto; }.on-demand-advantage__visual img { max-width: none; } }
/* 1101–1239: the two-column tiles, with the photo 20px after them for the section's full height instead of below. */
@media (min-width: 1101px) and (max-width: 1239px) { .on-demand-advantage__visual { position: absolute; top: 0; right: 0; bottom: 0; left: calc(var(--airnav-gutter) + 640px); width: auto; height: auto; max-width: none; margin: 0; }.on-demand-advantage__visual img { inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 46% 52%; } }
/* Phone: header, photo, 2-column tiles (container display:contents so the photo can sit between; header and tiles stay above the glows). */
@media (max-width: 700px) { .on-demand-advantage { display: flex; flex-direction: column; }.on-demand-advantage__container { display: contents; }.on-demand-advantage__header, .on-demand-advantage__tiles, .on-demand-advantage__visual { width: min(var(--airnav-content-max), calc(100% - (2 * var(--airnav-gutter)))); margin-inline: auto; }.on-demand-advantage__header, .on-demand-advantage__tiles { position: relative; top: auto; z-index: 1; }.on-demand-advantage__header h2 { font-size: 40px; letter-spacing: -.8px; }.on-demand-advantage__header p { margin-top: 24px; }.on-demand-advantage__tiles { order: 1; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 40px 20px; margin-top: 40px; }.on-demand-advantage__tiles li { height: auto; }.on-demand-advantage__tiles article { height: 100%; padding-left: 16px; }.on-demand-advantage__tiles article > img { width: 32px; height: 32px; flex-basis: 32px; margin-bottom: 12px; }.on-demand-advantage__tiles h3 { margin-bottom: 10px; font-size: 20px; }.on-demand-advantage__tiles p { font-size: 14px; white-space: normal; }.on-demand-advantage__visual { max-width: none; height: auto; aspect-ratio: 350 / 224; margin-top: 40px; border-radius: var(--airnav-radius-card); }.on-demand-advantage__visual img { top: -34.82%; left: -26%; width: 153.43%; height: 159.82%; } }

.odapi-pricing{padding:72px 0;background:var(--airnav-color-surface)}.odapi-pricing header{display:flex;gap:40px;align-items:flex-start;height:70px}.odapi-pricing h2{flex:0 0 193px;margin:0;color:var(--airnav-color-forest);font:400 64px/1.1 var(--airnav-font-display);letter-spacing:-1.28px}.odapi-pricing header p{flex:0 0 224px;margin:10px 0 0;color:rgba(17,32,27,.7);font:400 18px/25px var(--airnav-font-body);white-space:normal}.odapi-pricing header>img{flex:0 0 783px;width:783px;height:1px;margin-top:54px}.odapi-pricing>div>ol{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;padding:0;margin:64px 0 0;list-style:none}.odapi-pricing__plan{position:relative;display:flex;flex-direction:column;height:644px;padding:32px;background:#fff;border-radius:16px;color:rgba(17,32,27,.7);font:400 16px/1.5 var(--airnav-font-body)}.odapi-pricing__plan--1{border:1px solid var(--airnav-color-green)}.odapi-pricing__plan h3,.odapi-pricing__plan p{margin:0}.odapi-pricing__plan h3,.odapi-pricing__plan strong{color:var(--airnav-color-teal);font-family:var(--airnav-font-display)}.odapi-pricing__plan--1 h3,.odapi-pricing__plan--1 strong{color:var(--airnav-color-green)}.odapi-pricing__plan--2 h3,.odapi-pricing__plan--2 strong{color:#11544e}.odapi-pricing__plan h3{font-size:24px;line-height:1.1}.odapi-pricing__price{margin-top:16px!important;color:var(--airnav-color-forest)!important;font:400 64px/1.1 var(--airnav-font-display)!important}.odapi-pricing__price-cents{font-size:40px}.odapi-pricing__plan hr{width:100%;margin:16px 0;border:0;border-top:1px solid var(--airnav-color-border)}.odapi-pricing__plan strong{display:block;margin-top:16px;font-size:18px;line-height:1.1}.odapi-pricing__plan ul{display:grid;gap:8px;padding:0;margin:16px 0;list-style:none}.odapi-pricing__plan ul li{display:flex;gap:8px;align-items:center}.odapi-pricing__plan ul img{flex:0 0 16px}.odapi-pricing__plan a{justify-content:center;width:100%;min-height:60px;margin-top:auto;background:var(--airnav-color-teal);color:#fff}.odapi-pricing__plan--1 a{background:var(--airnav-color-green)}.odapi-pricing__plan--2 a{background:#11544e}.odapi-pricing__plan em{margin-top:16px;font-size:13px;text-align:center}.odapi-pricing__badge{position:absolute;top:0;right:0;padding:12px 20px;background:var(--airnav-color-green);border-radius:0 0 0 8px;color:#fff;font:600 18px/1.1 var(--airnav-font-display)}@media(max-width:900px){.odapi-pricing>div>ol{grid-template-columns:1fr}.odapi-pricing__plan{max-width:500px;margin:auto}}@media(max-width:700px){.odapi-pricing header{display:block;height:auto}.odapi-pricing h2{font-size:40px;letter-spacing:-.8px}.odapi-pricing header p{margin-top:16px}.odapi-pricing>div>ol{margin-top:48px}.odapi-pricing__plan{height:auto;min-height:644px}}

/* Contain the desktop pricing divider at tablet widths without altering desktop geometry. */
.odapi-pricing__price + p { font-size: 20px; line-height: 1.5; }
.odapi-pricing__plan { overflow: hidden; }
.odapi-pricing__badge { top: -1px; right: -2px; width: 149px; height: 44px; letter-spacing: -.36px; }
.odapi-pricing { overflow: hidden; }

.odapi-pricing__plan h3 { font-weight: 500; }
.odapi-pricing__plan strong { font-weight: 400; }

/* On-Demand API FAQs: audited desktop geometry. */
.on-demand-faqs { padding: 140px 0; background: #fff; }
.on-demand-faqs__container { display: grid; grid-template-columns: 413px 738px; column-gap: 129px; align-items: start; }
.on-demand-faqs__header { grid-column: 1; grid-row: 1; width: 413px; margin-top: 20px; }
.on-demand-faqs__header h2, .on-demand-faqs__header p, .on-demand-faqs__cta h3, .on-demand-faqs__cta p, .on-demand-faqs__answer p { margin: 0; }
.on-demand-faqs__header h2 { color: var(--airnav-color-forest); font: 400 64px/1.1 var(--airnav-font-display); letter-spacing: -1.28px; }
.on-demand-faqs__header > span { display: block; width: 80px; height: 1px; margin-top: 32px; background: var(--airnav-color-border); }
.on-demand-faqs__header p { margin-top: 31px; color: rgba(17,32,27,.7); font: 400 18px/25px var(--airnav-font-body); }
.on-demand-faqs__accordion { grid-column: 2; grid-row: 1; width: 738px; }
.on-demand-faqs__item:not(:last-child) { padding-bottom: 24px; margin-bottom: 24px; border-bottom: 1px solid var(--airnav-color-border); }
.on-demand-faqs__question { display: flex; gap: 12px; align-items: flex-start; width: 100%; min-height: 35px; padding: 0; color: var(--airnav-color-forest); text-align: left; background: transparent; border: 0; }
button.on-demand-faqs__question { cursor: pointer; }
.on-demand-faqs__number, .on-demand-faqs__question-text { font-family: var(--airnav-font-display); font-size: 24px; line-height: 1.1; letter-spacing: -.48px; }
.on-demand-faqs__number { flex: 0 0 auto; font-weight: 300; }

.odapi-pricing__badge { font-weight: 500; }
.on-demand-faqs__question-text { flex: 1 1 auto; font-weight: 400; }
.on-demand-faqs__chevron { position: relative; flex: 0 0 35px; width: 35px; height: 35px; }
.on-demand-faqs__chevron::after { position: absolute; top: 11px; left: 11px; width: 10px; height: 10px; content: ''; border-right: 1px solid currentColor; border-bottom: 1px solid currentColor; transform: rotate(45deg); transition: top 280ms cubic-bezier(0.22, 1, 0.36, 1), transform 280ms cubic-bezier(0.22, 1, 0.36, 1); }
.on-demand-faqs__question[aria-expanded="true"] .on-demand-faqs__chevron::after { top: 15px; transform: rotate(225deg); }
@media (prefers-reduced-motion: reduce) { .on-demand-faqs__chevron::after { transition: none; } }
.on-demand-faqs__question:focus-visible { outline: 3px solid var(--airnav-color-teal); outline-offset: 4px; }
.on-demand-faqs__answer { margin-top: 12px; color: rgba(17,32,27,.7); font: 400 16px/1.5 var(--airnav-font-body); }
.on-demand-faqs__cta { grid-column: 1; grid-row: 1; align-self: start; display: flex; flex-direction: column; gap: 16px; width: 413px; height: auto; padding: 32px; margin-top: 293px; overflow: hidden; background: var(--airnav-color-surface); border-radius: 16px; }
.on-demand-faqs__cta > img { width: 40px; height: 40px; }
.on-demand-faqs__cta h3 { color: var(--airnav-color-forest); font: 400 32px/1.1 var(--airnav-font-display); letter-spacing: -.64px; }
.on-demand-faqs__cta p { color: rgba(17,32,27,.7); font: 400 16px/1.5 var(--airnav-font-body); }
.on-demand-faqs__cta .airnav-button { width: 100%; min-height: 60px; margin-top: auto; }
@media (max-width: 1100px) { .on-demand-faqs { padding: 140px 0; }.on-demand-faqs__container { display: block; }.on-demand-faqs__header { width: auto; margin-top: 0; }.on-demand-faqs__accordion { width: 100%; margin-top: 56px; }.on-demand-faqs__cta { width: min(100%, 413px); margin-top: 48px; } }
@media (max-width: 700px) { .on-demand-faqs { padding: 72px 0; }.on-demand-faqs__container { display: flex; flex-direction: column; }.on-demand-faqs__header { width: 100%; }.on-demand-faqs__header h2 { font-size: 40px; letter-spacing: -.8px; }.on-demand-faqs__accordion { order: 1; margin-top: 40px; }.on-demand-faqs__question { gap: 8px; }.on-demand-faqs__number, .on-demand-faqs__question-text { font-size: 20px; }.on-demand-faqs__chevron { flex-basis: 32px; width: 32px; height: 32px; }.on-demand-faqs__chevron::after { top: 10px; left: 9px; }.on-demand-faqs__question[aria-expanded="true"] .on-demand-faqs__chevron::after { top: 14px; }.on-demand-faqs__cta { height: auto; min-height: 271px; margin-top: 40px; } }

@media (min-width: 1101px) {
	.on-demand-faqs { padding-bottom: 131px; }
}

@media (min-width: 1200px) {
	.on-demand-tabs__panel--categories .on-demand-tabs__grid { grid-template-rows: 300px 252px; }
}

@media (min-width: 1101px) and (max-width: 1439px) {
	.on-demand-faqs__container {
		grid-template-columns: minmax(0, 413fr) minmax(0, 738fr);
		column-gap: 10.078125%;
	}

	.on-demand-faqs__header,
	.on-demand-faqs__accordion,
	.on-demand-faqs__cta { width: 100%; }
}

/* Phones: "Still have questions?" after the questions, as the client asked (the phone design had it above). */
@media (max-width: 700px) { .on-demand-faqs__cta { order: 2; } }

/* Narrow phones: the "Most Popular" badge (44px tall) would cover the end of the plan name, so the name starts below it. */
@media (max-width: 440px) { .odapi-pricing__plan:has(.odapi-pricing__badge) h3 { margin-top: 24px; } }

/* Phones: Core Capabilities card titles at the design size (20px), wrapping naturally as in the design instead of at the saved line breaks. */
@media (max-width: 700px) { .on-demand-capabilities__card h3 br { display: none; }.on-demand-capabilities__card h3 { font-size: 20px; letter-spacing: -0.4px; } }
