/* ══════════════════════════════════════════════════════════════════════════
   /ai/ — the AI Operating Layer. Loads after aireq-section.css and
   aireq-features.css (for the portal pieces: .aq-app, .aq-mini, .aq-st).
   ══════════════════════════════════════════════════════════════════════════ */

/* ── HERO ────────────────────────────────────────────────────────────────── */
.ail-hero{position:relative;overflow:hidden;background:var(--black);color:#fff;
  padding:calc(var(--aq-hdr) + var(--aq-bar) + 80px) 0 96px}
.ail-hero::before{content:"";position:absolute;left:50%;top:-6%;width:120%;height:90%;transform:translateX(-50%);
  pointer-events:none;background:radial-gradient(46% 52% at 50% 64%,rgba(0,166,47,.30) 0%,rgba(0,166,47,.08) 48%,rgba(0,166,47,0) 72%)}
.ail-hero::after{content:"";position:absolute;inset:0;pointer-events:none;
  background-image:radial-gradient(rgba(63,209,95,.12) 1px,transparent 1px);background-size:22px 22px;
  -webkit-mask-image:radial-gradient(60% 60% at 50% 70%,#000 0%,transparent 75%);
          mask-image:radial-gradient(60% 60% at 50% 70%,#000 0%,transparent 75%)}
.ail-hero>.cr-wrap{position:relative;z-index:2}
.ail-hero__txt{max-width:860px;margin:0 auto;text-align:center}
.ail-hero .cr-pill{background:transparent;border-color:rgba(63,209,95,.35);color:var(--g2);margin-bottom:24px}
.ail-hero .cr-t{font-size:64px;color:#fff}
.ail-hero .cr-t em{color:var(--g2)}
.ail-hero__lead{margin:24px auto 0;max-width:640px;font-size:18px;line-height:28px;letter-spacing:-.015em;color:rgba(255,255,255,.74)}
.ail-hero .cr-btns{justify-content:center;margin-top:32px}

/* the map: what arrives (left), the record (middle), what goes out (right) */
.ail-map{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr) minmax(0,1fr);gap:28px;align-items:center;
  margin:72px auto 0;max-width:1180px}
.ail-map__col{display:flex;flex-direction:column;gap:14px;min-width:0}
.ail-src{margin:0;display:flex;flex-direction:column;align-items:center;gap:10px}
.ail-src__doc{width:100%;max-width:280px;transform:rotate(-1.5deg)}
.ail-map__col--in .ail-src:nth-of-type(2) .ail-src__doc{transform:rotate(1.2deg)}
.ail-src figcaption{text-align:center}
.ail-src figcaption b{display:block;font-size:13px;font-weight:600;color:#fff}
.ail-src figcaption span{display:block;font-size:12px;color:rgba(255,255,255,.55)}
.ail-arrow{position:relative;display:flex;align-items:center;justify-content:flex-end;height:22px;margin:0 -14px 0 0}
.ail-arrow::before{content:"";position:absolute;left:30%;right:0;top:50%;height:1.5px;
  background:linear-gradient(90deg,rgba(63,209,95,0),rgba(63,209,95,.9))}
.ail-arrow::after{content:"";position:absolute;right:-1px;top:50%;width:7px;height:7px;margin-top:-3.5px;
  border-top:1.5px solid var(--g2);border-right:1.5px solid var(--g2);transform:rotate(45deg)}
.ail-arrow i{position:relative;z-index:1;margin-right:16px;padding:3px 10px;border-radius:99px;background:#0d1a10;
  border:1px solid rgba(63,209,95,.4);font:500 11.5px/1.2 var(--sans);font-style:normal;color:var(--g2);white-space:nowrap}
.ail-arrow--out{justify-content:flex-start;margin:0 0 0 -14px}
.ail-arrow--out::before{left:0;right:30%;background:linear-gradient(90deg,rgba(63,209,95,.9),rgba(63,209,95,0))}
.ail-arrow--out::after{right:30%}
.ail-arrow--out i{margin:0 0 0 18px}

/* the requisition thumbnail reuses .aq-mini; give it room on dark */
.ail-src .aq-mini{box-shadow:0 20px 40px -20px rgba(0,0,0,.8)}

/* the payer policy */
.ail-policy{background:#FDFDFB;color:#222;padding:12px 14px 14px;box-shadow:0 20px 40px -20px rgba(0,0,0,.8);
  font-family:Georgia,"Times New Roman",serif}
.ail-policy__h{display:flex;justify-content:space-between;align-items:baseline;border-bottom:1px solid #222;padding-bottom:5px}
.ail-policy__h span{font-size:10.5px}
.ail-policy__h b{font:700 6.5px/1 var(--sans);letter-spacing:.1em;color:#555}
.ail-policy__t{margin-top:8px;font:600 11px/1.3 var(--sans)}
.ail-policy__s{font:400 7.5px/1.3 var(--sans);color:#777;margin-bottom:6px}
.ail-policy p{margin:0 0 6px;font-size:8.5px;line-height:1.5}
.ail-policy mark{background:rgba(63,209,95,.28);color:inherit;padding:0 1px}
.ail-policy i{display:block;height:3px;border-radius:2px;background:#E3E3DE;margin-top:5px}
.ail-policy i.s{width:60%}

/* the patient report */
.ail-report{background:#fff;color:#111;padding:12px 14px 14px;border-radius:6px;box-shadow:0 20px 40px -20px rgba(0,0,0,.8)}
.ail-report__h{display:flex;justify-content:space-between;gap:8px;padding-bottom:6px;border-bottom:2px solid #1C9323}
.ail-report__h b{font-size:9.5px;font-weight:700}
.ail-report__h span{font-size:8.5px;color:#777}
.ail-report__name{margin:8px 0 6px;font-family:var(--serif);font-size:16px}
.ail-report__v{display:flex;align-items:baseline;gap:8px;padding:6px 8px;border-radius:6px;background:#FEF6E7}
.ail-report__v span{flex:1;font-size:10px;font-weight:600}
.ail-report__v b{font-size:15px;font-weight:600}
.ail-report__v small{font-size:8.5px;color:#777}
.ail-spark{display:block;width:100%;height:30px;margin:6px 0 2px}
.ail-spark polyline{fill:none;stroke:#C9971C;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.ail-spark circle{fill:#C9971C}
.ail-report p{margin:2px 0 0;font-size:10px;line-height:1.45;color:#333}

/* the record */
.ail-rec{background:#fff;color:#111;border-radius:14px;overflow:hidden;
  box-shadow:0 0 0 1px rgba(63,209,95,.35),0 30px 60px -24px rgba(0,166,47,.45),0 0 80px rgba(0,166,47,.18)}
.ail-rec__bar{display:flex;align-items:baseline;gap:8px;padding:10px 14px;background:#0F1A12;color:#fff}
.ail-rec__bar b{font-size:12px;font-weight:600}
.ail-rec__bar span{font-size:11px;color:rgba(255,255,255,.55)}
.ail-rec__id{padding:12px 14px 10px;border-bottom:1px solid #EDEFED}
.ail-rec__id .aq-mono{display:block;font-size:10.5px;color:#777}
.ail-rec__id b{display:block;margin-top:2px;font-size:15px;font-weight:600;letter-spacing:-.01em}
.ail-rec__id span:last-child{display:block;font-size:11px;color:#666;margin-top:1px}
.ail-rec__row{display:grid;grid-template-columns:96px minmax(0,1fr) auto;gap:10px;align-items:center;padding:9px 14px;border-top:1px solid #F1F3F1}
.ail-rec__row span{font-size:10.5px;color:#777}
.ail-rec__row b{font-size:12px;font-weight:600;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ail-by{font:500 9.5px/1.3 var(--sans);font-style:normal;padding:2px 7px;border-radius:99px;white-space:nowrap}
.ail-by--aireq{background:#E4F6E8;color:#137019}
.ail-by--rg{background:#FCE9E7;color:#A63325}
.ail-by--sr{background:#FEF3DE;color:#8C6410}
.ail-rec__foot{padding:9px 14px 11px;background:#FAFBFA;border-top:1px solid #EDEFED;font-size:10.5px;color:#666}

@media (max-width:1100px){.ail-map{gap:18px}.ail-arrow i{font-size:10.5px}}
@media (max-width:991px){
  .ail-hero{padding:calc(var(--aq-hdr) + var(--aq-bar) + 48px) 0 64px}
  .ail-hero .cr-t{font-size:40px}
  .ail-hero__lead{font-size:16px;line-height:24px}
  .ail-map{grid-template-columns:1fr;max-width:420px;margin-top:48px;gap:14px}
  .ail-map__col{gap:12px}
  .ail-arrow,.ail-arrow--out{justify-content:center;margin:0;height:34px}
  .ail-arrow::before,.ail-arrow--out::before{left:50%;right:auto;top:0;bottom:0;width:1.5px;height:auto;
    background:linear-gradient(180deg,rgba(63,209,95,0),rgba(63,209,95,.9))}
  .ail-arrow::after,.ail-arrow--out::after{left:50%;right:auto;top:auto;bottom:0;margin:0 0 0 -3.5px;transform:rotate(135deg)}
  .ail-arrow i,.ail-arrow--out i{margin:0}
  .ail-map__col--in .ail-arrow:last-child{margin-bottom:4px}
}

/* ── WHAT THE LAYER IS ───────────────────────────────────────────────────── */
.ail-three{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.ail-p{display:flex;flex-direction:column;padding:26px;border:1px solid var(--line2);border-radius:var(--r-lg);background:#fff;
  text-decoration:none;color:inherit;box-shadow:var(--sh-flat);transition:transform .3s var(--ease),box-shadow .3s var(--ease),border-color .3s var(--ease)}
.ail-p:hover{transform:translateY(-4px);border-color:rgba(0,168,45,.3);box-shadow:var(--sh-lift)}
.ail-p__k{font-family:var(--serif);font-size:28px;letter-spacing:-.02em;color:var(--ink)}
.ail-p dl{margin:16px 0 20px}
.ail-p dt{font-size:12px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--g);margin-top:12px}
.ail-p dd{margin:3px 0 0;font-size:15px;line-height:1.5;color:var(--muted)}
.ail-p__go{margin-top:auto;display:inline-flex;align-items:center;gap:7px;font-size:14px;font-weight:500;color:var(--g)}
.ail-p__go svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round;
  transition:transform .3s var(--ease)}
.ail-p:hover .ail-p__go svg{transform:translateX(4px)}
@media (max-width:991px){.ail-three{grid-template-columns:1fr}}

/* ── FOLLOW ONE ORDER ────────────────────────────────────────────────────── */
.ail-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;position:relative}
.ail-step{display:flex;flex-direction:column;gap:14px;padding:24px;border:1px solid var(--line2);border-radius:var(--r-lg);background:#fff;min-width:0}
.ail-step__t{display:flex;align-items:center;gap:10px}
.ail-step__t .aq-mono{font-size:12px;padding:3px 9px;border:1px solid var(--gline);border-radius:99px;color:var(--g)}
.ail-step__t i{font-style:normal;font-size:12px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--faint)}
.ail-step h3{margin:0;font-family:var(--serif);font-weight:400;font-size:24px;line-height:1.15;letter-spacing:-.02em;color:var(--ink)}
.ail-step__art{flex:1;display:flex;align-items:center;justify-content:center;min-height:268px;padding:18px;border-radius:var(--r-md);
  background:var(--panel)}
.ail-step__art.cr-mesh,.ail-step__art{background-image:radial-gradient(rgba(63,209,95,.07) 1px,transparent 1px);background-size:22px 22px}
.ail-step .cr-link{margin-top:2px}

.ail-mini-app{max-width:320px}
.ail-kv{display:grid;grid-template-columns:84px minmax(0,1fr);gap:8px;padding:6px 12px;border-top:1px solid #F1F3F1}
.ail-kv span{font:400 9.5px/1.3 var(--mono);color:#666}
.ail-kv b{font-size:11px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ail-mini-app__ft{display:flex;align-items:center;gap:8px;padding:9px 12px;border-top:1px solid #EDEFED;background:#FAFBFA;font-size:10px;color:#666}

.ail-find{width:100%;max-width:320px;background:#fff;border:1px solid #E4E7E4;border-radius:12px;padding:12px 12px 14px;
  box-shadow:0 24px 44px -28px rgba(15,23,42,.35)}
.ail-find__h{display:flex;align-items:center;gap:8px}
.ail-find__h b{font-size:12.5px;font-weight:600}
.ail-find__sub{margin-top:3px;font-size:9.5px;color:#777}
.ail-find__g{display:flex;align-items:center;gap:6px;margin:12px 0 6px;font-size:10px;color:#777}
.ail-sev{font-style:normal;padding:2px 7px;border-radius:99px;background:#FCE9E7;color:#A63325;font-size:9.5px;font-weight:600}
.ail-find__card{padding:10px 11px;border:1px solid #EDEFED;border-left:3px solid #C0392B;border-radius:8px}
.ail-find__card b{display:block;font-size:11.5px;font-weight:600}
.ail-find__card p{margin:4px 0 0;font-size:10px;line-height:1.45;color:#555}
.ail-find__fix i{font-style:normal;font-weight:700;font-size:8.5px;color:var(--g);margin-right:6px;letter-spacing:.06em}

.ail-res{width:100%;max-width:320px;background:#fff;border:1px solid #E4E7E4;border-radius:12px;overflow:hidden;
  box-shadow:0 24px 44px -28px rgba(15,23,42,.35)}
.ail-res__h{display:flex;justify-content:space-between;align-items:baseline;gap:8px;padding:11px 12px;border-bottom:1px solid #EDEFED}
.ail-res__h b{font-size:11.5px;font-weight:600}
.ail-res__h span{font-size:9.5px;color:#777;white-space:nowrap}
.ail-res__r{display:grid;grid-template-columns:minmax(0,1.5fr) 44px 44px 58px;gap:6px;align-items:center;padding:7px 12px;
  border-top:1px solid #F1F3F1;font-size:10.5px}
.ail-res__r--h{border-top:0;background:#FAFBFA;font-size:9px;font-weight:600;color:#777}
.ail-res__r>span:nth-child(3){color:#999}
.ail-res__r--hi{background:#FFFBF1}
.ail-res__trend{display:flex;align-items:center;gap:10px;padding:8px 12px 10px;border-top:1px solid #F1F3F1}
.ail-res__trend .ail-spark{width:96px;height:24px;margin:0;flex:none}
.ail-res__trend .aq-mono{font-size:10px;color:#8C6410}
@media (max-width:991px){.ail-steps{grid-template-columns:1fr}.ail-step__art{min-height:0}}

/* ── AT A GLANCE ─────────────────────────────────────────────────────────── */
.ail-tb{border:1px solid var(--line2);border-radius:var(--r-lg);overflow:hidden;background:#fff}
.ail-tb__r{display:grid;grid-template-columns:150px minmax(0,1.2fr) minmax(0,1.4fr) minmax(0,.8fr) 140px;gap:20px;align-items:center;
  padding:18px 24px;border-top:1px solid var(--line2)}
.ail-tb__r:first-child{border-top:0}
.ail-tb__r--h{padding:12px 24px;background:#FAFBFA;font-size:12px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--faint)}
.ail-tb__r b{font-family:var(--serif);font-weight:400;font-size:22px;letter-spacing:-.02em;color:var(--ink)}
.ail-tb__r>span{font-size:15px;line-height:1.45;color:var(--muted);min-width:0}
@media (max-width:991px){
  .ail-tb__r--h{display:none}
  .ail-tb__r{grid-template-columns:1fr;gap:6px;padding:18px 20px}
  .ail-tb__r>span:nth-child(2)::before{content:"Reads · ";font-weight:600;color:var(--ink)}
  .ail-tb__r>span:nth-child(3)::before{content:"Works with · ";font-weight:600;color:var(--ink)}
  .ail-tb__r>span:nth-child(4)::before{content:"Price · ";font-weight:600;color:var(--ink)}
}

/* ── TRUST ───────────────────────────────────────────────────────────────── */
.ail-trust .cr-head{margin-bottom:48px}
.ail-trust__g{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;max-width:1080px;margin:0 auto}
.ail-trust__g>div{padding:24px;border:1px solid rgba(255,255,255,.1);border-radius:var(--r-lg);background:rgba(255,255,255,.03)}
.ail-trust__g b{display:block;font-size:17px;font-weight:600;color:#fff;letter-spacing:-.01em}
.ail-trust__g p{margin:8px 0 0;font-size:14.5px;line-height:1.55;color:rgba(255,255,255,.66)}
.ail-trust__go{display:flex;justify-content:center;gap:28px;flex-wrap:wrap;margin:32px 0 0}
@media (max-width:991px){.ail-trust__g{grid-template-columns:1fr}}

/* ── map as a grid (v2): each source beside the arrow that carries it in ──── */
.ail-map{grid-template-columns:minmax(0,.85fr) 116px minmax(0,1.3fr) 116px minmax(0,.85fr);grid-template-rows:auto auto;
  grid-template-areas:"req a1 rec a3 out" "pol a2 rec a3 out";gap:26px 14px}
.ail-m-req{grid-area:req}.ail-m-pol{grid-area:pol}.ail-m-rec{grid-area:rec;align-self:center}
.ail-m-a1{grid-area:a1}.ail-m-a2{grid-area:a2}.ail-m-a3{grid-area:a3}.ail-m-out{grid-area:out;align-self:center}
.ail-map .ail-arrow{align-self:center;justify-content:center;margin:0;height:24px}
.ail-map .ail-arrow::before{left:0;right:2px;background:linear-gradient(90deg,rgba(63,209,95,.15),rgba(63,209,95,.9))}
.ail-map .ail-arrow::after{right:0}
.ail-map .ail-arrow i{margin:0}
.ail-m-req .ail-src__doc{transform:rotate(-1.6deg)}
.ail-m-pol .ail-src__doc{transform:rotate(1.2deg)}
.ail-spark circle{fill:#C9971C;stroke:#fff;stroke-width:1}
@media (max-width:1100px){.ail-map{grid-template-columns:minmax(0,.85fr) 100px minmax(0,1.3fr) 100px minmax(0,.85fr)}.ail-map .ail-arrow i{font-size:10px;padding:3px 7px}}
@media (max-width:991px){
  .ail-map{grid-template-columns:1fr;grid-template-rows:none;grid-template-areas:"req" "a1" "pol" "a2" "rec" "a3" "out";gap:12px}
  .ail-map .ail-arrow{height:40px}
  .ail-map .ail-arrow::before{left:50%;right:auto;top:0;bottom:0;width:1.5px;height:auto;
    background:linear-gradient(180deg,rgba(63,209,95,.15),rgba(63,209,95,.9))}
  .ail-map .ail-arrow::after{left:50%;right:auto;top:auto;bottom:0;margin:0 0 0 -3.5px;transform:rotate(135deg)}
}
/* phones: both sources side by side, each arrow pointing down into the record */
@media (max-width:991px){
  .ail-map{grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-areas:"req pol" "a1 a2" "rec rec" "a3 a3" "out out";
    gap:10px 14px;max-width:480px}
  .ail-m-out{max-width:300px;justify-self:center;width:100%}
}
@media (max-width:575px){
  .ail-m-req .ail-src__doc,.ail-m-pol .ail-src__doc{zoom:.62}
  .ail-src figcaption b{font-size:12px}
  .ail-src figcaption span{font-size:11px}
  .ail-map .ail-arrow i{font-size:10px;padding:2px 7px}
}
/* Phone pass, 6 Oct: record values wrap and the "drafted by" tag drops under them, so nothing is cut off */
@media (max-width:575px){
  .ail-rec__row{grid-template-columns:84px minmax(0,1fr);row-gap:4px}
  .ail-rec__row b{white-space:normal}
  .ail-rec__row .ail-by{grid-column:2;justify-self:start}
}
@media (max-width:575px){.ail-kv b{white-space:normal}}
