.elementor-43 .elementor-element.elementor-element-4b21ac6{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:16px 16px;--row-gap:16px;--column-gap:16px;--padding-top:80px;--padding-bottom:80px;--padding-left:32px;--padding-right:32px;}.elementor-43 .elementor-element.elementor-element-4b21ac6:not(.elementor-motion-effects-element-type-background), .elementor-43 .elementor-element.elementor-element-4b21ac6 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}.elementor-43 .elementor-element.elementor-element-79bf5b4{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:14px 14px;--row-gap:14px;--column-gap:14px;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-43 .elementor-element.elementor-element-2f2d5c6 .elementor-heading-title{font-size:42px;font-weight:700;}.elementor-43 .elementor-element.elementor-element-a9b57a2{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:20px 20px;--row-gap:20px;--column-gap:20px;}.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );color:var( --e-global-color-text );}.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:var( --e-global-color-primary );}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap, .elementor-widget-text-editor.elementor-drop-cap-view-default .elementor-drop-cap{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-43 .elementor-element.elementor-element-db6f2de{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:22px 22px;--row-gap:22px;--column-gap:22px;}.elementor-widget-image .widget-image-caption{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-43 .elementor-element.elementor-element-44a189c img{border-radius:14px 14px 14px 14px;}.elementor-43 .elementor-element.elementor-element-6c92066{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:16px 16px;--row-gap:16px;--column-gap:16px;--padding-top:80px;--padding-bottom:80px;--padding-left:32px;--padding-right:32px;}.elementor-43 .elementor-element.elementor-element-6c92066:not(.elementor-motion-effects-element-type-background), .elementor-43 .elementor-element.elementor-element-6c92066 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#F8FAFC;}.elementor-43 .elementor-element.elementor-element-fbc4cd7{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:14px 14px;--row-gap:14px;--column-gap:14px;}.elementor-43 .elementor-element.elementor-element-8b6ad35{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:20px 20px;--row-gap:20px;--column-gap:20px;}.elementor-43 .elementor-element.elementor-element-162761f{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:22px 22px;--row-gap:22px;--column-gap:22px;}.elementor-43 .elementor-element.elementor-element-4f88ad2{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:16px 16px;--row-gap:16px;--column-gap:16px;--padding-top:80px;--padding-bottom:80px;--padding-left:32px;--padding-right:32px;}.elementor-43 .elementor-element.elementor-element-4f88ad2:not(.elementor-motion-effects-element-type-background), .elementor-43 .elementor-element.elementor-element-4f88ad2 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}.elementor-43 .elementor-element.elementor-element-198ddb3{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:14px 14px;--row-gap:14px;--column-gap:14px;}.elementor-43 .elementor-element.elementor-element-011d36b{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--gap:26px 26px;--row-gap:26px;--column-gap:26px;}.elementor-43 .elementor-element.elementor-element-f220178{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:14px 14px;--row-gap:14px;--column-gap:14px;}.elementor-43 .elementor-element.elementor-element-3465a4f{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:14px 14px;--row-gap:14px;--column-gap:14px;}.elementor-43 .elementor-element.elementor-element-f713eed{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:14px 14px;--row-gap:14px;--column-gap:14px;}.elementor-43 .elementor-element.elementor-element-48a5d0e{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:14px 14px;--row-gap:14px;--column-gap:14px;}.elementor-43 .elementor-element.elementor-element-b9d9145{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:14px 14px;--row-gap:14px;--column-gap:14px;}.elementor-43 .elementor-element.elementor-element-ef100ae{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--align-items:center;--gap:24px 40px;--row-gap:24px;--column-gap:40px;--flex-wrap:wrap;--padding-top:80px;--padding-bottom:80px;--padding-left:32px;--padding-right:32px;}.elementor-43 .elementor-element.elementor-element-ef100ae:not(.elementor-motion-effects-element-type-background), .elementor-43 .elementor-element.elementor-element-ef100ae > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#F8FAFC;}.elementor-43 .elementor-element.elementor-element-64fd567{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:16px 16px;--row-gap:16px;--column-gap:16px;}.elementor-43 .elementor-element.elementor-element-53fcdbc img{border-radius:22px 22px 22px 22px;}.elementor-43 .elementor-element.elementor-element-3718baf{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:16px 16px;--row-gap:16px;--column-gap:16px;}.elementor-widget-button .elementor-button{background-color:var( --e-global-color-accent );font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-43 .elementor-element.elementor-element-044e0a7 .elementor-button{border-radius:999px 999px 999px 999px;}.elementor-43 .elementor-element.elementor-element-7ee0a03{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:16px 16px;--row-gap:16px;--column-gap:16px;--padding-top:80px;--padding-bottom:80px;--padding-left:32px;--padding-right:32px;}.elementor-43 .elementor-element.elementor-element-7ee0a03:not(.elementor-motion-effects-element-type-background), .elementor-43 .elementor-element.elementor-element-7ee0a03 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}.elementor-43 .elementor-element.elementor-element-34c9af0{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:14px 14px;--row-gap:14px;--column-gap:14px;}.elementor-43 .elementor-element.elementor-element-b7bea57{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:22px 22px;--row-gap:22px;--column-gap:22px;}.elementor-widget-icon-list .elementor-icon-list-item:not(:last-child):after{border-color:var( --e-global-color-text );}.elementor-widget-icon-list .elementor-icon-list-icon i{color:var( --e-global-color-primary );}.elementor-widget-icon-list .elementor-icon-list-icon svg{fill:var( --e-global-color-primary );}.elementor-widget-icon-list .elementor-icon-list-item > .elementor-icon-list-text, .elementor-widget-icon-list .elementor-icon-list-item > a{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-widget-icon-list .elementor-icon-list-text{color:var( --e-global-color-secondary );}.elementor-43 .elementor-element.elementor-element-d8cb1b8 .elementor-icon-list-items:not(.elementor-inline-items) .elementor-icon-list-item:not(:last-child){padding-block-end:calc(6px/2);}.elementor-43 .elementor-element.elementor-element-d8cb1b8 .elementor-icon-list-items:not(.elementor-inline-items) .elementor-icon-list-item:not(:first-child){margin-block-start:calc(6px/2);}.elementor-43 .elementor-element.elementor-element-d8cb1b8 .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item{margin-inline:calc(6px/2);}.elementor-43 .elementor-element.elementor-element-d8cb1b8 .elementor-icon-list-items.elementor-inline-items{margin-inline:calc(-6px/2);}.elementor-43 .elementor-element.elementor-element-d8cb1b8 .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item:after{inset-inline-end:calc(-6px/2);}.elementor-43 .elementor-element.elementor-element-d8cb1b8 .elementor-icon-list-icon i{transition:color 0.3s;}.elementor-43 .elementor-element.elementor-element-d8cb1b8 .elementor-icon-list-icon svg{transition:fill 0.3s;}.elementor-43 .elementor-element.elementor-element-d8cb1b8{--e-icon-list-icon-size:14px;--icon-vertical-offset:0px;}.elementor-43 .elementor-element.elementor-element-d8cb1b8 .elementor-icon-list-text{transition:color 0.3s;}.elementor-43 .elementor-element.elementor-element-fe7256a{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:16px 16px;--row-gap:16px;--column-gap:16px;--padding-top:80px;--padding-bottom:80px;--padding-left:32px;--padding-right:32px;}.elementor-43 .elementor-element.elementor-element-fe7256a:not(.elementor-motion-effects-element-type-background), .elementor-43 .elementor-element.elementor-element-fe7256a > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#F8FAFC;}.elementor-43 .elementor-element.elementor-element-31f0da3{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:14px 14px;--row-gap:14px;--column-gap:14px;}.elementor-43 .elementor-element.elementor-element-1341dca{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:20px 20px;--row-gap:20px;--column-gap:20px;}.elementor-43 .elementor-element.elementor-element-f12d97b{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:16px 16px;--row-gap:16px;--column-gap:16px;--padding-top:80px;--padding-bottom:80px;--padding-left:32px;--padding-right:32px;}.elementor-43 .elementor-element.elementor-element-f12d97b:not(.elementor-motion-effects-element-type-background), .elementor-43 .elementor-element.elementor-element-f12d97b > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}.elementor-43 .elementor-element.elementor-element-84b498c{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:14px 14px;--row-gap:14px;--column-gap:14px;}.elementor-43 .elementor-element.elementor-element-217a268{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--align-items:center;--gap:16px 16px;--row-gap:16px;--column-gap:16px;--flex-wrap:wrap;--padding-top:40px;--padding-bottom:40px;--padding-left:36px;--padding-right:36px;}.elementor-43 .elementor-element.elementor-element-217a268:not(.elementor-motion-effects-element-type-background), .elementor-43 .elementor-element.elementor-element-217a268 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#1d4ed8;}.elementor-43 .elementor-element.elementor-element-579ba2c{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:6px 6px;--row-gap:6px;--column-gap:6px;}.elementor-43 .elementor-element.elementor-element-b7a8f7a{font-size:14px;text-transform:uppercase;letter-spacing:1px;color:#ffffff;}.elementor-43 .elementor-element.elementor-element-d2d1e8c .elementor-heading-title{font-size:28px;font-weight:700;text-transform:uppercase;color:#ffffff;}.elementor-43 .elementor-element.elementor-element-26b08d2{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--align-items:flex-end;--gap:16px 16px;--row-gap:16px;--column-gap:16px;}.elementor-43 .elementor-element.elementor-element-c46c4fb .elementor-button{background-color:#ffffff;text-transform:uppercase;fill:#101828;color:#101828;border-radius:8px 8px 8px 8px;padding:16px 32px 16px 32px;}.elementor-43 .elementor-element.elementor-element-04c7e03{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}:root{--page-title-display:none;}@media(min-width:768px){.elementor-43 .elementor-element.elementor-element-4b21ac6{--content-width:1180px;}.elementor-43 .elementor-element.elementor-element-6c92066{--content-width:1180px;}.elementor-43 .elementor-element.elementor-element-4f88ad2{--content-width:1180px;}.elementor-43 .elementor-element.elementor-element-ef100ae{--content-width:1180px;}.elementor-43 .elementor-element.elementor-element-64fd567{--width:28%;}.elementor-43 .elementor-element.elementor-element-3718baf{--width:68%;}.elementor-43 .elementor-element.elementor-element-7ee0a03{--content-width:1180px;}.elementor-43 .elementor-element.elementor-element-fe7256a{--content-width:1180px;}.elementor-43 .elementor-element.elementor-element-f12d97b{--content-width:1180px;}.elementor-43 .elementor-element.elementor-element-217a268{--content-width:1180px;}.elementor-43 .elementor-element.elementor-element-579ba2c{--width:68%;}.elementor-43 .elementor-element.elementor-element-26b08d2{--width:28%;}}@media(max-width:1024px){.elementor-43 .elementor-element.elementor-element-4b21ac6{--padding-top:56px;--padding-bottom:56px;--padding-left:24px;--padding-right:24px;}.elementor-43 .elementor-element.elementor-element-6c92066{--padding-top:56px;--padding-bottom:56px;--padding-left:24px;--padding-right:24px;}.elementor-43 .elementor-element.elementor-element-4f88ad2{--padding-top:56px;--padding-bottom:56px;--padding-left:24px;--padding-right:24px;}.elementor-43 .elementor-element.elementor-element-ef100ae{--padding-top:56px;--padding-bottom:56px;--padding-left:24px;--padding-right:24px;}.elementor-43 .elementor-element.elementor-element-7ee0a03{--padding-top:56px;--padding-bottom:56px;--padding-left:24px;--padding-right:24px;}.elementor-43 .elementor-element.elementor-element-fe7256a{--padding-top:56px;--padding-bottom:56px;--padding-left:24px;--padding-right:24px;}.elementor-43 .elementor-element.elementor-element-f12d97b{--padding-top:56px;--padding-bottom:56px;--padding-left:24px;--padding-right:24px;}}@media(max-width:767px){.elementor-43 .elementor-element.elementor-element-4b21ac6{--padding-top:44px;--padding-bottom:44px;--padding-left:16px;--padding-right:16px;}.elementor-43 .elementor-element.elementor-element-2f2d5c6 .elementor-heading-title{font-size:30px;}.elementor-43 .elementor-element.elementor-element-6c92066{--padding-top:44px;--padding-bottom:44px;--padding-left:16px;--padding-right:16px;}.elementor-43 .elementor-element.elementor-element-4f88ad2{--padding-top:44px;--padding-bottom:44px;--padding-left:16px;--padding-right:16px;}.elementor-43 .elementor-element.elementor-element-ef100ae{--padding-top:44px;--padding-bottom:44px;--padding-left:16px;--padding-right:16px;}.elementor-43 .elementor-element.elementor-element-64fd567{--width:100%;}.elementor-43 .elementor-element.elementor-element-3718baf{--width:100%;}.elementor-43 .elementor-element.elementor-element-7ee0a03{--padding-top:44px;--padding-bottom:44px;--padding-left:16px;--padding-right:16px;}.elementor-43 .elementor-element.elementor-element-fe7256a{--padding-top:44px;--padding-bottom:44px;--padding-left:16px;--padding-right:16px;}.elementor-43 .elementor-element.elementor-element-f12d97b{--padding-top:44px;--padding-bottom:44px;--padding-left:16px;--padding-right:16px;}.elementor-43 .elementor-element.elementor-element-217a268{--padding-top:28px;--padding-bottom:28px;--padding-left:16px;--padding-right:16px;}.elementor-43 .elementor-element.elementor-element-579ba2c{--width:100%;}.elementor-43 .elementor-element.elementor-element-26b08d2{--width:100%;--align-items:stretch;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );}}/* Start custom CSS *//* Adapted from open-design "professional" tokens.css. Font binding changed away from Inter
   (anti-ai-slop 9.B) to IBM Plex Sans; accent desaturated one step; no other hex outside :root. */
:root{
  --bg:#f5f7fb;--surface:#ffffff;--surface-warm:#eaf0fb;--surface-deep:#0f1a2e;
  --fg:#101828;--fg-2:#344054;--muted:#667085;--fg-on-deep:#e8eef9;
  --border:#d7e0ef;--border-soft:#edf2f8;
  --accent:#1d4ed8;--accent-on:#ffffff;--accent-hover:#1e40af;--accent-active:#1e3a8a;
  --accent-soft:#dbe6fb;
  --success:#15803d;--warn:#b45309;--danger:#b91c1c;
  --font-display:"IBM Plex Sans","Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  --font-body:"IBM Plex Sans","Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  --font-mono:"IBM Plex Mono",ui-monospace,Menlo,monospace;
  --text-xs:12px;--text-sm:14px;--text-base:16px;--text-lg:18px;--text-xl:22px;--text-2xl:30px;--text-3xl:42px;--text-4xl:56px;
  --leading-body:1.58;--leading-tight:1.08;--tracking-display:-0.022em;
  --space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-12:48px;
  --section-y-desktop:88px;--section-y-tablet:64px;--section-y-phone:48px;
  --radius-sm:8px;--radius-md:14px;--radius-lg:22px;--radius-pill:9999px;
  --elev-ring:0 0 0 1px var(--border);--elev-raised:0 18px 48px rgba(16,24,40,.10);
  --focus-ring:0 0 0 4px rgba(29,78,216,.22);
  --motion-fast:150ms;--motion-base:220ms;--ease:cubic-bezier(.2,0,0,1);
  --container:1180px;--gutter:36px;
}


.src{font-size:var(--text-sm);color:var(--muted)}

.table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}

.hero-card .src{margin-bottom:18px}


/* ---------- service grid (asymmetric: first card spans 2) ---------- */
.grid-services{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}

.grid-services > article{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);padding:24px}

.grid-services > article:first-child{grid-column:span 2;background:var(--accent-soft)}

.grid-services > article:nth-child(4){background:var(--surface-warm)}

.grid-services h3{margin-top:0;font-size:var(--text-lg)}

.grid-services ul{font-size:var(--text-sm);columns:2;column-gap:20px}

.grid-services > article:not(:first-child) ul{columns:1}
@media (max-width:960px){.grid-services{grid-template-columns:1fr 1fr}.grid-services > article:first-child{grid-column:span 2}}
@media (max-width:620px){.grid-services{grid-template-columns:1fr}.grid-services > article:first-child{grid-column:span 1}.grid-services ul{columns:1}}


/* ---------- industries (2-col grouped, not 3 equal cards) ---------- */
.grid-industries{display:grid;grid-template-columns:1fr 1fr;gap:0 48px}

.grid-industries > article{padding:22px 0;border-top:1px solid var(--border)}

.grid-industries h3{margin-top:0;font-size:var(--text-lg)}
@media (max-width:760px){.grid-industries{grid-template-columns:1fr}}


/* ---------- process (numbered rail) ---------- */
.rail{counter-reset:step;list-style:none;padding:0;margin:0;max-width:none;display:grid;grid-template-columns:repeat(3,1fr);gap:24px 32px}

.rail > li{counter-increment:step;position:relative;padding-top:52px;margin:0}

.rail > li::before{content:counter(step,decimal-leading-zero);position:absolute;top:0;left:0;font-family:var(--font-mono);font-size:var(--text-2xl);font-weight:600;color:var(--accent);line-height:1}

.rail h3{margin-top:0;font-size:var(--text-lg)}
@media (max-width:900px){.rail{grid-template-columns:1fr 1fr}}
@media (max-width:600px){.rail{grid-template-columns:1fr}}


/* ---------- pricing (3 tiers, middle emphasised; SERP band cited below) ---------- */
.tiers{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin:24px 0 8px}

.tier{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);padding:26px;display:flex;flex-direction:column}

.tier.featured{border-color:var(--accent);box-shadow:var(--elev-raised)}

.tier h3{margin-top:0;font-size:var(--text-lg)}

.tier .price{font-family:var(--font-display);font-size:var(--text-2xl);font-weight:700;letter-spacing:-.02em;margin:.2em 0 0}

.tier .price small{font-size:var(--text-sm);font-weight:500;color:var(--muted);letter-spacing:0}

.tier ul{font-size:var(--text-sm);flex:1}

.tier .btn{margin-top:14px}
@media (max-width:860px){.tiers{grid-template-columns:1fr}}


/* ---------- comparison ---------- */
.compare td:first-child{font-weight:600;white-space:nowrap}


/* ---------- read-more: CSS-only via <details>, no JS ---------- */
details.more{margin:.2em 0 1.2em}

details.more > summary{list-style:none;cursor:pointer;display:inline-flex;align-items:center;gap:8px;font-weight:650;color:var(--accent);padding:6px 0;min-height:44px}

details.more > summary::-webkit-details-marker{display:none}

details.more > summary::after{content:"";width:9px;height:9px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg) translateY(-2px);transition:transform var(--motion-fast) var(--ease)}

details.more[open] > summary::after{transform:rotate(-135deg) translateY(-1px)}

details.more[open] > summary .when-closed,details.more:not([open]) > summary .when-open{display:none}

details.more > summary:hover{color:var(--accent-hover)}


/* ---------- FAQ accordion (details) ---------- */
.faq details{border-top:1px solid var(--border);padding:4px 0}

.faq details:last-of-type{border-bottom:1px solid var(--border)}

.faq summary{cursor:pointer;list-style:none;padding:16px 40px 16px 0;font-weight:650;font-size:var(--text-lg);position:relative;min-height:44px}

.faq summary::-webkit-details-marker{display:none}

.faq summary::after{content:"+";position:absolute;right:4px;top:12px;font-size:26px;font-weight:300;color:var(--accent);line-height:1}

.faq details[open] summary::after{content:"\2212"}

.faq details > :not(summary){padding-right:40px}

.faq h3{font-size:inherit;margin:0;font-weight:inherit;display:inline}


/* ---------- certification badge row (typographic tiles, no third-party logos) ---------- */
.badges{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:14px;list-style:none;padding:0;margin:20px 0 0;max-width:none}

.badges li{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);padding:14px 16px;margin:0;display:flex;flex-direction:column;gap:2px;min-height:78px}

.badges .who{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}

.badges .what{font-family:var(--font-display);font-weight:650;font-size:15px;line-height:1.25}

.review-slot{border:1px dashed var(--border);border-radius:var(--radius-md);padding:24px;color:var(--muted);font-size:var(--text-sm);background:var(--surface)}


/* ---------- areas (columns) ---------- */
.areas ul{list-style:none;padding:0;columns:4;column-gap:24px;max-width:none}

.areas li{break-inside:avoid;padding:4px 0;border-bottom:1px solid var(--border-soft)}
@media (max-width:900px){.areas ul{columns:3}}
@media (max-width:560px){.areas ul{columns:2}}


/* ---------- contact block ---------- */
address{font-style:normal}

dl.kv{display:grid;grid-template-columns:max-content 1fr;gap:8px 18px;margin:0 0 1.2em}

dl.kv dt{font-weight:600;color:var(--fg-2)}

dl.kv dd{margin:0}


/* ---------- certification logo slider: CSS scroll-snap, anchor arrows, no JS ---------- */
.logos .src{margin-bottom:12px}

.slider{position:relative}

.logo-track{list-style:none;margin:0;padding:6px 0 14px;display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding:0 8px;-webkit-overflow-scrolling:touch;max-width:none;scrollbar-width:thin}

.logo-track li{flex:0 0 220px;scroll-snap-align:start;margin:0}

.logo-track figure{margin:0;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);padding:10px;text-align:center}

.logo-track img{width:100%;height:auto;aspect-ratio:2/1;object-fit:contain;background:#ffffff;border-radius:6px}

.logo-track figcaption{font-size:var(--text-xs);color:var(--muted);margin-top:8px}

.slider-arrow{position:absolute;top:38%;width:40px;height:40px;border-radius:var(--radius-pill);background:var(--surface);border:1px solid var(--border);display:none;align-items:center;justify-content:center;text-decoration:none;color:var(--fg);font-size:26px;line-height:1;z-index:2}

.slider-arrow.prev{left:-20px}
.slider-arrow.next{right:-20px}
@media (min-width:1100px){.slider-arrow{display:flex}}



/* ---------- map ---------- */
.map{margin:20px 0 0;border:1px solid var(--border);border-radius:var(--radius-md);overflow:hidden;background:var(--surface)}

.map iframe{display:block;width:100%;height:auto;aspect-ratio:3/2;border:0}

.map figcaption{padding:10px 14px;font-size:var(--text-sm);border-top:1px solid var(--border-soft)}


/* ---------- mobile menu: <details>, no JS ---------- */
.mnav{display:none;position:relative}

.mnav summary::-webkit-details-marker{display:none}
@media (max-width:640px){
  .grid-services ul{columns:1}}


/* ---------- photos (visual semantics: each image sits beside the copy it illustrates) ---------- */
.photo{margin:0 0 20px;border-radius:var(--radius-md);overflow:hidden;border:1px solid var(--border);background:var(--surface)}

.photo img{width:100%;height:auto;aspect-ratio:16/9;object-fit:cover}

.photo figcaption{font-size:var(--text-xs);color:var(--muted);padding:8px 12px}

.photo.float{float:right;width:44%;margin:6px 0 16px 32px}
@media (max-width:820px){.photo.float{float:none;width:100%;margin:0 0 18px}}


/* ---------- read-more after paragraph 1 (intro, definition) ---------- */
details.fold{margin:.2em 0 1.2em}

details.fold > summary{list-style:none;cursor:pointer;display:inline-flex;align-items:center;gap:8px;font-weight:650;color:var(--accent);padding:6px 0;min-height:44px}

details.fold > summary::-webkit-details-marker{display:none}

details.fold > summary::after{content:"";width:9px;height:9px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg) translateY(-2px)}

details.fold[open] > summary::after{transform:rotate(-135deg) translateY(-1px)}

details.fold[open] > summary .when-closed,details.fold:not([open]) > summary .when-open{display:none}


/* ---------- service cards: uniform height, 4-line teaser + read more (all but the featured card) ---------- */
.grid-services > article{display:flex;flex-direction:column}

.grid-services > article:not(:first-child):has(details.more:not([open])) > p:first-of-type{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:4;overflow:hidden}

.grid-services > article details.more{margin-top:auto}

.grid-services > article details.more > summary{padding-top:10px}


/* ---------- review slider ---------- */
.review-track{list-style:none;margin:0;padding:6px 0 14px;display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;max-width:none;scrollbar-width:thin}

.review-track li{flex:0 0 340px;scroll-snap-align:start;margin:0}
@media (max-width:480px){.review-track li{flex-basis:88%}}

.review{position:relative;height:100%;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);padding:22px 22px 18px;display:flex;flex-direction:column;gap:10px}

.review .sample{position:absolute;top:12px;right:12px;font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.06em;color:var(--warn);border:1px solid currentColor;border-radius:var(--radius-pill);padding:2px 8px}

.review .stars{color:var(--warn);letter-spacing:2px;margin:0;font-size:15px}

.review blockquote{margin:0;flex:1}

.review blockquote p{margin:0;font-size:15px}

.review footer{display:flex;flex-direction:column;font-size:var(--text-sm);color:var(--muted)}

.review footer strong{color:var(--fg)}


/* ---------- founder ---------- */
.founder-grid{display:grid;grid-template-columns:minmax(220px,300px) 1fr;gap:40px;align-items:center}

.founder-photo{margin:0;border-radius:var(--radius-lg);overflow:hidden;border:1px solid var(--border)}

.founder-photo img{width:100%;height:auto;aspect-ratio:1/1;object-fit:cover}

.founder-name{font-size:var(--text-lg);margin:0 0 .8em}

.founder-name span{display:block;color:var(--muted);font-size:var(--text-sm)}
@media (max-width:760px){.founder-grid{grid-template-columns:1fr}.founder-photo{max-width:280px}}
.elementor-widget-text-editor ul:not(.badges):not(.areas),.elementor-widget-text-editor ol:not(.rail){max-width:70ch}
.elementor-widget-text-editor ul.badges,.elementor-widget-text-editor ol.rail{max-width:none}
.table-scroll{overflow-x:auto}.table-scroll table{border-collapse:collapse;width:100%;font-size:14px;background:var(--surface);border:1px solid var(--border);border-radius:8px}
.table-scroll th,.table-scroll td{padding:.7em .8em;border-bottom:1px solid var(--border-soft);text-align:left;vertical-align:top}
.table-scroll thead th{background:var(--surface-warm);font-weight:650}
.elementor-toggle-title{font-weight:650;color:var(--accent)}/* End custom CSS */