/* Public site theme aligned with the customer portal design system. */
:root {
  --ink: #f7f8fa;
  --ink-2: #e2e5eb;
  --green: #006fee;
  --green-2: #087cf5;
  --lime: #006fee;
  --paper: #272934;
  --white: #f7f8fa;
  --muted: #aeb4c2;
  --line: #3a3d49;
  --ui-control-height: 42px;
  --ui-control-radius: 16px;
  --ui-control-bg: #18191d;
  --ui-control-hover: #202126;
  --ui-control-shadow: 0 1px 2px rgba(0,0,0,.22);
}

body, button, input, select, textarea { font-family: "Space Grotesk", Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }
body { color: var(--ink); background: var(--paper); font-weight: 400; }
h1, h2, h3, strong, b { font-family: inherit; }
.icon-sprite { position: absolute; width: 0; height: 0; overflow: hidden; }
.ui-icon { width: 17px; height: 17px; flex: 0 0 auto; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.button .ui-icon { width: 16px; height: 16px; transition: transform .2s ease; }
.button:hover .ui-icon, .icon-link:hover .ui-icon { transform: translateX(3px); }
.text-link { display: inline-flex; align-items: center; gap: 8px; }
.text-link .ui-icon { width: 15px; height: 15px; transition: transform .2s ease; }
.text-link:hover .ui-icon { transform: translateY(3px); }
.icon-link { display: inline-flex; align-items: center; gap: 7px; }
.site-header.scrolled { border-color: rgba(255,255,255,.1); background: rgba(31,33,41,.82); box-shadow: 0 12px 35px rgba(0,0,0,.18); backdrop-filter: blur(18px); -webkit-backdrop-filter: blur(18px); }
.brand-mark { color: #fff; background: #006fee; box-shadow: 0 10px 28px rgba(0,111,238,.22); }
.site-nav > a:not(.button):hover { color: #69adff; }
.button { min-width: 96px; height: var(--ui-control-height); min-height: var(--ui-control-height); gap: 8px; border: 0; border-radius: var(--ui-control-radius); padding: 0 18px; background: #006fee; box-shadow: var(--ui-control-shadow); font-size: 15px; font-weight: 600; line-height: 1.2; transition: transform .12s ease,background-color .16s ease,box-shadow .16s ease; }
.button:hover:not(:disabled) { transform: none; background: #087cf5; box-shadow: var(--ui-control-shadow); }
.button:active:not(:disabled) { transform: translateY(1px); }
.button:focus-visible { outline: 0; box-shadow: 0 0 0 3px rgba(0,111,238,.3),var(--ui-control-shadow); }
.button:disabled { color: rgba(255,255,255,.42); background: #4b4e59; box-shadow: none; cursor: not-allowed; transform: none; }
.button-small { min-width: 0; height: 42px; min-height: 42px; padding-inline: 18px; font-size: 13px; }
.button-outline { border-color: rgba(255,255,255,.17); background: rgba(255,255,255,.045); box-shadow: none; backdrop-filter: blur(14px); }
.button-outline:hover { background: rgba(255,255,255,.09); }

.site-header.card-nav-container { position: fixed; z-index: 100; inset: 24px auto auto 50%; width: min(calc(100% - 48px),920px); height: auto; transform: translateX(-50%); background: transparent; border: 0; box-shadow: none; backdrop-filter: none; }
.site-header.card-nav-container.scrolled { height: auto; background: transparent; border: 0; box-shadow: none; backdrop-filter: none; }
.card-nav { position: relative; width: 100%; max-height: 60px; overflow: hidden; border: 1px solid rgba(255,255,255,.11); border-radius: 16px; color: #fff; background: rgba(31,33,41,.94); box-shadow: 0 18px 50px rgba(0,0,0,.26),inset 0 1px 0 rgba(255,255,255,.05); backdrop-filter: blur(20px); -webkit-backdrop-filter: blur(20px); transition: max-height .42s cubic-bezier(.22,1,.36,1),box-shadow .25s ease; }
.card-nav.open { max-height: 268px; box-shadow: 0 28px 75px rgba(0,0,0,.4),inset 0 1px 0 rgba(255,255,255,.06); }
.card-nav-top { position: relative; z-index: 2; height: 59px; display: flex; align-items: center; justify-content: space-between; padding: 8px 8px 8px 18px; }
.card-nav-brand { position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%); font-size: 17px; }
.card-nav-brand .brand-mark { width: 34px; height: 34px; }
.hamburger-menu { position: relative; width: 42px; height: 42px; display: grid; place-content: center; gap: 5px; border: 1px solid rgba(255,255,255,.08); border-radius: 13px; padding: 0; color: #fff; background: rgba(255,255,255,.035); box-shadow: inset 0 1px 0 rgba(255,255,255,.035); cursor: pointer; transition: border-color .2s ease,background-color .2s ease,box-shadow .2s ease; }
.hamburger-menu span { display: block; width: 20px; height: 1.75px; border-radius: 99px; background: currentColor; transform-origin: center; transition: width .22s ease,transform .28s cubic-bezier(.22,1,.36,1),opacity .18s ease; }
.hamburger-menu span:nth-child(2) { width: 14px; justify-self: end; }
.hamburger-menu:hover { border-color: rgba(255,255,255,.16); background: rgba(255,255,255,.075); }
.hamburger-menu:focus-visible { outline: 0; border-color: transparent; box-shadow: 0 0 0 3px rgba(0,111,238,.3),inset 0 1px 0 rgba(255,255,255,.05); }
.hamburger-menu.open { border-color: rgba(105,173,255,.24); color: #d7e9ff; background: rgba(0,111,238,.12); }
.hamburger-menu.open span:first-child { transform: translateY(6.75px) rotate(45deg); }
.hamburger-menu.open span:nth-child(2) { width: 0; opacity: 0; transform: scaleX(0); }
.hamburger-menu.open span:last-child { transform: translateY(-6.75px) rotate(-45deg); }
.card-nav-cta { height: 43px; min-height: 43px; }
.card-nav-content { height: 207px; display: grid; grid-template-columns:repeat(3,1fr); gap: 10px; padding: 8px; visibility: hidden; pointer-events: none; }
.card-nav.open .card-nav-content { visibility: visible; pointer-events: auto; }
.nav-card { min-width: 0; display: flex; flex-direction: column; padding: 16px 17px; border: 1px solid rgba(255,255,255,.07); border-radius: 12px; opacity: 0; transform: translateY(34px); transition: opacity .32s ease,transform .38s cubic-bezier(.22,1,.36,1); }
.card-nav.open .nav-card { opacity: 1; transform: none; }
.card-nav.open .nav-card:nth-child(1) { transition-delay: .08s; }
.card-nav.open .nav-card:nth-child(2) { transition-delay: .14s; }
.card-nav.open .nav-card:nth-child(3) { transition-delay: .20s; }
.nav-card-primary { background: #172f52; }
.nav-card-secondary { background: #292c36; }
.nav-card-tertiary { background: #202735; }
.nav-card-label { font-size: 21px; font-weight: 500; letter-spacing: -.035em; }
.nav-card-links { margin-top: auto; display: grid; gap: 4px; }
.nav-card-links a { width: max-content; max-width: 100%; display: inline-flex; align-items: center; gap: 7px; color: #d9deea; font-size: 13px; font-weight: 500; transition: color .2s,opacity .2s; }
.nav-card-links a:hover { color: #fff; }
.nav-card-links .ui-icon { width: 14px; height: 14px; opacity: .65; transition: transform .2s,opacity .2s; }
.nav-card-links a:hover .ui-icon { opacity: 1; transform: translate(2px,-2px); }

.hero { background: radial-gradient(circle at 78% 13%, rgba(0,111,238,.18), transparent 32%); }
.hero-grid { background-image: linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px), linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px); }
.hero-glow { background: radial-gradient(circle,rgba(0,111,238,.2),transparent 67%); }
.availability { border-color: rgba(105,173,255,.28); color: #8fc2ff; background: rgba(31,33,41,.64); box-shadow: inset 0 1px 0 rgba(255,255,255,.06); backdrop-filter: blur(14px); }
.availability span { background: #006fee; box-shadow: 0 0 0 5px rgba(0,111,238,.18); }
h1 em, .cta h2 em { color: #69adff; font-family: inherit; font-weight: 790; }
.hero-proof span::before { background: #006fee; box-shadow: 0 0 0 3px rgba(0,111,238,.14); }

.api-window, .code-demo { border-color: #3a3d49; color: #e2e5eb; background: #18191f; box-shadow: 0 32px 80px rgba(0,0,0,.34); }
.api-window { transform: rotate(.5deg); }
.window-dots i { background: #555966; }
.response-ok, .endpoint-url button b { color: #69adff; }
.token-key { color: #8fc2ff; }
.token-string { color: #d7e9ff; }
.token-punc { color: #858b99; }
.window-foot i { background: #006fee; }

.signal-strip { border-color: #3a3d49; background: #1f2129; }
.signal-grid div { border-color: #3a3d49; }
.signal-grid strong { color: #fff; }
.section { background: #272934; }
.eyebrow { color: #69adff; }
.feature, .capability-grid { border-color: #3a3d49; background: #1f2129; box-shadow: 0 12px 34px rgba(0,0,0,.14); }
.feature-dark { border-color: #23558f; background: linear-gradient(145deg,#172f52,#1f2129); }
.feature-dark p { color: #b8bdc9; }
.feature-icon { color: #8fc2ff; background: #172f52; }
.hierarchy-visual span { border-color: rgba(143,194,255,.23); color: #d7e9ff; background: rgba(0,111,238,.08); }
.hierarchy-visual b { background: linear-gradient(90deg,#006fee,transparent); }
.capability-grid article { border-color: #3a3d49; }
.capability-grid article > span { color: #69adff; }

.integration { background: #23252e; }
.integration .eyebrow, .integration-copy li span { color: #69adff; }
.integration-copy > p { color: #aeb4c2; }
.integration-copy li { border-color: #3a3d49; }
.code-demo { background: #1f2129; }
.endpoint-tabs { border-color: #3a3d49; }
.endpoint-tabs button { color: #858b99; }
.endpoint-tabs button.active { border-color: #006fee; color: #fff; }
.endpoint-url { border-color: #3a3d49; color: #aeb4c2; background: #18191f; }
.endpoint-url button { width: 32px; height: 32px; display: grid; place-items: center; border-radius: 8px; transition: color .2s, background .2s; }
.endpoint-url button:hover { color: #fff; background: rgba(255,255,255,.07); }
.endpoint-url button .ui-icon { width: 16px; height: 16px; }

.playground { background: #272934; }
.playground-panel { border-color: #3a3d49; background: #1f2129; box-shadow: 0 24px 70px rgba(0,0,0,.22); }
.request-builder { border-color: #3a3d49; }
.method-pill { color: #fff; background: #006fee; }
.request-builder select, .autocomplete input { height: var(--ui-control-height); min-height: var(--ui-control-height); border: 1px solid transparent; border-radius: var(--ui-control-radius); padding: 0 42px 0 14px; color: #f7f8fa; background: var(--ui-control-bg); box-shadow: var(--ui-control-shadow); color-scheme: dark; font-size: 13px; transition: border-color .15s,box-shadow .15s,background-color .15s; }
.autocomplete input:hover { background: var(--ui-control-hover); }
.autocomplete::after { content: none; }
.autocomplete > .search-icon { position: absolute; top: 13px; right: 15px; z-index: 1; color: #a1a1aa; pointer-events: none; }
.request-builder select:focus, .autocomplete input:focus { border-color: #006fee; box-shadow: 0 0 0 3px rgba(0,111,238,.16); }
.request-preview { border-color: #3a3d49; background: #18191f; }
.request-preview span { color: #858b99; }
.request-preview code { color: #69adff; }
.response-console { color: #e2e5eb; background: #18191f; }
.console-head, .console-foot { border-color: #3a3d49; color: #858b99; }
.console-head i.success { background: #006fee; }
.console-foot a { color: #69adff; }
.autocomplete-results { border-color: #3a3d49; background: #27272a; box-shadow: 0 22px 50px rgba(0,0,0,.38); }
.autocomplete-option { border-color: #3a3d49; color: #f7f8fa; background: #27272a; }
.autocomplete-option:hover, .autocomplete-option.active { background: #172f52; }
.autocomplete-option em { color: #69adff; }

.ui-select { position: relative; z-index: 1; width: 100%; }
.ui-select.open { z-index: 1000; }
.ui-select-trigger { width: 100%; height: var(--ui-control-height); display: flex; align-items: center; justify-content: space-between; gap: 12px; border: 1px solid transparent; border-radius: var(--ui-control-radius); padding: 0 14px; color: #fff; background: var(--ui-control-bg); box-shadow: var(--ui-control-shadow); text-align: left; font-size: 13px; font-weight: 600; transition: background-color .15s,border-color .15s,box-shadow .15s; }
.ui-select-trigger > span { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ui-select-trigger > b { position: relative; width: 16px; height: 16px; flex: 0 0 auto; transition: transform .15s; }
.ui-select-trigger > b::before { content: ""; position: absolute; top: 2px; left: 4px; width: 7px; height: 7px; border-right: 1.5px solid #a1a1aa; border-bottom: 1.5px solid #a1a1aa; transform: rotate(45deg); }
.ui-select.open .ui-select-trigger > b { transform: rotate(180deg); }
.ui-select-trigger:hover,.ui-select-trigger:focus-visible { outline: none; background: var(--ui-control-hover); }
.ui-select.open .ui-select-trigger { background: var(--ui-control-hover); box-shadow: 0 0 0 2px #006fee,var(--ui-control-shadow); }
.ui-select-menu { position: absolute; z-index: 1000; top: calc(100% + 8px); right: 0; left: 0; max-height: min(320px,46vh); overflow-y: auto; overscroll-behavior: contain; border: 0; border-radius: var(--ui-control-radius); padding: 8px; color: #fff; background: #27272a; box-shadow: 0 18px 48px rgba(0,0,0,.48); transform-origin: top center; animation: select-menu-in .15s ease-out; }
.ui-select-option { position: relative; width: 100%; min-height: 40px; display: flex; align-items: center; border: 0; border-radius: 10px; padding: 0 38px 0 16px; color: #fff; background: transparent; text-align: left; font-size: 13px; font-weight: 600; }
.ui-select-option:hover,.ui-select-option:focus-visible { color: #fff; background: rgba(255,255,255,.08); outline: none; }
.ui-select-option[aria-selected="true"] { background: rgba(255,255,255,.1); }
.ui-select-option[aria-selected="true"]::after { content: ""; position: absolute; top: 50%; right: 14px; width: 8px; height: 4px; border-left: 2px solid #fff; border-bottom: 2px solid #fff; transform: translateY(-70%) rotate(-45deg); }
@keyframes select-menu-in { from { opacity: 0; transform: translateY(-4px) scale(.98); } to { opacity: 1; transform: none; } }

.trust { background: #23252e; }
.trust-list > div { border-color: #3a3d49; }
.trust-list strong { color: #69adff; }
.trust-list b { color: #fff; }
.cta { background: #272934; }
.cta-inner { border: 1px solid #23558f; background: linear-gradient(135deg,#172f52,#1f2129 72%); box-shadow: 0 24px 70px rgba(0,0,0,.22); }
.cta-inner::after { border-color: rgba(105,173,255,.24); box-shadow: 0 0 0 70px rgba(0,111,238,.06), 0 0 0 140px rgba(0,111,238,.035); }
.cta .eyebrow, .cta h2 em { color: #8fc2ff; }
.cta p { color: #b8bdc9; }
.button-light { border-color: #006fee; color: #fff; background: #006fee; }
.button-light:hover { background: #087cf5; }
.site-footer { color: #9299a8; background: #1f2129; }
.footer-grid strong, .brand-light { color: #fff; }

@media (max-width: 900px) {
  .site-header.card-nav-container { inset: 14px auto auto 50%; width: min(calc(100% - 28px),680px); }
  .card-nav.open { max-height: 590px; }
  .card-nav-top { padding-inline: 12px; }
  .card-nav-brand { position: static; order: -1; transform: none; }
  .card-nav-cta { display: none; }
  .hamburger-menu { margin-left: auto; }
  .card-nav-content { height: auto; grid-template-columns: 1fr; gap: 8px; }
  .nav-card { min-height: 144px; }
  .capability-grid article:nth-child(-n+2) { border-color: #3a3d49; }
}
