/* mcp.pixalate.com: styles matched to developer.pixalate.com (api-portal-sails layout.less / bootstrap-overrides.less, measured 2026-09-09).
   Outfit 300/400/600; body 1.75 line height, black on white; h1 3.157rem, h2 2.369rem, h3 1.777rem at weight 400; link #144CFF; pill buttons. */
:root { --link:#144CFF; --dark:#212529; --muted:#939498; --muted2:#7C7C7C; --light:#F8F9FA; --line:#DEE2E6; --ink:#000; --card-shadow:0 .5rem 1rem rgba(0,0,0,.08);
  --live:#1B8A4A; --beta:#144CFF; --planned:#6C757D; }
* { box-sizing:border-box; }
html { font-size:16px; }
body { margin:0; background:#fff; font-family:Outfit,-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif; font-weight:400; line-height:1.75; color:var(--ink); -webkit-font-smoothing:antialiased; }
a { color:var(--link); text-decoration:none; } a:hover { text-decoration:underline; }
h1,h2,h3,h4,h5 { margin:0; font-family:Outfit,sans-serif; font-weight:400; line-height:1.25; }
h1 { font-size:3.157rem; } h2 { font-size:2.369rem; } h3 { font-size:1.777rem; } h4 { font-size:1.333rem; } h5 { font-size:1rem; }
p { margin:0 0 1rem; }
.sub-title { color:var(--muted); font-weight:300; }
.container { max-width:1140px; margin:0 auto; padding:0 12px; }
section { padding:54px 0; }
section.bg-light { background:var(--light); }
.text-center { text-align:center; }
.muted { color:var(--muted2); }
code { font-family:Consolas,Monaco,"Andale Mono","Ubuntu Mono",monospace; font-size:.9em; color:var(--link); font-weight:500; }

/* Buttons: pill, per portal (.btn radius 900px, padding .375rem 1.75rem) */
.btn { display:inline-block; font-family:Outfit,sans-serif; font-size:1rem; font-weight:400; line-height:1.5; padding:.5rem 1.75rem; border-radius:900px; border:1px solid var(--link); background:var(--link); color:#fff; text-decoration:none; text-align:center; white-space:nowrap; }
.btn:hover { background:#0f3fd6; border-color:#0f3fd6; text-decoration:none; }
.btn.dark { background:var(--dark); border-color:var(--dark); } .btn.dark:hover { background:#000; }
.btn.outline { background:#fff; color:var(--link); } .btn.outline:hover { background:#F2F5FF; }
.btn.sm { font-size:.9rem; padding:.35rem 1.25rem; }
.btn.on-blue { background:#fff; color:var(--link); border-color:#fff; }
.ctas { display:flex; flex-wrap:wrap; gap:12px; align-items:center; }

/* Navbar: white, bottom border, ~70px, brand left, links centre */
.navbar { background:#fff; border-bottom:1px solid var(--line); }
.navbar .container { display:flex; align-items:center; min-height:70px; gap:24px; }
.brand { display:flex; align-items:center; gap:12px; color:var(--ink); font-size:1.15rem; font-weight:600; text-decoration:none; }
.brand .mark { width:34px; height:34px; border-radius:8px; background:var(--link); color:#fff; font-weight:700; font-size:.95rem; display:flex; align-items:center; justify-content:center; letter-spacing:-.02em; }
.brand:hover { text-decoration:none; }
.nav { display:flex; gap:32px; margin:0 auto; padding:0; list-style:none; }
.nav a { color:var(--ink); font-size:1rem; } .nav a.active { color:var(--link); }
.nav-toggle { display:none; background:none; border:0; font-size:1.6rem; cursor:pointer; margin-left:auto; }
.navbar .right { margin-left:auto; }

/* Hero */
.hero { padding:54px 0; }
.hero .grid { display:grid; grid-template-columns:1.2fr 1fr; gap:48px; align-items:center; }
.hero h1 { font-size:2.8rem; margin:0 0 .75rem; }
.hero .sub-title { font-size:1.6rem; margin:0 0 1.5rem; }
.eyebrow { display:inline-flex; align-items:center; gap:10px; font-size:.9rem; font-weight:600; letter-spacing:.06em; text-transform:uppercase; color:var(--muted2); margin:0 0 14px; }

/* Status markers */
.status { display:inline-block; font-size:.78rem; font-weight:600; letter-spacing:.05em; text-transform:uppercase; padding:3px 12px; border-radius:900px; color:#fff; line-height:1.5; }
.status.live { background:var(--live); } .status.beta { background:var(--beta); } .status.planned { background:var(--planned); }
.legend { display:flex; flex-wrap:wrap; gap:26px; justify-content:center; font-size:.95rem; color:var(--muted2); }
.legend span { display:inline-flex; align-items:center; gap:8px; }

/* Cards (portal: white card, soft shadow, rounded) */
.cards { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.card { background:#fff; border:1px solid var(--line); border-radius:12px; padding:26px 26px 24px; box-shadow:var(--card-shadow); display:flex; flex-direction:column; min-width:0; overflow-wrap:anywhere; }
.card h3 { font-size:1.333rem; margin:0 0 .5rem; }
.card h4 { font-size:1.15rem; margin:0 0 .5rem; }
.card p { font-size:1rem; margin:0; color:#333; }
.card .top { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:8px 12px; margin:0 0 12px; }
.card .top .ph { flex-basis:100%; width:max-content; margin-left:0; }
.card .foot { margin-top:auto; padding-top:18px; }
.card .ico { width:40px; height:40px; border-radius:10px; background:var(--link); color:#fff; display:flex; align-items:center; justify-content:center; font-size:1.1rem; font-weight:700; margin:0 0 16px; }
.card .meta { font-size:.9rem; color:var(--muted2); margin:8px 0 0; }
.cat-card { text-decoration:none; color:inherit; } .cat-card:hover { text-decoration:none; border-color:#B9C5F5; }

/* At-a-glance panel */
.panel { background:#fff; border:1px solid var(--line); border-radius:12px; box-shadow:var(--card-shadow); padding:22px 24px; }
.panel .pl { font-size:.95rem; font-weight:600; margin:0 0 8px; }
.panel .row { display:flex; justify-content:space-between; gap:16px; font-size:.92rem; line-height:1.45; padding:9px 0; border-top:1px solid #EEE; }
.panel .row:first-of-type { border-top:0; }
.panel .row b { font-weight:600; white-space:nowrap; } .panel .row span { color:#444; text-align:right; }

/* Question list, prompts, callouts, strips (carried from the landing pages) */
.lead { font-size:1.2rem; color:var(--muted); font-weight:300; text-align:center; max-width:800px; margin:0 auto 40px; }
h2.sec { text-align:center; margin:0 0 16px; }
.qs { list-style:none; margin:0 0 40px; padding:0; display:grid; grid-template-columns:1fr 1fr; gap:14px 24px; }
.qs li { position:relative; padding:14px 18px 14px 50px; background:#fff; border:1px solid var(--line); border-radius:10px; font-size:1.02rem; line-height:1.45; }
.qs li::before { content:"?"; position:absolute; left:16px; top:13px; width:24px; height:24px; border-radius:50%; background:var(--link); color:#fff; font-size:.9rem; font-weight:700; text-align:center; line-height:24px; }
.prompts { list-style:none; margin:0; padding:0; display:grid; gap:12px; }
.prompts li { display:flex; gap:16px; align-items:flex-start; background:#fff; border:1px solid var(--line); border-radius:10px; padding:16px 20px; }
.prompts .n { flex:0 0 34px; height:34px; border-radius:8px; background:var(--link); color:#fff; font-weight:700; display:flex; align-items:center; justify-content:center; }
.prompts .t { padding-top:3px; }
.callout { max-width:820px; margin:0 auto; text-align:center; font-size:1.45rem; line-height:1.45; font-weight:300; }
.callout strong { font-weight:500; color:var(--link); }
.strip { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; margin-top:36px; }
.strip .cell { background:#fff; border:1px solid var(--line); border-radius:12px; padding:22px; }
.strip .cell h3 { font-size:1.1rem; font-weight:600; margin:0 0 6px; } .strip .cell p { margin:0; font-size:.98rem; }
.signin { margin:36px auto 0; max-width:820px; background:#fff; border-left:4px solid var(--link); border:1px solid var(--line); border-left-width:4px; border-radius:0 12px 12px 0; padding:18px 22px; font-size:1rem; }
.code { background:var(--dark); color:#F8F8F2; font-family:Consolas,Monaco,"Andale Mono","Ubuntu Mono",monospace; font-size:.85rem; line-height:1.6; padding:16px 18px; border-radius:8px; overflow-x:auto; white-space:pre; margin:12px 0 16px; }
.code .k { color:#9ecbff; } .code .s { color:#ffd479; }
.install { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.card .logo { display:flex; align-items:center; gap:10px; margin:0 0 12px; }
.card .logo .mark { width:36px; height:36px; border-radius:8px; background:#F1F3F7; border:1px dashed #B9C0CC; color:#6B7280; font-size:9px; font-weight:700; display:flex; align-items:center; justify-content:center; text-align:center; line-height:1.1; }
.card .logo b { font-size:1.15rem; font-weight:600; }
.install .card p { flex:1 1 auto; margin:0 0 16px; }
.pricing { max-width:820px; margin:0 auto; background:#fff; border:2px dashed #B9C0CC; border-radius:12px; padding:28px 32px; text-align:center; }
.pricing .tier { font-size:1.8rem; margin:0 0 6px; } .pricing p { margin:0; }
.band { background:var(--link); color:#fff; text-align:center; padding:54px 0; }
.band h2 { color:#fff; margin:0 0 10px; } .band p { color:rgba(255,255,255,.85); max-width:700px; margin:0 auto 24px; }
.note { border-top:1px solid var(--line); padding:22px 0 30px; text-align:center; font-size:.95rem; color:#555; }
.placeholder-block { background:#FFFBEA; border:2px dashed #E6B94A; border-radius:12px; padding:28px 32px; color:#6B5300; text-align:center; }
.table { width:100%; border-collapse:collapse; font-size:.98rem; }
.table th, .table td { text-align:left; padding:12px 14px; border-bottom:1px solid var(--line); vertical-align:top; }
.table th { font-weight:600; background:var(--light); }
.fig { aspect-ratio:5/3; border-radius:12px; background:#F4F6FA; border:1px dashed #B9C0CC; display:flex; align-items:center; justify-content:center; color:#6B7280; font-size:.9rem; font-weight:600; text-align:center; padding:20px; }

/* PLACEHOLDER badge (review builds only; remove with its subject before publish) */
.ph { display:inline-block; white-space:normal; max-width:100%; vertical-align:middle; font-size:.68rem; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:#7A4B00; background:#FFE8A3; border:1px solid #E6B94A; border-radius:4px; padding:2px 7px; margin-left:8px; line-height:1.4; }
.ph.block { display:block; width:max-content; margin:0 auto 12px; }

/* Footer: portal bg-dark, white text, link columns, legal row */
footer { background:var(--dark); color:#fff; padding:48px 0 32px; font-size:.95rem; }
footer a { color:#fff; } footer .cols { display:grid; grid-template-columns:repeat(4,1fr); gap:24px; margin:0 0 36px; }
footer b { display:block; letter-spacing:.06em; margin:0 0 8px; font-weight:600; }
footer ul { list-style:none; margin:0; padding:0; } footer li { margin:0 0 4px; }
footer .legal { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:16px; border-top:1px solid rgba(255,255,255,.15); padding-top:22px; color:rgba(255,255,255,.8); }
footer .legal a { margin-right:18px; }

@media (max-width:1100px) { .cards, .install, .strip { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:900px) {
  .hero .grid, .cards, .install, .strip, .qs, footer .cols { grid-template-columns:1fr; }
  .hero h1 { font-size:2.2rem; } h1 { font-size:2.4rem; } h2 { font-size:1.9rem; }
  .nav { display:none; flex-direction:column; gap:12px; position:absolute; left:0; right:0; top:70px; background:#fff; border-bottom:1px solid var(--line); padding:16px 24px; }
  .nav.open { display:flex; } .nav-toggle { display:block; } .navbar .right { display:none; } .navbar { position:relative; }
}

/* Works-with row (home) and client cards (install) */
.works { display:flex; flex-wrap:wrap; align-items:center; gap:10px; justify-content:center; padding:6px 0; }
.works .wl { font-size:.9rem; font-weight:600; letter-spacing:.06em; text-transform:uppercase; color:var(--muted2); margin-right:6px; }
.chip { display:inline-block; font-size:.92rem; font-weight:500; color:var(--ink); background:#fff; border:1px solid var(--line); border-radius:900px; padding:5px 14px; text-decoration:none; }
.chip:hover { border-color:var(--link); color:var(--link); text-decoration:none; } .chip.more { color:var(--link); }
.clients { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; align-items:start; }
.card.client .how { flex:1 1 auto; font-size:.98rem; margin:0 0 12px; }
.card.client details { margin:0 0 12px; } .card.client summary { cursor:pointer; color:var(--link); font-size:.92rem; }
.card.client .code { margin:10px 0 0; white-space:pre-wrap; word-break:break-all; font-size:.78rem; }
.card.client .doclink { margin:0; font-size:.92rem; }
@media (max-width:1100px) { .clients { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:900px) { .clients { grid-template-columns:1fr; } }

/* Hero with ambient reel loop (home). Dark loop, so text is white. */
.hero.hero-video { position:relative; overflow:hidden; background:#0B1230; color:#fff; padding:96px 0; }
.hero-video .hero-bg { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:0; }
.hero-video > .container { position:relative; z-index:1; }
.hero-video .grid { grid-template-columns:1fr; max-width:760px; }
.hero-video h1, .hero-video p { color:#fff; } .hero-video .sub-title { color:rgba(255,255,255,.78); }
.btn.on-dark { background:#fff; color:var(--link); border-color:#fff; } .btn.on-dark:hover { background:#F2F5FF; }
.btn.ghost-dark { background:transparent; color:#fff; border-color:rgba(255,255,255,.6); cursor:pointer; } .btn.ghost-dark:hover { border-color:#fff; background:rgba(255,255,255,.08); }
.hero-reel { border:0; padding:0; width:min(90vw,1280px); background:#000; border-radius:16px; }
.hero-reel video { width:100%; display:block; } .hero-reel::backdrop { background:rgba(0,0,0,.7); }

/* Legibility over the loop: dark scrim strongest behind the text column. Reduced motion: no video, static dark ground. */
.hero-video .hero-scrim { position:absolute; inset:0; z-index:0; background:linear-gradient(90deg, rgba(6,10,32,.82) 0%, rgba(6,10,32,.62) 55%, rgba(6,10,32,.25) 100%); pointer-events:none; }
.hero-video .hero-bg { z-index:-1; }
.hero-video { isolation:isolate; }
@media (prefers-reduced-motion: reduce) { .hero-video .hero-bg { display:none; } .hero-video { background:#0B1230 radial-gradient(ellipse at 70% 40%, rgba(20,76,255,.35), transparent 60%); } }

/* Support & FAQ: open Q&A, grouped, with a sticky section index. Answers are visible; nothing is hidden behind a click. */
.faq-layout { display:grid; grid-template-columns:220px minmax(0,1fr); gap:48px; align-items:start; }
.faq-toc { position:sticky; top:24px; }
.faq-toc .wl { font-size:.8rem; font-weight:600; letter-spacing:.08em; text-transform:uppercase; color:var(--muted2); margin:0 0 10px; }
.faq-toc ul { list-style:none; margin:0; padding:0; } .faq-toc li { margin:0 0 8px; } .faq-toc a { color:var(--ink); font-size:1rem; } .faq-toc a:hover { color:var(--link); text-decoration:none; }
.faq-main { max-width:760px; }
.faq-group { padding:0 0 20px; margin:0 0 28px; }
.faq-group h2 { font-size:1.6rem; padding:0 0 10px; margin:0 0 8px; border-bottom:2px solid var(--link); display:inline-block; }
.qa { padding:22px 0 24px; border-bottom:1px solid var(--line); }
.qa:last-child { border-bottom:0; }
.qa h3 { font-size:1.25rem; font-weight:600; line-height:1.35; margin:0 0 10px; }
.qa .flag { margin:0 0 10px; } .qa .flag .ph { margin-left:0; }
.qa .ans { color:#333; font-size:1.02rem; line-height:1.7; }
.qa .ans p { margin:0 0 .8rem; } .qa .ans p:last-child { margin:0; }
.qa .ans strong { font-weight:600; color:var(--ink); }
.qa .ans ul, .qa .ans ol { margin:0 0 .8rem; padding-left:22px; }
.check { margin:0; padding:0 0 0 20px; } .check li { margin:0 0 6px; }
.nav { gap:26px; }
@media (max-width:900px) { .faq-layout { grid-template-columns:1fr; gap:20px; } .faq-toc { position:static; } .faq-toc ul { display:flex; flex-wrap:wrap; gap:8px 18px; } }

/* Per-client FAQ inside a client card */
.card.client .cfaq { border-top:1px solid var(--line); margin:4px 0 12px; padding-top:12px; }
.card.client .cfaq h4 { font-size:.98rem; font-weight:600; margin:0 0 6px; }
.card.client .cfaq p { font-size:.92rem; color:#333; margin:0 0 .6rem; }
.card.client .cfaq .see { font-size:.9rem; margin:0 0 .6rem; }

/* Connectors page: featured rows for Live/Beta, compact cards for Planned */
.features { display:grid; gap:24px; }
.feature { display:grid; grid-template-columns:minmax(0,1.5fr) minmax(280px,1fr); gap:0; background:#fff; border:1px solid var(--line); border-radius:16px; box-shadow:var(--card-shadow); overflow:hidden; }
.f-main { padding:32px 36px; }
.f-side { background:var(--light); border-left:1px solid var(--line); padding:28px 30px; }
.f-side .pl { font-size:.85rem; font-weight:600; letter-spacing:.06em; text-transform:uppercase; color:var(--muted2); margin:0 0 6px; }
.f-side .row { display:flex; justify-content:space-between; gap:16px; font-size:.95rem; line-height:1.45; padding:10px 0; border-top:1px solid var(--line); }
.f-side .row:first-of-type { border-top:0; } .f-side .row b { font-weight:600; white-space:nowrap; } .f-side .row span { color:#444; text-align:right; }
.f-head { display:flex; align-items:center; gap:18px; margin:0 0 10px; }
.f-head h2 { font-size:2rem; margin:4px 0 0; }
.pmark { position:relative; width:56px; height:56px; border-radius:14px; background:linear-gradient(135deg,#3c6bff,#1e46e6); color:#fff; font-size:1.6rem; font-weight:600; display:flex; align-items:center; justify-content:center; flex:0 0 auto; }
.feature .rev { margin:0 0 10px; } .feature .rev .ph { margin-left:0; }
.f-sum { font-size:1.15rem; margin:8px 0 16px; }
.ask { list-style:none; margin:0 0 22px; padding:0; display:grid; gap:8px; }
.ask li { position:relative; padding:10px 14px 10px 44px; background:var(--light); border-radius:10px; font-size:.98rem; line-height:1.45; }
.ask li::before { content:"?"; position:absolute; left:14px; top:10px; width:22px; height:22px; border-radius:50%; background:var(--link); color:#fff; font-size:.85rem; font-weight:700; text-align:center; line-height:22px; }
.card.compact .rev { margin:0 0 8px; } .card.compact .rev .ph { margin-left:0; }
@media (max-width:900px) { .feature { grid-template-columns:1fr; } .f-side { border-left:0; border-top:1px solid var(--line); } .f-main { padding:24px; } }
.qual { display:inline-block; margin-left:10px; font-size:.9rem; font-weight:500; color:#7A4B00; }
/* Logos */
.card .logo .lg { width:36px; height:36px; object-fit:contain; border-radius:8px; flex:0 0 auto; }
.chip { display:inline-flex; align-items:center; gap:8px; } .chip img { width:18px; height:18px; object-fit:contain; }
.brand .brand-mcp { font-weight:600; font-size:1.05rem; color:var(--ink); letter-spacing:.02em; margin-left:2px; }
