/* airfy.com / enterprise: builds on style.css (same design system as the home page). */

/* ---------- hero: one office tower, many kinds of customers ---------- */
.ehero { position: relative; min-height: 92svh; display: flex; align-items: flex-end; overflow: hidden; background: #05080a; isolation: isolate; }
.ehero__media { position: absolute; inset: 0; z-index: -1; overflow: hidden; }
.ehero__img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; filter: saturate(.85) contrast(1.05) brightness(.8); transform-origin: 60% 40%; }
.ehero__shade { position: absolute; inset: 0; background:
  linear-gradient(90deg, rgba(5,8,10,.9) 0%, rgba(5,8,10,.55) 40%, rgba(5,8,10,.1) 75%),
  linear-gradient(0deg, rgba(5,8,10,.95) 0%, rgba(5,8,10,.3) 40%, rgba(5,8,10,.35) 100%); }
.ehero__chips { position: absolute; inset: 0; }
.echip { position: absolute; left: var(--x); top: var(--y); display: inline-flex; align-items: center; gap: 9px; padding: 7px 12px 7px 10px;
  border-radius: 99px; background: rgba(8,12,14,.62); border: 1px solid rgba(175,205,219,.28); color: #eef3f4;
  -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); font-family: var(--mono); font-size: 11px; letter-spacing: .1em; text-transform: uppercase; white-space: nowrap; }
.echip i { width: 7px; height: 7px; border-radius: 50%; background: var(--b4); box-shadow: 0 0 0 4px rgba(175,205,219,.2); }
.ehero__inner { position: relative; z-index: 3; padding-top: 140px; padding-bottom: clamp(48px, 8vh, 90px); }
.ehero__title { font-size: clamp(2.8rem, 6.2vw, 6.6rem); max-width: 10.5em; }
.ehero__title em { color: var(--b4); }
.ehero__lead { margin: 26px 0 0; max-width: 30em; color: rgba(238,243,244,.82); }
@media (min-width: 901px) { .ehero__chips { left: 42%; } }
@media (max-width: 900px) {
  .ehero { min-height: 100svh; }
  .ehero__chips { top: 72px; bottom: 50%; left: 16px; right: 16px; }
  .echip { font-size: 9.5px; padding: 5px 9px 5px 8px; left: min(var(--x), calc(100% - 128px)); }
  .ehero__shade { background: linear-gradient(0deg, rgba(5,8,10,.97) 0%, rgba(5,8,10,.88) 45%, rgba(5,8,10,.35) 70%, rgba(5,8,10,.55) 100%); }
}

/* ---------- use cases: today → what changes ---------- */
.ucs { position: relative; padding: clamp(96px, 12vw, 160px) 0 clamp(70px, 9vw, 120px); }
.ucs .display { font-size: clamp(2.4rem, 5vw, 5.2rem); }
.ucs .display em { color: var(--b1); }
.uc-list { list-style: none; margin: clamp(40px, 6vw, 80px) 0 0; padding: 0; }
.uc { display: grid; grid-template-columns: minmax(0, 3.2fr) minmax(0, 4fr) minmax(40px, 1.2fr) minmax(0, 4.4fr); gap: 24px; align-items: start;
  padding: 30px 0; border-top: 1px solid var(--line-l2); scroll-margin-top: 110px; }
.uc:last-child { border-bottom: 1px solid var(--line-l2); }
.uc__who { display: flex; gap: 14px; align-items: baseline; font-size: clamp(1.3rem, 2vw, 1.9rem); line-height: 1.1; letter-spacing: -0.03em; font-weight: 540; }
.uc__n { font-family: var(--mono); font-size: 11px; letter-spacing: .12em; color: var(--b1); font-weight: 500; }
.uc__k { display: block; font-family: var(--mono); font-size: 10.5px; letter-spacing: .12em; text-transform: uppercase; margin-bottom: 8px; color: var(--mute-l); }
.uc__today p { color: var(--mute-l); font-size: 16.5px; margin: 0; }
.uc__then .uc__k { color: var(--b1); }
.uc__then p { font-size: clamp(1.05rem, 1.35vw, 1.25rem); line-height: 1.45; letter-spacing: -0.01em; color: var(--text-l); margin: 0; }
.uc__then .pill { margin-left: 6px; height: 22px; font-size: 9.5px; vertical-align: 2px; }
.uc__line { position: relative; height: 1px; margin-top: 34px; background: var(--line-l2); }
.uc__line i { position: absolute; inset: 0; background: var(--b1); transform-origin: 0 50%; }
.uc__line::after { content: ""; position: absolute; right: -4px; top: -4px; width: 9px; height: 9px; border-radius: 50%; background: var(--b1); }
@media (max-width: 900px) {
  .uc { grid-template-columns: 1fr; gap: 14px; }
  .uc__line { display: none; }
}

/* ---------- typical customers ---------- */
.custs { position: relative; padding: 0 0 clamp(100px, 12vw, 170px); }
.custs__head { padding-top: clamp(40px, 6vw, 80px); border-top: 1px solid var(--line-l2); }
.custs .display { font-size: clamp(2.4rem, 5vw, 5.2rem); max-width: 12em; }
.custs .display em { color: var(--b1); }
.cust-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(14px, 2vw, 26px); margin-top: clamp(40px, 5vw, 70px); }
.cust { display: flex; flex-direction: column; background: #f8f6f1; border: 1px solid var(--line-l); border-radius: var(--radius); overflow: hidden;
  box-shadow: 0 30px 60px -44px rgba(17,23,26,.5); transition: transform .5s var(--ease), box-shadow .5s var(--ease); }
.cust:hover { transform: translateY(-4px); box-shadow: 0 40px 70px -40px rgba(17,23,26,.55); }
.cust__ph { position: relative; margin: 0; aspect-ratio: 4 / 3; overflow: hidden; background: var(--ink-3); }
.cust__ph img { width: 100%; height: 100%; object-fit: cover; filter: saturate(.85) contrast(1.03); transition: transform 1.2s var(--ease); }
.cust:hover .cust__ph img { transform: scale(1.05); }
.cust__ph::after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg, rgba(5,8,10,.55), rgba(5,8,10,0) 45%); pointer-events: none; }
.cust__sector { position: absolute; z-index: 2; top: 12px; left: 12px; font-family: var(--mono); font-size: 10px; letter-spacing: .12em; text-transform: uppercase;
  padding: 5px 9px; border-radius: 4px; background: rgba(248,246,241,.92); color: var(--text-l); }
/* the tag shows the vendor mix first; once the card is in view it turns into "One AI" */
.cust__tag { position: absolute; z-index: 2; left: 12px; bottom: 12px; display: grid; font-family: var(--mono); font-size: 10.5px; letter-spacing: .1em; text-transform: uppercase; }
.cust__tag > span { grid-area: 1 / 1; display: inline-flex; align-items: center; gap: 8px; padding: 6px 11px; border-radius: 99px; white-space: nowrap;
  justify-self: start; transition: opacity .6s var(--ease), transform .6s var(--ease); }
.cust__tag > span::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: currentColor; }
.cust__was { background: rgba(8,12,14,.7); color: #eef3f4; border: 1px solid rgba(238,243,244,.3); }
.cust__now { background: var(--b4); color: var(--ink); font-weight: 600; opacity: 0; transform: translateY(8px) scale(.9); box-shadow: 0 0 0 4px rgba(175,205,219,.25); }
.cust__now::before { background: var(--b1) !important; }
.cust.is-ai .cust__was { opacity: 0; transform: translateY(-8px); }
.cust.is-ai .cust__now { opacity: 1; transform: none; }
.cust__body { display: flex; flex-direction: column; gap: 14px; padding: 20px 20px 22px; flex: 1; }
.cust__body h3 { font-size: clamp(1.25rem, 1.7vw, 1.55rem); letter-spacing: -0.03em; line-height: 1.1; font-weight: 540; }
.cust__body dl { margin: 0; display: grid; gap: 12px; }
.cust__body dt { font-family: var(--mono); font-size: 10px; letter-spacing: .12em; text-transform: uppercase; color: var(--mute-l); margin-bottom: 4px; }
.cust__body dd { margin: 0; font-size: 15px; line-height: 1.45; color: var(--text-l); }
.cust__body div:last-child dt { color: var(--b1); }
.cust__who { align-self: flex-start; margin-top: auto; font-family: var(--mono); font-size: 10px; letter-spacing: .1em; text-transform: uppercase; color: var(--b1);
  border: 1px solid rgba(48,77,91,.35); padding: 4px 9px; border-radius: 99px; }
@media (max-width: 1100px) { .cust-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 640px) { .cust-grid { grid-template-columns: 1fr; } }

/* ---------- status band ---------- */
.estatus { background: var(--ink); color: var(--text-d); padding: 26px 0; border-top: 1px solid var(--line-d); }
.estatus__row { display: flex; flex-wrap: wrap; align-items: center; gap: 14px 28px; }
.estatus__k { font-family: var(--mono); font-size: 11px; letter-spacing: .12em; text-transform: uppercase; color: var(--mute-d); margin-right: 8px; }
.estatus__i { display: inline-flex; align-items: center; gap: 10px; font-size: 14.5px; color: var(--text-d); }
.estatus .pill { height: 22px; font-size: 9.5px; }
.estatus .pill--vision { color: var(--b4); }
.estatus .pill--no { color: #c9b891; }
.estatus .pill--test { color: var(--signal); }
