/* =====================================================================
   Intelligent Handshake · Interface kit · 01 Bloom
   One stylesheet for the developer center and product surfaces, so they
   match the website. Every class starts with ih-, every token with --ih-,
   so it can sit beside any docs framework without collisions.
   Fonts: Newsreader (display), Inter (text), IBM Plex Mono (labels, code, figures).
   ===================================================================== */
:root{
  /* color */
  --ih-sapphire:#0F52BA; --ih-sapphire-deep:#0B3A7E; --ih-midnight:#0E1726;
  --ih-turquoise:#1FB3AC; --ih-turquoise-text:#0E8E8A; --ih-tint:#D4F1EC; --ih-tint-2:#BFE3E0;
  --ih-ground:#F5F7F6; --ih-wash:#EAF0F1; --ih-panel:#FFFFFF; --ih-ink:#0E1726; --ih-ink-soft:#6E7781;
  --ih-rule:#DDE3E6; --ih-risk:#B3364A;
  /* the six states */
  --ih-s-H:#0B3A7E; --ih-s-M:#0F52BA; --ih-s-L:#0E8E8A; --ih-s-N:#1FB3AC; --ih-s-R:#8E4B57; --ih-s-U:#9AA3AE;
  /* type */
  --ih-display:"Newsreader","Iowan Old Style",Georgia,serif;
  --ih-text:"Inter","Helvetica Neue",Arial,sans-serif;
  --ih-mono:"IBM Plex Mono",ui-monospace,Consolas,monospace;
  /* shape and space */
  --ih-radius-sm:4px; --ih-radius:8px; --ih-radius-lg:12px;
  --ih-space-1:.25rem; --ih-space-2:.5rem; --ih-space-3:.75rem; --ih-space-4:1rem; --ih-space-5:1.5rem; --ih-space-6:2rem; --ih-space-7:3rem;
  --ih-card-shadow:0 1px 1px rgba(10,20,40,.06),0 2px 4px rgba(10,20,40,.06),0 10px 18px -10px rgba(10,20,40,.28);
}

/* type */
.ih-h1{font-family:var(--ih-display);font-weight:400;font-size:2.6rem;line-height:1.08;letter-spacing:-.01em;color:var(--ih-ink);margin:0 0 .6rem}
.ih-h2{font-family:var(--ih-display);font-weight:400;font-size:1.8rem;line-height:1.15;color:var(--ih-ink);margin:2rem 0 .6rem}
.ih-h3{font-family:var(--ih-text);font-weight:600;font-size:1.1rem;color:var(--ih-ink);margin:1.4rem 0 .4rem}
.ih-body{font-family:var(--ih-text);font-size:1rem;line-height:1.6;color:var(--ih-ink)}
.ih-eyebrow{font-family:var(--ih-mono);font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ih-turquoise-text)}
.ih-pn b{font-weight:600}                       /* product names: Intelligent <b>Call</b> */

/* top bar: light and blue */
.ih-topbar{display:flex;align-items:center;gap:1.4rem;padding:.7rem 1.2rem;background:#fff;border-bottom:1px solid var(--ih-rule);font-family:var(--ih-text);font-size:.92rem}
.ih-topbar .ih-brand{display:flex;align-items:center;gap:.6rem;font-family:var(--ih-display);font-size:1.15rem;color:var(--ih-ink);text-decoration:none;margin-right:auto}
.ih-topbar .ih-brand img{width:2.2rem;height:2.2rem}
.ih-topbar a{color:var(--ih-ink);text-decoration:none}
.ih-topbar a[aria-current]{color:var(--ih-sapphire);font-weight:500}
.ih-topbar.blue{background:var(--ih-sapphire);border-bottom-color:transparent}
.ih-topbar.blue a,.ih-topbar.blue .ih-brand{color:#fff}
.ih-topbar.blue a[aria-current]{text-decoration:underline;text-decoration-color:var(--ih-turquoise);text-underline-offset:.35em;text-decoration-thickness:2px}
.ih-topbar.blue .ih-btn.primary{background:var(--ih-turquoise);border-color:var(--ih-turquoise);color:var(--ih-midnight)}

/* side navigation */
.ih-sidenav{font-family:var(--ih-text);font-size:.9rem;width:15rem}
.ih-sidenav h4{font-family:var(--ih-mono);font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ih-ink-soft);font-weight:500;margin:1.2rem 0 .4rem}
.ih-sidenav a{display:block;padding:.38rem .7rem;border-left:2px solid transparent;color:var(--ih-ink);text-decoration:none;border-radius:0 var(--ih-radius-sm) var(--ih-radius-sm) 0}
.ih-sidenav a:hover{background:var(--ih-wash)}
.ih-sidenav a[aria-current]{border-left-color:var(--ih-sapphire);background:var(--ih-tint);color:var(--ih-sapphire-deep);font-weight:500}

/* buttons and tags */
.ih-btn{display:inline-flex;align-items:center;gap:.4rem;font-family:var(--ih-text);font-size:.92rem;font-weight:500;padding:.6rem 1.1rem;border-radius:var(--ih-radius-sm);border:1px solid var(--ih-sapphire-deep);color:var(--ih-sapphire-deep);background:transparent;text-decoration:none;cursor:pointer}
.ih-btn:hover{background:var(--ih-sapphire-deep);color:#fff}
.ih-btn.primary{background:var(--ih-sapphire);border-color:var(--ih-sapphire);color:#fff}
.ih-btn.primary:hover{background:var(--ih-sapphire-deep)}
.ih-btn.quiet{border-color:transparent}
.ih-btn.quiet::after{content:"→"}
.ih-tag{display:inline-block;font-family:var(--ih-mono);font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;padding:.18rem .5rem;border-radius:3px;background:var(--ih-tint);color:var(--ih-turquoise-text)}
.ih-method{display:inline-block;font-family:var(--ih-mono);font-size:.72rem;font-weight:600;padding:.18rem .5rem;border-radius:3px;color:#fff;background:var(--ih-sapphire)}
.ih-method.post{background:var(--ih-turquoise-text)}
.ih-method.delete{background:var(--ih-risk)}

/* cards */
.ih-card{background:var(--ih-panel);border:1px solid var(--ih-rule);border-radius:var(--ih-radius);padding:1.4rem 1.3rem;font-family:var(--ih-text);color:var(--ih-ink);text-decoration:none;display:block}
a.ih-card:hover{border-color:var(--ih-sapphire)}
.ih-card .ih-ico{display:inline-flex;width:44px;height:44px;align-items:center;justify-content:center;border-radius:var(--ih-radius);background:var(--ih-tint);color:var(--ih-sapphire);margin-bottom:.9rem}
.ih-card h3{font-family:var(--ih-display);font-weight:400;font-size:1.35rem;margin:0 0 .35rem}
.ih-card p{margin:0;color:var(--ih-ink-soft);font-size:.92rem}
.ih-card.feature{background:var(--ih-sapphire);border-color:var(--ih-sapphire);color:#fff}
.ih-card.feature p{color:rgba(255,255,255,.82)}
.ih-card.feature .ih-ico{background:var(--ih-turquoise);color:var(--ih-midnight)}

/* callouts */
.ih-callout{border-left:3px solid var(--ih-sapphire);background:var(--ih-wash);padding:.9rem 1.1rem;border-radius:0 var(--ih-radius) var(--ih-radius) 0;font-family:var(--ih-text);font-size:.94rem}
.ih-callout b{display:block;font-family:var(--ih-mono);font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;margin-bottom:.25rem;color:var(--ih-sapphire)}
.ih-callout.tip{border-left-color:var(--ih-turquoise);background:var(--ih-tint)}
.ih-callout.tip b{color:var(--ih-turquoise-text)}
.ih-callout.warn{border-left-color:var(--ih-risk);background:#F8ECEE}
.ih-callout.warn b{color:var(--ih-risk)}

/* code */
.ih-code{background:var(--ih-midnight);color:#E6EDF3;font-family:var(--ih-mono);font-size:.84rem;line-height:1.6;padding:1.1rem 1.2rem;border-radius:var(--ih-radius);overflow:auto}
.ih-code .k{color:#7FD8D3}.ih-code .s{color:#A9C7F5}.ih-code .c{color:#7C8794}.ih-code .n{color:#F2C38B}
.ih-inline{font-family:var(--ih-mono);font-size:.88em;background:var(--ih-wash);border:1px solid var(--ih-rule);border-radius:3px;padding:.05rem .35rem}

/* tables */
.ih-table{width:100%;border-collapse:collapse;font-family:var(--ih-text);font-size:.9rem}
.ih-table th{text-align:left;font-family:var(--ih-mono);font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ih-ink-soft);font-weight:500;border-bottom:1px solid var(--ih-ink);padding:.5rem .6rem}
.ih-table td{border-bottom:1px solid var(--ih-rule);padding:.55rem .6rem;vertical-align:top}
.ih-table td:first-child{font-family:var(--ih-mono);font-size:.84rem;color:var(--ih-sapphire-deep)}

/* the IH Score */
.ih-score{display:inline-flex;align-items:center;justify-content:center;width:2.6rem;height:2.6rem;background:#fff;border:1px solid rgba(10,20,40,.06);border-radius:3px;box-shadow:var(--ih-card-shadow);font-family:var(--ih-mono);font-weight:500;font-size:1.25rem}
.ih-score.H{color:var(--ih-s-H)}.ih-score.M{color:var(--ih-s-M)}.ih-score.L{color:var(--ih-s-L)}.ih-score.N{color:var(--ih-s-N)}.ih-score.R{color:var(--ih-s-R)}.ih-score.U{color:var(--ih-s-U)}

/* page layout for docs: side nav, content, on this page */
.ih-docs{display:grid;grid-template-columns:15rem minmax(0,46rem) 12rem;gap:2.5rem;align-items:start}
@media (max-width:1100px){.ih-docs{grid-template-columns:13rem minmax(0,1fr)}.ih-docs > :last-child{display:none}}
@media (max-width:760px){.ih-docs{grid-template-columns:1fr}.ih-sidenav{width:auto}}
