/* Let visual content use the page width; retain deliberate reading widths. */
:root{--page-width:1120px;--page-gutter:40px;--cta-green:#15803d;--cta-green-hover:#126b34}
/* One reading scale across marketing, knowledge and legal pages. */
body{font-size:16px;line-height:1.65}
body :is(section,main) p:not(:where(.cookie-panel p,.seq p,.agent-flow p,.flow p,.hero-tagline,.quote-attr,.fine,.contact-security,.contact-security p,.pnote,footer p)){
  font-size:16px!important;line-height:1.65!important;
}
body .ph-lead,body .hero-sub,body .kb-hero p,body .lp-sub{font-size:18px!important;line-height:1.6!important}
body .ph-punch{font-size:20px!important;line-height:1.4!important}
body .pnote,body .faq-a{font-size:14px!important;line-height:1.65!important}
body .story p,body .sub,body .kb-copy p,body .kb-copy li{max-width:70ch}
body .ph-lead{max-width:65ch}
body .pt-card p,body .pc-pain p,body .integ-grid p{font-size:15px!important;line-height:1.6!important}
body .custom-p{font-size:15px!important;line-height:1.6!important}
body .sec-label,body .pb-glabel,body .ct-sector{line-height:1.4}
body .plist li,body .pside li{font-size:14px;line-height:1.55}
body .quote-attr,body .fine,body .contact-security{font-size:13px;line-height:1.55}
body footer p,body footer a{font-size:14px!important;line-height:1.6!important}
body .kb-shell{max-width:1200px;gap:40px}
body .kb-copy li{font-size:16px;line-height:1.65}
body .kb-copy h3,body .pt-card h3{font-size:20px;line-height:1.3}
body .kb-question h2{font-size:24px;line-height:1.3}
@media(max-width:840px){
  body h1{font-size:36px!important;line-height:1.1!important;letter-spacing:-1.2px!important}
  body .sec-title,body .pain-head h2,body .sys-head h2,body .price-head h2,
  body .dashboard-preview-copy h2,body .psec h2,body .pcta h2,
  body h2[style*="font-size:clamp"]{font-size:28px!important;line-height:1.2!important;letter-spacing:-.8px!important}
}
/* A tighter desktop scale; keep body copy and mobile touch targets readable. */
@media(min-width:841px){
  body h1{font-size:clamp(40px,4vw,56px)!important;line-height:1.08;letter-spacing:-1.6px}
  body .hero{min-height:0;padding:112px 40px 56px}
  body .hero-inner{max-width:1120px}
  body .hero-tagline{margin-bottom:24px;font-size:12px;letter-spacing:2px}
  body .hero-sub{margin-top:18px;margin-bottom:24px;font-size:17px}
  body .hero-cta{margin-bottom:24px!important}
  body>section:not(.hero,.cookie-panel,.ph,.lp-hero,.kb-hero,.case-hero),body>main>section:not(.hero,.ph,.lp-hero,.kb-hero,.case-hero,.crm-hero){padding-top:56px!important;padding-bottom:56px!important}
  body .ph{padding-top:152px!important;padding-bottom:48px!important}
  body .lp-hero,body .kb-hero{padding-top:112px!important;padding-bottom:48px!important}
  body .sec-title,body .pain-head h2,body .sys-head h2,body .price-head h2,
  body .psec h2,body .pcta h2,body .lp-hero h2,
  body h2[style*="font-size:clamp"]{font-size:clamp(28px,2.6vw,36px)!important;line-height:1.15!important;letter-spacing:-1px!important}
  body .sec-label{font-size:12px;margin-bottom:20px;letter-spacing:1.6px}
  body .pain-head,body .sys-head{margin-bottom:32px}
  body .btn{font-size:15px!important;padding:14px 24px!important;min-height:44px}
  body .btn-email-secondary{font-size:14px;padding:10px 16px;margin:0}
  body .claim-bar{padding-top:14px;padding-bottom:14px}
  body .claim-bar p{font-size:15px}
  body .clients-inner,body .pain-inner,body .system-inner,body .pricing-inner,
  body .dashboard-preview-inner,body .ph-in,body .psec-in{max-width:1120px}
  body .dashboard-preview-copy h2{font-size:34px;line-height:1.15}
  body .dashboard-preview-copy p{font-size:16px;line-height:1.65}
  body .pc-pain{padding:24px 22px}
  body .pc-pain-n{font-size:38px;margin-bottom:10px}
  body .ct{padding:22px 20px}
  body .ct-name{font-size:20px}
  body .pb-nav{gap:24px;padding-bottom:16px;margin-bottom:16px}
  body .pb-tabs{gap:6px;margin-bottom:10px}
  body .pb-tab{font-size:13px;padding:7px 12px;gap:6px;min-height:36px}
  body .pb-k{width:18px;height:18px;font-size:11px}
  body .pb-rec{font-size:9px;padding:3px 6px;letter-spacing:.2px}
  body .pb-glabel{font-size:11px;letter-spacing:1px;margin-bottom:8px}
  body .pb-glabel span{font-size:11px}
  body .pb-days{gap:10px;margin-bottom:0}
  body .pb-day{padding:6px 12px;min-height:32px;font-size:12px}
  body .pb-sub{font-size:14px;margin-bottom:16px}
  body #agent-flow-wrap{max-width:960px;margin-inline:auto}
  body .agent-flow>div:first-child{padding:14px 18px!important}
  body .agent-flow>div:nth-child(2){padding:14px 18px!important}
  body .agent-flow>div:last-child{padding:8px 18px!important;font-size:12px!important}
  body .agent-flow .trow{grid-template-columns:34px 1fr;gap:8px}
  body .agent-flow .tc{width:22px;height:22px;font-size:12px}
  body .agent-flow .tday{font-size:10px;margin-bottom:3px}
  body .agent-flow .tevents{padding-bottom:8px}
  body .agent-flow .ev{font-size:13px;padding:6px 10px;gap:7px;margin-bottom:3px;line-height:1.35}
  body .agent-flow .etag{font-size:10px;padding:2px 6px;letter-spacing:.2px}
  body .agent-flow .trow:not(:last-child)::after{left:11px;top:25px}
  body .seq{margin-top:36px}
  body .seq-row{max-width:800px;gap:22px}
  body .seq-goal{margin-top:28px;padding:20px 24px}
  body footer{padding-top:44px!important;padding-bottom:24px!important}
  body footer>div{max-width:1120px!important}
}
@media(max-width:840px){
  body .pb-tab{min-height:44px;padding:9px 12px;font-size:13px;gap:6px}
  body .pb-k{width:20px;height:20px;font-size:11px}
  body .pb-day{min-height:44px;padding:10px 14px}
}
.dashboard-preview-inner{grid-template-columns:minmax(0,.75fr) minmax(0,1.45fr);gap:clamp(28px,3vw,48px)}
.kb-shell>div.kb-copy{max-width:none}
.pt-grid,.ind-grid,.three-grid,.two-grid,.price-cols,.foot-grid{min-width:0}
.pt-grid>*,.ind-grid>*,.three-grid>*,.two-grid>*,.price-cols>*,.foot-grid>*{min-width:0}
.cta-actions{display:flex;align-items:center;justify-content:inherit;flex-wrap:wrap;gap:12px;min-width:0}
.cta-actions>a.btn,.cta-actions>a.btn-email-secondary,.cta-actions>a.custom-cta,.cta-actions>a.ph-link{display:inline-flex!important;align-items:center;justify-content:center;flex:0 1 auto;width:auto!important;margin:0;min-height:44px;line-height:1.4;text-align:center}
.pbig .cta-actions,.price-cols .cta-actions{justify-content:center}
.pcard>*,.pside li>*{min-width:0}
.custom-box .cta-actions{justify-content:flex-end}
@media(max-width:520px){
  .cta-actions{justify-content:center;gap:10px;width:100%}
  .cta-actions>a{max-width:100%;white-space:normal}
  .custom-box .cta-actions{justify-content:center}
  .pcard{grid-template-columns:minmax(0,1fr)!important}
  .pside li{flex-wrap:wrap;gap:6px 12px}
}

/* Shared outer grid; reading measures and nested product previews stay separate. */
body :is(.site-container,.hero-inner,.clients-inner,.pain-inner,.system-inner,.pricing-inner,.dashboard-preview-inner,.ph-in,.psec-in,.pcta-in,.lp-in,.about-contact-inner){
  width:100%;max-width:var(--page-width)!important;margin-inline:auto;
}
body :is(.kb-hero,.kb-shell,.kb-inline){
  width:100%;max-width:calc(var(--page-width) + 2 * var(--page-gutter))!important;
  margin-inline:auto;padding-inline:var(--page-gutter)!important;
}
body :is(.hero,.clients,.pain,.system,.pricing,.experience,.integrations,.faq,.about,.ph,.psec,.pcta,.dashboard-preview,.lp-hero,.lp-section,.about-contact),
body>section:not(.cookie-panel),body>main>section:not(.kb-hero){padding-inline:var(--page-gutter)!important}
body .pcta-in>h2,body .pcta-in>p{max-width:70ch;margin-inline:auto}
body footer{display:block;padding-inline:var(--page-gutter)!important}
body footer>div{width:100%;max-width:var(--page-width)!important;margin-inline:auto!important}

/* One geometry for each action role, independent of the page or card it sits in. */
body .c24-cta{
  display:inline-flex!important;align-items:center;justify-content:center;gap:8px;
  min-height:48px!important;max-width:100%;padding:11px 24px!important;margin:0;
  border:2px solid transparent;border-radius:100px!important;
  font-family:var(--font-b,'Space Grotesk',sans-serif);font-size:15px!important;
  font-weight:700;line-height:22px!important;letter-spacing:0;text-align:center;
  text-decoration:none;white-space:normal;cursor:pointer;
  transition:background-color 160ms ease-out,color 160ms ease-out,border-color 160ms ease-out;
}
body .c24-cta-primary{background:var(--cta-green);color:#fff;border-color:var(--cta-green);box-shadow:0 4px 12px rgba(21,128,61,.16)}
body .c24-cta-primary:hover{background:var(--cta-green-hover);border-color:var(--cta-green-hover);color:#fff;opacity:1;transform:none}
body .c24-cta-secondary{background:var(--s2);color:var(--white);border-color:var(--white);box-shadow:none}
body .c24-cta-secondary:hover{background:var(--white);color:#fff;opacity:1;transform:none}
body .c24-cta-link{padding:11px 0!important;border:0;border-bottom:2px solid var(--acid);border-radius:0!important;background:transparent;color:var(--white);box-shadow:none}
body .c24-cta-link:hover{color:var(--cta-green-hover);border-bottom-color:var(--cta-green-hover);opacity:1;transform:none}
body .c24-cta-link span{color:inherit}
body .c24-cta:focus-visible{outline:3px solid var(--acid);outline-offset:4px}
body .c24-cta:disabled{opacity:.55;cursor:not-allowed}
body :is(.hero-cta,.sys-cta,.ph-cta,.about-actions,.cta-actions){align-items:center;gap:12px}
@media(min-width:1201px){
  body nav{padding-inline:max(var(--page-gutter),calc((100% - var(--page-width)) / 2));grid-template-columns:207px minmax(0,1fr) max-content;gap:20px}
  body nav .nav-menu{gap:16px}
  body nav .nav-menu a{font-size:16px}
  body nav .c24-cta{white-space:nowrap}
}
@media(max-width:840px){:root{--page-gutter:24px}}
@media(max-width:520px){
  :root{--page-gutter:20px}
  body :is(.hero-cta,.sys-cta,.ph-cta,.about-actions,.cta-actions){flex-wrap:wrap}
}
@media(prefers-reduced-motion:reduce){body .c24-cta{transition:none}}
.c24-contact-dialog{position:fixed;inset:0;width:min(440px,calc(100% - 32px));max-height:calc(100dvh - 48px);overflow:auto;margin:auto;padding:32px;border:1px solid #dce1ed;border-radius:16px;background:#fff;color:#1E1F5C;box-shadow:0 20px 80px rgba(30,31,92,.25);font-family:inherit}
.c24-contact-dialog::backdrop{background:rgba(18,19,46,.45)}
.c24-contact-dialog h2{font-size:26px;line-height:1.2;margin:8px 24px 12px 0;letter-spacing:-.6px}
.c24-contact-dialog p{font-size:15px;line-height:1.6;margin:0 0 20px}
.c24-contact-close{position:absolute;right:12px;top:12px;width:44px;height:44px;border:0;border-radius:8px;background:#F0F2F7;color:#1E1F5C;font-size:24px;font-family:inherit;cursor:pointer}
.c24-contact-channels{display:grid;gap:10px}
.c24-contact-channels a{display:flex;align-items:center;justify-content:space-between;min-height:48px;padding:12px 16px;background:#F0F2F7;color:#1E1F5C;border:1px solid #dce1ed;border-radius:8px;font-size:16px;font-weight:700;text-decoration:none}
.c24-contact-channels a:hover{border-color:#16A34A;background:#edf8f0}
.c24-contact-book{display:inline-block;margin-top:20px;font-size:14px;color:#1E1F5C;text-underline-offset:4px}
.c24-contact-dialog a:focus-visible,.c24-contact-dialog button:focus-visible{outline:3px solid #16A34A;outline-offset:3px}
@media(max-width:1000px){.dashboard-preview-inner{grid-template-columns:minmax(0,1fr)}.dashboard-preview-figure{max-width:none}}
@media(max-width:840px){
  .price-cols{max-width:none!important;width:100%}
  .hero,.clients,.pain,.system,.pricing,.experience,.integrations,.faq,.about,.ph,.psec,.pcta,.dashboard-preview{padding-left:24px!important;padding-right:24px!important}
  footer{padding-left:24px!important;padding-right:24px!important}
  .kb-hero,.kb-shell,.kb-inline{padding-left:24px;padding-right:24px}
}
@media(max-width:520px){
  .hero,.clients,.pain,.system,.pricing,.experience,.integrations,.faq,.about,.ph,.psec,.pcta,.dashboard-preview{padding-left:20px!important;padding-right:20px!important}
  footer{padding-left:20px!important;padding-right:20px!important}
  .kb-hero,.kb-shell,.kb-inline{padding-left:20px;padding-right:20px}
}

body .pside li{flex-wrap:wrap}
body .pside li b{white-space:normal;overflow-wrap:anywhere}

/* Action groups retain their reading order at every available width. */
body :is(.hero-cta,.sys-cta,.ph-cta,.about-actions,.cta-actions,.case-actions){display:flex;flex-wrap:wrap;align-items:center;gap:12px!important;min-width:0}
body :is(.hero-cta,.sys-cta,.ph-cta,.about-actions,.cta-actions,.case-actions)>a{flex:0 1 auto;min-width:0;max-width:100%;margin:0!important}
body .c24-alternative{flex-basis:100%;font-size:13px;color:var(--dim);line-height:1;margin-top:4px}
body .c24-alternative+a{margin-top:0!important}
body .c24-cta-secondary:hover{color:var(--bg);background:var(--white)}
.industry-decisions{margin-top:24px}
.industry-decisions>div{display:grid;grid-template-columns:minmax(160px,.35fr) minmax(0,1fr);gap:28px;padding:20px 0;border-bottom:1px solid var(--line)}
.industry-decisions dt{font-size:18px;font-weight:700}
.industry-decisions dd{font-size:16px;line-height:1.65;max-width:70ch}
.industry-measure{max-width:75ch;margin:24px 0;font-size:16px;line-height:1.65}
@media(max-width:600px){
 body :is(.hero-cta,.sys-cta,.ph-cta,.about-actions,.cta-actions,.case-actions){width:100%;align-items:stretch}
 body :is(.hero-cta,.sys-cta,.ph-cta,.about-actions,.cta-actions,.case-actions)>a.c24-cta{flex-basis:100%;width:100%!important}
 body .industry-decisions>div{grid-template-columns:1fr;gap:8px}
}

/* Partner hero: preserve breathing room below the fixed navigation. */
body .ph.partner-hero{padding-top:152px!important}
@media(max-width:840px){body .ph.partner-hero{padding-top:124px!important}}

/* Shared interactive semantics retain the existing visual design. */
button.pb-tab{font-family:inherit;min-height:44px}
button.faq-q{font-family:inherit;width:100%;text-align:left;background:transparent;border:0;cursor:pointer}
body :is(button,summary,a):focus-visible{outline:3px solid var(--cta-green);outline-offset:4px}
body .pb-tab.active{background:var(--cta-green);border-color:var(--cta-green);box-shadow:none}
@media(prefers-reduced-motion:reduce){.hero-glow{animation:none}.pb-tab,.faq-q::after,.uc-arr{transition:none}html{scroll-behavior:auto}}
/* Content stays readable from the first frame, including reduced-motion users. */
body h1,body .hero-tagline,body .hero-sub,body .hero-cta{animation:none}
body .hero h1 .l1{color:var(--white)}
@media(max-width:840px){body .hero{min-height:0;justify-content:flex-start;padding-top:124px;padding-bottom:48px}}
body .hero-tagline{color:#515275}
body nav .nav-menu a[href$="demo.html"]{color:var(--cta-green)!important}
body .hero .l3{color:var(--cta-green)}
body .hero p.l3{font-size:clamp(24px,2.4vw,32px)!important;line-height:1.3!important;font-weight:600;letter-spacing:-.02em;text-wrap:balance}

body .hero .hero-cta{gap:12px!important;align-items:stretch}body .hero .hero-cta>a.c24-cta{width:auto!important;flex:0 1 auto} @media(max-width:600px){body .hero .hero-cta{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}body .hero .hero-cta>a.c24-cta{width:100%!important;padding:12px!important;font-size:14px!important;white-space:normal;min-height:60px}}
