/* In-house AI solution page. Builds on /extensions/offerings.css. */

/* ---------- the scene: your environment, the blocked exit, outside ---------- */
.iha-scene{display:grid;grid-template-columns:minmax(0,1fr) 78px minmax(170px,.32fr);align-items:center;padding:clamp(28px,4vw,48px) clamp(18px,3vw,40px) 0}
.iha-room{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 150px minmax(0,1fr);grid-template-rows:auto auto;align-items:center;gap:16px 0;border:3px solid #16243a;border-radius:16px;padding:42px clamp(16px,2.4vw,28px) 28px;background:#fff;box-shadow:0 22px 50px #2f6bff18}
.iha-room-label{position:absolute;top:-14px;left:22px;border-radius:999px;padding:5px 11px;background:#16243a;color:#fff;font-size:14px;font-weight:700;letter-spacing:.045em;line-height:1.2;text-transform:uppercase}
.iha-team{grid-column:1;grid-row:1}
.iha-docs{grid-column:1;grid-row:2}
.iha-team strong{font-size:16px}
.iha-model{position:relative;grid-column:2;grid-row:1/3;display:grid;justify-items:center;align-self:center}
.iha-model b{position:relative;z-index:2;display:grid;place-items:center;width:84px;height:84px;border-radius:14px;background:#2f6bff;color:#fff;font-size:28px;font-weight:700;letter-spacing:-.02em;box-shadow:0 16px 36px #2f6bff40;animation:iha-breathe 4s ease-in-out infinite}
.iha-model small{margin-top:10px;color:#16243a;font-size:14px;font-weight:700}
.iha-line{position:absolute;top:42px;height:2px;background:#9ab8ec}
.iha-line-in{left:0;right:50%}
.iha-line-out{left:50%;right:0}
.iha-line:after{position:absolute;top:-4px;width:10px;height:10px;border-radius:50%;background:#2f6bff;box-shadow:0 0 0 5px #2f6bff22;content:""}
.iha-line-in:after{animation:iha-in 4s ease-in-out infinite}
.iha-line-out:after{animation:iha-out 4s ease-in-out infinite}
.iha-answer{grid-column:3;grid-row:1/3;align-self:center;border-color:#79a0eb;box-shadow:0 16px 38px #2f6bff22}
.iha-answer strong{font-size:16px}
.iha-exit{position:relative;display:flex;height:84px;align-items:center;justify-content:center}
.iha-exit i{position:absolute;left:0;right:30px;border-top:2px dashed #b8c8e4}
.iha-exit b{position:absolute;right:24px;width:7px;height:56px;border-radius:3px;background:#e65245;box-shadow:0 0 0 6px #e6524518}
.iha-outside{min-width:0;opacity:.72}
.iha-public{position:relative;overflow:hidden;border-style:dashed;background:#f6f8fc;box-shadow:none}
.iha-public>*{position:relative;z-index:1}
.iha-public:after{position:absolute;z-index:0;inset:-20%;background:linear-gradient(to top right,transparent calc(50% - 1px),#e65245 calc(50% - 1px),#e65245 calc(50% + 1px),transparent calc(50% + 1px));content:"";opacity:.35}
.iha-key{margin-top:clamp(28px,4vw,46px);margin-inline:calc(clamp(18px,3vw,40px) * -1)}

@keyframes iha-breathe{0%,100%{transform:scale(1)}50%{transform:scale(1.04)}}
@keyframes iha-in{0%,8%{left:4%;opacity:0}20%{opacity:1}46%,100%{left:calc(100% - 52px);opacity:0}}
@keyframes iha-out{0%,48%{left:40px;opacity:0}60%{opacity:1}90%,100%{left:calc(100% - 14px);opacity:0}}

/* ---------- where the AI can run ---------- */
.iha-where{display:grid;gap:clamp(24px,4vw,40px);margin-block:clamp(58px,9vw,116px)}
.iha-where .extension-demo-copy{max-width:760px}
.iha-where h2,.iha-uses h2,.iha-proof h2{margin-bottom:16px;font-size:clamp(30px,4vw,52px);letter-spacing:-.035em;line-height:1.08}
.iha-where .extension-demo-copy p:not(.extension-kicker),.iha-uses-head>p:not(.extension-kicker){color:var(--muted,#5d626c);font-size:16px;line-height:1.75}
.iha-where-grid{margin-block:0}
.iha-where-grid h3{margin-bottom:12px;font-size:clamp(22px,2.4vw,28px);letter-spacing:-.02em;line-height:1.15}
.iha-where-grid>div{display:flex;flex-direction:column}
.iha-where-line{margin-top:auto!important;border-top:1px solid #d1ddec;padding-top:14px;color:#174fcb!important;font-size:14px!important;font-weight:700;line-height:1.5!important}

/* ---------- controls ---------- */
.iha-controls{margin-block:clamp(58px,9vw,116px)}
.iha-controls .org-details details p{margin:0 0 18px;padding-right:42px}

/* ---------- where teams start ---------- */
.iha-uses,.iha-proof{margin-block:clamp(58px,9vw,116px)}
.iha-uses-head{max-width:760px;margin-bottom:clamp(22px,3vw,32px)}
.iha-uses-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.iha-uses-grid>div{border:1px solid #d1ddec;border-radius:12px;padding:22px;background:#fff}
.iha-uses-grid span{display:grid;place-items:center;width:36px;height:36px;margin-bottom:16px;border:1px solid #bdceea;border-radius:8px;background:#edf3ff;color:#2456b7;font-size:14px;font-weight:700}
.iha-uses-grid h3{margin-bottom:10px;font-size:19px;letter-spacing:-.01em;line-height:1.3}
.iha-uses-grid p{margin:0;color:var(--muted,#5d626c);font-size:15px;line-height:1.65}
.iha-uses-note{margin-top:18px;color:#424f65;font-size:15px;line-height:1.65}

/* ---------- proof ---------- */
.iha-proof-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.iha-proof-grid>div{display:flex;flex-direction:column;border-top:3px solid #2f6bff;border-radius:2px 2px 12px 12px;padding:24px 22px;background:#f8faff;box-shadow:inset 0 0 0 1px #d1ddec}
.iha-proof-big{margin:0 0 14px;color:#111827;font-size:clamp(44px,5vw,64px);font-weight:700;letter-spacing:-.05em;line-height:.95}
.iha-proof-big small{display:block;margin-bottom:6px;color:var(--muted,#5d626c);font-size:15px;font-weight:500;letter-spacing:0}
.iha-proof-name{margin:0 0 14px;color:#111827;font-size:clamp(28px,3vw,36px);font-weight:700;letter-spacing:-.03em;line-height:1.1}
.iha-proof-grid p:not([class]){margin:0 0 18px;color:#2b3443;font-size:16px;line-height:1.65}
.iha-proof-grid a{margin-top:auto;color:#2456b7;font-size:14px;line-height:1.5;text-decoration:underline;text-underline-offset:4px}

/* ---------- limits ---------- */
.iha-boundary p strong{color:#fff}
.iha-boundary .extension-kicker{color:#9bb9ff}

/* ---------- responsive ---------- */
@media(max-width:1080px){
  .iha-scene{grid-template-columns:minmax(0,1fr);padding-bottom:0}
  .iha-exit{height:58px}
  .iha-exit i{left:50%;right:auto;top:6px;bottom:22px;border-top:0;border-left:2px dashed #b8c8e4}
  .iha-exit b{top:auto;bottom:10px;right:auto;left:calc(50% - 28px);width:56px;height:7px}
  .iha-outside{max-width:340px;margin:0 auto;text-align:center}
  .iha-uses-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:800px){
  .iha-where-grid,.iha-proof-grid{grid-template-columns:1fr}
}
@media(max-width:650px){
  .iha-room{grid-template-columns:1fr;grid-template-rows:none;gap:0;padding:36px 16px 18px}
  .iha-team,.iha-docs,.iha-model,.iha-answer{grid-column:1;grid-row:auto}
  .iha-docs{margin-top:10px}
  .iha-model{padding:26px 0}
  .iha-model small{margin-top:8px}
  .iha-line{left:50%!important;right:auto!important;width:2px;height:26px}
  .iha-line-in{top:0}
  .iha-line-out{top:auto;bottom:0}
  .iha-line:after{display:none}
  .iha-scene{padding:24px 16px 0}
  .iha-key{margin-inline:-16px}
  .iha-uses-grid{grid-template-columns:1fr}
  .iha-controls .org-details details p{padding-right:0}
}
@media(prefers-reduced-motion:reduce){.iha-model b,.iha-line:after{animation:none!important}}

/* ---------- win over the general .page-body p / h2 / h3 rules ---------- */
.page-body [class*="iha-"] p.extension-kicker,.page-body .extension-cta p.extension-kicker,.page-body .iha-story p.extension-prebuild{color:#245fe8;font-size:14px;line-height:1.35;margin-bottom:9px}
.page-body .iha-boundary p.extension-kicker{color:#9bb9ff}
.page-body .iha-where h2,.page-body .iha-uses h2,.page-body .iha-proof h2,.page-body .iha-story h2{margin:8px 0 16px;font-size:clamp(30px,3.6vw,46px);line-height:1.08}
.page-body .iha-controls h2,.page-body .iha-boundary h2{margin:8px 0 16px;font-size:clamp(28px,2.8vw,38px);line-height:1.1}
.page-body .iha-where-grid h3,.page-body .iha-uses-grid h3{margin-top:0}
.page-body .iha-where-grid p{font-size:15px;line-height:1.7}
.page-body .iha-uses-grid p{font-size:15px;line-height:1.65;margin-bottom:0}
.page-body .iha-proof-grid p.iha-proof-big{margin:0 0 14px;color:#111827;font-size:clamp(44px,5vw,60px);font-weight:700;letter-spacing:-.05em;line-height:.95}
.page-body .iha-proof-grid p.iha-proof-name{margin:0 0 14px;color:#111827;font-size:clamp(26px,2.6vw,32px);font-weight:700;letter-spacing:-.03em;line-height:1.1}
.page-body .iha-proof-grid p:not([class]){font-size:16px;line-height:1.65;color:#2b3443}
.page-body .iha-uses-note{font-size:15px}
.page-body .iha-boundary p:not(.extension-kicker){color:#c7d0df;font-size:16px}
@media(max-width:650px){.page-body .iha-story h2,.page-body .iha-where h2,.page-body .iha-uses h2,.page-body .iha-proof h2{font-size:31px}.page-body .iha-controls h2,.page-body .iha-boundary h2{font-size:28px}}
