:root { --gut:24px; --font-display:var(--f-display); --font-body:var(--f-body); --font-mono:var(--f-mono); --display:var(--f-display); --sans:var(--f-body); --blue:var(--accent); --beacon:var(--accent); --beacon-deep:var(--accent-ink); --beacon-bright:#8ad0e1; --navy-900:var(--navy); --navy-700:var(--accent-ink); --mist:var(--surface-2); --muted-light:var(--on-navy-2); --gutter:max(24px,calc((100vw - 1132px)/2)); }
* { letter-spacing:0!important; }
:root { --mist-2:var(--surface-2); --steel:var(--muted); --navy-600:var(--accent); --r:8px; --r-sm:8px; }
img { max-width:100%; height:auto; }
main { min-width:0; }
[id] { scroll-margin-top:90px; }
.skip-link { position:fixed; left:20px; top:-100px; z-index:100; background:var(--surface); padding:12px; }
.skip-link:focus { top:10px; }
.brand-logo { display:block; width:136px; height:auto; }
.site-nav { position:sticky; top:0; z-index:80; background:var(--paper); border-bottom:1px solid var(--line); }
.nav-bar { display:flex; align-items:center; justify-content:space-between; gap:24px; min-height:76px; }
.site-nav nav { display:flex; align-items:center; gap:24px; }
.site-nav a { text-decoration:none; white-space:nowrap; }
.product-menu { position:relative; }
.product-menu summary { cursor:pointer; font-weight:500; }
.product-links { position:absolute; top:36px; left:0; display:grid; min-width:230px; padding:12px; gap:4px; background:var(--surface); border:1px solid var(--line); border-radius:8px; box-shadow:var(--shadow); }
.product-menu:not([open]) .product-links { display:none; }
.product-links a { padding:8px 12px; }
.product-links a:hover { background:var(--accent-soft); }
.menu-toggle { display:none; align-items:center; justify-content:center; width:44px; height:44px; background:var(--surface); color:var(--ink); border:1px solid var(--line); border-radius:8px; }
.site-footer { border-top:1px solid var(--line); }
.site-footer p { margin-top:20px; }
.site-footer .foot-bottom { display:flex; }
.page-home .hero h1 { font-size:3.6rem; }
.page-home .hero-note { font-size:14px; }
.page-home .analytics .eyebrow,.page-home .cta .eyebrow { color:#8ad0e1; }
.page-home .btn-primary { background:var(--accent-ink); }
.page-home .cta-form { min-width:0; }
.page-home .cta-form input { min-width:0; width:100%; }
.hp { position:absolute; left:-10000px; width:1px; height:1px; overflow:hidden; }
.err:empty { display:none; }
.err { color:#ffcece; }
.lead-done { padding:24px; }
.lead-done h3 { margin-bottom:16px; }
.form[hidden],.form-fail[hidden] { display:none; }
.form-done { display:none; }
.form-done.is-on { display:block; }
.page-content .page-hero,.page-product .hero,.page-contact .hero { padding:64px var(--gutter); margin:0; background:var(--surface-2); color:var(--ink); }
.page-product .hero>.wrap,.page-contact .hero>.wrap { padding:0; display:block; }
.page-content .page-hero { display:grid; gap:22px; }
.display { font-size:3rem; max-width:960px; line-height:1.12; }
.h2 { font-size:2.2rem; line-height:1.2; }
.page-content .section,.page-content .why,.page-content .support,.page-content .suite,.page-content .cta-band { padding:64px var(--gutter); }
.page-content .section-paper,.page-content .support,.page-content .cta-band { background:var(--surface-2); }
.stack { display:grid; gap:20px; }
.cta-row,.hero-actions { display:flex; flex-wrap:wrap; gap:14px; margin-top:24px; }
.btn-navy,.btn-white { background:var(--accent); color:#fff; }
.btn-link,.txtlink { color:var(--accent-ink); }
.why,.split,.support,.story,.suite-head { display:grid; grid-template-columns:1fr 1fr; gap:40px; }
.why-points,.support-stats { display:grid; grid-template-columns:1fr 1fr; gap:28px; }
.point { border-top:1px solid var(--line); padding-top:20px; }
.point-t,.suite-name { display:block; font:600 1.3rem var(--f-display); margin-bottom:12px; }
.industry-grid,.suite-grid,.suite-grid-rest { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.industry-card,.suite-card { display:grid; gap:18px; border:1px solid var(--line); background:var(--surface); border-radius:8px; padding:28px; text-decoration:none; }
.industry-prod,.suite-go { color:var(--accent-ink); }
.product-comparison h2 { margin-bottom:24px; }
.comparison-scroll { overflow-x:auto; }
.comparison-scroll:focus-visible { outline:2px solid var(--accent); outline-offset:4px; }
.comparison-table { width:100%; min-width:1000px; border-collapse:collapse; text-align:left; font-size:15px; line-height:1.55; }
.comparison-table caption { text-align:left; color:var(--muted); padding-bottom:16px; }
.comparison-table th,.comparison-table td { padding:18px 14px; border-bottom:1px solid var(--line); vertical-align:top; }
.comparison-table thead th { background:var(--surface-2); font-size:14px; }
.comparison-table tbody th { position:sticky; left:0; background:var(--paper); min-width:110px; }
.comparison-table td:last-child { width:26%; }
.comparison-note { margin-top:20px; color:var(--ink-2); max-width:780px; }
.scale { display:flex; flex-wrap:wrap; justify-content:space-between; gap:24px; padding:48px var(--gutter); }
.scale-n,.stat-n { display:block; font:600 2.5rem var(--f-display); }
.stat-row { display:flex; gap:32px; flex-wrap:wrap; }
.cta-band { text-align:center; display:grid; justify-items:center; gap:24px; }
.cta-band img { width:145px; height:auto!important; }
.legal-page { padding:48px var(--gutter); }
.legal-doc { max-width:860px; margin:auto; }
.legal-doc p,.legal-doc ul { margin-bottom:20px; }
.legal-doc a { overflow-wrap:anywhere; }
.legal-doc strong { color:var(--ink); }
.legal-doc>strong { display:block; margin:24px 0 12px; }
.field,.form,.lead-form { display:grid; gap:12px; }
.field input,.field textarea,.field select,.lead-form input,.lead-form textarea,.lead-form select { padding:12px; border:1px solid var(--line-2); border-radius:8px; color:var(--ink); background:var(--surface); font:inherit; width:100%; min-width:0; }
.field textarea,.lead-form textarea { min-height:140px; }
.form-done,.form-fail { margin-top:20px; }
.faq { border-top:1px solid var(--line); padding:20px 0; }
.faq summary { cursor:pointer; font-weight:600; }
.faq p { margin-top:16px; }
.lifecycle { display:none; }
.industry-links { columns:2; padding-left:24px; }
.industry-links li { margin:10px 0; }
.blog-hero .lede { max-width:52rem; }
.blog-index { display:grid; gap:28px; }
.featured-post { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:24px; align-items:start; padding:34px; border:1px solid var(--line); border-radius:8px; background:var(--surface); box-shadow:var(--shadow); }
.featured-post h2 { max-width:760px; }
.featured-post h2 a,.post-card h3 a { text-decoration:none; }
.featured-post p { margin-top:16px; color:var(--ink-2); max-width:720px; }
.post-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.post-card { display:grid; gap:14px; align-content:start; min-height:260px; padding:26px; border:1px solid var(--line); border-radius:8px; background:var(--surface); }
.post-card p { color:var(--ink-2); font-size:.98rem; }
.blog-kicker,.post-meta,.article-meta { font-family:var(--f-mono); font-size:.76rem; letter-spacing:0; text-transform:uppercase; color:var(--accent-ink); font-weight:500; }
.post-meta,.article-meta { color:var(--muted); }
.blog-topics { display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.2fr); gap:40px; align-items:start; background:var(--surface-2); }
.topic-list { display:flex; flex-wrap:wrap; gap:12px; }
.topic-list a { display:inline-flex; align-items:center; min-height:42px; padding:9px 14px; border:1px solid var(--line); border-radius:8px; background:var(--surface); color:var(--ink-2); text-decoration:none; }
.topic-list a:hover,.featured-post h2 a:hover,.post-card h3 a:hover,.back-link:hover { color:var(--accent-ink); }
.blog-article { max-width:860px; margin:0 auto; padding:64px 24px 80px; }
.article-header { display:grid; gap:16px; padding-bottom:34px; border-bottom:1px solid var(--line); }
.article-header h1 { font-size:3rem; line-height:1.08; }
.back-link { color:var(--accent-ink); text-decoration:none; font-weight:600; justify-self:start; }
.back-link::before { content:"← "; }
.article-body { padding-top:34px; display:grid; gap:20px; }
.article-body h2 { margin-top:22px; font-size:1.65rem; }
.article-body p,.article-body li { color:var(--ink-2); line-height:1.75; }
.article-body ul { margin:0; padding-left:24px; }
.article-body li { margin:10px 0; }
.article-footer { display:flex; flex-wrap:wrap; gap:14px; margin-top:42px; padding-top:28px; border-top:1px solid var(--line); }
.page-product main>section:not(.hero),.page-contact main>section:not(.hero) { padding:64px 0; }
.hero-grid,.page-product .frow,.contact-grid { display:grid; grid-template-columns:1fr 1fr; gap:40px; align-items:center; }
.hero-grid>*,.frow>* { min-width:0; }
.page-product .hero .lede { margin-top:22px; }
.page-product .on-dark { color:var(--ink-2); }
.page-product .eyebrow.on-dark { color:var(--accent-ink); }
.page-product .btn-ghost.on-dark { color:var(--ink); border-color:var(--line-2); }
.mini-grid,.peers { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.mini,.peer { padding:24px; background:var(--surface); border:1px solid var(--line); border-radius:8px; }
.peer { display:flex; gap:16px; text-decoration:none; }
.peer .pd,.peer .pt { display:block; }
.mini h4 { margin:16px 0; }
.mini .ic svg,.peer svg { width:24px; height:24px; }
.stats-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:24px; }
.stats-band { background:var(--surface-2); }
.page-product .integ { display:flex; flex-wrap:wrap; gap:12px; }
.page-product .integ .chip { display:inline-flex; align-items:center; gap:10px; max-width:100%; padding:10px 14px; border:1px solid var(--line); border-radius:6px; background:var(--surface); color:var(--ink); font-size:15px; line-height:1.4; }
.page-product .integ .g { display:inline-flex; align-items:center; justify-content:center; flex:0 0 28px; width:28px; height:28px; border-radius:4px; color:#fff; font-size:11px; font-weight:700; }
.mockwrap { width:100%; }
.page-product .mock { padding:18px; }
.page-product .mock .ev-yes { color:var(--good); }
.page-product .mock .ev-mid { color:var(--amber); }
.page-product .mock .ev-no,.page-product .mock-note,.page-product .rep-x { color:var(--muted); }
.page-product .darkband { background:var(--surface-2); color:var(--ink); }
.page-product .cloud { padding:24px var(--gutter); background:var(--surface); }
.page-product .cloud-head { text-align:center; color:var(--muted); margin-bottom:24px; }
.page-product .marquee { overflow:hidden; }
.page-product .marquee-track { display:flex; flex-wrap:nowrap; gap:32px; width:max-content; padding-right:32px; animation:customer-scroll 34s linear infinite; }
.page-product .marquee:hover .marquee-track { animation-play-state:paused; }
.page-product .client { flex:none; white-space:nowrap; color:var(--ink-2); font-family:var(--f-display); font-weight:600; }
/* The trailing gap makes each repeated half exactly the same width. */
@keyframes customer-scroll { to { transform:translateX(-50%); } }
@media (prefers-reduced-motion:reduce) {
  .page-product .marquee-track { animation:none; flex-wrap:wrap; width:auto; padding-right:0; justify-content:center; }
  .page-product .client:nth-child(n+7) { display:none; }
}
.product-questions .wrap { max-width:900px; }
.product-questions h2 { font-size:2rem; margin-bottom:28px; }
.product-answer { padding:24px 0; border-top:1px solid var(--line); }
.product-answer h3 { margin:0 0 12px; }
.product-answer p { color:var(--ink-2); line-height:1.65; }
.product-questions a { text-underline-offset:4px; }
.page-product .hero-tags { display:flex; flex-wrap:wrap; gap:10px; margin-top:20px; }
.mock-top,.ev-row,.mock-row { display:flex; justify-content:space-between; gap:12px; padding:12px; border-bottom:1px solid var(--line); }
.ev-name { flex:1; }
.ev-pill { font-size:14px; padding:4px 8px; background:var(--accent-soft); border-radius:4px; }
.page-product .cta,.page-contact .cta { background:var(--surface-2); color:var(--ink); }
.page-product .cta .wrap { display:block; }
.page-product .cta .panel { background:transparent; max-width:800px; margin:auto; text-align:center; }
.page-product .cta p { color:var(--ink-2); margin:20px auto; }
.page-product .cta .row { display:flex; justify-content:center; gap:16px; flex-wrap:wrap; }
.q { border-top:1px solid var(--line); margin:24px 0 12px; padding-top:20px; }
.row2 { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.contact-grid { align-items:start; }
.next-steps li { display:flex; gap:16px; margin-bottom:24px; }
.preserved-content { max-width:1180px; margin:auto; padding:48px 24px; overflow-wrap:anywhere; }
.preserved-content h1 { font-size:2.5rem; }
.preserved-content h2,.preserved-content h3 { margin:28px 0 16px; }
.preserved-content p,.preserved-content ul { margin:16px 0; }
.preserved-content .section,.preserved-content .hero,.preserved-content .panes__item { padding:20px 0; margin:0; }
.preserved-content .logo-list { display:grid; grid-template-columns:repeat(4,1fr); gap:20px; padding:0; list-style:none; }
.logo-list__border,.logo-list__border-red { display:grid; place-items:center; padding:16px; height:120px; background:#fff; border:1px solid var(--line); }
.logo-list__border-red { border-color:#b93535; }
.logo-list img { max-height:88px; object-fit:contain; }
.preserved-content .tabs { display:none; }
.preserved-content footer,.preserved-content .modal { display:none; }
.page-product .config-line,.page-product cite.who.on-dark,.page-product cite.who.on-dark b { color:var(--ink-2); }
.preserved-content table { width:100%; border-collapse:collapse; }
.preserved-content td,.preserved-content th { border:1px solid var(--line); padding:12px; }
@media(prefers-color-scheme:dark) { .brand-logo,.cta-band img { filter:brightness(0) invert(1); } .btn-primary { color:#071722; } }
@media(max-width:1100px) {
  .menu-toggle { display:flex; }
  .site-nav nav { display:none; }
  .site-nav.open nav { display:flex; flex-direction:column; align-items:stretch; position:absolute; top:100%; left:0; right:0; padding:24px; gap:20px; background:var(--surface); max-height:calc(100dvh - 76px); overflow:auto; border-bottom:1px solid var(--line); }
  .product-links { position:static; margin-top:12px; box-shadow:none; }
}
@media(max-width:760px) {
  .comparison-table tbody th { position:static; }
  .display,.page-home .hero h1 { font-size:2.3rem; }
  .h2 { font-size:1.8rem; }
  .sec { padding:48px 0; }
  .hero-grid,.page-product .frow,.contact-grid,.why,.split,.support,.story,.suite-head,.why-points { grid-template-columns:1fr; }
  .page-contact .mini-grid { grid-template-columns:1fr!important; }
  .mini-grid,.peers,.industry-grid,.suite-grid,.suite-grid-rest,.stats-grid,.row2 { grid-template-columns:1fr; }
  .featured-post,.blog-topics { grid-template-columns:1fr; }
  .post-grid { grid-template-columns:1fr; }
  .article-header h1 { font-size:2.25rem; }
  .industry-links { columns:1; }
  .preserved-content .logo-list { grid-template-columns:repeat(2,1fr); }
  .site-footer>.wrap { grid-template-columns:1fr 1fr; }
  .site-footer>.wrap>div:first-child { grid-column:1/-1; }
  .page-content .page-hero,.page-product .hero,.page-contact .hero { padding-block:40px; }
  .frow .ftext { order:0; }
}

/* Homepage screenshot carousel */
.page-home .carousel { min-width:0; width:100%; }
.page-home .c-slide { display:none; margin:0; }
.page-home .c-slide.is-active { display:block; }
.page-home .shot-hero { overflow:hidden; border:1px solid var(--line); border-radius:8px; background:var(--surface); box-shadow:var(--shadow); }
.page-home .shot-hero img { display:block; width:100%; height:auto; aspect-ratio:1800 / 1255; object-fit:contain; }
.page-home .c-slide figcaption { margin-top:14px; text-align:center; color:var(--muted); font-size:14px; }
.page-home .c-controls,.page-home .c-dots { display:flex; align-items:center; justify-content:center; gap:8px; }
.page-home .c-controls { margin-top:8px; }
.page-home .c-btn,.page-home .c-dot { display:grid; place-items:center; width:44px; height:44px; padding:0; border:1px solid var(--line); border-radius:50%; color:var(--ink); background:var(--surface); cursor:pointer; }
.page-home .c-dot { border:0; background:transparent; }
.page-home .c-dot::before { content:""; width:8px; height:8px; border-radius:50%; background:var(--muted); }
.page-home .c-dot.is-active::before { background:var(--accent); width:12px; height:12px; }
.page-home .c-btn:focus-visible,.page-home .c-dot:focus-visible { outline:2px solid var(--accent); outline-offset:2px; }

@media (max-width: 420px) {
  .page-home .c-controls, .page-home .c-dots { gap:0; }
  .page-home .c-dot { width:28px; flex-shrink:0; }
  .page-home .c-btn { flex-shrink:0; }
}
