/*!
 * Collaboration.Ai — site styles (child theme, single file)
 *
 * Only what Elementor cannot express natively: hover/scroll effects, textures,
 * the mega-menu + off-canvas tweaks and layout guards. Colors, type scale,
 * spacing and page content are edited in Elementor (Site Settings / the pages).
 *
 * Contents
 *   1. Interaction helpers  (frames, stage icons, spotlight, fill-sweep)
 *   2. Hero + header + mega menu
 *   3. Home sections: What we do · Who we serve · NetworkOS · Products ·
 *      Mission Success · Proof · Security · Blog · Final CTA
 *   4. Footer
 *   5. Mobile header sheet (off-canvas)
 *   6. Page gutter lines + late overrides
 *   7. Sub-pages (title band, pain points, platform accordion, case studies)
 */

/* ============ 1. Interaction helpers ============ */
.cai-illus{position:relative;width:100%;height:0;padding-top:75%;overflow:hidden;border-radius:6px 6px 0 0;background:#F3F3F3;outline:1px solid rgba(26,25,23,.1);outline-offset:-1px}
.cai-illus iframe{position:absolute;inset:0;width:100%;height:100%;border:0;pointer-events:none;background:#F3F3F3;transition:opacity 250ms cubic-bezier(.2,0,0,1)}
.cai-illus[data-cai-swap] iframe{opacity:0}
.cai-illus[data-cai-swap] iframe.is-on{opacity:1}
.cai-step{transition:opacity 500ms cubic-bezier(.2,0,0,1)}
.cai-step.is-dim{opacity:.72}

/* What we do stages */
.cai-ico{position:relative;display:block;width:48px;height:48px}
.cai-ico::before,.cai-ico::after{content:"";position:absolute;inset:0;-webkit-mask:var(--base) center/contain no-repeat;mask:var(--base) center/contain no-repeat;background:#F5F3ED}
.cai-ico::after{-webkit-mask-image:var(--acc);mask-image:var(--acc);background:#F25A36;opacity:0;transform:scale(.85);transition:opacity 400ms cubic-bezier(.2,0,0,1),transform 400ms cubic-bezier(.2,0,0,1)}
.cai-line{position:relative;display:block;height:1px;background:rgba(245,243,237,.25);margin:16px 0}
.cai-line::before{content:"";position:absolute;inset:0;background:#F25A36;transform:scaleX(0);transform-origin:left;transition:transform 650ms cubic-bezier(.2,0,0,1)}
.cai-line i{position:absolute;top:-3.5px;left:0;width:7px;height:7px;border-radius:50%;background:#F5F3ED;transition:left 650ms cubic-bezier(.2,0,0,1),background 300ms}
.cai-stage:hover .cai-ico::after,.cai-stage.is-play .cai-ico::after{opacity:1;transform:none}
.cai-stage:hover .cai-line::before,.cai-stage.is-play .cai-line::before{transform:scaleX(1)}
.cai-stage:hover .cai-line i,.cai-stage.is-play .cai-line i{left:calc(100% - 7px);background:#F25A36}

/* Photo color spotlight */
.cai-spot{position:relative;overflow:hidden}
.cai-spot img{filter:grayscale(1)}
.cai-spot .cai-spot-c{position:absolute;inset:0;pointer-events:none;opacity:0;transition:opacity 250ms;-webkit-mask-image:radial-gradient(circle 72px at var(--mx,-200px) var(--my,-200px),#000 98%,transparent 100%);mask-image:radial-gradient(circle 72px at var(--mx,-200px) var(--my,-200px),#000 98%,transparent 100%)}
.cai-spot .cai-spot-c img{filter:none;width:100%;height:100%;object-fit:cover}
.cai-spot:hover .cai-spot-c{opacity:1}

/* Buttons. Every Elementor button follows the designer's a[data-fill]: teal, 36px, a darker teal sweeps in from the left.
   Variants by class on the widget: cai-fill-dark (ivory, on dark bands) and cai-ghost (outlined). cai-explore also clips overflow. */
.elementor-widget-button .elementor-button,.elementor-widget-form .elementor-button{box-sizing:border-box;height:36px;display:inline-flex;align-items:center;text-align:left;white-space:nowrap;flex-shrink:0;
  background-color:#094F4D!important;border-color:#094F4D!important;color:#FCFCFC!important;
  background-image:linear-gradient(#063735,#063735)!important;background-repeat:no-repeat!important;background-position:right center!important;background-size:0% 100%!important;
  transition:background-size 450ms cubic-bezier(.2,0,0,1),color 300ms cubic-bezier(.2,0,0,1),transform 300ms cubic-bezier(.2,0,0,1)!important}
.elementor-widget-button .elementor-button:hover,.elementor-widget-button .elementor-button:focus-visible,.elementor-widget-form .elementor-button:hover,.elementor-widget-form .elementor-button:focus-visible{background-color:#094F4D!important;border-color:#094F4D!important;background-position:left center!important;background-size:100% 100%!important;color:#FCFCFC!important}
.cai-explore .elementor-button{position:relative;overflow:hidden}
/* design: only the filled buttons may wrap on small phones (outlined ones stay one 36px line) */
/* (the Home design does not have this rule, so Home keeps its single 36px line) */
@media (max-width:480px){body:not(.home) .elementor-widget-button:not(.cai-ghost) .elementor-button{white-space:normal;height:auto;min-height:36px;padding-block:8px}}

@media (prefers-reduced-motion:reduce){.cai-line::before,.cai-line i,.cai-ico::after,.cai-step,.cai-illus iframe{transition:none}}

/* ============ 2. Hero, header, sections ============ */

@keyframes cai-rise{from{opacity:0;transform:translateY(8px)}}
@keyframes cai-pop{from{transform:scale(0)}}
@keyframes cai-warm{from{background:#9D9A97}}
@keyframes cai-grow{from{transform:scaleX(0)}}
@keyframes cai-menu{from{opacity:0;transform:translateY(-4px)}}

/* Staggered entrance (heading → subline → button) */
.cai-rise-1{animation:cai-rise 400ms cubic-bezier(.2,0,0,1) 100ms both}
.cai-rise-2{animation:cai-rise 400ms cubic-bezier(.2,0,0,1) 200ms both}
.cai-rise-3{animation:cai-rise 400ms cubic-bezier(.2,0,0,1) 300ms both}

/* Hero heading: two fixed lines + orange dot that pops in then warms from grey */
.cai-hero h1 .cai-l{display:block;white-space:nowrap}
.cai-hero h1 .cai-dot{display:inline-block;width:.15em;height:.15em;margin-left:.05em;border-radius:50%;background:#F25A36;
  animation:cai-pop 400ms cubic-bezier(.2,0,0,1) 500ms both,cai-warm 1200ms cubic-bezier(.2,0,0,1) 700ms both}
.cai-hero h1 .elementor-heading-title,.cai-hero .elementor-heading-title{margin:0 0 0 -.04em;max-width:none}

/* Grid layer sits behind content and fades out toward the bottom edge */
.cai-hero>.cai-grid-w,.cai-gridhost>.cai-grid-w{position:absolute!important;inset:0;width:100%!important;height:100%;margin:0!important;padding:0;pointer-events:none;z-index:auto}
.cai-hero>.cai-grid-w>.elementor-widget-container,.cai-gridhost>.cai-grid-w>.elementor-widget-container{position:absolute;inset:0}
.cai-hero [data-cai-grid] canvas,.cai-gridhost [data-cai-grid] canvas{-webkit-mask-image:linear-gradient(180deg,#000 55%,transparent 100%);mask-image:linear-gradient(180deg,#000 55%,transparent 100%)}
.cai-hero__in,.cai-gridhost__in{position:relative;z-index:1}

/* Subline: max 82ch like the design */
.cai-hero .cai-sub :is(p,.elementor-heading-title){max-width:82ch;text-wrap:pretty}

/* Orange crosshair corner marks at the bottom of the hero (desktop only).
   One ::after draws both (Elementor already uses .e-con::before for its overlay). */
.cai-hero__in::after{content:"";position:absolute;left:-4px;right:-4px;bottom:-5px;height:9px;z-index:9000;pointer-events:none;
  background:
    linear-gradient(#F25A36,#F25A36) 0 4px/9px 1px no-repeat,
    linear-gradient(#F25A36,#F25A36) 4px 0/1px 9px no-repeat,
    linear-gradient(#F25A36,#F25A36) 100% 4px/9px 1px no-repeat,
    linear-gradient(#F25A36,#F25A36) calc(100% - 4px) 0/1px 9px no-repeat}
@media (max-width:767px){.cai-hero__in::after{display:none}}

/* Buttons: never wrap */
.cai-hero .elementor-button{white-space:nowrap;flex-shrink:0}

/* Header */
.cai-header .elementor-nav-menu--main .elementor-item{white-space:nowrap}

::selection{background:#B3D3FC;color:#202321}
@media (prefers-reduced-motion:reduce){.cai-rise-1,.cai-rise-2,.cai-rise-3,.cai-hero h1 .cai-dot{animation:none}}

/* Logo: SVG has no CSS size of its own */
.elementor-widget-image.cai-logo img,.elementor-widget-image.cai-logo a img[src$=".svg"]{height:25px;width:auto;max-width:none;display:block}
.cai-logo,.cai-logo .elementor-widget-container{flex:0 0 auto;width:auto}

/* Mobile/tablet: Contact moves into the hamburger menu (as in the design) */
.cai-header .elementor-nav-menu--main .cai-menu-contact{display:none}
@media (max-width:1024px){.cai-header .cai-contact{display:none}.cai-header .elementor-nav-menu--dropdown .cai-menu-contact{display:block}}

/* ================= Mega menu (Pro Mega Menu widget in the header) ================= */
@keyframes cai-nudge{0%,100%{transform:translateX(0)}30%{transform:translateX(5px)}55%{transform:translateX(-1px)}75%{transform:translateX(3px)}}
a[href]:hover [data-arrow],a[href]:focus-visible [data-arrow]{animation:cai-nudge 700ms cubic-bezier(.2,0,0,1) 1;color:#F25A36!important}

/* Top-level items: 56px tall, 2px ink underline while their panel is open */
.cai-header .cai-mega .e-n-menu-title{height:56px;box-sizing:border-box;padding:0 10px;border-top:2px solid transparent;border-bottom:2px solid transparent;background:transparent;font:500 14px/20px 'Geist',sans-serif}
.cai-header .cai-mega .e-n-menu-dropdown-icon{margin:0}
.cai-header .cai-mega .e-n-menu-item:hover>.e-n-menu-title,
.cai-header .cai-mega .e-n-menu-item:has(>.e-n-menu-content>.e-active)>.e-n-menu-title{border-bottom-color:#202321}

/* Desktop: the panel hangs off the header row (not the menu widget) so it is as wide as the design's 1236px card */
@media (min-width:1025px){
  .cai-header .cai-right,.cai-header .cai-mega,.cai-header .cai-mega>.elementor-widget-container,
  .cai-header .cai-mega .e-n-menu,.cai-header .cai-mega .e-n-menu-wrapper,.cai-header .cai-mega .e-n-menu-heading,.cai-header .cai-mega .e-n-menu-item{position:static!important}
  .cai-header .cai-mega .e-n-menu-content{left:32px!important;right:32px!important;width:auto!important;top:56px!important;padding-top:1px}
  .cai-header .cai-mega .e-n-menu-item:last-child{display:none} /* "Contact us" item is for the mobile dropdown only */
}
.cai-header .cai-mega .e-n-menu-content>.e-con.e-active{animation:cai-menu 200ms cubic-bezier(.2,0,0,1) both}

/* Panel content */
.cai-mm-panel a.e-con,.cai-mm-panel a.e-con:hover{text-decoration:none;color:inherit}
.cai-mm-panel .cai-mm-label .elementor-heading-title{font:500 12px/16px 'JetBrains Mono',ui-monospace,monospace;letter-spacing:.04em;text-transform:uppercase;color:#999}
.cai-mm-panel .cai-mm-title .elementor-heading-title{font:500 16px/24px 'Geist',sans-serif;letter-spacing:0;color:#202321}
.cai-mm-panel .cai-mm-desc .elementor-heading-title{font:400 16px/1.5 'Geist',sans-serif;letter-spacing:0;color:#6E6B68}
.cai-mm-panel .cai-mm-case .elementor-heading-title{font:400 16px/1.5 'Geist',sans-serif;letter-spacing:0;color:#413F3E}
.cai-mm-panel .cai-mm-title,.cai-mm-panel .cai-mm-desc,.cai-mm-panel .cai-mm-label,.cai-mm-panel .cai-mm-case{text-align:left}
.cai-mm-panel .cai-mm-logo img,.cai-mm-panel .cai-mm-logo a img[src$=".svg"]{height:28px;width:auto;max-width:none;opacity:.86;display:block}
.cai-mm-panel .cai-mm-feature>a.e-con{flex:1}
.cai-mm-panel .cai-mm-brief .elementor-button{width:100%;justify-content:center}

/* Before / after bars in the featured case-study card */
.cai-mm-bars{display:flex;flex-direction:column;gap:10px}
.cai-mm-bars>div{display:grid;grid-template-columns:52px 1fr auto;align-items:center;gap:10px}
.cai-mm-bars .cai-mm-label{font:500 12px/16px 'JetBrains Mono',ui-monospace,monospace;letter-spacing:.04em;text-transform:uppercase;color:#202321}
.cai-mm-bar{display:block;height:6px;border-radius:3px;background:#D9D9D9}
.cai-mm-bar--sig{width:8%;min-width:6px;background:#F25A36;justify-self:start}
.cai-mm-val{font:400 16px/1.5 'Geist',sans-serif;color:#6E6B68}
.cai-mm-val--ink{color:#202321}

/* Tablet / mobile: single column dropdown, no featured card */
@media (max-width:1024px){
  .cai-mm-feature{display:none!important}
  .cai-header .cai-mega{--n-menu-title-justify-content-mobile:flex-start}
  .cai-header .cai-mega .e-n-menu[data-layout=dropdown] .e-n-menu-wrapper{background:#FCFCFC;border-top:1px solid rgba(0,0,0,.08);box-shadow:0 24px 48px -12px rgba(26,25,23,.18);padding:8px 12px 24px;max-height:calc(100vh - 90px)}
  .cai-header .cai-mega .e-n-menu-title{height:auto;min-height:48px;border:0;border-bottom:1px solid rgba(0,0,0,.08);padding:0 8px;background:transparent}
  .cai-header .cai-mega .e-n-menu[data-layout=dropdown] .e-n-menu-title{background:transparent}
  .cai-header .cai-mega .e-n-menu-item:last-child .e-n-menu-title{border-bottom:0}
  .cai-mm-panel{border:0!important;box-shadow:none!important;border-radius:0!important;background:transparent!important}
  .cai-header .cai-mega .e-n-menu[data-layout=dropdown] .e-n-menu-title,.cai-header .cai-mega .e-n-menu[data-layout=dropdown] .e-n-menu-title-container{justify-content:flex-start!important}
}
/* The kit styles every <button> as a teal button; the menu's own buttons must stay plain */
.cai-header .cai-mega .e-n-menu-toggle,.cai-header .cai-mega .e-n-menu-dropdown-icon{background:transparent!important;border:0!important;box-shadow:none!important}
@media (prefers-reduced-motion:reduce){.cai-header .cai-mega .e-n-menu-content>.e-con.e-active{animation:none}}

/* ================= What we do (dark section) ================= */
.cai-wwd .cai-wwd-h2 .elementor-heading-title{margin:0 0 0 -.04em;max-width:none;text-wrap:balance}
.cai-wwd .cai-wwd-lead :is(p,.elementor-heading-title){max-width:65ch}
.cai-wwd .cai-wwd-lead p,.cai-wwd .cai-wwd-desc p{margin:0;text-wrap:pretty}
.cai-wwd .cai-wwd-desc :is(p,.elementor-heading-title){max-width:28ch}
.cai-wwd h3.elementor-heading-title{margin:0}

/* Staggered reveal: paused until the section scrolls in (script adds .is-in) */
.cai-wwd .cai-r{animation:cai-rise 600ms cubic-bezier(.2,0,0,1) both;animation-play-state:paused}
.cai-wwd.is-in .cai-r{animation-play-state:running}
.cai-wwd .cai-stage:nth-child(2){animation-delay:140ms}.cai-wwd .cai-stage:nth-child(3){animation-delay:280ms}
.cai-wwd .cai-stage:nth-child(4){animation-delay:420ms}.cai-wwd .cai-stage:nth-child(5){animation-delay:560ms}.cai-wwd .cai-stage:nth-child(6){animation-delay:700ms}
.elementor-editor-active .cai-wwd .cai-r{animation:none}

/* Stage: 44px icon (base + line in ivory, accent fills orange on hover), rule with travelling dot */
.cai-wwd .cai-ico{width:44px;height:44px;margin-bottom:12px}
.cai-wwd .cai-ico b{position:absolute;inset:0;background:#F5F3ED;-webkit-mask:var(--line) center/contain no-repeat;mask:var(--line) center/contain no-repeat}
.cai-wwd .cai-line{margin:0 0 12px;background:#413F3E}
.cai-wwd .cai-line::before{z-index:1}
.cai-wwd .cai-line u{position:absolute;inset:0;background:#F5F3ED;transform-origin:left;animation:cai-grow 500ms cubic-bezier(.2,0,0,1) both;animation-play-state:paused}
.cai-wwd.is-in .cai-line u{animation-play-state:running}
.cai-wwd .cai-line i{z-index:2;top:-3px;animation:cai-pop 300ms cubic-bezier(.2,0,0,1) both;animation-play-state:paused}
.cai-wwd.is-in .cai-line i{animation-play-state:running}
.cai-wwd .cai-stage:nth-child(2) :is(u,i){animation-delay:140ms}.cai-wwd .cai-stage:nth-child(3) :is(u,i){animation-delay:280ms}
.cai-wwd .cai-stage:nth-child(4) :is(u,i){animation-delay:420ms}.cai-wwd .cai-stage:nth-child(5) :is(u,i){animation-delay:560ms}.cai-wwd .cai-stage:nth-child(6) :is(u,i){animation-delay:700ms}
.elementor-editor-active .cai-wwd :is(u,i){animation:none}

/* CTA bar: orange rule sweeps across while the button is hovered (all six stages play) */
.cai-ctabar{position:relative}
.cai-ctabar::after{content:"";position:absolute;left:0;right:0;top:-1px;height:1px;background:#F25A36;transform:scaleX(0);transform-origin:left;transition:transform 650ms cubic-bezier(.2,0,0,1);pointer-events:none}
.cai-ctabar.is-hot::after{transform:scaleX(1)}
.cai-ctabar .elementor-widget-text-editor p{margin:0}

/* Button on dark ground: ivory fill, white sweep */
.cai-fill-dark .elementor-button{background-color:#F5F3ED!important;border-color:#F5F3ED!important;color:#202321!important;white-space:nowrap;
  background-image:linear-gradient(#fff,#fff)!important;background-repeat:no-repeat!important;background-position:right center!important;background-size:0% 100%!important}
.elementor-widget-button.cai-fill-dark .elementor-button:hover,.elementor-widget-button.cai-fill-dark .elementor-button:focus-visible{background-color:#F5F3ED!important;border-color:#F5F3ED!important;background-position:left center!important;background-size:100% 100%!important;color:#202321!important}
@media (prefers-reduced-motion:reduce){.cai-wwd .cai-r,.cai-wwd :is(u,i){animation:none}}

/* ================= Who we serve + logo strip ================= */
@keyframes cai-marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.cai-who .cai-sec-h2 .elementor-heading-title{margin:0 0 0 -.04em;max-width:none;text-wrap:balance}
.cai-who .cai-r{animation:cai-rise 600ms cubic-bezier(.2,0,0,1) both;animation-play-state:paused}
.cai-who.is-in .cai-r{animation-play-state:running}
.cai-who .cai-aud:nth-child(2){animation-delay:100ms}.cai-who .cai-aud:nth-child(3){animation-delay:200ms}
.elementor-editor-active .cai-who .cai-r{animation:none}
.cai-aud-p p{margin:0;text-wrap:pretty}
.cai-aud h3.elementor-heading-title{margin:0}
.cai-aud .cai-ghost{margin-top:auto}

/* Ghost button (outlined, fills ink on hover) */
.elementor-widget-button.cai-ghost .elementor-button,.cai-header .cai-contact .elementor-button{background-color:transparent!important;color:#202321!important;border:1px solid rgba(0,0,0,.24)!important;white-space:nowrap;
  background-image:linear-gradient(#202321,#202321)!important;background-repeat:no-repeat!important;background-position:right center!important;background-size:0% 100%!important;
  transition:background-size 450ms cubic-bezier(.2,0,0,1),color 300ms cubic-bezier(.2,0,0,1),border-color 300ms cubic-bezier(.2,0,0,1)!important}
.elementor-widget-button.cai-ghost .elementor-button:hover,.elementor-widget-button.cai-ghost .elementor-button:focus-visible,.cai-header .cai-contact .elementor-button:hover,.cai-header .cai-contact .elementor-button:focus-visible{
  background-color:transparent!important;background-position:left center!important;background-size:100% 100%!important;color:#FCFCFC!important;border-color:#202321!important}

/* Logo marquee */
.cai-mq{width:100%;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent);mask-image:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent)}
.cai-mq__t{display:flex;width:max-content;animation:cai-marquee 45s linear infinite}
.cai-mq-i{flex-shrink:0;height:72px;padding:0 32px;display:flex;align-items:center}
.cai-mq-i img{width:auto;display:block;opacity:.86;max-width:none}
.cai-mq-dow{font-family:'Gill Sans','Gill Sans MT',Calibri,'Trebuchet MS',sans-serif;font-variant:small-caps;line-height:1.02;white-space:nowrap;opacity:.92;color:#202321;letter-spacing:.01em;font-size:16px}
.cai-mq-dow b{display:block;font-weight:700}.cai-mq-dow span{display:block;font-weight:400}
@media (prefers-reduced-motion:reduce){.cai-who .cai-r{animation:none}.cai-mq__t{animation:none}}

/* ================= NetworkOS (teal band) ================= */
.cai-dots{position:absolute;inset:0;background-size:24px 24px;background-position:12px 12px;-webkit-mask-image:linear-gradient(180deg,#000 45%,transparent 100%);mask-image:linear-gradient(180deg,#000 45%,transparent 100%);pointer-events:none}
.cai-net .cai-sec-h2 .elementor-heading-title{margin:0 0 0 -.04em;max-width:none;text-wrap:balance}
.cai-net .cai-net-tag :is(p,.elementor-heading-title){max-width:40ch}
.cai-net .cai-net-tag .elementor-heading-title{margin:0;text-wrap:balance}
.cai-net .cai-net-body :is(p,.elementor-heading-title){max-width:65ch}
.cai-net .cai-net-body p{margin:0;text-wrap:pretty}
.cai-net .cai-r{animation:cai-rise 600ms cubic-bezier(.2,0,0,1) both;animation-play-state:paused}
.cai-net.is-in .cai-r{animation-play-state:running}
.elementor-editor-active .cai-net .cai-r{animation:none}
@media (prefers-reduced-motion:reduce){.cai-net .cai-r{animation:none}}

/* ================= Products walkthrough ================= */
@keyframes cai-blink{0%,49%{opacity:.15}50%,100%{opacity:1}}
.cai-sticky{position:absolute;inset:0}
.cai-sticky__v{position:sticky;top:0;height:100vh;overflow:hidden}
.cai-prod .cai-pin{position:sticky;top:56px;height:calc(100vh - 56px);transform:translateZ(0);will-change:transform}
.cai-prod .cai-sec-h2 .elementor-heading-title{margin:0 0 0 -.04em;max-width:none;text-wrap:balance}
.cai-prod .cai-net-tag :is(p,.elementor-heading-title){max-width:40ch}
.cai-prod .cai-net-tag .elementor-heading-title{margin:0;text-wrap:balance}
.cai-prod .cai-net-body--48 :is(p,.elementor-heading-title){max-width:48ch}
.cai-prod .cai-net-body p{margin:0;text-wrap:pretty}
.cai-step--last{padding-bottom:18vh!important}

.cai-eb .elementor-heading-title{font:500 12px/16px 'JetBrains Mono',ui-monospace,monospace;letter-spacing:.04em;text-transform:uppercase;color:#B3D3FC;margin:0}
.cai-cont{display:block;margin-top:8px;font-size:16px;line-height:1.5;font-weight:400;letter-spacing:-.015em;color:#B3D3FC}
.cai-prod h3.elementor-heading-title,.cai-pm h3.elementor-heading-title{margin:0;text-wrap:balance}
.cai-pdesc :is(p,.elementor-heading-title){max-width:56ch}.cai-pm .cai-pdesc :is(p,.elementor-heading-title){max-width:48ch}
.cai-pdesc p{margin:0;text-wrap:pretty}

/* Screen frame: title bar with a blinking dot and shot pickers, stacked iframes below */
.cai-frame{display:flex;flex-direction:column;width:100%;background:#F5F3ED;border-radius:8px;overflow:hidden}
.cai-frame--pin{max-width:calc((100vh - 200px)*4/3);margin-left:auto;box-shadow:0 1px 2px rgba(0,0,0,.12),0 16px 40px -20px rgba(0,0,0,.5)}
.cai-frame__bar{height:36px;padding:0 14px;display:flex;align-items:center;border-bottom:1px solid rgba(0,0,0,.08);font:400 14px/1.5 'Geist',sans-serif;color:#413F3E}
.cai-frame__t{display:flex;align-items:center;gap:8px;white-space:nowrap}
.cai-frame__t i{width:6px;height:6px;border-radius:50%;background:#B3D3FC;animation:cai-blink 1400ms steps(1) 300ms 3 both}
.cai-frame__dots{margin-left:auto;margin-right:-6px;display:flex;align-items:center}
.cai-frame__dots button{all:unset;box-sizing:border-box;cursor:pointer;width:24px;height:24px;display:flex!important;align-items:center;justify-content:center;border-radius:4px;padding:0!important;background:transparent!important;border:0!important;box-shadow:none!important}
.cai-frame__dots button:hover{background:rgba(0,0,0,.06)!important}
.cai-frame__dots button span{width:6px;height:6px;border-radius:50%;background:rgba(0,0,0,.22);transition:background 200ms cubic-bezier(.2,0,0,1)}
.cai-frame__dots button[aria-pressed=true] span{background:#202321}
.cai-frame__body{box-sizing:border-box;width:100%;min-width:0;padding:16px 16px 0}
.cai-frame .cai-illus{border-radius:6px 6px 0 0;background:#F3F3F3;outline:0}
.cai-frame--teal{background:#0C615E;border:1px solid rgba(245,243,237,.2);max-width:calc((100vh - 120px)*4/3)}
.cai-frame--teal .cai-frame__bar{border-bottom-color:rgba(245,243,237,.2);color:#D9E6E3}
.cai-frame--teal .cai-frame__dots button:hover{background:rgba(245,243,237,.1)!important}
.cai-frame--teal .cai-frame__body{padding:clamp(12px,2vw,24px) clamp(12px,2vw,24px) 0}

/* Tablet / mobile product sections: text + frame wrap side by side, alternate sides */
.cai-pm .cai-pm__text{flex:5 1 320px!important;width:auto!important;min-width:0}
.cai-pm .cai-pm__frame{flex:7 1 440px!important;width:auto!important;min-width:0}
@media (prefers-reduced-motion:reduce){.cai-frame__t i{animation:none}}

/* ================= Mission Success ================= */
.cai-ms .cai-sec-h2 .elementor-heading-title{margin:0 0 0 -.04em;max-width:none;text-wrap:balance}
.cai-ms .cai-ms-lead :is(p,.elementor-heading-title){max-width:65ch}
.cai-ms .cai-ms-lead p{margin:0;text-wrap:pretty}
.cai-ms .cai-r{animation:cai-rise 600ms cubic-bezier(.2,0,0,1) both;animation-play-state:paused}
.cai-ms.is-in .cai-r{animation-play-state:running}
.cai-ms .cai-phase:nth-child(2){animation-delay:120ms}.cai-ms .cai-phase:nth-child(3){animation-delay:240ms}
.elementor-editor-active .cai-ms .cai-r{animation:none}
.cai-tags ul{list-style:none;margin:0;padding:0;border-top:1px solid rgba(0,0,0,.08)}
.cai-tags li{margin:0;padding:10px 0;border-bottom:1px solid rgba(0,0,0,.08);font-size:14px;line-height:1.5;color:#413F3E}
@media (prefers-reduced-motion:reduce){.cai-ms .cai-r{animation:none}}

/* ================= Proof (case study) ================= */
.cai-case .cai-sec-h2 .elementor-heading-title{margin:0 0 0 -.04em;max-width:24ch;text-wrap:balance}
.cai-case .cai-case-lead p{margin:0;text-wrap:pretty}
.cai-case .cai-r{animation:cai-rise 600ms cubic-bezier(.2,0,0,1) both;animation-play-state:paused}
.cai-case.is-in .cai-r{animation-play-state:running}
.cai-case .cai-featcard{animation-delay:100ms}
.cai-case .cai-statrow:nth-child(1){animation-delay:200ms}.cai-case .cai-statrow:nth-child(2){animation-delay:300ms}.cai-case .cai-statrow:nth-child(3){animation-delay:400ms}
.elementor-editor-active .cai-case .cai-r{animation:none}

.cai-masklogo{display:block;width:174px;height:58px;background-color:#F5F3ED;-webkit-mask:var(--logo) left center/contain no-repeat;mask:var(--logo) left center/contain no-repeat}
.cai-bigstat{container-type:inline-size;width:100%}
.cai-bigstat span{display:block;white-space:nowrap;font:450 min(clamp(44px,calc(3vw + 24px),72px),15cqi)/1.05 'Geist',sans-serif;font-variant-numeric:tabular-nums;letter-spacing:-.03em;color:#fff}
.cai-bigstat i{font-style:normal;color:#B3D3FC}
.cai-case .cai-case-lbl .elementor-heading-title{font:500 16px/24px 'Geist',sans-serif;letter-spacing:0;color:#B3D3FC;margin:0}
.cai-case .cai-case-txt{margin-top:8px}.cai-case .cai-case-txt :is(p,.elementor-heading-title){max-width:40ch}
.cai-case .cai-case-txt p{margin:0;text-wrap:pretty}

.cai-case .cai-statnum .elementor-counter-number-wrapper{font:450 clamp(28px,calc(1.5vw + 16px),40px)/1.15 'Geist',sans-serif;font-variant-numeric:tabular-nums;letter-spacing:-.03em;color:#202321;white-space:nowrap;justify-content:flex-start}
.cai-case .cai-statnum .elementor-counter-title{display:none}
.cai-case .cai-stat-l .elementor-heading-title{font:500 16px/24px 'Geist',sans-serif;letter-spacing:0;color:#202321;margin:0}
.cai-case .cai-stat-p{margin-top:8px}
.cai-case .cai-stat-l{margin-top:2px}
.cai-case .cai-stat-p p{margin:0;font-size:14px;line-height:1.5;color:#6E6B68;text-wrap:pretty}
@media (prefers-reduced-motion:reduce){.cai-case .cai-r{animation:none}}
.cai-case .elementor-widget:has(.cai-bigstat){width:100%}
.cai-case .cai-statnum,.cai-case .cai-statnum .elementor-counter,.cai-case .cai-statnum .elementor-counter-number-wrapper{text-align:left;justify-content:flex-start}
.cai-case .cai-statnum .elementor-counter-number-prefix,.cai-case .cai-statnum .elementor-counter-number-suffix{flex-grow:0}
.cai-case .cai-statnum .elementor-counter-number-prefix:empty{display:none}

/* ================= Security and hosting ================= */
.cai-secur .cai-sec-h2 .elementor-heading-title{margin:0 0 0 -.04em;max-width:none;text-wrap:balance}
.cai-secur .cai-sec-lead :is(p,.elementor-heading-title){max-width:65ch}
.cai-secur .cai-sec-lead p,.cai-secur .cai-sec-p p{margin:0;text-wrap:pretty}
.cai-secur h3.elementor-heading-title{margin:0}
.cai-eb--teal .elementor-heading-title{color:#094F4D}
.cai-secur .cai-sec-note p{margin:0;font-size:14px;line-height:1.5;color:#6E6B68;font-variant-numeric:tabular-nums}
.cai-secur .cai-r{animation:cai-rise 600ms cubic-bezier(.2,0,0,1) both;animation-play-state:paused}
.cai-secur.is-in .cai-r{animation-play-state:running}
.cai-secur .cai-sec-block{animation-delay:280ms}
.elementor-editor-active .cai-secur .cai-r{animation:none}
@media (prefers-reduced-motion:reduce){.cai-secur .cai-r{animation:none}}

/* ================= Latest from the blog ================= */
.cai-blog .cai-sec-h2 .elementor-heading-title{margin:0 0 0 -.04em;max-width:24ch;text-wrap:balance}
.cai-blog .cai-r{animation:cai-rise 600ms cubic-bezier(.2,0,0,1) both;animation-play-state:paused}
.cai-blog.is-in .cai-r{animation-play-state:running}
.cai-blog .cai-post:nth-child(2){animation-delay:100ms}.cai-blog .cai-post:nth-child(3){animation-delay:200ms}
.elementor-editor-active .cai-blog .cai-r{animation:none}
a.cai-post,a.cai-post:hover{color:inherit;text-decoration:none}
.cai-blog .cai-post .cai-post-img{margin-bottom:10px}
.cai-post-img,.cai-post-img>.elementor-widget-container{aspect-ratio:16/9;border-radius:8px;overflow:hidden;background:#EBEBEB;outline:1px solid rgba(26,25,23,.1);outline-offset:-1px}
.cai-post-img img{display:block;width:100%;height:100%;object-fit:cover;max-width:none}
.cai-blog .cai-post-meta .elementor-heading-title{font:400 14px/1.5 'Geist',sans-serif;letter-spacing:0;color:#6E6B68;margin:0}
.cai-blog .cai-post-title .elementor-heading-title{font:500 16px/24px 'Geist',sans-serif;letter-spacing:0;color:#202321;margin:0;text-wrap:balance}
.cai-blog .cai-more .elementor-heading-title{font:500 16px/24px 'Geist',sans-serif;letter-spacing:0;margin:0}
.cai-blog .cai-more a{display:inline-flex;align-items:center;gap:6px;color:#202321;text-decoration:underline;text-decoration-color:rgba(32,35,33,.3);text-underline-offset:3px}
.cai-blog .cai-more a:hover{text-decoration-color:#202321}
/* Blog hover: links and cards turn turquoise (#094F4D); no spotlight. Photos stay greyscale. */
.cai-post-img img{filter:grayscale(1)}
.cai-post-img,.cai-post-img>.elementor-widget-container{transition:outline-color 250ms cubic-bezier(.2,0,0,1)}
.cai-blog .cai-post-title .elementor-heading-title,.cai-blog .cai-more .elementor-heading-title,.cai-blog .cai-more a{transition:color 250ms cubic-bezier(.2,0,0,1),text-decoration-color 250ms cubic-bezier(.2,0,0,1)}
.cai-blog a.cai-post:hover .cai-post-title .elementor-heading-title,.cai-blog a.cai-post:focus-visible .cai-post-title .elementor-heading-title{color:#094F4D}
.cai-blog a.cai-post:hover .cai-post-img,.cai-blog a.cai-post:hover .cai-post-img>.elementor-widget-container,.cai-blog a.cai-post:focus-visible .cai-post-img{outline-color:#094F4D}
.cai-blog .cai-more a:hover,.cai-blog .cai-more a:hover .elementor-heading-title,.cai-blog .cai-more a:focus-visible{color:#094F4D;text-decoration-color:#094F4D}
/* Article cards (Home + /blog/ + related): hovering or focusing a card lays an opaque teal overlay over its photo (client review, row 11) */
.cai-post-img,.cai-lp-img{position:relative}
.cai-post-img::after,.cai-lp-img::after{content:"";position:absolute;inset:0;background:rgba(9,79,77,.2);opacity:0;pointer-events:none;transition:opacity 250ms cubic-bezier(.2,0,0,1)}
a.cai-post:hover .cai-post-img::after,a.cai-post:focus-visible .cai-post-img::after,a.cai-lp:hover .cai-lp-img::after,a.cai-lp:focus-visible .cai-lp-img::after{opacity:1}
@media (prefers-reduced-motion:reduce){.cai-post-img::after,.cai-lp-img::after{transition:none}}

/* ================= Final CTA (dark) ================= */
.cai-cta>.cai-grid-w{-webkit-mask-image:linear-gradient(90deg,transparent 30%,#000 75%);mask-image:linear-gradient(90deg,transparent 30%,#000 75%)}
.cai-cta .cai-dots,.cai-cta [data-cai-grid] canvas{-webkit-mask-image:none;mask-image:none}
.cai-cta .cai-sec-h2 .elementor-heading-title{margin:0 0 0 -.04em;max-width:none;text-wrap:balance}
.cai-cta .cai-cta-p :is(p,.elementor-heading-title){max-width:65ch}
.cai-cta .cai-cta-p p,.cai-cta .cai-dd p{margin:0;text-wrap:pretty}
.cai-cta .cai-r{animation:cai-rise 600ms cubic-bezier(.2,0,0,1) both;animation-play-state:paused}
.cai-cta.is-in .cai-r{animation-play-state:running}
.cai-cta .cai-cta2{animation-delay:120ms}
.elementor-editor-active .cai-cta .cai-r{animation:none}
.cai-cta .cai-dt{flex:0 0 140px;width:140px}
.cai-cta .cai-dt .elementor-heading-title{font:500 16px/24px 'Geist',sans-serif;letter-spacing:0;color:#F5F3ED;margin:0}
.cai-cta .cai-dd{flex:1 1 280px;min-width:0}
.cai-cta .cai-ulink{font-weight:500;color:#F5F3ED;white-space:nowrap;text-decoration:underline;text-decoration-color:rgba(245,243,237,.35);text-underline-offset:3px}
.cai-cta .cai-ulink:hover{text-decoration-color:#F5F3ED}
@media (prefers-reduced-motion:reduce){.cai-blog .cai-r,.cai-cta .cai-r{animation:none}}

/* ================= Footer ================= */
.cai-flogo,.cai-flogo .elementor-widget-container{align-self:flex-start;width:auto}
.elementor-widget-image.cai-flogo img,.elementor-widget-image.cai-flogo a img[src$=".svg"]{height:23px;width:auto;max-width:none;display:block}
.cai-footer .cai-flabel .elementor-heading-title{font:500 12px/16px 'JetBrains Mono',ui-monospace,monospace;letter-spacing:.04em;text-transform:uppercase;color:#F5F3ED;margin:0}
.cai-footer .cai-flabel:not(.cai-flabel--row){padding-bottom:8px}
.cai-footer .cai-flegal{width:auto!important;flex:0 0 auto}
.cai-flinks .elementor-icon-list-items{display:flex;flex-direction:column;gap:4px;margin:0;padding:0;list-style:none}
.cai-flinks .elementor-icon-list-item{margin:0;padding:0}
.cai-flinks .elementor-icon-list-item>a{display:block;text-decoration:none}
.cai-flinks .elementor-icon-list-text{font:400 16px/1.5 'Geist',sans-serif;letter-spacing:0;color:#D9E6E3;transition:none}
.cai-flinks .elementor-icon-list-item>a:hover .elementor-icon-list-text{color:#fff}
.cai-flinks .elementor-icon-list-icon{display:none}

/* ================= Mobile header: hamburger + left slide-in sheet (Off-Canvas) ================= */
.cai-burger{width:44px;height:44px;margin-right:-8px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;border-radius:6px;text-decoration:none}
.cai-burger:hover{background:#F3F3F3}
.cai-burger span{display:block;width:20px;height:1.5px;background:#202321}
@media (max-width:1024px){.cai-header .cai-burger-w,.cai-header .cai-burger-w>.elementor-widget-container{width:auto;display:flex;align-items:center}}
@media (min-width:1025px){.cai-header .cai-burger-w{display:none!important}}
.cai-x{position:relative;display:block;width:44px;height:44px;border-radius:6px}
.cai-x:hover{background:#F3F3F3}
.cai-x span{position:absolute;left:12px;top:21px;width:20px;height:1.5px;background:#202321;transform:rotate(45deg)}
.cai-x span+span{transform:rotate(-45deg)}

.cai-sheet{--e-off-canvas-width:min(360px,88vw)!important;--e-off-canvas-overlay-opacity:.4}
.cai-sheet .cai-sheet-panel{height:100%;width:100%;max-width:none}
.cai-sheet-body{flex:1 1 auto;min-height:0;overflow-y:auto}
.elementor-widget-image.cai-sheet-logo img,.elementor-widget-image.cai-sheet-logo a img[src$=".svg"]{height:23px;width:116px;max-width:none;display:block}
.cai-sheet-logo{width:116px}
.cai-nlabel .elementor-heading-title{display:block;padding:0 8px 8px;font:500 12px/16px 'JetBrains Mono',ui-monospace,monospace;letter-spacing:.04em;text-transform:uppercase;color:#202321;margin:0}
.cai-nlist .elementor-icon-list-items{display:flex;flex-direction:column;margin:0;padding:0;list-style:none}
.cai-nlist .elementor-icon-list-item{margin:0;padding:0}
.cai-nlist .elementor-icon-list-item>a,.cai-nrow .elementor-heading-title a{display:flex;align-items:center;gap:8px;min-height:44px;padding:0 8px;border-radius:4px;text-decoration:none;font:450 16px/1.5 'Geist',sans-serif;letter-spacing:0;color:#202321}
.cai-nlist .elementor-icon-list-text{font:inherit;color:inherit;padding:0}
.cai-nlist .elementor-icon-list-icon{display:none}
.cai-nrow .elementor-heading-title{display:block;margin:0}
.cai-nrow--head .elementor-heading-title a{font-weight:500;color:#6E6B68}
.cai-nlist--sub .elementor-icon-list-item>a{padding-left:24px}
.cai-nlist .elementor-icon-list-item>a:hover,.cai-nrow .elementor-heading-title a:hover{background:#F3F3F3}
.cai-ghost--sheet .elementor-button{width:100%;height:44px;justify-content:center;font-size:16px;line-height:24px}
.cai-sheet .cai-sheet-panel{flex-wrap:nowrap!important}

/* --- sheet fixes: no column wrapping, kit typography overrides, admin-bar offset --- */
.cai-sheet .e-con{flex-wrap:nowrap!important}
.cai-sheet .cai-sheet-body{flex-wrap:nowrap!important}
.cai-sheet .cai-nrow .elementor-heading-title,.cai-sheet .cai-nrow .elementor-heading-title a{font-size:16px!important;line-height:1.5!important;font-weight:450!important;letter-spacing:0!important;color:#202321}
.cai-sheet .cai-nrow--head .elementor-heading-title a{font-weight:500!important;color:#6E6B68!important}
.cai-sheet .cai-nlist .elementor-icon-list-item>a,.cai-sheet .cai-nlist .elementor-icon-list-text{font-size:16px!important;line-height:1.5!important;font-weight:450!important;color:#202321!important;letter-spacing:0}
.cai-sheet .cai-nlist .elementor-icon-list-item>a:hover,.cai-sheet .cai-nrow .elementor-heading-title a:hover{background:#F3F3F3}
.cai-sheet .cai-nlabel .elementor-heading-title{font-size:12px!important;line-height:16px!important;font-weight:500!important;color:#202321!important}
body.admin-bar .cai-sheet .cai-sheet-panel{margin-top:46px;height:calc(100% - 46px)}
@media (min-width:783px){body.admin-bar .cai-sheet .cai-sheet-panel{margin-top:32px;height:calc(100% - 32px)}}
.cai-sheet .e-off-canvas__overlay{opacity:.4!important;background-color:#1A1917!important}

/* --- mobile menu folders: Capabilities / Who We Serve / Resources stay listed; a row expands its links in place (script adds .cai-fold) --- */
.cai-nfold-w{display:none}
.cai-sheet .cai-nfold{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:56px;padding:0 8px;border-radius:4px;text-decoration:none;font:500 16px/1.5 'Geist',sans-serif;letter-spacing:0;color:#202321;cursor:pointer;background:transparent;border:0;box-shadow:none}
.cai-sheet .cai-nfold:hover{background:#F3F3F3;color:#202321}
.cai-sheet .cai-nfold i{width:8px;height:8px;margin:-4px 6px 0 0;border-right:1.5px solid #6E6B68;border-bottom:1.5px solid #6E6B68;transform:rotate(45deg);transition:transform 200ms cubic-bezier(.2,0,0,1),margin 200ms cubic-bezier(.2,0,0,1);flex:none}
.cai-sheet .cai-nfold[aria-expanded="true"] i{transform:rotate(225deg);margin:4px 6px 0 0}
.cai-sheet .cai-nfold:focus-visible{outline:2px solid #202321;outline-offset:-2px}
.cai-sheet .cai-fold .cai-nfold-w{display:block}
.cai-sheet .cai-fold .cai-ngroup{padding-top:0;padding-bottom:0}
.cai-sheet .cai-fold .cai-ngroup>:not(.cai-nfold-w){display:none}
.cai-sheet .cai-fold .cai-ngroup.is-open{padding-bottom:8px}
.cai-sheet .cai-fold .cai-ngroup.is-open>:not(.cai-nfold-w):not(.cai-nlabel){display:block;animation:cai-fold-in 200ms cubic-bezier(.2,0,0,1) both}
@keyframes cai-fold-in{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.cai-sheet .cai-nfold i{transition:none}.cai-sheet .cai-fold .cai-ngroup.is-open>*{animation:none!important}}

/* ================= Page gutter lines (designer: full-height layer behind every section) ================= */
body{position:relative}
body::before{content:"";position:absolute;top:0;bottom:0;left:20px;right:20px;max-width:1300px;margin-inline:auto;box-sizing:border-box;border-inline:1px solid #E8E8E8;pointer-events:none;z-index:0}
@media (max-width:767px){body::before{display:none}}

/* ===== Delivery 2 updates ===== */
/* footer: solid teal, sits above the page gutter lines */
.cai-footer{position:relative;z-index:1}
.cai-footer .cai-flogo img{filter:brightness(0) invert(1)}
/* hero: soft corner glow behind the content */
.cai-hero::after,.cai-title::after{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse 70% 90% at 100% 0%,rgba(32,35,33,.06) 0%,rgba(32,35,33,.025) 40%,rgba(32,35,33,0) 75%)}
/* Mission Success: product screen tilted on pale blue */
.cai-ms-photo,.cai-ms-photo>.elementor-widget-container{position:relative;height:0;padding-top:56.25%;border-radius:8px;overflow:hidden;background:#B3D3FC}
.cai-slant{position:absolute;inset:0;border-radius:8px;overflow:hidden;background:#B3D3FC}
.cai-slant__in{position:absolute;left:12%;top:16%;width:104%;aspect-ratio:4/3;transform:rotate(-7deg);transform-origin:0 0;border-radius:8px;overflow:hidden;box-shadow:0 2px 4px rgba(0,0,0,.12),0 32px 64px -24px rgba(0,0,0,.55)}
.cai-slant__ill{position:relative;display:block;width:100%;height:100%;overflow:hidden;background:#F3F3F3}
.cai-slant iframe{position:absolute;inset:0;width:100%;height:100%;border:0;pointer-events:none;background:#F3F3F3}

/* ============ 7. Sub-pages (National Security …) ============ */
/* Reveal: a section's .cai-r blocks rise once when it scrolls in (script adds .is-in) */
.cai-reveal .cai-r{animation:cai-rise 600ms cubic-bezier(.2,0,0,1) both;animation-play-state:paused}
.cai-reveal.is-in .cai-r{animation-play-state:running}
.elementor-editor-active .cai-reveal .cai-r{animation:none}
.cai-rise-0{animation:cai-rise 400ms cubic-bezier(.2,0,0,1) 0ms both}
.cai-rise-r{animation:cai-rise 500ms cubic-bezier(.2,0,0,1) 120ms both}
@media (prefers-reduced-motion:reduce){.cai-reveal .cai-r,.cai-rise-0,.cai-rise-r{animation:none}}
.cai-eb--gray .elementor-heading-title{color:#9D9A97}
.cai-eb--ivory .elementor-heading-title{color:#F5F3ED}
.cai-eb--mute .elementor-heading-title{color:#6E6B68}

/* Title band: dots + grid fade in from the right; product screen tilted on pale blue */
.cai-title{overflow:hidden}
.cai-title--dark::after{background:radial-gradient(ellipse 70% 90% at 100% 0%,rgba(245,243,237,.06) 0%,rgba(245,243,237,.02) 40%,rgba(245,243,237,0) 75%)}
.cai-mask-a{-webkit-mask-image:linear-gradient(90deg,transparent 25%,#000 70%);mask-image:linear-gradient(90deg,transparent 25%,#000 70%)}
.cai-title .cai-dots,.cai-title [data-cai-grid] canvas{-webkit-mask-image:none;mask-image:none}
.cai-h1p .elementor-heading-title{margin:0 0 0 -.04em;max-width:none;text-wrap:balance}
.cai-lead :is(p,.elementor-heading-title){max-width:60ch}
.cai-lead p{margin:0;text-wrap:pretty}
.cai-slant--10{min-width:0}
.cai-rise-r{position:relative;aspect-ratio:16/10;min-width:0}
.cai-rise-r>.elementor-widget{position:absolute;inset:0}
.cai-slant--10 .cai-slant__in{top:14%}

/* Pain points → how we help: two columns joined by an orange arrow */
.cai-reveal.cai-pain .cai-sec-h2 .elementor-heading-title{margin:0 0 0 -.04em;max-width:16ch;text-wrap:balance}
.cai-pain h3.elementor-heading-title{margin:0}
.cai-pdesc-dim p,.cai-pdesc p{margin:0;text-wrap:pretty}
.cai-pair-arrow .elementor-heading-title{font:400 24px/30px 'Geist',sans-serif;letter-spacing:normal;color:#F25A36;text-align:center;margin:0}
.cai-tlink .elementor-heading-title{font:500 16px/24px 'Geist',sans-serif;letter-spacing:0;margin:0}
.cai-tlink a{display:inline-flex;align-items:center;gap:6px;color:#F5F3ED;text-decoration:underline;text-decoration-color:rgba(245,243,237,.4);text-underline-offset:3px}
.cai-tlink a:hover{text-decoration-color:#F5F3ED}
@media (max-width:767px){.cai-pair-gap{display:none}.cai-pair-arrow{width:24px}.cai-pair-arrow .elementor-heading-title{display:inline-block;text-align:left;transform:rotate(90deg)}}

/* Platform: accordion on the left, the open item's product screen on the right (sticky) */
.cai-plat .cai-sec-h2 .elementor-heading-title{margin:0 0 0 -.04em;max-width:none;text-wrap:balance}
.cai-plat-r{align-self:start;position:sticky;top:96px;aspect-ratio:4/3}
@media (max-width:767px){.cai-plat-r{position:relative;top:auto}}
.cai-panel{display:none;background:#F3F3F3;border-radius:8px;overflow:hidden}
.cai-panel.is-on{display:block}
.cai-plat-r>.elementor-widget{position:absolute;inset:0}
.cai-panel{position:absolute;inset:0}
.cai-panel__in{box-sizing:border-box;position:absolute;inset:0;padding:12px 12px 0}
.cai-panel__ill{position:relative;display:block;width:100%;height:100%;overflow:hidden;border-radius:4px 4px 0 0;background:#F3F3F3}
.cai-panel iframe{position:absolute;inset:0;width:100%;height:100%;border:0;pointer-events:none;background:#F3F3F3}
.cai-acc .e-n-accordion{display:flex;flex-direction:column;gap:0;border-bottom:1px solid rgba(245,243,237,.25)}
.cai-acc .e-n-accordion-item{border:0;border-top:1px solid rgba(245,243,237,.25);border-radius:0;background:none}
.cai-acc .e-n-accordion-item-title{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 0;cursor:pointer;border:0;background:none}
.cai-acc .e-n-accordion-item-title-text{font:500 24px/1.25 'Geist',sans-serif;letter-spacing:-.01em;color:#F5F3ED;opacity:.6;transition:opacity 250ms}
.cai-acc .e-n-accordion-item-title:hover .e-n-accordion-item-title-text{opacity:.85}
.cai-acc .e-n-accordion-item[open] .e-n-accordion-item-title-text{opacity:1}
.cai-acc .e-n-accordion-item-title:focus-visible{outline:2px solid #F5F3ED;outline-offset:2px}
.cai-acc .e-n-accordion-item-title-icon{display:none}
.cai-acc .e-n-accordion-item>.e-con{border:0;background:none}
.cai-acc-p p{margin:0;text-wrap:pretty}

/* Case studies: big counter */
.cai-cs .cai-cs-p :is(p,.elementor-heading-title){max-width:65ch}
.cai-cs .cai-cs-p p{margin:0;text-wrap:pretty}
.cai-bignum .elementor-counter-number-wrapper{font:400 clamp(48px,calc(4vw + 16px),88px)/1 'Geist',sans-serif;font-variant-numeric:normal;letter-spacing:-.03em;color:#202321;white-space:nowrap;justify-content:flex-start;margin-left:-.04em}
.cai-bignum .elementor-counter-title{display:none}
.cai-bignum,.cai-bignum .elementor-counter{text-align:left}
.cai-bignum .elementor-counter-number-prefix,.cai-bignum .elementor-counter-number-suffix{flex-grow:0}
.cai-bignum .elementor-counter-number-prefix:empty{display:none}

/* Header: orange dot beside the link to the page you are on (set by script) */
.cai-mm-panel a[aria-current="page"] .cai-mm-title{position:relative}
.cai-mm-panel a[aria-current="page"] .cai-mm-title::before{content:"";position:absolute;left:-12px;top:50%;width:6px;height:6px;margin-top:-3px;border-radius:50%;background:#F25A36}
/* a link that sits beside a vertical rule (Source/Acquire/Intelligence, Plan/Run/Win) lights the rule itself instead of showing the dot */
.cai-mm-panel .cai-mm-rail a[aria-current="page"] .cai-mm-title::before{display:none}
.cai-mm-panel .cai-mm-rail a[aria-current="page"]{position:relative}
.cai-mm-panel .cai-mm-rail a[aria-current="page"]::before{content:"";position:absolute;left:-5px;top:0;bottom:0;width:2px;background:#202321}
.cai-mm-panel .cai-mm-rail a[aria-current="page"] .cai-mm-title .elementor-heading-title{font-weight:600}
.cai-sheet a[aria-current="page"]{font-weight:600;box-shadow:inset 2px 0 #202321}
.cai-header .cai-mega .e-n-menu-title.is-current{border-bottom-color:#202321}
.cai-footer a[aria-current="page"] .elementor-icon-list-text{position:relative}
.cai-footer a[aria-current="page"] .elementor-icon-list-text::before{content:"";position:absolute;left:-12px;top:50%;width:6px;height:6px;margin-top:-3px;border-radius:50%;background:#F25A36}

/* Text: spacing comes from the containers' gaps, never from the browser's paragraph margins */
.elementor-widget-text-editor p{margin-block:0}

/* Label-style headings are spans: make them blocks so the widget is as tall as the text's own line-height (designer: block spans) */
.elementor-widget-heading span.elementor-heading-title{display:block}

/* Logos: the link around the image is a block, otherwise its line box adds a few pixels under the image */
.elementor-widget-image.cai-logo a,.elementor-widget-image.cai-flogo a,.elementor-widget-image.cai-sheet-logo a,.cai-mm-logo a{display:block}

/* Fonts: same fallback stacks as the design. Geist has no arrow glyph, so "→" is drawn by the system font in both. */
.elementor-kit-6{--e-global-typography-primary-font-family:Geist,system-ui,-apple-system;--e-global-typography-secondary-font-family:Geist,system-ui,-apple-system;--e-global-typography-text-font-family:Geist,system-ui,-apple-system;--e-global-typography-accent-font-family:Geist,system-ui,-apple-system;--e-global-typography-cai_h1home-font-family:Geist,system-ui,-apple-system;--e-global-typography-cai_h1sub-font-family:Geist,system-ui,-apple-system;--e-global-typography-cai_small-font-family:Geist,system-ui,-apple-system;--e-global-typography-cai_stat-font-family:Geist,system-ui,-apple-system;--e-global-typography-cai_label-font-family:"JetBrains Mono",ui-monospace}
[data-arrow],.cai-bigstat i{font-family:Geist,sans-serif}
/* design: the blog's "See more" link and the pain-point arrows inherit the page font stack (system arrow); every other arrow sits in a Geist + sans-serif run */
.cai-more [data-arrow],.cai-pain [data-arrow],.cai-tlink [data-arrow],.cai-pair-arrow .elementor-heading-title{font-family:Geist,system-ui,-apple-system,sans-serif}

/* Page ground is Canvas #FCFCFC (the theme's own white would show through transparent bands) */
body{background-color:#FCFCFC}


/* The "Not sure?" row is not balanced by the browser (the design leaves it plain) */
.cai-cta .cai-dd--plain p{text-wrap:wrap}

/* ============ Government / Commercial additions ============ */
.cai-eb--ink2 .elementor-heading-title{color:#413F3E}
.cai-cstudy .cai-sec-h2 .elementor-heading-title{margin:0 0 0 -.04em;max-width:none;text-wrap:balance}
.cai-cstudy-p p{margin:0;text-wrap:pretty}
.cai-cstudy-p :is(p,.elementor-heading-title){max-width:65ch}
.cai-quote p{margin:0;font:italic 400 16px/1.5 'Geist',sans-serif;color:#202321;text-wrap:pretty}
.cai-bignum-t .elementor-heading-title{display:block;font:400 clamp(48px,calc(4vw + 16px),88px)/1 'Geist',sans-serif;letter-spacing:-.03em;color:#202321;margin:0 0 0 -.04em}

/* ============ About ============ */
.cai-h1p--22 .elementor-heading-title{max-width:22ch}
.cai-fact .elementor-heading-title{margin:0}
.cai-reveal .cai-sec-h2 .elementor-heading-title{margin:0 0 0 -.04em;max-width:none;text-wrap:balance}
.cai-reveal h3.elementor-heading-title{margin:0}
.cai-bal .elementor-heading-title,:is(.cai-story,.cai-vm,.cai-diff,.cai-team,.cai-quotes,.cai-problem) h3.elementor-heading-title{text-wrap:balance}
.cai-p65 p{max-width:65ch;text-wrap:pretty}
.cai-lead-b p{margin:0;font:600 16px/1.5 'Geist',sans-serif;color:#202321;text-wrap:pretty}
.cai-qmark .elementor-heading-title{font:600 56px/.6 'Geist',sans-serif;color:#F25A36;height:24px;margin:0}
.cai-bq p{margin:0;font:450 clamp(20px,calc(.6vw + 14px),24px)/1.4 'Geist',sans-serif;letter-spacing:-.01em;color:#F5F3ED;text-wrap:pretty}
.cai-qname .elementor-heading-title{font:500 16px/24px 'Geist',sans-serif;letter-spacing:0;color:#F5F3ED;margin:0}
.cai-qrole .elementor-heading-title{font:400 14px/1.5 'Geist',sans-serif;letter-spacing:0;color:#D4D1CE;margin:0}
.cai-tlink.cai-tlink--ink a{color:#202321;text-decoration-color:rgba(127,127,127,.4)}
.cai-tlink.cai-tlink--ink a:hover{text-decoration-color:rgba(127,127,127,.4)}

/* ============ Contact form (Elementor Pro Form, class cai-form) ============
   The form widget writes per-element spacing/typography rules of high specificity, so these use !important. */
.cai-rise-f{animation:cai-rise 500ms cubic-bezier(.2,0,0,1) 120ms both}
@media (prefers-reduced-motion:reduce){.cai-rise-f{animation:none}}
.cai-formcard.e-con{padding:clamp(24px,3vw,32px)}
.cai-form .elementor-form-fields-wrapper{display:flex!important;flex-direction:column;flex-wrap:nowrap;gap:20px!important;margin:0!important}
.cai-form .elementor-field-group{width:100%;margin:0!important;padding:0!important;flex:0 0 auto}
.cai-form .elementor-field-group>label,.cai-form .elementor-field-label{display:block;margin:0 0 6px!important;padding:0!important;font:500 14px/20px 'Geist',sans-serif!important;letter-spacing:0!important;color:#202321!important}
.cai-form .elementor-field-textual{box-sizing:border-box;display:block;width:100%;height:44px;min-height:0;padding:0 12px!important;border:1px solid rgba(0,0,0,.24)!important;border-radius:6px!important;background:#FFFFFF!important;box-shadow:none!important;font:400 16px/24px 'Geist',sans-serif!important;letter-spacing:0;color:#202321!important}
.cai-form textarea.elementor-field-textual{height:auto;min-height:160px;padding:10px 12px!important;resize:vertical}
.cai-form .elementor-field-textual:focus{border-color:rgba(0,0,0,.24)!important;box-shadow:none!important;outline:2px solid #202321;outline-offset:2px}
.cai-form .e-form__buttons{display:flex!important;justify-content:flex-start!important}
.cai-form .e-form__buttons .elementor-button{width:auto!important;flex:0 0 auto!important;height:36px!important;min-height:36px!important;line-height:20px!important;font-size:14px!important}
.cai-form .elementor-message{margin:0!important;padding:0!important;font:400 16px/1.5 'Geist',sans-serif!important;color:#413F3E!important}
.cai-form .elementor-message-success{display:flex;flex-direction:column;gap:8px}
.cai-form .cai-ok-t{display:block;font:500 24px/1.25 'Geist',sans-serif;color:#202321}
.cai-form .cai-ok-p{display:block;font:400 16px/1.5 'Geist',sans-serif;color:#413F3E}
.cai-form .elementor-message-danger{color:#B3261E!important}
/* after a successful send the fields give way to the message, as in the design */
.cai-form .elementor-form:has(.elementor-message-success) .elementor-field-group{display:none!important}
.cai-form .elementor-message-success::before,.cai-form .elementor-message-success>svg,.cai-form .elementor-message-svg::before{display:none!important}
.cai-form .elementor-message-success{padding-left:0!important}

/* ============ NetworkOS ============ */
/* Title band: product window on a teal panel */
.cai-hpanel{position:relative;padding:clamp(20px,3vw,40px);background:#094F4D;border-radius:10px;overflow:hidden}
.cai-hwin{position:relative;background:#F3F3F3;border:1px solid rgba(0,0,0,.2);box-shadow:0 2px 4px rgba(0,0,0,.12),0 32px 64px -24px rgba(0,0,0,.55);border-radius:8px;overflow:hidden;display:flex;flex-direction:column}
.cai-hbar{box-sizing:border-box;height:32px;padding:0 12px;display:flex;align-items:center;gap:8px;border-bottom:1px solid rgba(0,0,0,.08)}
.cai-hbar span{width:6px;height:6px;border-radius:50%;background:#D9D9D9}
.cai-hbar span:first-child{background:#626862}
.cai-hbody{position:relative;width:100%;height:0;padding-top:75%}
.cai-hill{position:absolute;left:16px;right:16px;top:16px;bottom:0;display:block;overflow:hidden;border-radius:6px 6px 0 0;background:#F3F3F3;outline:1px solid rgb(26 25 23/.1);outline-offset:-1px}
.cai-hill iframe{position:absolute;inset:0;width:100%;height:100%;border:0;pointer-events:none;background:#F3F3F3}

/* The problem: four lost things (2 columns under 1000px, 1 under 560px) */
.cai-dot8{display:block;width:8px;height:8px;border-radius:50%;background:#F25A36}
.cai-lostd p{margin:0}
.cai-p52 p{max-width:52ch;margin:0;text-wrap:pretty}
@media (max-width:1000px){.cai-lost{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media (max-width:560px){.cai-lost{grid-template-columns:minmax(0,1fr)!important}}

/* Key benefits: the rule draws itself in orange, a dot rides along it */
.cai-four{grid-template-columns:repeat(2,minmax(0,1fr))!important}
@media (min-width:1100px){.cai-four{grid-template-columns:repeat(4,minmax(0,1fr))!important}}
@media (max-width:600px){.cai-four{grid-template-columns:minmax(0,1fr)!important}}
.cai-bwrap{position:absolute!important;top:0;left:0;right:0;height:0;margin:0!important}
.cai-bwrap .elementor-widget-container{position:static}
.cai-bf{position:absolute;top:-1px;left:0;right:0;height:1px;background:#F25A36;transform:scaleX(0);transform-origin:left;transition:transform 700ms cubic-bezier(.2,0,0,1) 0ms}
.cai-bd{position:absolute;top:-4px;left:0;width:7px;height:7px;border-radius:50%;background:#202321;transition:left 700ms cubic-bezier(.2,0,0,1) 0ms,background-color 300ms 400ms}
.cai-four>:nth-child(2) .cai-bf{transition-delay:280ms}.cai-four>:nth-child(2) .cai-bd{transition-delay:280ms,680ms}
.cai-four>:nth-child(3) .cai-bf{transition-delay:560ms}.cai-four>:nth-child(3) .cai-bd{transition-delay:560ms,960ms}
.cai-four>:nth-child(4) .cai-bf{transition-delay:840ms}.cai-four>:nth-child(4) .cai-bd{transition-delay:840ms,1240ms}
.cai-build.is-on .cai-bf{transform:scaleX(1)}
.cai-build.is-on .cai-bd{left:calc(100% - 7px);background:#F25A36}
.cai-bp p{margin:0;text-wrap:pretty}
.elementor-editor-active .cai-build .cai-bf{transform:scaleX(1)}
@media (prefers-reduced-motion:reduce){.cai-bf,.cai-bd{transition:none}}

/* Who it's for / Mission Success */
.cai-nobal .elementor-heading-title{text-wrap:wrap!important}
.cai-p65 p{margin:0}
.cai-pushdown{margin-top:auto}
.cai-end{justify-self:end}
.cai-stp p{margin:0}

/* Products: closed items sit a little lower in contrast than on the audience pages */
.cai-acc--5 .e-n-accordion-item-title-text{opacity:.5}
.cai-acc--5 .e-n-accordion-item-title:hover .e-n-accordion-item-title-text{opacity:.85}
.cai-acc--5 .e-n-accordion-item[open] .e-n-accordion-item-title-text{opacity:1}

/* Mission Success: teal screen, 4:3 */
.cai-ar43{position:relative;aspect-ratio:4/3;min-width:0}
.cai-ar43>.elementor-widget{position:absolute;inset:0}
.cai-slant--teal{background:#094F4D}
.cai-slant--14 .cai-slant__in{top:14%}

/* FAQ: each question opens on its own, the plus turns into a cross */
.cai-faq .e-n-accordion{display:flex;flex-direction:column;gap:0;border-bottom:1px solid rgba(0,0,0,.12)}
.cai-faq .e-n-accordion-item{border:0!important;border-top:1px solid rgba(0,0,0,.12)!important;border-radius:0;background:none}
.cai-faq .e-n-accordion-item-title{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:18px 0!important;cursor:pointer;border:0!important;background:none!important}
.cai-faq .e-n-accordion-item-title-header{margin:0}
.cai-faq .e-n-accordion-item-title-text{font:500 16px/24px 'Geist',sans-serif;letter-spacing:0;color:#202321}
.cai-faq .e-n-accordion-item-title-icon{display:none!important}
.cai-faq .e-n-accordion-item-title::after{content:"+";flex-shrink:0;display:inline-block;font:500 20px/1 'Geist',sans-serif;color:#6E6B68;transition:transform 250ms cubic-bezier(.2,0,0,1)}
.cai-faq .e-n-accordion-item[open]>.e-n-accordion-item-title::after{transform:rotate(45deg)}
.cai-faq .e-n-accordion-item-title:focus-visible{outline:2px solid #202321;outline-offset:2px}
.cai-faq .e-n-accordion-item>.e-con{border:0;background:none}
.cai-faq-p p{margin:0;max-width:70ch;text-wrap:pretty}

/* ============ Intelligence ============ */
.cai-dot12{margin-top:12px}
.cai-acc--sm .e-n-accordion-item-title{padding:14px 0}
.cai-acc--sm .e-n-accordion-item-title-text{font:500 16px/24px 'Geist',sans-serif;letter-spacing:0}
.cai-logoh{align-self:flex-start}
.cai-logoh img{display:block;width:auto;max-width:none}
.cai-logoh--40 img{height:40px}
.cai-logoh--18 img{height:18px}
.cai-dt2 .elementor-heading-title{font:500 12px/24px 'JetBrains Mono',ui-monospace,monospace;letter-spacing:.04em;text-transform:uppercase;color:#6E6B68;margin:0}
.cai-dd2 p{margin:0;text-wrap:wrap}

/* ============ Mission Success ============ */
.cai-eb--sky .elementor-heading-title{color:#B3D3FC}
/* overview: dark band with its own, larger dot grid across the whole band */
.cai-ovw{overflow:hidden}
.cai-ovw .cai-dots{background-size:36px 36px;background-position:18px 18px;-webkit-mask-image:none;mask-image:none}
.cai-ovw [data-cai-grid] canvas{-webkit-mask-image:none;mask-image:none}
.elementor-widget-button.cai-ghost.cai-ghost--dark .elementor-button{color:#F5F3ED!important;border-color:rgba(245,243,237,.4)!important;background-image:linear-gradient(#F5F3ED,#F5F3ED)!important}
.elementor-widget-button.cai-ghost.cai-ghost--dark .elementor-button:hover,.elementor-widget-button.cai-ghost.cai-ghost--dark .elementor-button:focus-visible{color:#202321!important;border-color:#F5F3ED!important}
/* proof on teal: figures in ivory */
.cai-ms-proof .cai-bignum .elementor-counter-number-wrapper{color:#F5F3ED}
.cai-ms-proof .cai-cs-p p{margin:0;max-width:65ch;text-wrap:pretty}

/* ============ Plan (and the other Mission Success stage pages) ============ */
/* centred testimonial */
.cai-qfig{width:100%}
.cai-qorn{display:flex;align-items:center;gap:12px}
.cai-qorn i{display:block;width:40px;height:1px;background:rgba(245,243,237,.35)}
.cai-qorn b{font:600 56px/.6 'Geist',sans-serif;color:#F25A36;transform:translateY(10px)}
.cai-bqc p{text-align:center;text-wrap:balance}
.cai-qfig .cai-qname .elementor-heading-title,.cai-qfig .cai-qrole .elementor-heading-title{text-align:center}
/* "What's included" accordion: large titles, two-column body */
.cai-faq--lg .e-n-accordion-item-title{padding:22px 0!important}
.cai-faq--lg .e-n-accordion-item-title-text{font:500 24px/1.25 'Geist',sans-serif;letter-spacing:-.01em}
.cai-w5{font-weight:500}
.cai-svc-r p{text-wrap:pretty}
.cai-s14 p{font-size:14px;line-height:1.5}
.cai-runs a{color:#202321;text-decoration:underline;text-decoration-color:rgba(32,35,33,.3);text-underline-offset:3px}
.cai-runs a:hover{text-decoration-color:#202321}
/* product links on the teal band */
.cai-conn--dark .cai-bd{background:#F5F3ED}
.cai-conn--dark .cai-bignum-t .elementor-heading-title{color:#F5F3ED}
.cai-conn--dark .cai-logoh img{filter:brightness(0) invert(.95)}
.cai-conn--dark .cai-cs-p p{margin:0;max-width:65ch;text-wrap:pretty}
.cai-faq--lg .e-n-accordion-item-title::after{font-weight:400}

/* ============ 404 ============ */
@media (min-width:1025px){.cai-404{min-height:calc(100vh - 64px - 481px)}}
.cai-h404 .elementor-heading-title{margin:0 0 0 -.05em;font:400 clamp(112px,22vw,300px)/.82 'Geist',sans-serif;letter-spacing:-.06em;color:#202321}
.cai-h404 .elementor-heading-title::after{content:"";display:inline-block;width:.09em;height:.09em;margin-left:.05em;border-radius:50%;background:#F25A36}
.cai-h404b .elementor-heading-title{margin:0;font:450 clamp(28px,calc(1.5vw + 16px),40px)/1.15 'Geist',sans-serif;letter-spacing:-.02em;color:#413F3E}
.cai-404l .elementor-heading-title{margin:0;font:500 24px/1.25 'Geist',sans-serif;letter-spacing:-.01em}
.cai-404l a{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 0;color:#202321;text-decoration:none;opacity:.8;transition:opacity 250ms cubic-bezier(.2,0,0,1)}
.cai-404l a:hover,.cai-404l a:focus-visible{opacity:1}
.cai-404l a:focus-visible{outline:2px solid #202321;outline-offset:2px}
.cai-404l [data-arrow]{font-family:Geist,system-ui,-apple-system,sans-serif;color:#F25A36;transition:transform 250ms cubic-bezier(.2,0,0,1)}
.cai-404l a:hover [data-arrow],.cai-404l a:focus-visible [data-arrow]{transform:translateX(6px)}


/* ============ Legal pages (Privacy Policy, Master License Agreement) ============ */
.cai-legal .cai-legal-tocw{position:sticky;top:96px;align-self:start;max-height:calc(100vh - 120px);overflow:auto}
.cai-legal .legal-toc{display:flex;flex-direction:column;gap:2px;padding-left:12px;border-left:1px solid rgba(0,0,0,.08)}
.cai-legal .legal-toc span{font-family:'JetBrains Mono',ui-monospace,monospace;font-size:12px;line-height:16px;font-weight:500;letter-spacing:.04em;text-transform:uppercase;color:#202321;padding-bottom:10px}
.cai-legal .legal-toc a{font-size:14px;line-height:1.45;color:#6E6B68;padding:4px 0;text-decoration:none}
.cai-legal .legal-toc a:hover{color:#202321}
@media (max-width:960px){.cai-legal .cai-legal-tocw{position:static;max-height:none;overflow:visible}}
.cai-legal .legal-body{font-size:16px;line-height:1.65;color:#3A3D3B;max-width:72ch}
.cai-legal .legal-body p{margin:0 0 16px;font:inherit;color:inherit}
.cai-legal .legal-body h2{scroll-margin-top:96px;margin:48px 0 16px;padding-top:24px;border-top:1px solid rgba(0,0,0,.08);font-family:'Geist',sans-serif;font-size:24px;line-height:1.25;font-weight:500;letter-spacing:-.015em;color:#202321}
.cai-legal .legal-body>h2:first-child{margin-top:0}
.cai-legal .legal-body h2 .num{color:#6E6B68;margin-right:10px;font-weight:450}
.cai-legal .legal-body h2.addendum .eyebrow{display:block;margin-bottom:8px;font-family:'JetBrains Mono',ui-monospace,monospace;font-size:12px;line-height:16px;font-weight:500;letter-spacing:.04em;text-transform:uppercase;color:#F25A36}
.cai-legal .legal-body h3{margin:24px 0 12px;font-family:'Geist',sans-serif;font-size:17px;line-height:1.4;font-weight:600;color:#202321}
.cai-legal .legal-body strong{color:#202321;font-weight:600}
.cai-legal .legal-body a{color:#094F4D;text-decoration:underline;text-underline-offset:2px;word-break:break-word}
.cai-legal .legal-body ul{margin:0 0 16px;padding-left:22px}
.cai-legal .legal-body ul li{margin:0 0 10px}
.cai-legal .legal-body ul.sub{list-style:circle;margin-top:-6px}
.cai-legal .legal-body ol{margin:0 0 16px;padding:0;list-style:none}
.cai-legal .legal-body ol.clause{counter-reset:cl}
.cai-legal .legal-body ol.clause>li{counter-increment:cl;position:relative;padding-left:44px;margin:0 0 14px}
.cai-legal .legal-body ol.clause>li::before{content:counter(cl);position:absolute;left:0;top:0;font-family:'JetBrains Mono',ui-monospace,monospace;font-size:13px;line-height:1.65rem;color:#6E6B68}
.cai-legal .legal-body ol.clause.sec1>li::before{content:"1." counter(cl)}
.cai-legal .legal-body ol.clause.sec2>li::before{content:"2." counter(cl)}
.cai-legal .legal-body ol.clause.sec3>li::before{content:"3." counter(cl)}
.cai-legal .legal-body ol.clause.sec4>li::before{content:"4." counter(cl)}
.cai-legal .legal-body ol.clause.sec5>li::before{content:"5." counter(cl)}
.cai-legal .legal-body ol.clause.sec6>li::before{content:"6." counter(cl)}
.cai-legal .legal-body ol.clause.sec7>li::before{content:"7." counter(cl)}
.cai-legal .legal-body ol.clause.sec8>li::before{content:"8." counter(cl)}
.cai-legal .legal-body ol.clause.sec9>li::before{content:"9." counter(cl)}
.cai-legal .legal-body ol.clause.sec10>li::before{content:"10." counter(cl)}
.cai-legal .legal-body ol.clause.sec11>li::before{content:"11." counter(cl)}
.cai-legal .legal-body ol.clause.sec12>li::before{content:"12." counter(cl)}
.cai-legal .legal-body ol.clause.sec13>li::before{content:"13." counter(cl)}
.cai-legal .legal-body ol.add{counter-reset:ad}
.cai-legal .legal-body ol.add>li{counter-increment:ad;position:relative;padding-left:32px;margin:0 0 16px}
.cai-legal .legal-body ol.add>li::before{content:counter(ad) ".";position:absolute;left:0;font-family:'JetBrains Mono',ui-monospace,monospace;font-size:13px;color:#6E6B68}
.cai-legal .legal-body ol.add ol{counter-reset:ad2;margin-top:10px}
.cai-legal .legal-body ol.add ol>li{counter-increment:ad2;position:relative;padding-left:40px;margin:0 0 10px}
.cai-legal .legal-body ol.add ol>li::before{content:counter(ad) "." counter(ad2);position:absolute;left:0;font-family:'JetBrains Mono',ui-monospace,monospace;font-size:13px;color:#6E6B68}
.cai-legal .legal-body .tbl{margin:16px 0 24px;overflow-x:auto;border:1px solid rgba(0,0,0,.1);border-radius:6px;background:#fff}
.cai-legal .legal-body table{width:100%;border:0;border-collapse:collapse;font-size:14px;line-height:1.5;margin:0}
.cai-legal .legal-body thead,.cai-legal .legal-body tbody,.cai-legal .legal-body tr{border:0}
.cai-legal .legal-body table thead:first-child tr:first-child th{border-block-start:0}
.cai-legal .legal-body th{text-align:left;font-family:'JetBrains Mono',ui-monospace,monospace;font-size:11px;letter-spacing:.04em;text-transform:uppercase;font-weight:500;color:#202321;background:#F3F3F3;padding:10px 12px;border:0;border-bottom:1px solid rgba(0,0,0,.1)}
.cai-legal .legal-body td{vertical-align:top;padding:10px 12px;border:0;border-bottom:1px solid rgba(0,0,0,.06)}
.cai-legal .legal-body tr:last-child td{border-bottom:0}
.cai-legal .legal-body td p{margin:6px 0 0}
.cai-legal .legal-body td p:first-child{margin-top:0}
.cai-paths .cai-p60 p{max-width:60ch;margin:0;text-wrap:pretty}
@media (max-width:960px){.cai-legal .cai-legal-wrap{grid-template-columns:minmax(0,1fr)!important;gap:32px!important;padding-top:40px!important}}

/* ============ Resources pages (Data Security and Compliance, Our Team) ============ */
.cai-eb--orange .elementor-heading-title{color:#F25A36}
.cai-ftxt .elementor-heading-title{margin:0;font:500 18px/1.4 'Geist',sans-serif;letter-spacing:normal;color:#202321}
.cai-sstxt .elementor-heading-title{margin:0;font:500 15px/1.4 'Geist',sans-serif;letter-spacing:normal;color:#202321;white-space:nowrap}
.cai-stats .cai-stat{width:auto!important;flex:0 0 auto}
.cai-dsc-cta .cai-sec-h2 .elementor-heading-title{max-width:22ch}
.cai-dt3 .elementor-heading-title{margin:0;font:500 14px/1.5 'Geist',sans-serif;letter-spacing:normal;color:#6E6B68}
.cai-dd3 p{margin:0;text-wrap:pretty}
.cai-s14n p{margin:0;font-size:14px;line-height:1.5}
.cai-split .cai-p65 p{margin:0}
/* team cards: 4:5 photo box, dashed "Headshot" placeholder until an image is set */
/* photo: black and white at rest, the color portrait fades in on card hover (300ms); touch devices stay black and white */
.cai-ph{position:relative;width:100%;max-width:280px;aspect-ratio:4/5;border-radius:8px;overflow:hidden;background:#F3F3F3}
.cai-ph>.elementor-widget{position:absolute;inset:0;margin:0}
.cai-ph .elementor-widget-container,.cai-ph-img img{width:100%;height:100%}
.cai-ph-img img{display:block;object-fit:cover}
body .cai-ph .cai-ph-c{opacity:0;transition:opacity 300ms cubic-bezier(.2,0,0,1)}
body .cai-tcard:hover .cai-ph .cai-ph-c{opacity:1}
@media (hover:none){.cai-ph-c{display:none}}
.cai-ph:not(:has(img)){background:#EBEBEB}
.cai-ph:not(:has(img))::before{content:"";position:absolute;inset:0;border:1.5px dashed rgba(32,35,33,.35);pointer-events:none}
.cai-ph:not(:has(img))::after{content:"Headshot";position:absolute;left:0;right:0;top:calc(50% - 25.5px);height:51px;box-sizing:border-box;padding-top:34px;text-align:center;font:500 13px/1.3 system-ui,-apple-system,sans-serif;letter-spacing:.01em;color:rgba(32,35,33,.75);pointer-events:none;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='28' height='28' viewBox='0 0 24 24' fill='none' stroke='%23202321' stroke-opacity='.45' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='3' width='18' height='18' rx='2'/%3E%3Ccircle cx='8.5' cy='8.5' r='1.5'/%3E%3Cpath d='m21 15-5-5L5 21'/%3E%3C/svg%3E") center 0/28px 28px no-repeat}
.cai-pn .elementor-heading-title{margin:0;font:500 18px/1.35 'Geist',sans-serif;letter-spacing:normal;color:#202321}
.cai-pt .elementor-heading-title{margin:0;font:400 14px/1.5 'Geist',sans-serif;letter-spacing:normal;color:#6E6B68}

/* ============ Careers ============ */
.cai-h1p--20 .elementor-heading-title{max-width:20ch}
.cai-btx .elementor-heading-title{margin:0;font:500 20px/1.3 'Geist',sans-serif;letter-spacing:-.01em;text-wrap:balance;color:#202321}
.cai-ulink2{font-weight:500;color:#202321;text-decoration:underline;text-decoration-color:rgba(127,127,127,.4);text-underline-offset:3px}

/* Home proof card: padding is fluid in the design (24px → 56px with the viewport) */
.cai-featcard{padding:clamp(24px,4vw,56px)!important}

/* ============ Our Team: 28 cards (photo b/w + color on hover, name, LinkedIn icon, title, two labelled lines) ============ */
.cai-team2 .cai-pn,.cai-team2 .cai-pt{display:block}
.cai-lnk{flex:none;margin:0!important;line-height:0}
.cai-lnk .elementor-button{position:relative;display:block;box-sizing:border-box;width:16px;height:16px;min-height:0;padding:0!important;border:0!important;border-radius:0!important;box-shadow:none!important;background:#0000 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' width='16' height='16'%3E%3Crect width='16' height='16' rx='3' fill='%23094F4D'/%3E%3Cpath d='M4.2 6.4h1.9V12H4.2zM5.15 3.6a1.1 1.1 0 1 1 0 2.2 1.1 1.1 0 0 1 0-2.2zM7.2 6.4H9v.77c.26-.48.9-.95 1.85-.95 1.98 0 2.35 1.25 2.35 2.88V12h-1.9V9.4c0-.62-.01-1.42-.87-1.42-.87 0-1 .67-1 1.37V12H7.2z' fill='%23FCFCFC'/%3E%3C/svg%3E") center/16px 16px no-repeat!important}
.cai-lnk .elementor-button:hover,.cai-lnk .elementor-button:focus-visible{background:#0000 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' width='16' height='16'%3E%3Crect width='16' height='16' rx='3' fill='%23202321'/%3E%3Cpath d='M4.2 6.4h1.9V12H4.2zM5.15 3.6a1.1 1.1 0 1 1 0 2.2 1.1 1.1 0 0 1 0-2.2zM7.2 6.4H9v.77c.26-.48.9-.95 1.85-.95 1.98 0 2.35 1.25 2.35 2.88V12h-1.9V9.4c0-.62-.01-1.42-.87-1.42-.87 0-1 .67-1 1.37V12H7.2z' fill='%23FCFCFC'/%3E%3C/svg%3E") center/16px 16px no-repeat!important}
.cai-lnk .elementor-button-content-wrapper{display:block;width:100%;height:100%}
.cai-lnk .elementor-button-text{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.cai-tlines{padding-top:14px!important;border-top:1px solid rgba(0,0,0,.08)}
.cai-tf p{margin:0;font:400 15px/1.5 'Geist',sans-serif;letter-spacing:normal;color:#413F3E;text-wrap:pretty}
.cai-tf .cai-lb{display:block;margin-bottom:4px;font:500 12px/16px 'JetBrains Mono',ui-monospace,monospace;letter-spacing:.04em;text-transform:uppercase;color:#202321}
.cai-ph.cai-ph--ini:not(:has(img))::before,.cai-ph.cai-ph--ini:not(:has(img))::after{display:none}
.cai-ph.cai-ph--ini:not(:has(img)){background:#EBEBEB}
.cai-ph--ini>.elementor-widget{display:flex;align-items:center;justify-content:center}
.cai-ini .elementor-heading-title{margin:0;font:500 56px/1 'Geist',sans-serif;letter-spacing:-.02em;color:rgba(32,35,33,.4)}

/* ============ Contact: HubSpot form embed (HTML widget, class cai-hsform) ============ */
.cai-hsform :is(.hsfc-Form,.hsfc-FormWrapper,.hsfc-Step__Content){padding:0!important;margin:0!important}
.cai-hsform .hsfc-FieldLabel{display:block;margin:0 0 6px!important;font:500 14px/20px 'Geist',sans-serif!important;letter-spacing:0!important;color:#202321!important}
.cai-hsform .hsfc-FieldLabel__RequiredIndicator{color:#202321!important}
.cai-hsform :is(.hsfc-TextInput,.hsfc-TextareaInput,.hsfc-PhoneInput){box-sizing:border-box;border:1px solid rgba(0,0,0,.24)!important;border-radius:6px!important;background:#FFFFFF!important;box-shadow:none!important;font:400 16px/24px 'Geist',sans-serif!important;letter-spacing:0;color:#202321!important}
.cai-hsform .hsfc-TextInput{min-height:44px;padding:9px 12px!important}
.cai-hsform .hsfc-DropdownInput{padding:0!important;border:0!important;background:none!important}
.cai-hsform .hsfc-DropdownInput__Caret{height:100%!important;padding:0 16px!important}
.cai-hsform .hsfc-PhoneInput{display:flex;align-items:center;min-height:44px}
.cai-hsform .hsfc-PhoneInput__FlagAndCaret{padding:0 8px 0 12px!important;height:auto!important}
.cai-hsform .hsfc-TextareaInput{min-height:160px;padding:10px 12px!important;resize:vertical}
.cai-hsform :is(.hsfc-TextInput,.hsfc-TextareaInput):focus-visible,.cai-hsform .hsfc-PhoneInput:focus-within{outline:2px solid #202321!important;outline-offset:2px;border-color:rgba(0,0,0,.24)!important}
.cai-hsform .hsfc-PhoneInput .hsfc-TextInput{flex:1;border:0!important;min-height:42px!important;padding:0 12px 0 4px!important;outline:0!important;background:transparent!important}
.cai-hsform .hsfc-CheckboxField .hsfc-FieldLabel,.cai-hsform .hsfc-CheckboxField :is(label,span,p){font:400 14px/1.5 'Geist',sans-serif!important;color:#413F3E!important}
.cai-hsform .hsfc-CheckboxField a{color:#202321!important;text-decoration:underline;text-decoration-color:rgba(127,127,127,.4);text-underline-offset:3px}
.cai-hsform .hsfc-NavigationRow__Buttons{justify-content:flex-start!important}
.cai-hsform .hsfc-Button{height:36px!important;min-height:36px;padding:0 16px!important;border:1px solid #094F4D!important;border-radius:6px!important;background:#094F4D!important;box-shadow:none!important;font:500 14px/20px 'Geist',sans-serif!important;letter-spacing:normal;color:#FCFCFC!important;cursor:pointer;transition:background-color .3s cubic-bezier(.2,0,0,1)}
.cai-hsform .hsfc-Button:hover,.cai-hsform .hsfc-Button:focus-visible{background:#063735!important}
.cai-hsform :is(.hsfc-ErrorAlert,.hsfc-FieldFooter,.hsfc-NavigationRow__Alerts){font:400 14px/1.5 'Geist',sans-serif!important}
.cai-hsform :is(.hsfc-ErrorAlert,.hsfc-NavigationRow__Alerts .hsfc-ErrorAlert){color:#B3261E!important}
.cai-hsform .hsfc-PhoneInput__FlagAndCaret{border:0!important;box-shadow:none!important;background:transparent!important;text-decoration:none!important}
.cai-hsform .hsfc-CheckboxInput{flex:none;width:18px;height:18px;margin:2px 0 0;border:1px solid rgba(0,0,0,.4)!important;border-radius:4px!important;background:#FFFFFF!important}
/* HubSpot thank-you state (matches the old Elementor success message) */
.cai-hsform .hsfc-PostSubmit .hsfc-RichText p{margin:0 0 8px;font:400 16px/1.5 'Geist',sans-serif!important;color:#413F3E!important}
.cai-hsform .hsfc-PostSubmit .hsfc-RichText :is(strong,span){font-family:'Geist',sans-serif!important}
.cai-hsform .hsfc-PostSubmit .hsfc-RichText strong{display:block;font-weight:500;font-size:24px;line-height:1.25;color:#202321}
.cai-hsform .hsfc-PostSubmit .hsfc-RichText span:not(:has(strong)){font-size:16px;line-height:1.5;color:#413F3E}
/* HubSpot dropdowns: the search box sits on top of the field itself (type in the field), not as a second box under it */
.cai-hsform .hsfc-DropdownInput:has(input[aria-expanded="true"]) .hsfc-DropdownOptions__Search{position:absolute!important;top:auto;bottom:100%;left:0;right:44px;height:44px;margin:0 0 10px!important;padding:0!important;background:transparent!important;border:0!important;z-index:3;display:flex;align-items:center}
.cai-hsform .hsfc-DropdownOptions__Search .hsfc-TextInput{width:100%;height:44px;border:0!important;border-radius:6px 0 0 6px!important;background:#FFFFFF!important;outline:0!important;box-shadow:none!important;padding:0 12px!important}
.cai-hsform .hsfc-DropdownInput:has(.hsfc-DropdownOptions__Search input:focus)>.hsfc-TextInput--button{outline:2px solid #202321;outline-offset:2px}
.cai-hsform .hsfc-DropdownInput__Caret{z-index:4;pointer-events:none}
.cai-hsform .hsfc-DropdownInput:has(input[aria-expanded="true"]) .hsfc-DropdownOptions{overflow:visible!important}
.cai-hsform .hsfc-DropdownOptions{border:1px solid rgba(0,0,0,.24);border-radius:6px;background:#FFFFFF;box-shadow:0 8px 24px rgba(32,35,33,.12)}
.cai-hsform .hsfc-DropdownOptions__List__ListItem{font:400 16px/24px 'Geist',sans-serif;color:#202321;padding:10px 12px}


/* ============ Ask Collaboration.Ai (floating search, bottom right) ============ */
#cai-ask{position:fixed;right:16px;bottom:16px;z-index:2147483100;font-family:'Geist',system-ui,-apple-system,sans-serif;color:#202321}
#cai-ask *{box-sizing:border-box}
#cai-ask-btn{all:unset;cursor:pointer;display:flex;align-items:center;gap:10px;height:44px;padding:0 18px 0 14px;border-radius:999px;background:#094F4D;color:#F5F3ED;font-size:14px;font-weight:500;box-shadow:0 8px 24px -8px rgba(6,55,53,.55)}
#cai-ask-btn:hover{background:#0C615E}
#cai-ask-btn:focus-visible{outline:2px solid #B3D3FC;outline-offset:2px}
#cai-ask-btn i{width:8px;height:8px;border-radius:50%;background:#F25A36;box-shadow:0 0 0 3px rgba(242,90,54,.25)}
#cai-ask-panel{position:absolute;right:0;bottom:56px;width:min(400px,calc(100vw - 32px));height:min(560px,calc(100vh - 96px));display:none;flex-direction:column;background:#FCFCFC;border:1px solid rgba(0,0,0,.12);border-radius:10px;box-shadow:0 24px 64px -16px rgba(26,25,23,.35);overflow:hidden}
#cai-ask-panel.on{display:flex;animation:cai-ask-in 220ms cubic-bezier(.2,0,0,1)}
@keyframes cai-ask-in{from{opacity:0;transform:translateY(8px)}}
.ca-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 12px 14px 18px;border-bottom:1px solid rgba(0,0,0,.08);background:#FCFCFC}
.ca-head span{font:500 12px/16px 'JetBrains Mono',ui-monospace,monospace;letter-spacing:.04em;text-transform:uppercase;color:#6E6B68}
/* close button: plain grey square (the theme's button styles would paint it teal); the cross is two centred bars, so it is exactly centred */
body #cai-ask .ca-x{all:unset;box-sizing:border-box;position:relative;cursor:pointer;width:32px;height:32px;flex:none;border-radius:6px;background:transparent;color:#413F3E;font-size:0;line-height:0}
body #cai-ask .ca-x::before,body #cai-ask .ca-x::after{content:"";position:absolute;left:50%;top:50%;width:14px;height:1.5px;margin:-.75px 0 0 -7px;background:currentColor;transform:rotate(45deg)}
body #cai-ask .ca-x::after{transform:rotate(-45deg)}
body #cai-ask .ca-x:hover{background:#F3F3F3}
body #cai-ask .ca-x:focus-visible{outline:2px solid #094F4D;outline-offset:2px}
.ca-log{flex:1;overflow-y:auto;padding:18px;display:flex;flex-direction:column;gap:14px;overscroll-behavior:contain}
.ca-intro h3{margin:0 0 6px;font-size:20px;line-height:1.25;font-weight:500;letter-spacing:-.01em}
.ca-intro p{margin:0 0 14px;font-size:14px;line-height:1.5;color:#6E6B68}
.ca-chips{display:flex;flex-direction:column;gap:8px}
body #cai-ask .ca-chip{all:unset;box-sizing:border-box;cursor:pointer;display:block;padding:10px 12px;border:1px solid rgba(0,0,0,.12);border-radius:6px;font:400 14px/1.4 'Geist',system-ui,sans-serif;color:#202321;background:#fff;text-align:left}
body #cai-ask .ca-chip:hover{border-color:#094F4D;background:#F3F8F7;color:#202321}
body #cai-ask .ca-chip:focus-visible{outline:2px solid #094F4D;outline-offset:2px}
.ca-me{align-self:flex-end;max-width:85%;padding:10px 14px;border-radius:10px 10px 2px 10px;background:#094F4D;color:#F5F3ED;font-size:14px;line-height:1.5}
.ca-bot{align-self:flex-start;max-width:92%;font-size:14px;line-height:1.55;color:#202321}
.ca-bot p{margin:0 0 8px}.ca-bot p:last-child{margin:0}
.ca-src{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
.ca-src a{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;background:#F3F3F3;color:#202321;font-size:12px;line-height:18px;font-weight:500;text-decoration:none}
.ca-src a:hover{background:#D9E6E3}
.ca-src a::after{content:"→"}
.ca-hit{display:block;padding:10px 12px;border:1px solid rgba(0,0,0,.08);border-radius:6px;margin-top:8px;text-decoration:none;color:#202321;background:#fff}
.ca-hit:hover{border-color:#094F4D}
.ca-hit b{display:block;font-size:14px;font-weight:500}
.ca-hit small{display:block;margin-top:2px;font-size:13px;line-height:1.45;color:#6E6B68}
.ca-dots{display:inline-flex;gap:4px}.ca-dots i{width:6px;height:6px;border-radius:50%;background:#9D9A97;animation:ca-b 1s infinite}.ca-dots i:nth-child(2){animation-delay:.15s}.ca-dots i:nth-child(3){animation-delay:.3s}
@keyframes ca-b{0%,80%,100%{opacity:.3}40%{opacity:1}}
.ca-form{display:flex;gap:8px;padding:12px;border-top:1px solid rgba(0,0,0,.08);background:#FCFCFC}
.ca-form input{flex:1;min-width:0;height:40px;padding:0 12px;border:1px solid rgba(0,0,0,.16);border-radius:6px;font:inherit;font-size:14px;color:#202321;background:#fff}
.ca-form input:focus{outline:none;border-color:#094F4D;box-shadow:0 0 0 3px rgba(9,79,77,.12)}
body #cai-ask .ca-form button{all:unset;box-sizing:border-box;cursor:pointer;display:inline-flex;align-items:center;height:40px;padding:0 14px;border-radius:6px;background:#094F4D;color:#F5F3ED;font:500 14px/1 'Geist',system-ui,sans-serif}
body #cai-ask .ca-form button:hover{background:#0C615E}
body #cai-ask .ca-form button:disabled{opacity:.5;cursor:default}
.ca-foot{padding:0 12px 10px;font-size:11px;line-height:1.4;color:#9D9A97;background:#FCFCFC}
.ca-foot a{color:#6E6B68}
@media (prefers-reduced-motion: reduce){#cai-ask-panel.on{animation:none}.ca-dots i{animation:none}}
.elementor-editor-active #cai-ask{display:none}
@media print{#cai-ask{display:none}}

/* Contact: confirmation after the HubSpot form is sent (the design's "Thanks. We'll be in touch.") */
.cai-hsform .hsfc-PostSubmit[data-cai-ok]>*:not(.cai-hs-ok){display:none!important}
.cai-hsform .cai-hs-ok{display:flex;flex-direction:column;gap:8px}
.cai-hsform .cai-hs-ok__t{font:500 24px/1.25 'Geist',sans-serif;color:#202321}
.cai-hsform .cai-hs-ok__p{font:400 16px/1.5 'Geist',sans-serif;color:#413F3E}

/* ============ Cookie consent: banner, settings dialog, contact-form gate ============ */
.cai-cc,.cai-cc-ov{font-family:'Geist',system-ui,-apple-system,sans-serif;color:#202321}
.cai-cc *,.cai-cc-ov *{box-sizing:border-box}
.cai-cc{position:fixed;left:16px;bottom:16px;z-index:2147483200;width:min(440px,calc(100vw - 32px));padding:20px;background:#FCFCFC;border:1px solid rgba(0,0,0,.12);border-radius:10px;box-shadow:0 24px 64px -16px rgba(26,25,23,.35);animation:cai-ask-in 220ms cubic-bezier(.2,0,0,1)}
.cai-cc-t{margin:0 0 8px;font:500 20px/1.25 'Geist',sans-serif;letter-spacing:-.01em;color:#202321}
.cai-cc-p{margin:0 0 16px;font-size:14px;line-height:1.5;color:#413F3E}
.cai-cc-p a,.cai-cc-box a{color:#094F4D;text-decoration:underline;text-underline-offset:2px}
.cai-cc-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
body .cai-cc-btn{all:unset;box-sizing:border-box;cursor:pointer;height:36px;padding:0 16px;display:inline-flex;align-items:center;border-radius:6px;font:500 14px/16px 'Geist',sans-serif;white-space:nowrap}
body .cai-cc-btn:focus-visible,.cai-cc-x:focus-visible{outline:2px solid #094F4D;outline-offset:2px}
body .cai-cc-btn--main{background:#094F4D;color:#FCFCFC;border:1px solid #094F4D}
body .cai-cc-btn--main:hover{background:#063735;border-color:#063735}
body .cai-cc-btn--alt{background:transparent;color:#202321;border:1px solid #094F4D}
body .cai-cc-btn--alt:hover{background:#F3F3F3}
body .cai-cc-btn--link{padding:0 4px;color:#202321;text-decoration:underline;text-decoration-color:rgba(32,35,33,.3);text-underline-offset:3px}
body .cai-cc-btn--link:hover{text-decoration-color:#202321}
.cai-cc-ov{position:fixed;inset:0;z-index:2147483300;display:flex;align-items:center;justify-content:center;padding:16px;background:rgba(26,25,23,.55)}
.cai-cc-box{width:min(520px,100%);max-height:calc(100vh - 32px);overflow:auto;padding:24px;background:#FCFCFC;border-radius:10px;box-shadow:0 24px 64px -16px rgba(26,25,23,.45)}
.cai-cc-mh{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
body .cai-cc-x{all:unset;box-sizing:border-box;position:relative;cursor:pointer;width:32px;height:32px;margin:-4px -8px 0 0;border-radius:6px;background:transparent;font-size:0;line-height:0;color:#413F3E}
body .cai-cc-x::before,body .cai-cc-x::after{content:"";position:absolute;left:50%;top:50%;width:14px;height:1.5px;margin:-.75px 0 0 -7px;background:currentColor;transform:rotate(45deg)}
body .cai-cc-x::after{transform:rotate(-45deg)}
body .cai-cc-x:hover{background:#F3F3F3}
.cai-cc-rows{display:flex;flex-direction:column;margin:0 0 20px;border-top:1px solid rgba(0,0,0,.12)}
.cai-cc-r{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:14px 0;border-bottom:1px solid rgba(0,0,0,.12)}
.cai-cc-rt{display:block;font:500 16px/24px 'Geist',sans-serif;color:#202321}
.cai-cc-rp{margin:2px 0 0;font-size:14px;line-height:1.5;color:#6E6B68}
.cai-cc-sw{position:relative;flex:none;width:44px;height:24px;margin-top:2px}
body .cai-cc-sw input{z-index:1;position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}
body .cai-cc-sw input:disabled{cursor:not-allowed}
body .cai-cc-sw i{position:absolute;inset:0;border-radius:999px;background:#9D9A97;transition:background 200ms}
body .cai-cc-sw i::after{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:#FCFCFC;transition:transform 200ms cubic-bezier(.2,0,0,1)}
body .cai-cc-sw input:checked+i{background:#094F4D}
body .cai-cc-sw input:checked+i::after{transform:translateX(20px)}
body .cai-cc-sw input:disabled+i{opacity:.55}
body .cai-cc-sw input:focus-visible+i{outline:2px solid #094F4D;outline-offset:2px}
@media (max-width:560px){.cai-cc{left:12px;right:12px;bottom:12px;width:auto}.cai-cc-row .cai-cc-btn{flex:1 1 auto;justify-content:center}.cai-cc-btn--link{flex:0 0 100%}}
@media (prefers-reduced-motion:reduce){.cai-cc{animation:none}.cai-cc-sw i,.cai-cc-sw i::after{transition:none}}
.elementor-editor-active .cai-cc,.elementor-editor-active .cai-cc-ov{display:none}
@media print{.cai-cc,.cai-cc-ov{display:none}}
/* the contact form is not loaded until the visitor agrees */
.cai-gate{display:flex;flex-direction:column;align-items:flex-start;gap:12px}
.cai-gate[hidden]{display:none}
.cai-gate-t{font:500 24px/1.25 'Geist',sans-serif;letter-spacing:-.01em;color:#202321}
.cai-gate-p{margin:0;max-width:52ch;font:400 16px/1.5 'Geist',sans-serif;color:#413F3E}
body .cai-gate-btn{all:unset;box-sizing:border-box;cursor:pointer;height:36px;padding:0 16px;margin-top:4px;display:inline-flex;align-items:center;background:#094F4D;color:#FCFCFC;border:1px solid #094F4D;border-radius:6px;font:500 14px/16px 'Geist',sans-serif}
body .cai-gate-btn:hover{background:#063735;border-color:#063735}
body .cai-gate-btn:focus-visible{outline:2px solid #094F4D;outline-offset:2px}
.cai-hsform .hs-form-html:empty{display:none}
@media (max-width:560px){body:has(#cai-cc) #cai-ask{display:none}}

/* ============ Blog: /blog/ listing and the single-post template (Elementor Loop Grid, Taxonomy Filter, Theme Builder widgets) ============ */
/* article card (Loop Item "CAI Blog card"): same look as Home's "Latest from the blog" */
a.cai-lp,a.cai-lp:hover{color:inherit;text-decoration:none}
.cai-lp-img{aspect-ratio:16/9;border-radius:8px;overflow:hidden;background:#EBEBEB;outline:1px solid rgba(26,25,23,.1);outline-offset:-1px;transition:outline-color 250ms cubic-bezier(.2,0,0,1)}
.cai-lp-img img{display:block;width:100%;height:100%;object-fit:cover;max-width:none;filter:grayscale(1)}
body .cai-lp-meta .elementor-heading-title{margin:0;font:400 14px/1.5 'Geist',sans-serif;letter-spacing:0;color:#6E6B68}
body .cai-lp-title .elementor-heading-title{margin:0;font:500 16px/24px 'Geist',sans-serif;letter-spacing:0;color:#202321;text-wrap:balance;transition:color 250ms cubic-bezier(.2,0,0,1)}
body .cai-lp-title .elementor-heading-title::after{content:"→";display:inline-block;margin-left:6px;font-family:'Geist',system-ui,sans-serif;transition:transform 250ms cubic-bezier(.2,0,0,1)}
body a.cai-lp:hover .cai-lp-title .elementor-heading-title,body a.cai-lp:focus-visible .cai-lp-title .elementor-heading-title{color:#094F4D}
a.cai-lp:hover .cai-lp-title .elementor-heading-title::after{transform:translateX(3px)}
a.cai-lp:hover .cai-lp-img,a.cai-lp:focus-visible .cai-lp-img{outline-color:#094F4D}
a.cai-lp:focus-visible{outline:2px solid #094F4D;outline-offset:4px;border-radius:4px}
@media (prefers-reduced-motion:reduce){.cai-lp-img,.cai-lp-title .elementor-heading-title,.cai-lp-title .elementor-heading-title::after{transition:none}}
.cai-lgrid .e-loop-item{min-width:0}
.cai-lp-img:not(:has(img)){display:none}   /* posts without an image: text-only card */
/* topic filter (Taxonomy Filter): "All" first, left aligned chips */
body .cai-lfilter .e-filter{display:flex;flex-wrap:wrap;justify-content:flex-start;gap:8px}
body .cai-lfilter .e-filter-item{all:unset;box-sizing:border-box;cursor:pointer;display:inline-flex;align-items:center;height:36px;padding:0 14px;border:1px solid rgba(0,0,0,.2);border-radius:6px;background:transparent;color:#202321;font:500 14px/16px 'Geist',sans-serif;transition:border-color 200ms,background-color 200ms,color 200ms}
body .cai-lfilter .e-filter-item:hover{border-color:#202321}
body .cai-lfilter .e-filter-item:focus-visible{outline:2px solid #094F4D;outline-offset:2px}
body .cai-lfilter .e-filter-item[aria-pressed="true"]{background:#202321;border-color:#202321;color:#F5F3ED}
.cai-lfilter .e-filter-item[data-filter="__all"]{order:-1}
/* numbered pagination */
.cai-lgrid .elementor-pagination{display:flex;flex-wrap:wrap;justify-content:flex-start;gap:6px;margin-top:48px}
.cai-lgrid .elementor-pagination .page-numbers{box-sizing:border-box;min-width:36px;height:36px;padding:0 10px;display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(0,0,0,.2);border-radius:6px;color:#202321;font:500 14px/16px 'Geist',sans-serif;text-decoration:none;margin:0;transition:border-color 200ms}
.cai-lgrid .elementor-pagination a.page-numbers:hover{border-color:#202321}
.cai-lgrid .elementor-pagination .page-numbers.current{background:#202321;border-color:#202321;color:#F5F3ED}
.cai-lgrid .elementor-pagination .elementor-screen-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.cai-more-art .cai-lgrid{margin-top:0}
body .cai-more-art .cai-sec-h2 .elementor-heading-title{margin:0 0 0 -.04em}

/* single post */
body .cai-art-back .elementor-heading-title{margin:0;font:500 14px/16px 'Geist',sans-serif;letter-spacing:0}
.cai-art-back a{color:#6E6B68;text-decoration:none;transition:color 200ms}
.cai-art-back a:hover,.cai-art-back a:focus-visible{color:#094F4D}
body .cai-art-h1 .elementor-heading-title{max-width:26ch}
body .cai-art-info .elementor-icon-list-items{display:flex;flex-direction:column;gap:16px;margin:0;padding:0;list-style:none}
body .cai-art-info .elementor-icon-list-items .elementor-icon-list-item{display:block;padding:0}
body .cai-art-info .elementor-icon-list-icon{display:none}
body .cai-art-info .elementor-icon-list-items .elementor-icon-list-item .elementor-icon-list-text{display:flex;flex-direction:column;gap:2px;padding:0!important;font:500 15px/1.4 'Geist',sans-serif;letter-spacing:0;color:#202321}
body .cai-art-info .elementor-post-info__item-prefix{font:500 12px/16px 'JetBrains Mono',ui-monospace,monospace;letter-spacing:.04em;text-transform:uppercase;color:#6E6B68}
body .cai-art-info a{color:inherit;text-decoration:none}
.cai-art-img img{display:block;width:100%;height:auto;border-radius:8px;outline:1px solid rgba(26,25,23,.1);outline-offset:-1px}
.cai-art-body{font:400 17px/1.7 'Geist',sans-serif;color:#202321}
.cai-art-body>.elementor-widget-container>*:first-child,.cai-art-body>*:first-child{margin-top:0}
.cai-art-body p,.cai-art-body ul,.cai-art-body ol,.cai-art-body blockquote,.cai-art-body figure,.cai-art-body table,.cai-art-body pre,.cai-art-body iframe{margin:0 0 1.25em}
.cai-art-body h1,.cai-art-body h2,.cai-art-body h3,.cai-art-body h4{margin:1.8em 0 .6em;font-family:'Geist',sans-serif;font-weight:450;letter-spacing:-.02em;line-height:1.2;color:#202321;text-wrap:balance}
.cai-art-body h1,.cai-art-body h2{font-size:clamp(24px,1vw + 18px,32px)}
.cai-art-body h3{font-size:22px}.cai-art-body h4{font-size:18px;font-weight:500}
.cai-art-body a{color:#094F4D;text-decoration:underline;text-decoration-color:rgba(9,79,77,.4);text-underline-offset:3px}
.cai-art-body a:hover{text-decoration-color:#094F4D}
.cai-art-body ul,.cai-art-body ol{padding-left:1.4em}.cai-art-body li{margin:.3em 0}
.cai-art-body img,.cai-art-body video{max-width:100%;height:auto;border-radius:6px}
.cai-art-body iframe,.cai-art-body embed{max-width:100%}
.cai-art-body iframe{display:block;width:100%;aspect-ratio:16/9;height:auto;min-height:320px;border:0;border-radius:8px}
.cai-art-body blockquote{padding:0 0 0 20px;border-left:2px solid #094F4D;color:#413F3E}
.cai-art-body hr{border:0;border-top:1px solid rgba(0,0,0,.12);margin:2em 0}
.cai-art-body table{display:block;overflow-x:auto;border-collapse:collapse}
.cai-art-body pre,.cai-art-body code{font-family:'JetBrains Mono',ui-monospace,monospace;font-size:.9em;background:#F3F3F3;border-radius:4px}
.cai-art-body code{padding:.1em .3em}.cai-art-body pre{padding:16px;overflow-x:auto}
.cai-art-body .wp-caption{max-width:100%}.cai-art-body .wp-caption-text,.cai-art-body figcaption{font-size:14px;line-height:1.5;color:#6E6B68}
.cai-art-body .alignright{float:right;margin:0 0 16px 24px}.cai-art-body .alignleft{float:left;margin:0 24px 16px 0}.cai-art-body .aligncenter{display:block;margin-inline:auto}
.cai-art-body::after{content:"";display:block;clear:both}
.cai-article .cai-art-col>.elementor-widget{min-width:0}
@media (max-width:960px){.cai-art-grid{grid-template-columns:minmax(0,1fr)!important}body .cai-art-rail .elementor-icon-list-items{flex-direction:row;flex-wrap:wrap;gap:12px 32px}}
@media (max-width:600px){.cai-art-body .alignright,.cai-art-body .alignleft{float:none;margin:0 0 16px}}
/* previous / next: two quiet links under a hairline */
.cai-artnav-w{width:100%}
body .cai-artnav-w .elementor-post-navigation{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:32px;padding:28px 0 0;border-top:1px solid rgba(0,0,0,.08)}
body .cai-artnav-w .elementor-post-navigation__link{min-width:0}
body .cai-artnav-w .elementor-post-navigation__link a{display:block;color:inherit;text-decoration:none}
body .cai-artnav-w .elementor-post-navigation__link__prev,body .cai-artnav-w .elementor-post-navigation__link__next{display:flex;flex-direction:column;gap:6px;max-width:46ch}
body .cai-artnav-w .elementor-post-navigation__next{text-align:right}
body .cai-artnav-w .elementor-post-navigation__next .elementor-post-navigation__link__next{margin-left:auto}
body .cai-artnav-w .post-navigation__prev--label,body .cai-artnav-w .post-navigation__next--label{font:500 12px/16px 'JetBrains Mono',ui-monospace,monospace;letter-spacing:.04em;text-transform:uppercase;color:#6E6B68;transition:color 200ms}
body .cai-artnav-w .post-navigation__prev--label::before{content:"\2190";margin-right:8px}
body .cai-artnav-w .post-navigation__next--label::after{content:"\2192";margin-left:8px}
body .cai-artnav-w .post-navigation__prev--title,body .cai-artnav-w .post-navigation__next--title{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font:500 15px/22px 'Geist',sans-serif;letter-spacing:0;color:#202321;text-wrap:balance;transition:color 200ms}
body .cai-artnav-w a:hover .post-navigation__prev--title,body .cai-artnav-w a:hover .post-navigation__next--title,body .cai-artnav-w a:hover .post-navigation__prev--label,body .cai-artnav-w a:hover .post-navigation__next--label{color:#094F4D}
body .cai-artnav-w .elementor-post-navigation__separator-wrapper{display:none}
@media (max-width:600px){body .cai-artnav-w .elementor-post-navigation{grid-template-columns:1fr;gap:20px}body .cai-artnav-w .elementor-post-navigation__next{text-align:left}body .cai-artnav-w .elementor-post-navigation__next .elementor-post-navigation__link__next{margin-left:0}}

/* ---- single post: content written in the WordPress block editor looks like every other article ---- */
/* custom colours / sizes / fonts / backgrounds picked in the editor are ignored */
body .cai-art-body :is(p,li,span,strong,em,a,td,th,blockquote,cite,figcaption,code){font-family:inherit}
body .cai-art-body :is(p,li,td,th,span){color:inherit!important;font-size:inherit!important;line-height:inherit!important}
body .cai-art-body :is(h2,h3,h4,h5,h6){color:#202321!important;font-family:'Geist',sans-serif!important;font-weight:450!important}
body .cai-art-body h2{font-size:clamp(24px,1vw + 18px,32px)!important}body .cai-art-body h3{font-size:22px!important}body .cai-art-body :is(h4,h5,h6){font-size:18px!important;font-weight:500!important}
body .cai-art-body :is(.has-background,.wp-block-group,.wp-block-cover,.wp-block-pullquote){background:none!important;padding:0;border:0}
body .cai-art-body .has-drop-cap:not(:focus)::first-letter{all:unset}
body .cai-art-body :is(.alignfull,.alignwide){max-width:100%;width:auto;margin-left:0;margin-right:0}
body .cai-art-body :is(.has-text-align-center){text-align:left}
/* tables */
body .cai-art-body table{display:table;width:100%;border:0;border-collapse:collapse;font-size:16px;line-height:1.5}
body .cai-art-body .wp-block-table,body .cai-art-body figure:has(>table){overflow-x:auto;margin:0 0 1.25em}
body .cai-art-body :is(th,td){border:0;border-bottom:1px solid rgba(0,0,0,.12);padding:10px 14px 10px 0;text-align:left;vertical-align:top;background:none}
body .cai-art-body th{font:500 12px/16px 'JetBrains Mono',ui-monospace,monospace;letter-spacing:.04em;text-transform:uppercase;color:#6E6B68!important;border-bottom-color:rgba(0,0,0,.24)}
body .cai-art-body tbody tr:nth-child(odd) td,body .cai-art-body tbody tr:hover td{background:none}
/* buttons: the site's own primary button */
body .cai-art-body .wp-block-buttons{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 1.25em}
body .cai-art-body .wp-block-button__link{display:inline-flex;align-items:center;height:36px;padding:0 16px;border:1px solid #094F4D;border-radius:6px;background:#094F4D!important;color:#FCFCFC!important;font:500 14px/16px 'Geist',sans-serif;text-decoration:none;box-shadow:none;transition:background-color 200ms}
body .cai-art-body .wp-block-button__link:hover,body .cai-art-body .wp-block-button__link:focus-visible{background:#063735!important;border-color:#063735}
body .cai-art-body .is-style-outline .wp-block-button__link{background:transparent!important;color:#202321!important;border-color:rgba(0,0,0,.24)}
/* columns and groups */
body .cai-art-body .wp-block-columns{display:flex;flex-wrap:wrap;gap:24px 32px;margin:0 0 1.25em}
body .cai-art-body .wp-block-column{flex:1 1 240px;min-width:0}
body .cai-art-body .wp-block-column>*:last-child{margin-bottom:0}
/* quote */
body .cai-art-body .wp-block-quote,body .cai-art-body .wp-block-pullquote blockquote{margin:0 0 1.25em;padding:0 0 0 20px;border:0;border-left:2px solid #094F4D;color:#413F3E}
body .cai-art-body .wp-block-quote p{font-size:inherit;font-style:normal}
body .cai-art-body :is(.wp-block-quote cite,.wp-block-pullquote cite){display:block;margin-top:8px;font:500 12px/16px 'JetBrains Mono',ui-monospace,monospace;font-style:normal;letter-spacing:.04em;text-transform:uppercase;color:#6E6B68}
/* images, galleries, embeds, files, details, separators */
body .cai-art-body .wp-block-image{margin:0 0 1.25em}
body .cai-art-body .wp-block-image img{height:auto;border-radius:8px}
body .cai-art-body :is(.wp-block-image,.wp-block-gallery,.wp-block-video,.wp-block-embed) figcaption{margin-top:8px;font-size:14px;line-height:1.5;color:#6E6B68;text-align:left}
body .cai-art-body .wp-block-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px;margin:0 0 1.25em;padding:0;list-style:none}
body .cai-art-body .wp-block-gallery figure{margin:0}
body .cai-art-body .wp-block-gallery img{width:100%;height:100%;object-fit:cover}
body .cai-art-body .wp-block-embed{margin:0 0 1.25em}
body .cai-art-body .wp-block-embed__wrapper iframe,body .cai-art-body .wp-block-video video{display:block;width:100%;max-width:100%;border-radius:8px}
body .cai-art-body .wp-block-embed__wrapper iframe{aspect-ratio:16/9;height:auto}
body .cai-art-body .wp-block-file{margin:0 0 1.25em}
body .cai-art-body .wp-block-file__button{display:inline-flex;align-items:center;height:36px;padding:0 16px;border-radius:6px;background:#094F4D!important;color:#FCFCFC!important;font:500 14px/16px 'Geist',sans-serif;text-decoration:none}
body .cai-art-body .wp-block-separator{width:auto;height:0;border:0;border-top:1px solid rgba(0,0,0,.12);margin:2em 0;background:none}
body .cai-art-body .wp-block-details{margin:0 0 1.25em;border-top:1px solid rgba(0,0,0,.12)}
body .cai-art-body .wp-block-details summary{cursor:pointer;padding:12px 0;font-weight:500}
body .cai-art-body :is(.wp-block-list,ul.wp-block-list,ol.wp-block-list){margin:0 0 1.25em;padding-left:1.4em}

/* Nov 11 package: "Data, security & compliance →" and "Contracting vehicles →" text links under security copy and FAQ answers */
.cai-dsl{align-self:flex-start}
.cai-dsl .elementor-heading-title{font:500 16px/24px 'Geist',sans-serif;letter-spacing:0;margin:0}
.cai-dsl a{display:inline;color:#202321;text-decoration:underline;text-decoration-color:rgba(0,0,0,.24);text-underline-offset:3px}
.cai-dsl a:hover{text-decoration-color:#202321}
.cai-dsl [data-arrow]{font-family:Geist,system-ui,-apple-system,sans-serif}

/* Nov 11 package: flat isometric illustration on pale blue (NetworkOS "Mission Success", MS12), no tilt */
.cai-slant.cai-slant--flat .cai-slant__in{left:0;top:0;width:100%;height:100%;aspect-ratio:auto;transform:none;border-radius:0;box-shadow:none}
.cai-slant.cai-slant--flat .cai-slant__ill,.cai-slant.cai-slant--flat iframe{background:#B3D3FC}
.cai-bp--grow{flex:1 1 auto}

/* Nov 11 package: Contracting vehicles closing band (heading + button on one row), Contact proof points */
.cai-cv-cta .cai-sec-h2 .elementor-heading-title{max-width:none;text-wrap:wrap}
.cai-trust-n .elementor-heading-title{margin:0;font:450 32px/1.1 'Geist',sans-serif;letter-spacing:-.02em;color:#202321}

/* Nov 11 package: Our Team — photos fill the column, answers capped at four lines with a fixed height so rows line up, one-line intro */
body .cai-ph{max-width:none}
.cai-tt{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:4;overflow:hidden;min-height:6em}
.cai-team-intro p{margin:0;font-size:20px;line-height:1.45;color:#202321;text-wrap:pretty}
