/* =====================================================================
   AISEOwhiteHatRanker: 2026 design system (v1.0, 2026-09-26)
   Master copy: design-system.css in the project folder.
   Lives in Appearance > Customize > Additional CSS, BELOW the legacy rules.
   Every selector is namespaced (.ai-* / --ai-*), so nothing here restyles
   the current live pages. The legacy rules above are removed at launch
   (see 02-redesign-master-plan-v2.md Â§5.7).
   ===================================================================== */

/* 1. FONT (self-hosted; only downloaded when an .ai-* element uses it) */
@font-face{font-family:"Plus Jakarta Sans";font-style:normal;font-weight:200 800;font-display:swap;
  src:url(/wp-content/uploads/aiseo-fonts/plus-jakarta-sans-latin.woff2) format("woff2");
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Plus Jakarta Sans";font-style:normal;font-weight:200 800;font-display:swap;
  src:url(/wp-content/uploads/aiseo-fonts/plus-jakarta-sans-latin-ext.woff2) format("woff2");
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}

/* 2. TOKENS */
:root{
  --ai-navy:#082C4D; --ai-blue:#0D75BD; --ai-blue-700:#0A5E9C; --ai-cyan:#20B8E6;
  --ai-ice:#EAF8FD; --ai-bg:#F4FBFE; --ai-white:#FFFFFF; --ai-text:#102B43; --ai-muted:#587083;
  --ai-line:#D9E8F2; --ai-line-strong:#B9DDF2; --ai-gold:#E9C46A; --ai-error:#B42318; --ai-footer-text:#C9D8E4;
  --ai-font:"Plus Jakarta Sans",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  --ai-radius-sm:10px; --ai-radius:16px; --ai-radius-lg:20px; --ai-radius-pill:999px;
  --ai-shadow:0 1px 2px rgba(8,44,77,.04),0 8px 24px rgba(8,44,77,.06);
  --ai-shadow-hover:0 2px 4px rgba(8,44,77,.05),0 14px 32px rgba(8,44,77,.10);
  --ai-ease:cubic-bezier(.2,.7,.2,1); --ai-dur:180ms;
  --ai-max:1200px; --ai-gutter:24px;
  --ai-sec-y:96px; --ai-head-gap:48px; --ai-gap:24px;
  --ai-h1:64px; --ai-h2:42px; --ai-h3:21px; --ai-h4:18px; --ai-lead:19px; --ai-body:17px; --ai-small:14px; --ai-eyebrow:13px;
  --ai-grad-strip:linear-gradient(90deg,#082C4D 0%,#0A4C82 55%,#0D75BD 100%);
  --ai-grad-proof:linear-gradient(120deg,#0A5E9C 0%,#0D75BD 55%,#1A9BD6 88%,#20B8E6 100%);
  --ai-grad-hero:radial-gradient(900px 480px at 88% 8%,rgba(32,184,230,.14),transparent 70%),linear-gradient(180deg,#F4FBFE 0%,#FFFFFF 100%);
  --ai-grad-cta:linear-gradient(180deg,#FFFFFF 0%,#EAF8FD 100%);
}
@media (max-width:1024px){:root{--ai-sec-y:72px;--ai-head-gap:40px;--ai-h1:52px;--ai-h2:36px;--ai-h3:20px;--ai-lead:18px;--ai-body:16px}}
@media (max-width:767px){:root{--ai-sec-y:56px;--ai-head-gap:32px;--ai-gutter:18px;--ai-h1:40px;--ai-h2:30px;--ai-h3:19px;--ai-h4:17px;--ai-lead:17px}}
@media (max-width:360px){:root{--ai-gutter:16px;--ai-h1:36px;--ai-h2:28px}}

/* 3. SCOPE BASE (only inside new-design wrappers) */
.ai-site,.ai-section,.ai-header,.ai-footer,.ai-404{font-family:var(--ai-font);color:var(--ai-text);font-size:var(--ai-body);line-height:1.65;-webkit-font-smoothing:antialiased}
:is(.ai-site,.ai-section,.ai-header,.ai-footer,.ai-404) .elementor-widget .elementor-heading-title,
:is(.ai-site,.ai-section,.ai-header,.ai-footer,.ai-404) :is(h1,h2,h3,h4){font-family:var(--ai-font);color:var(--ai-navy);margin:0}
:is(.ai-section,.ai-404) .elementor-widget-text-editor{font-family:var(--ai-font);color:var(--ai-text);font-size:var(--ai-body);line-height:1.65}
:is(.ai-section,.ai-404) .elementor-widget-text-editor p{margin:0 0 1em}
:is(.ai-section,.ai-404) .elementor-widget-text-editor p:last-child{margin-bottom:0}
:is(.ai-section,.ai-404) a:not(.elementor-button):not(.ai-btn){color:var(--ai-blue);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
:is(.ai-section,.ai-404) a:not(.elementor-button):not(.ai-btn):hover{color:var(--ai-blue-700);text-decoration-thickness:2px}

/* 4. TYPOGRAPHY CLASSES (add to a Heading / Text Editor widget via Advanced > CSS Classes) */
.elementor-widget.ai-h1 .elementor-heading-title,h1.ai-h1{font-size:var(--ai-h1);font-weight:800;line-height:1.05;letter-spacing:-.02em}
.elementor-widget:is(.ai-h2,.ai-section-title) .elementor-heading-title,h2:is(.ai-h2,.ai-section-title){font-size:var(--ai-h2);font-weight:800;line-height:1.15;letter-spacing:-.01em}
.elementor-widget.ai-h3 .elementor-heading-title,h3.ai-h3{font-size:var(--ai-h3);font-weight:700;line-height:1.3;letter-spacing:-.005em}
.elementor-widget.ai-h4 .elementor-heading-title,h4.ai-h4{font-size:var(--ai-h4);font-weight:700;line-height:1.35}
.elementor-widget:is(.ai-lead,.ai-section-description) :is(.elementor-heading-title,p),.elementor-widget.ai-lead,.elementor-widget.ai-section-description,p.ai-lead{font-size:var(--ai-lead);line-height:1.6;color:var(--ai-muted)}
.elementor-widget.ai-section-description{max-width:60ch}
.elementor-widget.ai-body :is(.elementor-heading-title,p){font-size:var(--ai-body);line-height:1.65;font-weight:400}
.elementor-widget.ai-small :is(.elementor-heading-title,p),.elementor-widget.ai-small,.ai-small{font-size:var(--ai-small);line-height:1.55;color:var(--ai-muted)}
.elementor-widget:is(.ai-eyebrow,.ai-section-eyebrow) .elementor-heading-title,p:is(.ai-eyebrow,.ai-section-eyebrow){display:inline-flex;align-items:center;gap:10px;font-size:var(--ai-eyebrow);font-weight:700;line-height:1.3;letter-spacing:.12em;text-transform:uppercase;color:var(--ai-blue)}
.elementor-widget:is(.ai-eyebrow,.ai-section-eyebrow) .elementor-heading-title::before,p:is(.ai-eyebrow,.ai-section-eyebrow)::before{content:"";width:24px;height:2px;border-radius:2px;background:var(--ai-cyan);flex:none}
.ai-measure{max-width:68ch}
.ai-text-center,.ai-text-center .elementor-heading-title{text-align:center}
.ai-on-dark,.ai-on-dark :is(.elementor-heading-title,p,li,h1,h2,h3,h4){color:#fff}
.ai-on-dark .elementor-widget:is(.ai-lead,.ai-section-description) :is(.elementor-heading-title,p),.ai-on-dark .ai-small{color:#D6E9F6}
.ai-on-dark .elementor-widget:is(.ai-eyebrow,.ai-section-eyebrow) .elementor-heading-title{color:#BFE8F8}

/* 5. LAYOUT */
.e-con.ai-section{--container-max-width:var(--ai-max);--padding-top:var(--ai-sec-y);--padding-bottom:var(--ai-sec-y);--padding-left:var(--ai-gutter);--padding-right:var(--ai-gutter);--gap:var(--ai-head-gap);--row-gap:var(--ai-head-gap);position:relative}
.e-con.ai-section--hero{--padding-top:88px;--padding-bottom:96px}
.e-con.ai-section--compact{--padding-top:28px;--padding-bottom:28px}
@media (max-width:1024px){.e-con.ai-section--hero{--padding-top:64px;--padding-bottom:72px}}
@media (max-width:767px){.e-con.ai-section--hero{--padding-top:40px;--padding-bottom:56px}.e-con.ai-section--compact{--padding-top:24px;--padding-bottom:24px}}
.e-con.ai-section.e-con-boxed>.e-con-inner{max-width:var(--ai-max)}
.ai-wrap{width:100%;max-width:var(--ai-max);margin-inline:auto}
.e-con.ai-bg-white{background:var(--ai-white)}
.e-con.ai-bg-soft{background:var(--ai-bg)}
.e-con.ai-bg-ice{background:var(--ai-ice)}
.e-con.ai-bg-navy{background:var(--ai-navy)}
.e-con.ai-bg-strip{background:var(--ai-grad-strip)}
.e-con.ai-bg-proof{background:var(--ai-grad-proof)}
.e-con.ai-bg-hero{background:var(--ai-grad-hero)}
.e-con.ai-bg-cta{background:var(--ai-grad-cta)}
.e-con.ai-section-head{--gap:16px;--row-gap:16px;--padding-top:0;--padding-bottom:0;--padding-left:0;--padding-right:0;max-width:760px}
.e-con.ai-section-head--center{margin-inline:auto;align-items:center;text-align:center}
.e-con.ai-section-head--split{max-width:none;flex-direction:row;justify-content:space-between;align-items:flex-end;gap:32px}
@media (max-width:767px){.e-con.ai-section-head--split{flex-direction:column;align-items:flex-start}}
.e-con:is(.ai-grid-2,.ai-grid-3,.ai-grid-4,.ai-grid-6){--padding-top:0;--padding-bottom:0;--padding-left:0;--padding-right:0;--gap:var(--ai-gap);--row-gap:var(--ai-gap);--column-gap:var(--ai-gap)}
/* Elementor's Grid container defaults to 2 fixed rows; let rows size to content */
.e-con:is(.ai-grid-2,.ai-grid-3,.ai-grid-4,.ai-grid-6,.ai-footer-grid){--e-con-grid-template-rows:auto!important;grid-auto-rows:auto}
.e-con.ai-grid-2{--e-con-grid-template-columns:repeat(2,minmax(0,1fr))}
.e-con.ai-grid-3{--e-con-grid-template-columns:repeat(3,minmax(0,1fr))}
.e-con.ai-grid-4{--e-con-grid-template-columns:repeat(4,minmax(0,1fr))}
.e-con.ai-grid-6{--e-con-grid-template-columns:repeat(6,minmax(0,1fr))}
@media (max-width:1024px){.e-con.ai-grid-3,.e-con.ai-grid-4{--e-con-grid-template-columns:repeat(2,minmax(0,1fr))}.e-con.ai-grid-6{--e-con-grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:767px){.e-con:is(.ai-grid-2,.ai-grid-3,.ai-grid-4){--e-con-grid-template-columns:minmax(0,1fr)}.e-con.ai-grid-6{--e-con-grid-template-columns:repeat(2,minmax(0,1fr))}}

/* 6. COMPONENTS */
/* Buttons: Elementor Button widget (class on widget) or <a class="ai-btn ai-btn--primary"> */
.elementor-widget:is(.ai-btn--primary,.ai-btn--ghost,.ai-btn--light) .elementor-button,a.ai-btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:14px 22px;border-radius:var(--ai-radius-sm);
  font-family:var(--ai-font);font-size:16px;font-weight:700;line-height:1.2;letter-spacing:0;text-decoration:none;border:1.5px solid transparent;
  transition:background-color var(--ai-dur) var(--ai-ease),border-color var(--ai-dur) var(--ai-ease),color var(--ai-dur) var(--ai-ease),transform var(--ai-dur) var(--ai-ease),box-shadow var(--ai-dur) var(--ai-ease)}
.elementor-widget.ai-btn--primary .elementor-button,a.ai-btn--primary{background:var(--ai-blue);color:#fff;box-shadow:0 6px 16px rgba(13,117,189,.22)}
.elementor-widget.ai-btn--primary .elementor-button:hover,a.ai-btn--primary:hover{background:var(--ai-blue-700);color:#fff;transform:translateY(-1px)}
.elementor-widget.ai-btn--ghost .elementor-button,a.ai-btn--ghost{background:transparent;color:var(--ai-blue);border-color:var(--ai-blue)}
.elementor-widget.ai-btn--ghost .elementor-button:hover,a.ai-btn--ghost:hover{background:var(--ai-ice);color:var(--ai-blue-700);border-color:var(--ai-blue-700)}
.elementor-widget.ai-btn--light .elementor-button,a.ai-btn--light{background:#fff;color:var(--ai-navy)}
.elementor-widget.ai-btn--light .elementor-button:hover,a.ai-btn--light:hover{background:var(--ai-ice);color:var(--ai-navy)}
.elementor-widget.ai-btn--sm .elementor-button,a.ai-btn--sm{min-height:44px;padding:11px 18px;font-size:15px}
.elementor-widget.ai-btn--block .elementor-button{width:100%}
.ai-btn-row{display:flex;flex-wrap:wrap;gap:12px}
/* Text link with arrow */
.elementor-widget.ai-link .elementor-button,a.ai-link{background:none;padding:0;min-height:0;color:var(--ai-blue);font-family:var(--ai-font);font-weight:700;font-size:15px;text-decoration:none;box-shadow:none;border:0}
.elementor-widget.ai-link .elementor-button:hover,a.ai-link:hover{color:var(--ai-blue-700);text-decoration:underline;text-underline-offset:3px}
.elementor-widget.ai-link .elementor-button{min-height:44px;display:inline-flex;align-items:center}
.elementor-widget.ai-link .elementor-button-text::after,a.ai-link::after{content:" \2192";}

/* Cards */
.e-con.ai-card,.ai-card:not(.e-con){background:var(--ai-white);border:1px solid var(--ai-line);border-radius:var(--ai-radius);box-shadow:var(--ai-shadow);
  --padding-top:28px;--padding-bottom:28px;--padding-left:28px;--padding-right:28px;--gap:14px;--row-gap:14px;
  transition:transform var(--ai-dur) var(--ai-ease),box-shadow var(--ai-dur) var(--ai-ease),border-color var(--ai-dur) var(--ai-ease)}
.ai-card:not(.e-con){padding:28px}
.ai-card:is(:has(a),.ai-card--interactive):hover{transform:translateY(-2px);box-shadow:var(--ai-shadow-hover);border-color:var(--ai-line-strong)}
@media (max-width:767px){.e-con.ai-card{--padding-top:22px;--padding-bottom:22px;--padding-left:22px;--padding-right:22px}.ai-card:not(.e-con){padding:22px}}
/* Icon tile (Icon Box / Icon widget with .ai-icon-tile) */
/* Service / portfolio / testimonial cards */
/* Chips */
/* Outcome strip */
.ai-strip{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:16px;margin:0;padding:0;list-style:none}
.ai-strip svg{width:26px;height:26px;fill:none;stroke:#BFE8F8;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}
@media (max-width:1024px){.ai-strip{grid-template-columns:repeat(3,minmax(0,1fr));row-gap:22px}}
@media (max-width:480px){.ai-strip{grid-template-columns:repeat(2,minmax(0,1fr))}}
/* Proof tiles */
/* Process */
/* Checklist (Icon List widget with .ai-checklist) */
.elementor-widget.ai-checklist .elementor-icon-list-item{font-family:var(--ai-font);font-size:16px;color:var(--ai-text);align-items:flex-start}
.elementor-widget.ai-checklist .elementor-icon-list-icon svg{fill:var(--ai-blue);width:18px;height:18px}
.elementor-widget.ai-checklist .elementor-icon-list-icon i{color:var(--ai-blue)}
/* Business-system diagram (<ol class="ai-system">) */
/* FAQ (Accordion / nested accordion with .ai-faq) */
/* CTA band + form card */
.e-con.ai-cta{--gap:48px}
.e-con.ai-form-card{background:#fff;border:1px solid var(--ai-line);border-radius:var(--ai-radius-lg);box-shadow:var(--ai-shadow-hover);--padding-top:32px;--padding-bottom:32px;--padding-left:32px;--padding-right:32px}
@media (max-width:767px){.e-con.ai-form-card{--padding-top:22px;--padding-bottom:22px;--padding-left:18px;--padding-right:18px}}
/* Team chips */

/* 7. HEADER (UAE header template: outer container .ai-header) */
#masthead:has(.ai-header){position:sticky;top:0;z-index:999}
.admin-bar #masthead:has(.ai-header){top:32px}
@media (max-width:782px){.admin-bar #masthead:has(.ai-header){top:46px}}
.e-con.ai-header{background:#fff;border-bottom:1px solid var(--ai-line);--container-max-width:var(--ai-max);--padding-top:12px;--padding-bottom:12px;--padding-left:var(--ai-gutter);--padding-right:var(--ai-gutter);min-height:72px}
@media (max-width:767px){.e-con.ai-header{min-height:64px;--padding-top:10px;--padding-bottom:10px}}
.ai-header .ai-logo img{display:block;height:44px;width:auto}
@media (max-width:767px){.ai-header .ai-logo img{height:38px}}
.ai-header .hfe-nav-menu a.hfe-menu-item,.ai-header .hfe-nav-menu a.hfe-sub-menu-item{font-family:var(--ai-font);font-size:15px;font-weight:600;color:var(--ai-navy);text-decoration:none}
.ai-header .hfe-nav-menu a.hfe-menu-item:hover,.ai-header .hfe-nav-menu .current-menu-item>a.hfe-menu-item{color:var(--ai-blue)}
.ai-header .hfe-nav-menu__layout-horizontal .current-menu-item>a.hfe-menu-item{box-shadow:inset 0 -2px 0 var(--ai-blue)}
.ai-header .hfe-nav-menu-icon{color:var(--ai-navy);border-radius:10px;min-width:44px;min-height:44px;display:inline-grid;place-items:center}
.ai-header .hfe-nav-menu-icon svg{fill:var(--ai-navy)}
@media (max-width:1024px){
  .ai-header nav.hfe-dropdown{background:#fff;border-top:1px solid var(--ai-line);box-shadow:var(--ai-shadow-hover)}
  .ai-header nav.hfe-dropdown a.hfe-menu-item{padding:14px 20px!important;border-bottom:1px solid var(--ai-line)}
}
@media (max-width:767px){.ai-header .ai-header-cta{display:none}}
/* The menu's "Claim Your FREE Audit" item (class ai-menu-cta) is for the mobile/tablet dropdown only */
@media (min-width:1025px){.ai-header .ai-menu-cta{display:none!important}}
.ai-header .hfe-nav-menu__layout-horizontal .hfe-nav-menu>li>a.hfe-menu-item{padding-left:12px!important;padding-right:12px!important}
.ai-header .elementor-widget-navigation-menu{flex:1 1 0%!important;min-width:0}
@media (max-width:1024px){
  .ai-header .elementor-widget-navigation-menu .hfe-nav-menu{justify-content:flex-end}
  .ai-header nav.hfe-dropdown{position:absolute!important;top:100%;z-index:1000}
  .ai-header .hfe-nav-menu__toggle{margin-left:auto!important;margin-right:0!important}
  .ai-header nav.hfe-dropdown .hfe-nav-menu>li,.ai-header nav.hfe-dropdown a.hfe-menu-item{border-color:var(--ai-line)!important}
  .ai-header nav.hfe-dropdown a.hfe-menu-item{font-family:var(--ai-font)!important;font-size:16px!important;font-weight:600;color:var(--ai-navy)!important;min-height:48px;display:flex;align-items:center}
  .ai-header nav.hfe-dropdown .ai-menu-cta{border:0!important}
  .ai-header nav.hfe-dropdown .ai-menu-cta>a.hfe-menu-item{margin:14px 16px 18px;justify-content:center;border-radius:var(--ai-radius-sm);background:var(--ai-blue)!important;color:#fff!important;font-weight:700;border:0!important}
  .ai-header nav.hfe-dropdown .ai-menu-cta>a.hfe-menu-item:hover{background:var(--ai-blue-700)!important}
}

/* 8. FOOTER (UAE footer template: outer container .ai-footer) */
.e-con.ai-footer{background:var(--ai-navy);color:var(--ai-footer-text);--container-max-width:var(--ai-max);--padding-top:72px;--padding-bottom:32px;--padding-left:var(--ai-gutter);--padding-right:var(--ai-gutter)}
@media (max-width:767px){.e-con.ai-footer{--padding-top:56px}}
.ai-footer,.ai-footer p,.ai-footer .elementor-widget-text-editor{color:var(--ai-footer-text);font-family:var(--ai-font);font-size:15px;line-height:1.65}
.ai-footer .ai-footer-label .elementor-heading-title{font-size:13px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#fff}
.ai-footer a,.ai-footer .hfe-nav-menu a.hfe-menu-item{color:var(--ai-footer-text);font-family:var(--ai-font);font-size:15px;text-decoration:none}
.ai-footer a:hover,.ai-footer .hfe-nav-menu a.hfe-menu-item:hover{color:#fff;text-decoration:underline;text-underline-offset:3px}
.ai-footer .hfe-nav-menu__layout-vertical a.hfe-menu-item{padding:5px 0!important}
.ai-footer .ai-footer-logo img{width:240px;height:auto;display:block}
.e-con.ai-footer-bar{border-top:1px solid rgba(255,255,255,.12);--padding-top:22px;--padding-bottom:0;font-size:14px}
.ai-footer .ai-footer-bar,.ai-footer .ai-footer-bar a,.ai-footer .hfe-copyright-wrapper{font-size:14px;color:#9FB6C8}
.ai-footer .hfe-copyright-wrapper,.ai-footer .hfe-copyright-wrapper *{font-family:var(--ai-font)!important}
.ai-legal{display:flex;flex-wrap:wrap;gap:6px 20px;margin:0;padding:0;list-style:none}

/* 9. CONTACT FORM 7 SKIN (scoped: only inside .ai-form-card) */
.ai-form-card .wpcf7-form{font-family:var(--ai-font);display:grid;gap:16px;margin:0;padding:0;animation:none}
.ai-form-card .wpcf7-form p{margin:0}
/* CF7 auto-paragraphs wrap sibling labels in one <p> with <br>: flatten so the grid sees the labels */
.ai-form-card .wpcf7-form br{display:none}
.ai-form-card .wpcf7-form>p:not(.ai-privacy){display:grid;gap:16px}
.ai-form-card .wpcf7-form .ai-form-row>p{display:contents}
.ai-form-card .wpcf7-form>.hidden-fields-container{display:none}
.ai-form-card .wpcf7-form label{display:block;margin:0;font-size:14px;font-weight:700;color:var(--ai-navy);line-height:1.4}
.ai-form-card .wpcf7-form .ai-optional{font-weight:500;color:var(--ai-muted)}
.ai-form-card .wpcf7-form :is(input[type=text],input[type=email],input[type=url],input[type=tel],select,textarea){
  display:block;width:100%;box-sizing:border-box;min-height:48px;margin-top:6px;padding:12px 14px;font-family:var(--ai-font);font-size:16px;color:var(--ai-text);
  background:#fff;border:1px solid #C5D9E6;border-radius:var(--ai-radius-sm);box-shadow:none;transition:border-color var(--ai-dur),box-shadow var(--ai-dur)}
.ai-form-card .wpcf7-form textarea{min-height:110px;resize:vertical}
.ai-form-card .wpcf7-form :is(input,select,textarea):focus{outline:none;border-color:var(--ai-blue);box-shadow:0 0 0 3px rgba(32,184,230,.35)}
.ai-form-card .wpcf7-form .ai-form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
@media (max-width:600px){.ai-form-card .wpcf7-form .ai-form-row{grid-template-columns:1fr}}
.ai-form-card .wpcf7-form input[type=submit]{display:flex;align-items:center;justify-content:center;width:100%;min-height:52px;margin:4px 0 0;padding:14px 22px;border:0;border-radius:var(--ai-radius-sm);
  background:var(--ai-blue);color:#fff;font-family:var(--ai-font);font-size:16px;font-weight:700;cursor:pointer;box-shadow:0 6px 16px rgba(13,117,189,.22);transition:background-color var(--ai-dur),transform var(--ai-dur)}
.ai-form-card .wpcf7-form input[type=submit]:hover{background:var(--ai-blue-700);transform:translateY(-1px)}
.ai-form-card .wpcf7-not-valid-tip{color:var(--ai-error);font-size:14px;font-weight:600;margin-top:6px}
.ai-form-card .wpcf7-form .wpcf7-not-valid{border-color:var(--ai-error)}
.ai-form-card .wpcf7-response-output{margin:4px 0 0!important;padding:12px 14px!important;border-radius:var(--ai-radius-sm);font-size:15px;border-width:1px!important}
.ai-form-card .wpcf7-form.sent .wpcf7-response-output{border-color:#1A7F4B!important;background:#EAF7F0;color:#0F5132}
.ai-form-card .wpcf7-form:is(.invalid,.failed,.aborted,.spam) .wpcf7-response-output{border-color:var(--ai-error)!important;background:#FDF0EF;color:#7A1A12}
.ai-form-card .ai-privacy,.ai-form-card .gscf7-frontend-gdpr-notice,.ai-form-card .gscf7-frontend-gdpr-notice *,.ai-form-card .wpcf7-form .ai-privacy{font-size:13px!important;line-height:1.5!important;color:var(--ai-muted)!important;margin:0!important}
.ai-form-card .gscf7-frontend-gdpr-notice{margin-top:-8px!important}
.ai-form-card .wpcf7-spinner{margin:8px auto 0;display:block}

/* 10. BREADCRUMBS ([rank_math_breadcrumb] inside .ai-breadcrumbs) */
.ai-breadcrumbs .rank-math-breadcrumb p{margin:0;font-family:var(--ai-font);font-size:14px;color:var(--ai-muted)}
.ai-breadcrumbs .rank-math-breadcrumb a{color:var(--ai-blue);text-decoration:none}
.ai-breadcrumbs .rank-math-breadcrumb a:hover{text-decoration:underline}
.ai-breadcrumbs .rank-math-breadcrumb .separator{margin:0 6px;color:#9DB3C4}

/* 11. 404 */
.ai-404{max-width:720px;margin:0 auto;padding:96px var(--ai-gutter);text-align:center}
.ai-404 .ai-404-code{font-size:14px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--ai-blue)}

/* 12. FOCUS (visible keyboard focus everywhere in the new design) */
:is(.ai-site,.ai-section,.ai-header,.ai-footer,.ai-404) :is(a,button,summary,[tabindex]):focus-visible,
:is(.ai-site,.ai-section,.ai-header,.ai-footer,.ai-404) .elementor-button:focus-visible,
.ai-form-card .wpcf7-form input[type=submit]:focus-visible{outline:3px solid var(--ai-cyan);outline-offset:2px;border-radius:6px}

/* 13. UTILITIES */
.ai-sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media (max-width:767px){.ai-hide-mobile{display:none!important}}
@media (min-width:768px){.ai-show-mobile{display:none!important}}

/* 15. HOMEPAGE COMPOSITION */
/* Section heads */
.e-con.ai-section-head--center,.e-con.ai-section-head--center :is(.elementor-heading-title,p){text-align:center}
.e-con.ai-section-head--center .elementor-widget.ai-section-description{margin-inline:auto}
.e-con.ai-section-head--split>.e-con{--padding-top:0;--padding-bottom:0;--padding-left:0;--padding-right:0}
.elementor-widget.ai-h1 .ai-accent{color:var(--ai-blue)}
.elementor-widget.ai-h1 .elementor-heading-title{max-width:12ch}
/* Button rows */
.e-con.ai-btn-row{flex-direction:row;flex-wrap:wrap;gap:12px;--gap:12px;--padding-top:0;--padding-bottom:0;--padding-left:0;--padding-right:0}
.e-con.ai-btn-row>.elementor-widget{width:auto;margin:0}
@media (max-width:480px){.e-con.ai-btn-row{flex-direction:column}.e-con.ai-btn-row>.elementor-widget,.e-con.ai-btn-row .elementor-button{width:100%}}
.elementor-widget.ai-microline p{font-size:14px;color:var(--ai-muted);margin:0;letter-spacing:.01em}
/* Hero */
.e-con.ai-hero{--gap:56px;align-items:center}
.e-con.ai-hero-copy{--gap:22px;--padding-top:0;--padding-bottom:0;--padding-left:0;--padding-right:0}
.e-con.ai-hero-media{--padding-top:0;--padding-bottom:0;--padding-left:0;--padding-right:0}
@media (max-width:600px){
}
/* Capability strip (overrides section 6 strip) */
.ai-strip li{gap:12px;font-size:12.5px;letter-spacing:.1em;text-transform:uppercase}
.ai-strip .ai-strip-ico{width:52px;height:52px;border-radius:50%;display:grid;place-items:center;border:1px solid rgba(191,232,248,.35);background:rgba(255,255,255,.06)}
.ai-strip svg{width:24px;height:24px}
.e-con.ai-section--strip{--padding-top:36px;--padding-bottom:36px}
/* Cards (composition) */
.e-con.ai-card>.elementor-widget{margin:0}
.e-con.ai-card>.elementor-widget.ai-link{margin-top:auto;padding-top:6px}
.elementor-widget.ai-card-text,.elementor-widget.ai-card-text p{font-size:16px;line-height:1.6;color:var(--ai-muted)}
/* Portfolio cards */
/* Proof */
/* Testimonials in cards */
/* CTA bar */
/* Local-business split */
.e-con.ai-split{--gap:56px;align-items:center}
.e-con.ai-split>.e-con{--padding-top:0;--padding-bottom:0;--padding-left:0;--padding-right:0}
/* Process */
/* Strategy visual */
/* Checklist */
.ai-check{margin:0;padding:0;list-style:none;display:grid;gap:10px}
.ai-check li{display:grid;grid-template-columns:22px 1fr;gap:10px;align-items:start;font-size:16px;line-height:1.5;color:var(--ai-text)}
.ai-check li::before{content:"";width:22px;height:22px;border-radius:50%;background:var(--ai-ice) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230D75BD' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center/12px no-repeat}
/* FAQ (native details/summary) */
/* Dark bands: beat the scoped navy heading/link colours */
.ai-section.ai-on-dark .elementor-widget .elementor-heading-title{color:#fff}
.ai-section.ai-on-dark .elementor-widget:is(.ai-eyebrow,.ai-section-eyebrow) .elementor-heading-title{color:#BFE8F8}
.ai-section.ai-on-dark .elementor-widget:is(.ai-lead,.ai-section-description) p{color:#D6E9F6}
.ai-section.ai-on-dark a:not(.elementor-button):not(.ai-btn){color:#fff}
.ai-section.ai-on-dark a:not(.elementor-button):not(.ai-btn):hover{color:#BFE8F8}
.e-con.ai-split>.e-con.ai-form-card{--padding-top:32px;--padding-bottom:32px;--padding-left:32px;--padding-right:32px}
@media (max-width:767px){.e-con.ai-split>.e-con.ai-form-card{--padding-top:22px;--padding-bottom:22px;--padding-left:18px;--padding-right:18px}}
.e-con.ai-split.ai-cta{align-items:flex-start}
.e-con.ai-split.ai-cta>.ai-section-head{position:sticky;top:110px}
@media (max-width:1024px){.e-con.ai-split.ai-cta>.ai-section-head{position:static}}
/* Form card: our privacy line replaces the connector's generic notice inside the new design */
.ai-form-card .gscf7-frontend-gdpr-notice{display:none!important}
.ai-form-card .ai-privacy a{color:var(--ai-blue);text-decoration:underline}
@media (max-width:1024px){.e-con.ai-hero,.e-con.ai-split{--gap:40px}}

/* 16. REFINEMENTS (Phase 2b) */
/* Hero visual: six capabilities, no metrics */
/* Proof tiles */
/* Testimonials: larger, more readable */
/* 4-column service cards */
.e-con.ai-grid-4 .elementor-widget.ai-h3 .elementor-heading-title{font-size:19px}
.e-con.ai-grid-4 .elementor-widget.ai-card-text p{font-size:15.5px}
/* Map illustration */
/* Team row */
/* Form card title + contact line */
.elementor-widget.ai-form-title .elementor-heading-title{font-size:20px;margin-bottom:4px}
.ai-cta-contact{margin:16px 0 0;font-size:15px;color:var(--ai-muted)}
/* Tighter, still readable mobile */
@media (max-width:767px){
  :root{--ai-sec-y:48px;--ai-head-gap:28px;--ai-gap:16px}
  .e-con.ai-section--hero{--padding-top:32px;--padding-bottom:44px}
  .e-con.ai-split,.e-con.ai-hero{--gap:32px}
}

/* 17. HOMEPAGE DESIGN RESET (editorial) -- .ai-x-* components */
:root{--ai-max:1240px}
@media (min-width:1025px){:root{--ai-sec-y:112px;--ai-h2:48px;--ai-h1:76px}}
.e-con.ai-section{--row-gap:56px;--gap:56px}
@media (max-width:1024px){.e-con.ai-section{--row-gap:44px;--gap:44px}}
@media (max-width:767px){.e-con.ai-section{--row-gap:32px;--gap:32px}}
.elementor-widget.ai-h1 .elementor-heading-title{max-width:none;line-height:1.02;letter-spacing:-.035em}
.elementor-widget:is(.ai-h2,.ai-section-title) .elementor-heading-title{letter-spacing:-.025em;line-height:1.08}
.elementor-widget.ai-x-h3 .elementor-heading-title{font-size:22px;font-weight:700;line-height:1.25;letter-spacing:-.01em;color:var(--ai-navy)}
.elementor-widget.ai-x-text,.elementor-widget.ai-x-text p{font-size:16.5px;line-height:1.65;color:var(--ai-muted)}
.e-con.ai-x-flat{--padding-top:0;--padding-bottom:0;--padding-left:0;--padding-right:0}
/* Heads */
.e-con.ai-x-head{--gap:18px;--row-gap:18px;--padding-top:0;--padding-bottom:0;--padding-left:0;--padding-right:0;max-width:720px}
.e-con.ai-x-head--center{margin-inline:auto;align-items:center;text-align:center}
.e-con.ai-x-head--center :is(.elementor-heading-title,p){text-align:center}
.e-con.ai-x-head--row{max-width:none;flex-direction:row;justify-content:space-between;align-items:flex-end;gap:40px}
.e-con.ai-x-head--row>.e-con{--padding-top:0;--padding-bottom:0;--padding-left:0;--padding-right:0;--gap:18px;max-width:720px}
@media (max-width:767px){.e-con.ai-x-head--row{flex-direction:column;align-items:flex-start;gap:16px}}
/* 1. Hero: one connected interface */
.e-con.ai-hero{--gap:72px}
.ai-x-ui{width:100%;max-width:580px;margin-left:auto;background:#fff;border:1px solid var(--ai-line);border-radius:18px;box-shadow:0 2px 6px rgba(8,44,77,.04),0 30px 60px -20px rgba(8,44,77,.22);overflow:hidden;font-family:var(--ai-font)}
.ai-x-ui-bar{display:flex;align-items:center;gap:7px;padding:13px 18px;border-bottom:1px solid var(--ai-line);background:#FBFDFF}
.ai-x-ui-bar i{width:9px;height:9px;border-radius:50%;background:#D5E3EC}
.ai-x-ui-bar b{margin-left:10px;font-size:13px;font-weight:700;color:var(--ai-navy)}
.ai-x-ui-bar em{margin-left:auto;font-style:normal;font-size:11.5px;font-weight:700;color:#1A7F4B;background:#E7F6EE;border-radius:999px;padding:3px 10px}
.ai-x-ui-body{display:grid;grid-template-columns:150px 1fr}
.ai-x-ui-nav{list-style:none;margin:0;padding:16px 10px;border-right:1px solid var(--ai-line);background:#FBFDFF;display:grid;gap:2px;align-content:start}
.ai-x-ui-nav li{display:flex;align-items:center;gap:9px;font-size:13px;font-weight:600;color:var(--ai-muted);padding:8px 10px;border-radius:8px}
.ai-x-ui-nav li.is-on{background:var(--ai-ice);color:var(--ai-navy)}
.ai-x-ui-nav svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;flex:none}
.ai-x-ui-main{padding:22px 24px 24px}
.ai-x-ui-main>p{margin:0 0 16px;font-size:11.5px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--ai-blue)}
.ai-x-flow{list-style:none;margin:0;padding:0;display:grid;gap:0}
.ai-x-flow li{position:relative;display:grid;grid-template-columns:36px 1fr;gap:14px;padding-bottom:18px}
.ai-x-flow li:last-child{padding-bottom:0}
.ai-x-flow li::before{content:"";position:absolute;left:17px;top:36px;bottom:0;width:2px;background:linear-gradient(var(--ai-line-strong),var(--ai-line))}
.ai-x-flow li:last-child::before{display:none}
.ai-x-flow .ai-x-node{width:36px;height:36px;border-radius:10px;display:grid;place-items:center;background:var(--ai-ice);color:var(--ai-blue)}
.ai-x-flow li.is-live .ai-x-node{background:var(--ai-blue);color:#fff}
.ai-x-flow .ai-x-node svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.ai-x-flow strong{display:block;font-size:14.5px;color:var(--ai-navy);line-height:1.3;margin-top:1px}
.ai-x-flow span{display:block;font-size:12.5px;color:var(--ai-muted);margin-top:2px}
@media (max-width:1024px){.ai-x-ui{margin-inline:auto}}
@media (max-width:480px){.ai-x-ui-body{grid-template-columns:1fr}.ai-x-ui-nav{display:none}.ai-x-ui-main{padding:18px}}
/* 2. Strip: one slim row */
.e-con.ai-section--strip{--padding-top:26px;--padding-bottom:26px}
.ai-strip{grid-template-columns:repeat(7,auto);justify-content:space-between;gap:12px 20px}
.ai-strip li{flex-direction:row;gap:10px;font-size:13px;letter-spacing:.1em;color:#E3F1FA}@media (min-width:1025px) and (max-width:1279px){.ai-strip li{font-size:12px;letter-spacing:.06em;gap:8px}}
.ai-strip .ai-strip-ico{width:auto;height:auto;border:0;background:none;border-radius:0}
.ai-strip svg{width:20px;height:20px;stroke:#7FD3F2}
@media (max-width:1024px){.ai-strip{grid-template-columns:repeat(4,auto);justify-content:space-around}}
@media (max-width:480px){.ai-strip{grid-template-columns:repeat(2,1fr);justify-content:stretch}.ai-strip li{justify-content:flex-start;font-size:12px}.ai-strip li:last-child:nth-child(odd){grid-column:1/-1;justify-content:center}}
/* 3. How we help: three equal outcome cards (.ai-hw-*) */
.e-con.ai-section.ai-hw-sec{--padding-top:112px;--padding-bottom:116px;--gap:56px;--row-gap:56px}
.ai-hw-sec .e-con.ai-x-head--center{--gap:16px;--row-gap:16px}
.e-con.ai-hw-grid{--padding-top:0;--padding-bottom:0;--padding-left:0;--padding-right:0;--gap:28px;--row-gap:28px;--column-gap:28px;
  --e-con-grid-template-columns:repeat(3,minmax(0,1fr))!important;--e-con-grid-template-rows:auto!important;grid-auto-rows:auto;width:100%;max-width:1180px;margin-inline:auto}
.e-con.ai-hw-card{--padding-top:40px;--padding-bottom:36px;--padding-left:40px;--padding-right:40px;--gap:0;--row-gap:0;height:100%;background:#fff;border:1px solid #DDE9F2;border-radius:20px;
  box-shadow:0 1px 2px rgba(8,44,77,.03),0 10px 30px -24px rgba(8,44,77,.20);transition:border-color 220ms var(--ai-ease),box-shadow 220ms var(--ai-ease)}
.e-con.ai-hw-card:hover{border-color:#C6DCEB;box-shadow:0 1px 2px rgba(8,44,77,.04),0 16px 36px -26px rgba(8,44,77,.26)}
/* Icon: small pale circle, line icon */
.ai-hw-ico{display:grid;place-items:center;width:64px;height:64px;border-radius:50%}
.ai-hw-ico svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.ai-hw-ico--blue{background:#EAF4FC;color:var(--ai-blue)}
.ai-hw-ico--teal{background:#E6F5F3;color:#1C7F78}
.ai-hw-ico--warm{background:#FBF2E6;color:#A8671F}
/* Title / text */
.ai-hw-sec .e-con.ai-hw-card>.elementor-widget.ai-hw-title{margin-top:32px}
.elementor-widget.ai-hw-title .elementor-heading-title{font-size:26px;font-weight:800;line-height:1.2;letter-spacing:-.025em;color:var(--ai-navy)}
.ai-hw-sec .e-con.ai-hw-card>.elementor-widget.ai-hw-text{margin-top:12px}
.elementor-widget.ai-hw-text p{margin:0;font-size:17px;line-height:1.65;color:#4E667A}
/* Divider + service line pinned together so they align across cards */
.ai-hw-sec .e-con.ai-hw-card>.elementor-widget.ai-hw-tags-w{margin-top:auto;padding-top:30px}
.ai-hw-tags{margin:0;padding-top:24px;border-top:1px solid #E3EDF4;font-family:var(--ai-font);font-size:14.5px;line-height:1.5;color:#6A8093}
/* CTA text link */
.ai-hw-sec .e-con.ai-hw-card>.elementor-widget.ai-hw-link{margin-top:10px}
.ai-hw-sec .elementor-widget.ai-hw-link .elementor-button{min-height:44px;font-size:16px;font-weight:700;color:var(--ai-blue);text-decoration:none}
.ai-hw-sec .elementor-widget.ai-hw-link .elementor-button:hover{color:var(--ai-blue-700);text-decoration:none}
.ai-hw-sec .elementor-widget.ai-hw-link .elementor-button-text::after{content:"\2192";display:inline-block;margin-left:7px;transition:transform var(--ai-dur) var(--ai-ease)}
.ai-hw-sec .elementor-widget.ai-hw-link .elementor-button:hover .elementor-button-text::after{transform:translateX(3px)}
.ai-hw-sec .elementor-widget.ai-hw-link .elementor-button:focus-visible{outline:3px solid var(--ai-cyan);outline-offset:2px;border-radius:4px}
@media (max-width:1199px){.e-con.ai-hw-card{--padding-top:34px;--padding-left:32px;--padding-right:32px;--padding-bottom:30px}.elementor-widget.ai-hw-title .elementor-heading-title{font-size:24px}.elementor-widget.ai-hw-text p{font-size:16px}}
/* Tablet: 2 + 1 (third card centred, same width) */
@media (max-width:1024px){
  .e-con.ai-section.ai-hw-sec{--padding-top:96px;--padding-bottom:96px;--gap:44px;--row-gap:44px}
  .e-con.ai-hw-grid{--e-con-grid-template-columns:repeat(2,minmax(0,1fr))!important;--gap:24px;--row-gap:24px;--column-gap:24px}
  .e-con.ai-hw-grid>.ai-hw-card:nth-child(3){grid-column:1/-1;justify-self:center;width:calc(50% - 12px)!important}
}
@media (max-width:639px){
  .e-con.ai-section.ai-hw-sec{--padding-top:64px;--padding-bottom:64px;--gap:32px;--row-gap:32px}
  .e-con.ai-hw-grid{--e-con-grid-template-columns:minmax(0,1fr)!important;--gap:16px;--row-gap:16px}
  .e-con.ai-hw-grid>.ai-hw-card:nth-child(3){grid-column:auto;width:auto!important}
  .e-con.ai-hw-card{--padding-top:28px;--padding-bottom:24px;--padding-left:24px;--padding-right:24px;border-radius:18px}
  .ai-hw-ico{width:56px;height:56px}
  .ai-hw-sec .e-con.ai-hw-card>.elementor-widget.ai-hw-title{margin-top:24px}
  .elementor-widget.ai-hw-title .elementor-heading-title{font-size:23px}
  .ai-hw-sec .e-con.ai-hw-card>.elementor-widget.ai-hw-tags-w{padding-top:22px}
  .ai-hw-tags{padding-top:18px}
}
@media (prefers-reduced-motion:reduce){.e-con.ai-hw-card,.ai-hw-sec .elementor-button-text::after{transition:none!important}}
.elementor-widget.ai-link .elementor-button{white-space:nowrap}
/* 4. Selected work: centered head + three equal project cards (.ai-w3-*) */
.e-con.ai-section.ai-w3{--padding-top:112px;--padding-bottom:112px;--gap:48px;--row-gap:48px;background:#F5FAFD}
.e-con.ai-w3-grid{--padding-top:0;--padding-bottom:0;--padding-left:0;--padding-right:0;--gap:28px;--row-gap:28px;--column-gap:28px;--e-con-grid-template-columns:repeat(3,minmax(0,1fr))!important;--e-con-grid-template-rows:auto!important;grid-auto-rows:auto;width:100%;max-width:1180px;margin-inline:auto}
.ai-w3 .e-con.ai-x-head--center .elementor-widget.ai-section-description{max-width:720px}
.e-con.ai-w3-card{--padding-top:0;--padding-bottom:0;--padding-left:0;--padding-right:0;--gap:0;--row-gap:0;height:100%;overflow:hidden;background:#fff;border:1px solid #DCE9F2;border-radius:20px;box-shadow:0 1px 2px rgba(8,44,77,.04),0 8px 24px -18px rgba(8,44,77,.18);transition:transform 220ms var(--ai-ease),border-color 220ms var(--ai-ease)}
.e-con.ai-w3-card:hover{transform:translateY(-3px);border-color:#C8DDEB}
.ai-w3-media{display:block;overflow:hidden;aspect-ratio:16/10;background:#EEF4F8;border-bottom:1px solid #E3EDF4}
.ai-w3-media img{display:block;width:100%;height:100%;object-fit:cover;transition:transform 500ms var(--ai-ease)}
.e-con.ai-w3-card:hover .ai-w3-media img{transform:scale(1.02)}
.e-con.ai-w3-body{--padding-top:26px;--padding-bottom:28px;--padding-left:28px;--padding-right:28px;--gap:12px;--row-gap:12px;flex:1 1 auto}
.elementor-widget.ai-w3-cat .elementor-heading-title{font-size:12px;font-weight:700;line-height:1.3;letter-spacing:.14em;text-transform:uppercase;color:var(--ai-blue)}
.elementor-widget.ai-w3-title .elementor-heading-title{font-size:25px;font-weight:700;line-height:1.22;letter-spacing:-.015em;color:var(--ai-navy)}
.elementor-widget.ai-w3-text p{font-size:15.5px;line-height:1.65;color:var(--ai-muted);margin:0}
/* CTA pinned to the card bottom so all three line up */
.e-con.ai-w3-body>.elementor-widget.ai-w3-link{margin-top:auto;padding-top:6px}
.ai-w3 .elementor-widget.ai-w3-link .elementor-button{font-size:15px}
.ai-w3 .elementor-widget.ai-w3-link .elementor-button-text::after{content:"\2192";display:inline-block;margin-left:6px;transition:transform var(--ai-dur) var(--ai-ease)}
.ai-w3 .elementor-widget.ai-w3-link .elementor-button:hover .elementor-button-text::after{transform:translateX(3px)}
.ai-w3 .elementor-widget.ai-w3-link .elementor-button:focus-visible{outline:3px solid var(--ai-cyan);outline-offset:3px;border-radius:4px}
/* 2 + 1 below 1000px (third card centered, same size); one column on phones */
@media (max-width:999px){
  .e-con.ai-w3-grid{--e-con-grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .e-con.ai-w3-grid>.ai-w3-card:nth-child(3){grid-column:1/-1;justify-self:center;width:calc(50% - 14px)!important}
  .e-con.ai-section.ai-w3{--padding-top:96px;--padding-bottom:96px;--gap:44px;--row-gap:44px}
}
@media (max-width:639px){
  .e-con.ai-w3-grid{--e-con-grid-template-columns:minmax(0,1fr)!important;--gap:20px;--row-gap:20px}
  .e-con.ai-w3-grid>.ai-w3-card:nth-child(3){grid-column:auto;width:auto!important}
  .e-con.ai-section.ai-w3{--padding-top:64px;--padding-bottom:64px;--gap:32px;--row-gap:32px}
  .e-con.ai-w3-body{--padding-top:22px;--padding-bottom:24px;--padding-left:22px;--padding-right:22px}
  .elementor-widget.ai-w3-title .elementor-heading-title{font-size:23px}
  .ai-w3 .e-con.ai-x-head--center .elementor-widget.ai-section-description{max-width:720px}
.e-con.ai-w3-card{border-radius:18px}
}
@media (prefers-reduced-motion:reduce){.e-con.ai-w3-card,.ai-w3-media img,.ai-w3 .elementor-button-text::after{transition:none!important}.e-con.ai-w3-card:hover{transform:none}.e-con.ai-w3-card:hover .ai-w3-media img{transform:none}}
/* 5. Results: three translucent result cards on a navy-to-bright-blue field (.ai-rs-*) */
.e-con.ai-section.ai-rs-sec{--padding-top:112px;--padding-bottom:120px;--gap:56px;--row-gap:56px;
  background:linear-gradient(115deg,#071F3A 0%,#0A3766 22%,#0C56A0 48%,#1277C4 70%,#1E9AD8 88%,#2AB8EA 100%)}
.ai-rs-sec .e-con.ai-x-head--center{--gap:16px;--row-gap:16px}
.ai-rs-sec .elementor-widget.ai-section-eyebrow .elementor-heading-title{color:#A6E1F6}
.ai-rs-sec .elementor-widget.ai-section-eyebrow .elementor-heading-title::before{background:#6CCDEF}
.ai-rs-sec .elementor-widget.ai-section-title .elementor-heading-title{color:#fff}
.ai-rs-sec .elementor-widget.ai-section-description p{color:rgba(230,243,251,.86)}
.ai-rs-sec .e-con.ai-x-head--center .elementor-widget.ai-section-description{max-width:720px}
.elementor-widget.ai-rs-wrap{width:100%}
.ai-rs{list-style:none;margin:0 auto;padding:0;max-width:1180px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;font-family:var(--ai-font)}
.ai-rs li{display:flex;flex-direction:column;align-items:flex-start;text-align:left;padding:38px 38px 40px;border-radius:20px;
  background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.20)}
.ai-rs-cat{font-size:12.5px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:#A6E1F6;line-height:1.3}
.ai-rs-num{display:block;margin:22px 0 22px;font-size:60px;font-weight:800;line-height:1;letter-spacing:-.035em;color:#fff;white-space:nowrap}
.ai-rs-text{margin:0;font-size:17px;line-height:1.6;color:#E6F3FB}
@media (max-width:1199px){.ai-rs li{padding:32px 30px 34px}.ai-rs-num{font-size:54px}.ai-rs-text{font-size:16px}}
@media (max-width:1024px){.e-con.ai-section.ai-rs-sec{--padding-top:96px;--padding-bottom:100px;--gap:44px;--row-gap:44px}.ai-rs{gap:18px}.ai-rs li{padding:28px 24px 30px}.ai-rs-num{font-size:46px;margin:18px 0}.ai-rs-cat{font-size:11.5px;letter-spacing:.13em}}
/* Narrow tablets: two columns, third card centred at the same width */
@media (max-width:860px){.ai-rs{grid-template-columns:repeat(2,minmax(0,1fr))}.ai-rs li:nth-child(3){grid-column:1/-1;justify-self:center;width:calc(50% - 9px)}.ai-rs-num{font-size:52px}}
/* Phones: stacked, centred */
@media (max-width:600px){
  .e-con.ai-section.ai-rs-sec{--padding-top:64px;--padding-bottom:64px;--gap:32px;--row-gap:32px}
  .ai-rs{grid-template-columns:1fr;gap:14px}
  .ai-rs li,.ai-rs li:nth-child(3){grid-column:auto;width:auto;align-items:center;text-align:center;padding:28px 22px 30px;border-radius:18px}
  .ai-rs-num{font-size:56px;margin:14px 0 14px}
  .ai-rs-text{max-width:32ch}
}
/* 6. Testimonials: equal review cards in a light scroll-snap carousel (.ai-tc-*) */
.ai-tsec .e-con.ai-x-head--center{--gap:16px;--row-gap:16px}
.ai-tsec .e-con.ai-x-head--center .elementor-widget.ai-section-description{max-width:760px}
.ai-tsec .elementor-widget.ai-tsec-all{margin-top:-6px}
.ai-tsec .elementor-widget.ai-tsec-all .elementor-button{font-size:14.5px}
.elementor-widget.ai-tc-wrap{width:100%}
.ai-tc{--tc-gap:24px;--tc-per:3;position:relative}
.ai-tc-viewport{overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain}
.ai-tc-viewport::-webkit-scrollbar{display:none}
.ai-tc-viewport:focus{outline:none}
.ai-tc-track{list-style:none;margin:0;padding:6px 0 16px;display:flex;gap:var(--tc-gap)}
.ai-tc-slide{flex:0 0 calc((100% - (var(--tc-per) - 1) * var(--tc-gap)) / var(--tc-per));min-width:0;scroll-snap-align:start;display:flex}
.ai-tc-card{margin:0;width:100%;display:flex;flex-direction:column;gap:18px;padding:32px 32px 28px;background:#fff;border:1px solid #DCE9F2;border-radius:20px;
  box-shadow:0 1px 2px rgba(8,44,77,.04),0 8px 24px -18px rgba(8,44,77,.16);transition:transform 220ms var(--ai-ease),border-color 220ms var(--ai-ease)}
.ai-tc-card:hover{transform:translateY(-2px);border-color:#C3DAEA}
.ai-tc-stars{color:#E2AE33;font-size:15px;letter-spacing:3px;line-height:1}
.ai-tc-card blockquote{margin:0;padding:0;border:0;font-family:var(--ai-font);font-size:16.5px;line-height:1.65;font-weight:400;font-style:normal;color:var(--ai-text)}
.ai-tc-card blockquote p{margin:0}
.ai-tc-card figcaption,.ai-tc-card figcaption *{font-style:normal!important}
.ai-tc-card figcaption{margin-top:auto;display:flex;align-items:center;gap:12px;padding-top:20px;border-top:1px solid #E3EEF5;font-family:var(--ai-font)}
.ai-tc-avatar{flex:none;width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:var(--ai-ice);color:var(--ai-blue);font-size:16px;font-weight:800;border:1px solid #CFE6F3}
.ai-tc-card cite{display:block;font-style:normal;font-size:15.5px;font-weight:700;line-height:1.3;color:var(--ai-navy)}
.ai-tsec .ai-tc-card figcaption a{display:inline-block;margin-top:2px;font-size:13.5px;line-height:1.4;color:var(--ai-muted);text-decoration:underline;text-decoration-color:#B9CFDD;text-underline-offset:3px}
.ai-tsec .ai-tc-card figcaption a:hover{color:var(--ai-blue);text-decoration-color:currentColor}
.ai-tsec .ai-tc-card figcaption a:focus-visible{outline:3px solid var(--ai-cyan);outline-offset:2px;border-radius:3px}
/* Controls: below the cards, small and quiet */
.ai-tc-controls{display:flex;align-items:center;justify-content:center;gap:14px;margin-top:22px}
.ai-tc-btn{flex:none;width:44px;height:44px;padding:0;border-radius:50%;display:grid;place-items:center;background:#fff;border:1px solid var(--ai-line-strong);color:var(--ai-navy);cursor:pointer;transition:border-color var(--ai-dur),color var(--ai-dur),background-color var(--ai-dur)}
.ai-tc-btn svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.ai-tc-btn:hover:not(:disabled){border-color:var(--ai-blue);color:var(--ai-blue);background:#fff}
.ai-tc-btn:disabled{opacity:.35;cursor:default}
.ai-tc-dots{display:flex;align-items:center;gap:2px}
.ai-tc-dot{width:24px;height:24px;padding:0;border:0;background:none;display:grid;place-items:center;cursor:pointer}
.ai-tc-dot::before{content:"";width:8px;height:8px;border-radius:999px;background:#C6DAE7;transition:width 220ms var(--ai-ease),background-color 220ms var(--ai-ease)}
.ai-tc-dot[aria-current="true"]::before{width:22px;background:var(--ai-blue)}
.ai-tc-dot:hover::before{background:#8FB9D6}.ai-tc-dot[aria-current="true"]:hover::before{background:var(--ai-blue)}
.ai-tc-toggle{flex:none;display:inline-flex;align-items:center;gap:8px;min-height:44px;margin-left:6px;padding:0 4px;border:0;background:none;font-family:var(--ai-font);font-size:13.5px;font-weight:600;color:var(--ai-muted);cursor:pointer}
.ai-tc-toggle:hover{color:var(--ai-navy);background:none}
.ai-tc-toggle-ico{width:10px;height:12px;border-left:3px solid currentColor;border-right:3px solid currentColor}
.ai-tc-toggle.is-paused .ai-tc-toggle-ico{width:0;height:0;border-style:solid;border-width:6px 0 6px 10px;border-color:transparent transparent transparent currentColor}
:is(.ai-tc-btn,.ai-tc-dot,.ai-tc-toggle):focus-visible{outline:3px solid var(--ai-cyan);outline-offset:2px;border-radius:999px}
.ai-tc-btn[hidden],.ai-tc-dots[hidden],.ai-tc-toggle[hidden]{display:none}
@media (max-width:1024px){.ai-tc{--tc-per:2;--tc-gap:20px}.ai-tc-card{padding:28px 26px 24px}}
@media (max-width:639px){.ai-tc{--tc-per:1;--tc-gap:16px}.ai-tc-card{padding:26px 22px 22px;border-radius:18px}.ai-tc-card blockquote{font-size:16px}.ai-tc-controls{gap:8px}.ai-tc-dot{width:22px}.ai-tc-toggle{margin-left:0;width:44px;justify-content:center;padding:0}.ai-tc-toggle-txt{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}}
@media (prefers-reduced-motion:reduce){.ai-tc-viewport{scroll-behavior:auto}.ai-tc-card,.ai-tc-dot::before{transition:none}.ai-tc-card:hover{transform:none}}
/* 7. Services: one connected index grid (hairlines) + closing CTA cell */
.e-con.ai-x-index{--gap:1px!important;--row-gap:1px!important;--column-gap:1px!important;background:#DCE9F2;border:1px solid #CFE0EC;border-radius:20px;overflow:hidden;--padding-top:0;--padding-bottom:0;--padding-left:0;--padding-right:0;
  box-shadow:0 1px 2px rgba(8,44,77,.03),0 18px 40px -34px rgba(8,44,77,.25)}
/* Every row the same height so titles, text and links line up across the whole grid */
.ai-svc-sec .e-con.ai-x-index{--e-con-grid-template-rows:none!important;grid-template-rows:none!important;grid-auto-rows:1fr;width:100%;max-width:1180px;margin-inline:auto}
.ai-svc-sec .e-con.ai-x-head--center{--gap:16px;--row-gap:16px}
.e-con.ai-x-svc{background:#fff;--padding-top:34px;--padding-bottom:30px;--padding-left:34px;--padding-right:34px;--gap:0;--row-gap:0;transition:background-color var(--ai-dur) var(--ai-ease)}
.e-con.ai-x-svc:hover{background:#FAFDFF}
.elementor-widget.ai-x-num .elementor-heading-title{font-size:12px;font-weight:700;letter-spacing:.14em;line-height:1;color:var(--ai-blue);opacity:.85}
.ai-svc-sec .e-con.ai-x-svc>.elementor-widget.ai-x-num{margin-bottom:18px}
.ai-svc-sec .e-con.ai-x-svc .elementor-widget.ai-x-h3 .elementor-heading-title{font-size:22px;font-weight:700;line-height:1.25;letter-spacing:-.015em;color:var(--ai-navy)}
.ai-svc-sec .e-con.ai-x-svc>.elementor-widget.ai-x-text{margin-top:10px}
.ai-svc-sec .e-con.ai-x-svc .elementor-widget.ai-x-text p{font-size:15.5px;line-height:1.6;color:var(--ai-muted);margin:0}
/* Link: secondary, pinned to the bottom of every card */
.ai-svc-sec .e-con.ai-x-svc>.elementor-widget.ai-svc-link{margin-top:auto;padding-top:22px}
.ai-svc-sec .elementor-widget.ai-svc-link .elementor-button{min-height:44px;font-size:14px;font-weight:600;letter-spacing:.005em;color:var(--ai-blue)}
.ai-svc-sec .elementor-widget.ai-svc-link .elementor-button:hover{color:var(--ai-blue-700);text-decoration:none}
.ai-svc-sec .elementor-widget.ai-svc-link .elementor-button-text::after{content:"\2192";display:inline-block;margin-left:6px;transition:transform var(--ai-dur) var(--ai-ease)}
.ai-svc-sec .elementor-widget.ai-svc-link .elementor-button:hover .elementor-button-text::after{transform:translateX(3px)}
.ai-svc-sec .elementor-widget.ai-svc-link .elementor-button:focus-visible{outline:3px solid var(--ai-cyan);outline-offset:2px;border-radius:4px}
/* Closing CTA cell */
.e-con.ai-x-svc--cta{background:var(--ai-navy);justify-content:center}
.e-con.ai-x-svc--cta:hover{background:var(--ai-navy)}
.e-con.ai-x-svc--cta .elementor-heading-title{color:#fff!important}
.ai-svc-sec .e-con.ai-x-svc--cta .elementor-widget.ai-x-text p{color:#C9D8E4;max-width:30ch}
.ai-svc-sec .e-con.ai-x-svc--cta>.elementor-widget.ai-svc-cta-btn{margin-top:24px}
.ai-svc-sec .elementor-widget.ai-svc-cta-btn .elementor-button{display:inline-flex;align-items:center;gap:8px;min-height:46px;padding:12px 20px;border-radius:10px;background:#fff;color:var(--ai-navy);font-family:var(--ai-font);font-size:15px;font-weight:600;line-height:1.2;border:0;box-shadow:none;text-decoration:none;
  transition:background-color var(--ai-dur) var(--ai-ease),transform var(--ai-dur) var(--ai-ease)}
.ai-svc-sec .elementor-widget.ai-svc-cta-btn .elementor-button-text::after{content:"\2192";display:inline-block;margin-left:8px;transition:transform var(--ai-dur) var(--ai-ease)}
.ai-svc-sec .elementor-widget.ai-svc-cta-btn .elementor-button:hover{background:#E6F2FA;color:var(--ai-navy);transform:translateY(-1px)}
.ai-svc-sec .elementor-widget.ai-svc-cta-btn .elementor-button:hover .elementor-button-text::after{transform:translateX(3px)}
.ai-svc-sec .elementor-widget.ai-svc-cta-btn .elementor-button:focus-visible{outline:3px solid var(--ai-cyan);outline-offset:3px}
@media (max-width:1199px){.e-con.ai-x-svc{--padding-left:28px;--padding-right:28px}.ai-svc-sec .e-con.ai-x-svc .elementor-widget.ai-x-h3 .elementor-heading-title{font-size:20px}}
@media (max-width:1024px) and (min-width:600px){.ai-svc-sec .e-con.ai-x-index{--e-con-grid-template-columns:repeat(2,minmax(0,1fr))!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;grid-auto-rows:1fr}.e-con.ai-x-svc--cta{grid-column:span 2}}
@media (max-width:599px){.ai-svc-sec .e-con.ai-x-index{--e-con-grid-template-columns:minmax(0,1fr)!important;grid-template-columns:minmax(0,1fr)!important}.e-con.ai-x-svc--cta{grid-column:auto}}
@media (max-width:767px){
  .e-con.ai-x-svc{--padding-top:26px;--padding-bottom:22px;--padding-left:22px;--padding-right:22px}

  .ai-svc-sec .e-con.ai-x-svc>.elementor-widget.ai-x-num{margin-bottom:12px}
  .ai-svc-sec .e-con.ai-x-svc>.elementor-widget.ai-svc-link{padding-top:10px}
  .ai-svc-sec .e-con.ai-x-svc .elementor-widget.ai-x-text p{max-width:none}
  .e-con.ai-x-svc--cta{--padding-top:32px;--padding-bottom:32px}
  .e-con.ai-x-index{border-radius:18px}
}
@media (prefers-reduced-motion:reduce){.ai-svc-sec .elementor-button,.ai-svc-sec .elementor-button-text::after{transition:none!important}.ai-svc-sec .elementor-widget.ai-svc-cta-btn .elementor-button:hover{transform:none}}
/* 7b. Industries we serve: text left + 2x2 industry cards (.ai-ind-*) */
.e-con.ai-section.ai-ind-sec{--padding-top:112px;--padding-bottom:112px;background:var(--ai-navy)}
.ai-ind-sec .elementor-widget.ai-section-eyebrow .elementor-heading-title{color:#9FDDF4}
.ai-ind-sec .elementor-widget.ai-section-eyebrow .elementor-heading-title::before{background:#5FC8EE}
.e-con.ai-split.ai-ind{width:100%;max-width:1180px;margin-inline:auto;--gap:72px;--column-gap:72px;align-items:center;--padding-top:0;--padding-bottom:0;--padding-left:0;--padding-right:0}
.e-con.ai-ind>.e-con.ai-ind-main{width:calc(41% - 36px)!important;--gap:20px;--row-gap:20px}
.e-con.ai-ind>.e-con.ai-ind-cards{width:calc(59% - 36px)!important;--padding-top:0;--padding-bottom:0;--padding-left:0;--padding-right:0}
.elementor-widget.ai-ind-h2 .elementor-heading-title{font-size:52px;font-weight:800;line-height:1.06;letter-spacing:-.035em;color:#fff}
.elementor-widget.ai-ind-lead p{margin:0;max-width:38ch;font-size:18px;line-height:1.65;color:#C9DBE9}
.ai-ind-sec .elementor-widget.ai-ind-link{margin-top:4px}
.ai-ind-sec .elementor-widget.ai-ind-link .elementor-button{min-height:44px;font-size:16px;font-weight:700;color:#8FD6F2;text-decoration:none}
.ai-ind-sec .elementor-widget.ai-ind-link .elementor-button:hover{color:#fff;text-decoration:none}
.ai-ind-sec .elementor-widget.ai-ind-link .elementor-button-text::after{content:"\2192";display:inline-block;margin-left:7px;transition:transform var(--ai-dur) var(--ai-ease)}
.ai-ind-sec .elementor-widget.ai-ind-link .elementor-button:hover .elementor-button-text::after{transform:translateX(3px)}
.ai-ind-sec .elementor-widget.ai-ind-link .elementor-button:focus-visible{outline:3px solid var(--ai-cyan);outline-offset:2px;border-radius:4px}
/* 2x2 grid, equal cards */
.e-con.ai-ind-grid{--padding-top:0;--padding-bottom:0;--padding-left:0;--padding-right:0;--gap:20px;--row-gap:20px;--column-gap:20px;
  --e-con-grid-template-columns:repeat(2,minmax(0,1fr))!important;--e-con-grid-template-rows:none!important;grid-template-rows:none!important;grid-auto-rows:1fr;width:100%}
.e-con.ai-ind-card{--padding-top:34px;--padding-bottom:34px;--padding-left:34px;--padding-right:34px;--gap:0;--row-gap:0;height:100%;background:#fff;border:1px solid #DDE9F2;border-radius:20px;
  box-shadow:0 12px 30px -20px rgba(0,0,0,.45);transition:transform 220ms var(--ai-ease),border-color 220ms var(--ai-ease)}
.e-con.ai-ind-card:hover{transform:translateY(-2px);border-color:#BFE3F5}
.ai-ind-ico{display:grid;place-items:center;width:54px;height:54px;border-radius:50%}
.ai-ind-ico svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.ai-ind-ico--blue{background:#EAF4FC;color:var(--ai-blue)}
.ai-ind-ico--teal{background:#E6F5F3;color:#1C7F78}
.ai-ind-sec .e-con.ai-ind-card>.elementor-widget.ai-ind-title{margin-top:26px}
.elementor-widget.ai-ind-title .elementor-heading-title{font-size:21px;font-weight:800;line-height:1.25;letter-spacing:-.02em;color:var(--ai-navy)}
.ai-ind-sec .e-con.ai-ind-card>.elementor-widget.ai-ind-text{margin-top:10px}
.elementor-widget.ai-ind-text p{margin:0;font-size:16px;line-height:1.65;color:#4E667A}
@media (max-width:1199px){
  .e-con.ai-split.ai-ind{--gap:48px;--column-gap:48px}
  .e-con.ai-ind>.e-con.ai-ind-main{width:calc(38% - 24px)!important}.e-con.ai-ind>.e-con.ai-ind-cards{width:calc(62% - 24px)!important}
  .elementor-widget.ai-ind-h2 .elementor-heading-title{font-size:44px}
  .e-con.ai-ind-card{--padding-top:28px;--padding-bottom:28px;--padding-left:26px;--padding-right:26px}
  .elementor-widget.ai-ind-title .elementor-heading-title{font-size:19px}
}
/* Tablet and below: text above the cards */
@media (max-width:1024px){
  .e-con.ai-section.ai-ind-sec{--padding-top:96px;--padding-bottom:96px}
  .e-con.ai-split.ai-ind{flex-direction:column!important;align-items:stretch;--gap:44px;--row-gap:44px}
  .e-con.ai-ind>.e-con.ai-ind-main,.e-con.ai-ind>.e-con.ai-ind-cards{width:100%!important}
  .elementor-widget.ai-ind-h2 .elementor-heading-title{font-size:42px;max-width:16ch}
  .elementor-widget.ai-ind-lead p{max-width:52ch}
}
@media (max-width:599px){
  .e-con.ai-section.ai-ind-sec{--padding-top:64px;--padding-bottom:64px}
  .e-con.ai-split.ai-ind{--gap:32px;--row-gap:32px}
  .elementor-widget.ai-ind-h2 .elementor-heading-title{font-size:34px}
  .elementor-widget.ai-ind-lead p{font-size:17px}
  .e-con.ai-ind-grid{--e-con-grid-template-columns:minmax(0,1fr)!important;grid-auto-rows:auto;--gap:14px;--row-gap:14px}
  .e-con.ai-ind-card{--padding-top:24px;--padding-bottom:24px;--padding-left:22px;--padding-right:22px;border-radius:18px}
  .ai-ind-ico{width:48px;height:48px}
  .ai-ind-sec .e-con.ai-ind-card>.elementor-widget.ai-ind-title{margin-top:18px}
}
@media (prefers-reduced-motion:reduce){.e-con.ai-ind-card,.ai-ind-sec .elementor-button-text::after{transition:none!important}.e-con.ai-ind-card:hover{transform:none}}
/* 8. Local businesses: one connected diagram */
.ai-x-chain{background:var(--ai-bg);border:1px solid var(--ai-line);border-radius:20px;padding:36px;font-family:var(--ai-font)}
.ai-x-chain ol{list-style:none;margin:0;padding:0;display:grid;gap:0;counter-reset:ch}
.ai-x-chain li{position:relative;display:grid;grid-template-columns:44px 1fr;gap:18px;padding-bottom:26px}
.ai-x-chain li:last-child{padding-bottom:0}
.ai-x-chain li::before{content:"";position:absolute;left:21px;top:44px;bottom:2px;width:2px;background:var(--ai-line-strong)}
.ai-x-chain li:last-child::before{display:none}
.ai-x-chain .ai-x-node{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:#fff;border:2px solid var(--ai-line-strong);color:var(--ai-blue)}
.ai-x-chain li:last-child .ai-x-node{background:var(--ai-blue);border-color:var(--ai-blue);color:#fff}
.ai-x-chain .ai-x-node svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.ai-x-chain strong{display:block;font-size:18px;font-weight:700;color:var(--ai-navy);margin-top:2px}
.ai-x-chain span{display:block;font-size:15.5px;line-height:1.55;color:var(--ai-muted);margin-top:3px}
@media (max-width:767px){.ai-x-chain{padding:24px 20px}}
.elementor-widget.ai-x-note p{font-size:15px;color:var(--ai-muted);margin:0}
/* 9. Process: horizontal timeline */
.e-con.ai-x-timeline{--gap:48px;--row-gap:48px;--column-gap:48px;--padding-top:0;--padding-bottom:0;--padding-left:0;--padding-right:0;position:relative}
.e-con.ai-x-step{--gap:12px;--padding-top:36px;--padding-bottom:0;--padding-left:0;--padding-right:0;border-top:2px solid var(--ai-line-strong);position:relative}
.e-con.ai-x-step::before{content:"";position:absolute;top:-7px;left:0;width:12px;height:12px;border-radius:50%;background:var(--ai-blue);box-shadow:0 0 0 4px var(--ai-bg)}
.elementor-widget.ai-x-bignum .elementor-heading-title{font-size:72px;font-weight:800;line-height:1;letter-spacing:-.04em;color:var(--ai-blue)}
@media (max-width:767px){.e-con.ai-x-timeline{--gap:0;--row-gap:0}.e-con.ai-x-step{border-top:0;border-left:2px solid var(--ai-line-strong);--padding-top:0;--padding-left:28px;--padding-bottom:32px}.e-con.ai-x-step::before{top:4px;left:-7px}.e-con.ai-x-step:last-child{--padding-bottom:0}.elementor-widget.ai-x-bignum .elementor-heading-title{font-size:52px}}
/* 10. The full picture: growth-system visual with process overlay + text (.ai-fp-*) */
.e-con.ai-section.ai-fp-sec{--padding-top:128px;--padding-bottom:128px;background-color:#fff;
  background-image:radial-gradient(ellipse 70% 60% at 50% 50%,#fff 35%,rgba(255,255,255,.55) 70%,rgba(255,255,255,0) 100%),
  url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220' viewBox='0 0 220 220'%3E%3Cg fill='none' stroke='%230D75BD' stroke-opacity='.035' stroke-width='1'%3E%3Cpath d='M30 40 L110 70 L190 30 M110 70 L90 150 L170 180 M90 150 L20 190'/%3E%3C/g%3E%3Cg fill='%230D75BD' fill-opacity='.06'%3E%3Ccircle cx='30' cy='40' r='2.5'/%3E%3Ccircle cx='110' cy='70' r='3'/%3E%3Ccircle cx='190' cy='30' r='2.5'/%3E%3Ccircle cx='90' cy='150' r='3'/%3E%3Ccircle cx='170' cy='180' r='2.5'/%3E%3Ccircle cx='20' cy='190' r='2.5'/%3E%3C/g%3E%3C/svg%3E");
  background-size:100% 100%,220px 220px;background-repeat:no-repeat,repeat}
.e-con.ai-split.ai-fp{--gap:80px;--column-gap:80px;align-items:center}
.e-con.ai-fp>.e-con.ai-fp-media{width:calc(52% - 40px)!important}
.e-con.ai-fp>.e-con.ai-fp-main{width:calc(48% - 40px)!important;--gap:20px;--row-gap:20px}
.ai-fp-main .ai-check{gap:12px;margin-top:4px}
.ai-fp-main .elementor-widget.ai-section-title .elementor-heading-title{text-wrap:balance}
/* Visual block */
.elementor-widget.ai-fp-visual-w{width:100%}
.ai-fp-visual{position:relative;margin:0;overflow:hidden;border-radius:22px;border:1px solid #D6E6F0;background:#082643;box-shadow:0 24px 50px -32px rgba(8,44,77,.35)}
.ai-fp-visual img{display:block;width:100%;height:auto;aspect-ratio:16/10;object-fit:cover}
/* Process overlay: compact 01 -> 02 -> 03 path */
.ai-fp-path,.ai-fp-path *{font-style:normal!important}
.ai-fp-path{position:absolute;left:20px;right:20px;bottom:20px;padding:16px 20px 14px;background:rgba(255,255,255,.95);border-radius:14px;box-shadow:0 12px 30px -18px rgba(3,14,26,.5);font-family:var(--ai-font)}
.ai-fp-path ol{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.ai-fp-path li{min-width:0}
.ai-fp-path .ai-fp-rail{display:flex;align-items:center;gap:8px;margin-bottom:9px}
.ai-fp-path .ai-fp-rail b{flex:none;width:26px;height:26px;border-radius:50%;display:grid;place-items:center;font-size:11px;font-weight:800;color:var(--ai-blue);background:#fff;border:1.5px solid var(--ai-blue)}
.ai-fp-path li.is-core .ai-fp-rail b{background:var(--ai-blue);color:#fff}
.ai-fp-path .ai-fp-rail i{flex:1;height:2px;border-radius:2px;background:linear-gradient(90deg,var(--ai-blue),#BCD8EC)}
.ai-fp-path li:last-child .ai-fp-rail i{display:none}
.ai-fp-path strong{display:block;font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--ai-navy)}
.ai-fp-path li>span:last-child{display:block;margin-top:3px;font-size:13.5px;line-height:1.45;color:var(--ai-muted)}
@media (max-width:1199px){.e-con.ai-split.ai-fp{--gap:48px;--column-gap:48px}.e-con.ai-fp>.e-con.ai-fp-media{width:calc(52% - 24px)!important}.e-con.ai-fp>.e-con.ai-fp-main{width:calc(48% - 24px)!important}.ai-fp-path{left:14px;right:14px;bottom:14px;padding:14px 16px 12px}.ai-fp-path li>span:last-child{font-size:12.5px}}
@media (min-width:900px) and (max-width:1024px){.e-con.ai-split.ai-fp{flex-direction:row!important;--gap:40px;--column-gap:40px}.e-con.ai-fp>.e-con.ai-fp-media{width:calc(52% - 20px)!important}.e-con.ai-fp>.e-con.ai-fp-main{width:calc(48% - 20px)!important}}
@media (max-width:1024px){.e-con.ai-section.ai-fp-sec{--padding-top:96px;--padding-bottom:96px}}
/* Below 900: eyebrow, heading, paragraph, checklist, then the visual */
@media (max-width:899px){
  .e-con.ai-split.ai-fp{flex-direction:column!important;--gap:36px;align-items:stretch}
  .e-con.ai-fp>.e-con.ai-fp-media,.e-con.ai-fp>.e-con.ai-fp-main{width:100%!important}
  .e-con.ai-fp>.e-con.ai-fp-main{order:-1}
  .elementor-widget.ai-fp-visual-w{max-width:720px}
}
@media (max-width:600px){
  .e-con.ai-section.ai-fp-sec{--padding-top:64px;--padding-bottom:64px}
  .ai-fp-visual{border-radius:18px}
  /* Overlay becomes an attached strip so it never covers the image or shrinks */
  .ai-fp-path{position:static;border-radius:0;box-shadow:none;background:#fff;padding:16px 16px 14px;border-top:1px solid #D6E6F0}
  .ai-fp-path ol{gap:10px}
  .ai-fp-path strong{font-size:11px;letter-spacing:.08em}
  .ai-fp-path li>span:last-child{font-size:12.5px}
}
/* Desktop/tablet side-by-side: the visual matches the text column's height exactly */
@media (min-width:900px){
  .e-con.ai-split.ai-fp{align-items:stretch}
  .e-con.ai-fp>.e-con.ai-fp-main{justify-content:center}
  .e-con.ai-fp>.e-con.ai-fp-media{display:flex}
  .e-con.ai-fp>.e-con.ai-fp-media>.elementor-widget.ai-fp-visual-w,.ai-fp-visual-w>.elementor-widget-container{height:100%;flex:1 1 auto}
  .ai-fp-visual{height:100%;min-height:380px}
  .ai-fp-visual img{position:absolute;inset:0;width:100%;height:100%;aspect-ratio:auto;object-fit:cover;object-position:50% 20%}
}@media (max-width:480px){
  .ai-fp-path ol{grid-template-columns:1fr;gap:12px}
  .ai-fp-path li{display:grid;grid-template-columns:28px 1fr;column-gap:12px;align-items:center}
  .ai-fp-path .ai-fp-rail{grid-row:span 2;margin:0}
  .ai-fp-path .ai-fp-rail i{display:none}
  .ai-fp-path strong{font-size:11.5px;letter-spacing:.1em}
  .ai-fp-path li>span:last-child{margin-top:1px;font-size:13px}
}/* 11. FAQ: editorial two-column */
.e-con.ai-x-faq{--gap:72px;--padding-top:0;--padding-bottom:0;--padding-left:0;--padding-right:0;align-items:flex-start}
.e-con.ai-x-faq>.e-con{--padding-top:0;--padding-bottom:0;--padding-left:0;--padding-right:0}
.ai-x-faq-list{max-width:820px;border-top:1px solid var(--ai-line-strong)}
.ai-x-faq-list details{border-bottom:1px solid var(--ai-line-strong)}
.ai-x-faq-list summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:22px 0;cursor:pointer}
.ai-x-faq-list summary::-webkit-details-marker{display:none}
.ai-x-faq-list summary h3{margin:0;font-family:var(--ai-font);font-size:19px;font-weight:700;line-height:1.4;color:var(--ai-navy)}
.ai-x-faq-list summary::after{content:"+";flex:none;font-size:26px;font-weight:400;line-height:1;color:var(--ai-blue);transition:transform var(--ai-dur) var(--ai-ease)}
.ai-x-faq-list details[open] summary::after{transform:rotate(45deg)}
.ai-x-faq-list details>div{padding:0 48px 24px 0;font-size:16.5px;line-height:1.7;color:var(--ai-text)}
.ai-x-faq-list details>div p{margin:0}
.ai-x-faq-list summary:focus-visible{outline:3px solid var(--ai-cyan);outline-offset:4px;border-radius:6px}
@media (min-width:1025px){.e-con.ai-x-faq>.e-con:first-child{position:sticky;top:120px}}
@media (max-width:767px){.ai-x-faq-list summary{padding:18px 0}.ai-x-faq-list summary h3{font-size:17px}.ai-x-faq-list details>div{padding:0 0 18px}}
/* 12. Audit */
.e-con.ai-x-audit{--gap:72px;align-items:flex-start;--padding-top:0;--padding-bottom:0;--padding-left:0;--padding-right:0}
.e-con.ai-x-audit>.e-con{--padding-top:0;--padding-bottom:0;--padding-left:0;--padding-right:0}
.e-con.ai-x-audit>.e-con.ai-form-card{--padding-top:40px;--padding-bottom:36px;--padding-left:40px;--padding-right:40px;box-shadow:0 30px 70px -24px rgba(8,44,77,.25);border-radius:20px}
.ai-x-benefits{list-style:none;margin:8px 0 0;padding:0;display:grid;gap:14px}
.ai-x-benefits li{display:grid;grid-template-columns:28px 1fr;gap:12px;font-size:17px;line-height:1.5;color:var(--ai-text)}
.ai-x-benefits li b{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:var(--ai-blue);color:#fff;font-size:13px;font-weight:800}
@media (max-width:767px){.e-con.ai-x-audit{--gap:32px}.e-con.ai-x-audit>.e-con.ai-form-card{--padding-top:26px;--padding-bottom:24px;--padding-left:20px;--padding-right:20px}}
/* Restored base rules used by the v3 layout */
.ai-strip li{display:flex;align-items:center;text-align:left;font-weight:700;line-height:1.3}
.ai-t-avatar{border-radius:50%;display:grid;place-items:center;flex:none;background:linear-gradient(135deg,var(--ai-blue),var(--ai-cyan));color:#fff;font-weight:800}
/* Polish */
.e-con.ai-x-head--center{max-width:900px}
.e-con.ai-x-head--center .elementor-widget.ai-section-description{max-width:640px;margin-inline:auto}
.e-con.ai-x-head--row>.e-con{max-width:820px}
.ai-section .e-con.ai-x-head:not(.ai-x-head--center):not(.ai-x-head--row){max-width:820px}
.ai-section .e-con.ai-split>.e-con.ai-x-head{max-width:none}
.ai-form-card .wpcf7-form>p:has(input[type=submit]){position:relative}
.ai-form-card .wpcf7-spinner{position:absolute;right:12px;top:50%;margin:-12px 0 0!important}
.ai-form-card .wpcf7-response-output:empty,.ai-form-card .wpcf7-form:not(.sent):not(.invalid):not(.failed):not(.spam):not(.aborted) .wpcf7-response-output{display:none}
.ai-form-card .ai-privacy{font-size:14px!important}
.ai-footer .hfe-nav-menu a.hfe-menu-item{color:#C9D8E4!important}
.ai-footer .hfe-nav-menu a.hfe-menu-item:hover{color:#fff!important}
/* Footer: compact */
.e-con.ai-footer{--padding-top:56px;--padding-bottom:26px}
/* Neutralise old heavy card look anywhere it remains */
.ai-section .ai-card:hover{transform:none}

/* 14. REDUCED MOTION */
@media (prefers-reduced-motion:reduce){
  :is(.ai-site,.ai-section,.ai-header,.ai-footer,.ai-404) *,:is(.ai-site,.ai-section,.ai-header,.ai-footer,.ai-404) *::before,:is(.ai-site,.ai-section,.ai-header,.ai-footer,.ai-404) *::after{transition:none!important;animation:none!important}
  .ai-card:hover,:is(.ai-section,.ai-header,.ai-footer,.ai-404) .elementor-widget .elementor-button:hover,a.ai-btn:hover{transform:none!important}
}

/* =====================================================================
   18. SITE PAGES: shared components built from the homepage system
   (page hero, cards, navy sections, contact/form, team, case study, blog)
   ===================================================================== */
/* Section rhythm */
.e-con.ai-section.ai-p-sec{--padding-top:104px;--padding-bottom:104px;--gap:52px;--row-gap:52px}
@media (max-width:1024px){.e-con.ai-section.ai-p-sec{--padding-top:88px;--padding-bottom:88px;--gap:44px;--row-gap:44px}}
@media (max-width:600px){.e-con.ai-section.ai-p-sec{--padding-top:60px;--padding-bottom:60px;--gap:32px;--row-gap:32px}}
.ai-p-sec .e-con.ai-x-head--center,.ai-w3 .e-con.ai-x-head--center{--gap:16px;--row-gap:16px}

/* Page hero */
.e-con.ai-section.ai-ph{--padding-top:96px;--padding-bottom:100px;--gap:0;--row-gap:0;border-bottom:1px solid #E6EFF5}
.e-con.ai-ph-row{width:100%;--gap:72px;--column-gap:72px;--padding-top:0;--padding-bottom:0;--padding-left:0;--padding-right:0}
.e-con.ai-ph-row>.e-con.ai-ph-main{width:calc(56% - 36px)!important}
.e-con.ai-ph-row>.e-con.ai-ph-aside{width:calc(44% - 36px)!important}
.e-con.ai-ph-main{--gap:18px;--row-gap:18px;--padding-top:0;--padding-bottom:0;--padding-left:0;--padding-right:0}
.ai-ph--center .e-con.ai-ph-main{max-width:820px;margin-inline:auto;align-items:center;text-align:center}
.ai-ph--center .e-con.ai-ph-main :is(.elementor-heading-title,p){text-align:center}
.ai-ph--center .ai-btn-row{justify-content:center}
.elementor-widget.ai-ph-h1 .elementor-heading-title{font-size:60px;font-weight:800;line-height:1.04;letter-spacing:-.035em;color:var(--ai-navy)}
.elementor-widget.ai-ph-sub .elementor-heading-title{font-size:24px;font-weight:700;line-height:1.35;letter-spacing:-.01em;color:var(--ai-blue)}
.elementor-widget.ai-ph-lead p{max-width:60ch}
.ai-ph .ai-btn-row{margin-top:10px}
@media (max-width:1024px){
  .e-con.ai-section.ai-ph{--padding-top:72px;--padding-bottom:80px}
  .e-con.ai-ph-row{flex-direction:column!important;--gap:44px;--row-gap:44px}
  .e-con.ai-ph-row>.e-con.ai-ph-main,.e-con.ai-ph-row>.e-con.ai-ph-aside{width:100%!important}
  .elementor-widget.ai-ph-h1 .elementor-heading-title{font-size:48px}
}
@media (max-width:600px){.e-con.ai-section.ai-ph{--padding-top:48px;--padding-bottom:56px}.elementor-widget.ai-ph-h1 .elementor-heading-title{font-size:38px}.elementor-widget.ai-ph-sub .elementor-heading-title{font-size:20px}.ai-ph .ai-btn-row .elementor-widget{width:100%}.ai-ph .ai-btn-row .elementor-button{width:100%}}
/* "On this page" index */
.ai-ph-index{background:#fff;border:1px solid #DCE9F2;border-radius:20px;padding:26px 28px;box-shadow:0 18px 40px -30px rgba(8,44,77,.28);font-family:var(--ai-font)}
.ai-ph-index>p{margin:0 0 10px;font-size:12px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--ai-blue)}
.ai-ph-index ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;column-gap:20px}
.ai-ph-index li{border-top:1px solid #EAF1F6}
.ai-ph-index a{display:flex;align-items:center;gap:10px;min-height:46px;font-size:15.5px;font-weight:600;color:var(--ai-navy)!important;text-decoration:none!important}
.ai-ph-index a svg{flex:none;width:16px;height:16px;fill:none;stroke:var(--ai-blue);stroke-width:2;stroke-linecap:round;stroke-linejoin:round;transition:transform var(--ai-dur) var(--ai-ease)}
.ai-ph-index a:hover{color:var(--ai-blue)!important}.ai-ph-index a:hover svg{transform:translateX(3px)}
.ai-ph-index a:focus-visible{outline:3px solid var(--ai-cyan);outline-offset:2px;border-radius:6px}
@media (max-width:420px){.ai-ph-index ul{grid-template-columns:1fr}}

/* Icon circle */
.ai-p-ico{display:grid;place-items:center;width:52px;height:52px;border-radius:50%;flex:none}
.ai-p-ico svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.ai-p-ico--blue{background:#EAF4FC;color:var(--ai-blue)}
.ai-p-ico--teal{background:#E6F5F3;color:#1C7F78}

/* Card grid */
.e-con.ai-p-grid{--padding-top:0;--padding-bottom:0;--padding-left:0;--padding-right:0;--gap:24px;--row-gap:24px;--column-gap:24px;--e-con-grid-template-rows:none!important;grid-template-rows:none!important;grid-auto-rows:auto;width:100%;max-width:1180px;margin-inline:auto}
.e-con.ai-p-grid--3{--e-con-grid-template-columns:repeat(3,minmax(0,1fr))!important}
.e-con.ai-p-grid--2{--e-con-grid-template-columns:repeat(2,minmax(0,1fr))!important}
@media (max-width:1024px){.e-con.ai-p-grid--3{--e-con-grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media (max-width:639px){.e-con.ai-p-grid{--e-con-grid-template-columns:minmax(0,1fr)!important;--gap:16px;--row-gap:16px}}
.e-con.ai-p-card{--padding-top:32px;--padding-bottom:30px;--padding-left:32px;--padding-right:32px;--gap:0;--row-gap:0;height:100%;background:#fff;border:1px solid #DDE9F2;border-radius:20px;scroll-margin-top:110px;
  box-shadow:0 1px 2px rgba(8,44,77,.03),0 10px 28px -24px rgba(8,44,77,.18);transition:transform 220ms var(--ai-ease),border-color 220ms var(--ai-ease)}
.e-con.ai-p-card:hover{transform:translateY(-2px);border-color:#C6DCEB}
.e-con.ai-p-card:target{border-color:var(--ai-blue);box-shadow:0 0 0 3px rgba(32,184,230,.25)}
.e-con.ai-p-card>.elementor-widget.ai-p-card-title{margin-top:24px}
.elementor-widget.ai-p-card-title .elementor-heading-title{font-size:21px;font-weight:800;line-height:1.25;letter-spacing:-.02em;color:var(--ai-navy)!important}
.e-con.ai-p-card>.elementor-widget.ai-p-card-text{margin-top:10px}
.elementor-widget.ai-p-card-text p{margin:0;font-size:16px;line-height:1.65;color:#4E667A!important}
.e-con.ai-p-card>.elementor-widget.ai-p-card-list{margin-top:auto;padding-top:22px}
.ai-p-card .ai-check--sm{padding-top:18px;border-top:1px solid #E3EDF4;gap:9px}
.ai-check--sm li{font-size:15px!important;color:var(--ai-text)!important;grid-template-columns:20px 1fr!important}
.ai-check--sm li::before{width:20px!important;height:20px!important;background-size:11px!important}
/* Cards on navy stay light */
.ai-on-dark .e-con.ai-p-card{border-color:transparent;box-shadow:0 12px 30px -20px rgba(0,0,0,.45)}
.ai-on-dark .e-con.ai-p-card:hover{border-color:#BFE3F5}
.ai-on-dark .ai-p-card :is(p,li){color:inherit}
.ai-on-dark .ai-p-card .ai-check--sm li{color:var(--ai-text)!important}
.ai-on-dark .elementor-widget.ai-section-title .elementor-heading-title{color:#fff}

/* Text link (secondary action) */
.ai-p-sec .elementor-widget.ai-p-link .elementor-button,.ai-section .elementor-widget.ai-p-link .elementor-button{min-height:44px;font-size:15.5px;font-weight:700;color:var(--ai-blue);text-decoration:none}
.ai-section .elementor-widget.ai-p-link .elementor-button:hover{color:var(--ai-blue-700);text-decoration:none}
.ai-section .elementor-widget.ai-p-link .elementor-button-text::after{content:"\2192";display:inline-block;margin-left:7px;transition:transform var(--ai-dur) var(--ai-ease)}
.ai-section .elementor-widget.ai-p-link .elementor-button:hover .elementor-button-text::after{transform:translateX(3px)}
.ai-section .elementor-widget.ai-p-link .elementor-button:focus-visible{outline:3px solid var(--ai-cyan);outline-offset:2px;border-radius:4px}
.ai-on-dark .elementor-widget.ai-p-link .elementor-button{color:#8FD6F2}
.elementor-widget.ai-p-center{align-self:center;text-align:center}

/* Outline button on navy */
.elementor-widget.ai-btn--outline-light .elementor-button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:14px 22px;border-radius:var(--ai-radius-sm);background:transparent;color:#fff;border:1.5px solid rgba(255,255,255,.55);font-family:var(--ai-font);font-size:16px;font-weight:700;line-height:1.2;text-decoration:none;transition:background-color var(--ai-dur) var(--ai-ease),border-color var(--ai-dur) var(--ai-ease)}
.elementor-widget.ai-btn--outline-light .elementor-button:hover{background:rgba(255,255,255,.08);border-color:#fff;color:#fff}

/* Navy CTA band */
.e-con.ai-section.ai-p-cta{--padding-top:84px;--padding-bottom:84px}
.e-con.ai-p-cta-row{width:100%;max-width:1180px;margin-inline:auto;--gap:48px;--column-gap:48px;--padding-top:0;--padding-bottom:0;--padding-left:0;--padding-right:0}
.e-con.ai-p-cta-row>.e-con{--padding-top:0;--padding-bottom:0;--padding-left:0;--padding-right:0;--gap:14px;--row-gap:14px}
.e-con.ai-p-cta-actions{align-items:flex-end}
@media (max-width:1024px){.e-con.ai-p-cta-row{flex-direction:column!important;align-items:flex-start}.e-con.ai-p-cta-row>.e-con{width:100%!important}.e-con.ai-p-cta-actions{align-items:flex-start}}
@media (max-width:600px){.e-con.ai-section.ai-p-cta{--padding-top:60px;--padding-bottom:60px}.ai-p-cta .ai-btn-row .elementor-widget,.ai-p-cta .ai-btn-row .elementor-button{width:100%}}

/* Feature split (image + copy) */
.e-con.ai-p-feature{width:100%;max-width:1180px;margin-inline:auto;--gap:72px;--column-gap:72px;--padding-top:0;--padding-bottom:0;--padding-left:0;--padding-right:0}
.e-con.ai-p-feature>.e-con{--padding-top:0;--padding-bottom:0;--padding-left:0;--padding-right:0}
.e-con.ai-p-feature>.e-con.ai-x-head{--gap:18px;--row-gap:18px}
.ai-p-shot{margin:0;overflow:hidden;border-radius:20px;border:1px solid #D6E6F0;background:#fff;box-shadow:0 24px 50px -32px rgba(8,44,77,.35)}
.ai-p-shot img{display:block;width:100%;height:auto}
.ai-p-shot--hero img{aspect-ratio:5/4;object-fit:cover;object-position:left top}
@media (max-width:1024px){.e-con.ai-p-feature{flex-direction:column!important;--gap:40px;--row-gap:40px}.e-con.ai-p-feature>.e-con{width:100%!important}}

/* Contact section + WPForms in the form card */
.ai-p-contact{list-style:none;margin:6px 0 0;padding:0;display:grid;gap:14px;font-family:var(--ai-font)}
.ai-p-contact li{display:flex;align-items:center;gap:14px}
.ai-p-contact .ai-p-ico{width:44px;height:44px}.ai-p-contact .ai-p-ico svg{width:19px;height:19px}
.ai-p-contact b{display:block;font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--ai-muted)}
.ai-p-contact span{font-size:16.5px;color:var(--ai-navy);line-height:1.4}
.ai-p-contact a{color:var(--ai-blue)!important;font-weight:600;text-decoration:none!important}
.ai-p-contact a:hover{text-decoration:underline!important}
.ai-form-card--wp .wpforms-container{margin:0!important;font-family:var(--ai-font)}
.ai-form-card--wp .wpforms-form .wpforms-field{padding:0 0 16px!important;margin:0!important}
.ai-form-card--wp .wpforms-form .wpforms-field-label{display:block;margin:0 0 6px!important;font-size:14px!important;font-weight:700!important;color:var(--ai-navy)!important;line-height:1.4!important}
.ai-form-card--wp .wpforms-form .wpforms-required-label{color:var(--ai-blue)!important}
.ai-form-card--wp .wpforms-form :is(input[type=text],input[type=email],input[type=url],input[type=tel],select,textarea){display:block;width:100%!important;max-width:100%!important;box-sizing:border-box;min-height:48px;padding:12px 14px!important;font-family:var(--ai-font)!important;font-size:16px!important;color:var(--ai-text)!important;background:#fff!important;border:1px solid #C5D9E6!important;border-radius:var(--ai-radius-sm)!important;box-shadow:none!important;transition:border-color var(--ai-dur),box-shadow var(--ai-dur)}
.ai-form-card--wp .wpforms-form textarea{min-height:130px!important;resize:vertical}
.ai-form-card--wp .wpforms-form :is(input,select,textarea):focus{outline:none!important;border-color:var(--ai-blue)!important;box-shadow:0 0 0 3px rgba(32,184,230,.35)!important}
.ai-form-card--wp .wpforms-form .wpforms-submit-container{padding:4px 0 0!important;margin:0!important}
.ai-form-card--wp .wpforms-form button[type=submit]{display:flex!important;align-items:center;justify-content:center;width:100%!important;min-height:52px!important;padding:14px 22px!important;border:0!important;border-radius:var(--ai-radius-sm)!important;background:var(--ai-blue)!important;color:#fff!important;font-family:var(--ai-font)!important;font-size:16px!important;font-weight:700!important;cursor:pointer;box-shadow:0 6px 16px rgba(13,117,189,.22)!important;transition:background-color var(--ai-dur),transform var(--ai-dur)}
.ai-form-card--wp .wpforms-form button[type=submit]:hover{background:var(--ai-blue-700)!important;transform:translateY(-1px)}
.ai-form-card--wp .wpforms-form button[type=submit]:focus-visible{outline:3px solid var(--ai-cyan)!important;outline-offset:2px}
.ai-form-card--wp .wpforms-form label.wpforms-error,.ai-form-card--wp .wpforms-form em.wpforms-error{color:var(--ai-error)!important;font-size:14px!important;font-weight:600;margin-top:6px}
.ai-form-card--wp .wpforms-confirmation-container-full{border-radius:var(--ai-radius-sm);background:#EAF7F0!important;border:1px solid #1A7F4B!important;color:#0F5132!important}
.ai-form-card--wp>.elementor-widget.ai-form-title{margin-bottom:18px}
.e-con.ai-section.ai-p-contact-sec{--padding-top:104px;--padding-bottom:104px}
.ai-p-contact-sec .e-con.ai-x-head{--gap:16px;--row-gap:16px}
@media (max-width:1024px){.ai-p-contact-sec .e-con.ai-x-audit,.ai-ct-row{flex-direction:column!important}.ai-p-contact-sec .e-con.ai-x-audit>.e-con,.ai-ct-row>.e-con{width:100%!important}}
@media (max-width:600px){.e-con.ai-section.ai-p-contact-sec{--padding-top:60px;--padding-bottom:60px}}
/* Contact page hero with form */
.e-con.ai-section.ai-ph--contact{--padding-top:88px;--padding-bottom:104px}
.e-con.ai-ct-row{width:100%;max-width:1180px;margin-inline:auto}
.ai-p-contact--lg{margin-top:12px;gap:16px}
.ai-ph--contact .elementor-widget.ai-x-text p{font-size:16.5px;line-height:1.65;color:#4E667A;max-width:52ch}

/* Static review grid (homepage review card) */
.ai-rv-grid{list-style:none;margin:0 auto;padding:0;width:100%;max-width:1180px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.ai-rv-grid li{display:flex}
.elementor-widget.ai-rv-wrap{width:100%}
@media (max-width:1024px){.ai-rv-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}}
@media (max-width:639px){.ai-rv-grid{grid-template-columns:1fr;gap:16px}}

/* About: hero portrait mosaic */
.ai-ab-mosaic{display:grid;grid-template-columns:repeat(6,1fr);grid-template-rows:repeat(2,auto);gap:14px}
.ai-ab-mosaic img{display:block;width:100%;height:auto;aspect-ratio:1/1;object-fit:cover;border-radius:18px;border:1px solid #DCE9F2;background:#F4F8FB;box-shadow:0 18px 40px -30px rgba(8,44,77,.35)}
.ai-ab-m1{grid-column:1/4}.ai-ab-m2{grid-column:4/7}.ai-ab-m3{grid-column:1/3}.ai-ab-m4{grid-column:3/5}.ai-ab-m5{grid-column:5/7}
@media (max-width:1024px){.ai-ab-mosaic{grid-template-columns:repeat(5,1fr);grid-template-rows:auto}.ai-ab-mosaic img{grid-column:auto!important}}
/* About: story + prose */
.e-con.ai-ab-story{width:100%;max-width:1180px;margin-inline:auto;--gap:72px;--column-gap:72px;--padding-top:0;--padding-bottom:0;--padding-left:0;--padding-right:0}
.e-con.ai-ab-story>.e-con{--padding-top:0;--padding-bottom:0;--padding-left:0;--padding-right:0;--gap:18px;--row-gap:18px}
@media (max-width:1024px){.e-con.ai-ab-story{flex-direction:column!important;--gap:24px;--row-gap:24px}.e-con.ai-ab-story>.e-con{width:100%!important}}
.elementor-widget.ai-prose p,.ai-prose p{margin:0 0 1.1em;font-size:18px;line-height:1.75;color:var(--ai-text)}
.elementor-widget.ai-prose p:last-child{margin-bottom:0}
.elementor-widget.ai-ab-columns{width:100%;max-width:1180px;margin-inline:auto}
.elementor-widget.ai-ab-columns .elementor-widget-container{columns:2;column-gap:56px}
.elementor-widget.ai-ab-columns p{margin:0 0 1em;font-size:17px;line-height:1.7;color:#C9DBE9!important;break-inside:avoid}
@media (max-width:767px){.elementor-widget.ai-ab-columns .elementor-widget-container{columns:1}}
/* About: team cards */
.elementor-widget.ai-team-wrap{width:100%}
.ai-team-grid{list-style:none;margin:0 auto;padding:0;max-width:1180px;display:grid;grid-template-columns:repeat(6,1fr);gap:24px;font-family:var(--ai-font)}
.ai-team-card{grid-column:span 2;display:flex;flex-direction:column;background:#fff;border:1px solid #DDE9F2;border-radius:20px;overflow:hidden;box-shadow:0 1px 2px rgba(8,44,77,.03),0 10px 28px -24px rgba(8,44,77,.18)}
.ai-team-card:nth-child(4){grid-column:2/4}.ai-team-card:nth-child(5){grid-column:4/6}
.ai-team-card img{display:block;width:100%;height:auto;aspect-ratio:4/3.4;object-fit:cover;object-position:center 22%;background:#F4F8FB;border-bottom:1px solid #E3EDF4}
.ai-team-card>div{padding:24px 26px 28px;display:flex;flex-direction:column;gap:6px;flex:1}
.ai-team-card h3{margin:0;font-size:20px;font-weight:800;line-height:1.25;letter-spacing:-.015em;color:var(--ai-navy)}
.ai-team-role{margin:0;font-size:12px;font-weight:800;letter-spacing:.13em;text-transform:uppercase;color:var(--ai-blue)}
.ai-team-card blockquote{margin:12px 0 0;padding:14px 0 0;border:0;border-top:1px solid #E3EDF4}
.ai-team-card blockquote p{margin:0;font-size:15.5px;line-height:1.6;font-style:normal;color:#4E667A}
@media (max-width:1024px){.ai-team-grid{grid-template-columns:repeat(2,1fr);gap:20px}.ai-team-card,.ai-team-card:nth-child(4),.ai-team-card:nth-child(5){grid-column:auto}.ai-team-card:nth-child(5){grid-column:1/-1;justify-self:center;width:calc(50% - 10px)}}
@media (max-width:639px){.ai-team-grid{grid-template-columns:1fr;gap:16px}.ai-team-card:nth-child(5){grid-column:auto;width:auto}}

/* Case study */
.e-con.ai-cs-body{width:100%;max-width:1180px;margin-inline:auto;--gap:64px;--column-gap:64px;--padding-top:0;--padding-bottom:0;--padding-left:0;--padding-right:0}
.e-con.ai-cs-body>.e-con{--padding-top:0;--padding-bottom:0;--padding-left:0;--padding-right:0}
.e-con.ai-cs-aside{position:sticky;top:110px}
.ai-cs-article h2{margin:0 0 12px;font-family:var(--ai-font);font-size:30px;font-weight:800;line-height:1.2;letter-spacing:-.025em;color:var(--ai-navy)}
.ai-cs-article h2:not(:first-child){margin-top:44px;padding-top:40px;border-top:1px solid #E3EDF4}
.ai-cs-article .ai-check{margin-top:18px;gap:14px}
.ai-cs-article .ai-check li{font-size:17px}
.ai-cs-result{background:var(--ai-navy);color:#fff;border-radius:20px;padding:32px 30px;font-family:var(--ai-font)}
.ai-cs-result-label{margin:0 0 12px!important;font-size:12px!important;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:#9FDDF4!important}
.ai-cs-result p{margin:0;font-size:18px;line-height:1.6;color:#fff}
.ai-cs-result-link{display:inline-flex;align-items:center;min-height:44px;margin-top:14px;font-size:15.5px;font-weight:700;color:#8FD6F2!important;text-decoration:none!important}
.ai-cs-result-link::after{content:"\2192";margin-left:7px;transition:transform var(--ai-dur) var(--ai-ease)}
.ai-cs-result-link:hover{color:#fff!important}.ai-cs-result-link:hover::after{transform:translateX(3px)}
.e-con.ai-w3-grid--2{--e-con-grid-template-columns:repeat(2,minmax(0,1fr))!important;max-width:780px}
.e-con.ai-w3-grid--2>.ai-w3-card:nth-child(3){grid-column:auto;width:auto!important}
@media (max-width:1024px){.e-con.ai-cs-body{flex-direction:column!important;--gap:40px;--row-gap:40px}.e-con.ai-cs-body>.e-con{width:100%!important}.e-con.ai-cs-aside{position:static}}
@media (max-width:639px){.e-con.ai-w3-grid--2{--e-con-grid-template-columns:minmax(0,1fr)!important}.ai-cs-article h2{font-size:25px}}

/* Testimonials video */
.e-con.ai-p-video{width:100%;max-width:1080px;margin-inline:auto;--gap:72px;--column-gap:72px;--padding-top:0;--padding-bottom:0;--padding-left:0;--padding-right:0}
.e-con.ai-p-video>.e-con{--padding-top:0;--padding-bottom:0;--padding-left:0;--padding-right:0;--gap:18px;--row-gap:18px}
.e-con.ai-p-video-media{align-items:center}
.ai-p-phone{margin:0;width:100%;max-width:340px;border-radius:28px;overflow:hidden;background:var(--ai-navy);border:1px solid #D6E6F0;box-shadow:0 30px 60px -36px rgba(8,44,77,.45)}
.ai-p-phone video{display:block;width:100%;height:auto;aspect-ratio:1080/1880;background:#0B2238}
@media (max-width:1024px){.e-con.ai-p-video{flex-direction:column!important;--gap:40px;--row-gap:40px}.e-con.ai-p-video>.e-con{width:100%!important}}

/* Blog list ([aiseo_posts]) */
.elementor-widget.ai-blog-list{width:100%}
.ai-post-grid{width:100%;max-width:1180px;margin:0 auto;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;font-family:var(--ai-font)}
.ai-post-card{display:flex;flex-direction:column;background:#fff;border:1px solid #DCE9F2;border-radius:20px;overflow:hidden;box-shadow:0 1px 2px rgba(8,44,77,.04),0 8px 24px -18px rgba(8,44,77,.18);transition:transform 220ms var(--ai-ease),border-color 220ms var(--ai-ease)}
.ai-post-card:hover{transform:translateY(-3px);border-color:#C8DDEB}
.ai-post-card-media{display:block;aspect-ratio:16/10;overflow:hidden;background:#EEF4F8;border-bottom:1px solid #E3EDF4}
.ai-post-card-media img{display:block;width:100%;height:100%;object-fit:cover;transition:transform 500ms var(--ai-ease)}
.ai-post-card:hover .ai-post-card-media img{transform:scale(1.02)}
.ai-post-card-body{display:flex;flex-direction:column;gap:10px;padding:26px 28px 28px;flex:1}
.ai-post-meta{margin:0;display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;font-size:12.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--ai-blue)}
.ai-post-meta time,.ai-post-meta .ai-post-read{color:var(--ai-muted);font-weight:600;letter-spacing:.04em;text-transform:none;font-size:13.5px}
.ai-post-meta span+span::before,.ai-post-meta time::before{content:"\00b7";margin-right:10px;color:#9DB6C8}
.ai-post-card h2,.ai-post-card h3{margin:0;font-size:22px;font-weight:800;line-height:1.3;letter-spacing:-.015em}
.ai-post-card h2 a,.ai-post-card h3 a{color:var(--ai-navy)!important;text-decoration:none!important}
.ai-post-card h2 a:hover,.ai-post-card h3 a:hover{color:var(--ai-blue)!important}
.ai-post-card p{margin:0;font-size:15.5px;line-height:1.65;color:#4E667A}
.ai-post-more{margin-top:auto;padding-top:8px;display:inline-flex;align-items:center;min-height:44px;font-size:15px;font-weight:700;color:var(--ai-blue)!important;text-decoration:none!important}
.ai-post-more::after{content:"\2192";margin-left:7px;transition:transform var(--ai-dur) var(--ai-ease)}
.ai-post-more:hover::after{transform:translateX(3px)}
.ai-post-card a:focus-visible{outline:3px solid var(--ai-cyan);outline-offset:2px;border-radius:4px}
@media (max-width:1024px){.ai-post-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}}
@media (max-width:639px){.ai-post-grid{grid-template-columns:1fr;gap:16px}.ai-post-card-body{padding:22px 22px 24px}.ai-post-card h2,.ai-post-card h3{font-size:20px}}

/* Single blog post (editorial layout from the WPCode snippet) */
body.single-post .site-main{max-width:none!important;width:100%;padding:0!important;margin:0!important}
body.single-post .page-content{max-width:none;padding:0;margin:0}
.ai-article-hero{background:var(--ai-grad-hero);border-bottom:1px solid #E6EFF5;padding:88px 24px 64px;font-family:var(--ai-font)}
.ai-article-hero-inner{max-width:880px;margin:0 auto;text-align:center;display:flex;flex-direction:column;align-items:center;gap:18px}
.ai-article-hero .ai-post-meta{justify-content:center}
.ai-article-hero h1{margin:0;font-size:52px;font-weight:800;line-height:1.08;letter-spacing:-.035em;color:var(--ai-navy);text-wrap:balance}
.ai-article-cover{max-width:1080px;margin:-8px auto 0;padding:0 24px}
.ai-article-cover img{display:block;width:100%;height:auto;border-radius:22px;border:1px solid #D6E6F0;box-shadow:0 30px 60px -40px rgba(8,44,77,.4)}
.ai-article-body{max-width:760px;margin:0 auto;padding:64px 24px 24px;font-family:var(--ai-font)}
.ai-article-body .elementor-widget-text-editor,.ai-article-body .elementor-widget-text-editor p,.ai-article-body li{font-family:var(--ai-font)!important;font-size:18px!important;line-height:1.8!important;color:var(--ai-text)!important}
.ai-article-body p{margin:0 0 1.2em}
.ai-article-body :is(h2,h3,h4){font-family:var(--ai-font)!important;color:var(--ai-navy)!important;letter-spacing:-.02em;line-height:1.25!important}
.ai-article-body h2{font-size:32px!important;font-weight:800!important;margin:1.8em 0 .6em!important}
.ai-article-body h3{font-size:24px!important;font-weight:800!important;margin:1.6em 0 .5em!important}
.ai-article-body h4{font-size:20px!important;font-weight:700!important;margin:1.4em 0 .4em!important}
.ai-article-body ul,.ai-article-body ol{padding-left:1.3em;margin:0 0 1.3em}
.ai-article-body li{margin:.35em 0}
.ai-article-body a{color:var(--ai-blue)!important;text-decoration:underline;text-underline-offset:3px}
.ai-article-body table{width:100%;border-collapse:collapse;margin:1.6em 0;font-size:15.5px;border:1px solid #DCE9F2;border-radius:14px;overflow:hidden;display:block;overflow-x:auto}
.ai-article-body th,.ai-article-body td{padding:12px 14px;border-bottom:1px solid #E3EDF4;text-align:left;vertical-align:top}
.ai-article-body th{background:#F4F9FC;color:var(--ai-navy);font-weight:700}
.ai-article-body .e-con,.ai-article-body .elementor-section{--padding-left:0;--padding-right:0;--padding-top:0;--padding-bottom:0}
.ai-article-body .elementor-widget:has(> [data-ai-dup]),.ai-article-body .e-con:has(> .e-con-inner > .elementor-widget:only-child > [data-ai-dup]),.ai-article-body .e-con:has(> .elementor-widget:only-child > [data-ai-dup]){display:none}
.ai-article-body .elementor-widget-text-editor img{border-radius:18px;border:1px solid #D6E6F0;height:auto;max-width:100%}
.ai-article-cta{max-width:760px;margin:40px auto 0;padding:0 24px;font-family:var(--ai-font)}
.ai-article-cta>div{background:var(--ai-navy);border-radius:22px;padding:36px 36px 34px;color:#fff}
.ai-article-cta .ai-post-meta{color:#9FDDF4}
.ai-article-cta h2{margin:10px 0 8px;font-size:28px;font-weight:800;line-height:1.2;letter-spacing:-.02em;color:#fff}
.ai-article-cta p{margin:0 0 18px;font-size:17px;line-height:1.6;color:#C9DBE9}
.ai-article-cta a.ai-btn{background:#fff;color:var(--ai-navy)}
.ai-article-related{background:#F4FBFE;margin-top:88px;padding:88px 24px 96px;border-top:1px solid #E6EFF5}
.ai-article-related>h2{max-width:1180px;margin:0 auto 32px;font-family:var(--ai-font);font-size:34px;font-weight:800;letter-spacing:-.03em;color:var(--ai-navy)}
@media (max-width:767px){.ai-article-hero{padding:56px 18px 44px}.ai-article-hero h1{font-size:34px}.ai-article-body{padding:44px 18px 16px}.ai-article-body .elementor-widget-text-editor,.ai-article-body .elementor-widget-text-editor p,.ai-article-body li{font-size:17px!important}.ai-article-body h2{font-size:26px!important}.ai-article-cover{padding:0 18px}.ai-article-cta{padding:0 18px}.ai-article-cta>div{padding:28px 22px}.ai-article-related{padding:60px 18px 64px;margin-top:64px}.ai-article-related>h2{font-size:28px}}
/* Blog archive / category templates (theme archive.php) */
body:is(.archive,.blog,.search) .site-main{max-width:1180px;margin:0 auto;padding:72px 24px 96px;font-family:var(--ai-font)}
body:is(.archive,.blog,.search) .page-header h1{font-size:44px;font-weight:800;letter-spacing:-.03em;color:var(--ai-navy);margin:0 0 32px}
body:is(.archive,.blog,.search) article.post{background:#fff;border:1px solid #DCE9F2;border-radius:20px;padding:26px 28px;margin:0 0 20px}
body:is(.archive,.blog,.search) article.post .entry-title a{color:var(--ai-navy);text-decoration:none;font-weight:800}
@media (prefers-reduced-motion:reduce){.e-con.ai-p-card,.ai-post-card,.ai-post-card-media img{transition:none!important}.e-con.ai-p-card:hover,.ai-post-card:hover{transform:none}.ai-post-card:hover .ai-post-card-media img{transform:none}}

/* 18b. Page refinements after review */
.e-con.ai-split.ai-ab-story,.e-con.ai-split.ai-cs-body{align-items:flex-start}
.elementor-widget.ai-ab-columns{columns:2;column-gap:56px}
@media (max-width:767px){.elementor-widget.ai-ab-columns{columns:1}}
/* Navy CTA as a card on a light band, so it never merges with the navy footer */
.e-con.ai-section.ai-p-cta{background:#F4FBFE;--padding-top:88px;--padding-bottom:96px;border-top:1px solid #E6EFF5}
.e-con.ai-p-cta-row{background:var(--ai-navy);border-radius:24px;--padding-top:56px;--padding-bottom:56px;--padding-left:56px;--padding-right:56px;box-shadow:0 30px 60px -40px rgba(8,44,77,.45)}
@media (max-width:767px){.e-con.ai-p-cta-row{--padding-top:36px;--padding-bottom:36px;--padding-left:24px;--padding-right:24px;border-radius:20px}.e-con.ai-section.ai-p-cta{--padding-top:56px;--padding-bottom:64px}}
@media (max-width:600px){.elementor-widget.ai-ph-h1 .elementor-heading-title{font-size:min(38px,8.2vw);overflow-wrap:break-word}}

/* =====================================================================
   19. PHASE 3: purpose-built internal pages (homepage locked)
   ===================================================================== */
/* Shared: chips, crumbs, steps */
.ai-chips{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px;font-family:var(--ai-font)}
.ai-chips li{display:inline-flex;align-items:center;min-height:30px;padding:5px 12px;border-radius:999px;background:#EEF6FB;border:1px solid #D6E8F3;font-size:13.5px;font-weight:600;line-height:1.3;color:#24506F}
.ai-chips--lg li{min-height:36px;padding:7px 14px;font-size:14.5px;background:#fff}
.ai-crumb{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 6px;font-family:var(--ai-font);font-size:14px;font-weight:600}
.ai-crumb a{color:var(--ai-muted)!important;text-decoration:none!important}
.ai-crumb a:hover{color:var(--ai-blue)!important;text-decoration:underline!important}
.ai-crumb span{color:#A9BFCE}
.ai-steps{list-style:none;margin:0;padding:0;display:grid;gap:0;font-family:var(--ai-font)}
.ai-steps li{display:grid;grid-template-columns:56px 1fr;gap:20px;padding:26px 0;border-top:1px solid #E3EDF4}
.ai-steps li:first-child{border-top:0;padding-top:4px}
.ai-steps li>span{display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:var(--ai-ice);border:1px solid #CFE6F3;color:var(--ai-blue);font-size:15px;font-weight:800}
.ai-steps h3{margin:4px 0 6px!important;font-size:20px;font-weight:800;line-height:1.3;letter-spacing:-.015em;color:var(--ai-navy)}
.ai-steps p{margin:0;font-size:16px;line-height:1.65;color:#4E667A}
.ai-steps--compact li{padding:20px 0}
.ai-steps--compact h3{font-size:18px}
.e-con.ai-section .e-con.ai-split:is(.ai-ab-story,.ai-ab-approach-row,.ai-ab-work-row,.ai-svc2-row,.ai-ct-next,.ai-svc2-close-row){width:100%;--gap:80px;--column-gap:80px}
@media (max-width:1100px){.e-con.ai-section .e-con.ai-split:is(.ai-ab-story,.ai-ab-approach-row,.ai-ab-work-row,.ai-svc2-row,.ai-ct-next,.ai-svc2-close-row){--gap:48px;--column-gap:48px}}
@media (max-width:1024px){.e-con.ai-section .e-con.ai-split:is(.ai-ab-story,.ai-ab-approach-row,.ai-ab-work-row,.ai-svc2-row,.ai-ct-next,.ai-svc2-close-row){flex-direction:column!important;--gap:36px;--row-gap:36px}.e-con.ai-split:is(.ai-ab-story,.ai-ab-approach-row,.ai-ab-work-row,.ai-svc2-row,.ai-ct-next,.ai-svc2-close-row)>.e-con{width:100%!important}}
.elementor-widget:is(.ai-pf-wrap,.ai-rv2-wrap,.ai-why-wrap,.ai-flow-wrap,.ai-cs-wrap,.ai-cs-outcome-wrap,.ai-ab-journey-wrap,.ai-svc2-cards-wrap){width:100%}

/* ABOUT ------------------------------------------------------------- */
.ai-ab-card{background:#fff;border:1px solid #DCE9F2;border-radius:20px;padding:28px 30px 22px;box-shadow:0 24px 50px -36px rgba(8,44,77,.35);font-family:var(--ai-font)}
.ai-ab-card-label{margin:0 0 6px!important;font-size:12px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--ai-blue)}
.ai-ab-card ul{list-style:none;margin:0;padding:0}
.ai-ab-card li{display:flex;align-items:flex-start;gap:16px;padding:16px 0;border-bottom:1px solid #EAF1F6}
.ai-ab-card li .ai-p-ico{width:44px;height:44px}.ai-ab-card li .ai-p-ico svg{width:20px;height:20px}
.ai-ab-card li span{font-size:15px;line-height:1.5;color:#4E667A}
.ai-ab-card li b{display:block;font-size:16.5px;font-weight:800;color:var(--ai-navy);margin-bottom:2px}
.ai-ab-card-link{display:inline-flex;align-items:center;min-height:44px;margin-top:8px;font-size:15.5px;font-weight:700;color:var(--ai-blue)!important;text-decoration:none!important}
.ai-ab-card-link::after{content:"\2193";margin-left:8px;transition:transform var(--ai-dur) var(--ai-ease)}
.ai-ab-card-link:hover::after{transform:translateY(2px)}
.ai-ab-pull{margin:14px 0 0;padding:4px 0 4px 22px;border:0;border-left:3px solid var(--ai-cyan)}
.ai-ab-pull p{margin:0;font-family:var(--ai-font);font-size:22px;font-weight:700;line-height:1.45;letter-spacing:-.01em;font-style:normal;color:var(--ai-navy)}
.e-con.ai-ab-story>.e-con.ai-x-head{position:sticky;top:120px}
.ai-ab-problems{list-style:none;margin:6px 0 26px;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;font-family:var(--ai-font)}
.ai-ab-problems li{padding:20px 20px 22px;border-radius:16px;background:var(--ai-bg);border:1px solid #DDEBF4}
.ai-ab-problems span{display:block;margin-bottom:10px;font-size:13px;font-weight:800;letter-spacing:.1em;color:var(--ai-blue)}
.ai-ab-problems p{margin:0!important;font-size:16px!important;font-weight:700;line-height:1.45!important;color:var(--ai-navy)!important}
.ai-prose p.ai-ab-answer{font-size:19px;font-weight:600;line-height:1.65;color:var(--ai-navy)}
@media (max-width:767px){.ai-ab-problems{grid-template-columns:1fr}.ai-ab-pull p{font-size:19px}.e-con.ai-ab-story>.e-con.ai-x-head{position:static}}
@media (max-width:1024px){.e-con.ai-ab-story>.e-con.ai-x-head{position:static}}
.ai-ab-pillars{list-style:none;margin:0;padding:0;font-family:var(--ai-font)}
.ai-ab-pillars li{display:flex;gap:20px;align-items:flex-start;padding:26px 0;border-top:1px solid rgba(255,255,255,.14)}
.ai-ab-pillars li:first-child{border-top:0;padding-top:0}
.ai-on-dark .ai-ab-pillars .ai-p-ico{background:rgba(255,255,255,.08);color:#8FD6F2;border:1px solid rgba(143,214,242,.28)}
.ai-ab-pillars h3{margin:2px 0 6px!important;font-size:20px;font-weight:800;color:#fff}
.ai-ab-pillars p{margin:0;font-size:16.5px;line-height:1.65;color:#C9DBE9!important}
.ai-ab-journey{display:grid;grid-template-columns:1fr 1fr;gap:24px;font-family:var(--ai-font)}
.ai-ab-journey>div{padding:28px 30px;border-radius:18px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.12)}
.ai-ab-journey-label{margin:0 0 10px!important;font-size:12px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:#9FDDF4!important}
.ai-ab-journey p:not(.ai-ab-journey-label){margin:0;font-size:16.5px;line-height:1.7;color:#DCE8F1!important}
@media (max-width:767px){.ai-ab-journey{grid-template-columns:1fr;gap:16px}.ai-ab-journey>div{padding:22px}}
/* Team: neutral photo frame in the final photo position */
.ai-team-grid--v2 .ai-team-card{transition:transform 220ms var(--ai-ease),border-color 220ms var(--ai-ease)}
.ai-team-grid--v2 .ai-team-card:hover{transform:translateY(-2px);border-color:#C6DCEB}
.ai-team-media{position:relative;aspect-ratio:5/4;overflow:hidden;background:#EEF5FA;border-bottom:1px solid #E3EDF4}
.ai-team-media img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 22%}
.ai-team-ph{position:absolute;inset:0;display:grid;place-items:center;background:linear-gradient(145deg,#F3F9FD 0%,#E4F1F9 100%)}
.ai-team-ph svg{position:absolute;inset:0;width:100%;height:100%;fill:none;stroke:#C9E2F1;stroke-width:1}
.ai-team-ph svg circle:last-child{fill:#DCEEF8;stroke:none}
.ai-team-ph span{position:relative;display:inline-flex;align-items:center;gap:8px;padding:7px 14px;border-radius:999px;background:rgba(255,255,255,.8);border:1px solid #D3E6F2;font-family:var(--ai-font);font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#6A8599}
.ai-team-ph span::before{content:"";width:14px;height:11px;border:1.6px solid currentColor;border-radius:3px;background:radial-gradient(circle at 50% 55%,currentColor 0 2px,transparent 2.5px)}
.ai-team-body{padding:24px 26px 28px;display:flex;flex-direction:column;gap:6px;flex:1}
.ai-team-bio{margin:10px 0 0!important;padding-top:14px;border-top:1px solid #E3EDF4;font-size:15.5px;line-height:1.6;color:#4E667A}
.ai-team-sec .ai-x-head--center .elementor-widget.ai-section-description{max-width:720px}

/* SERVICES ---------------------------------------------------------- */
.ai-doors{display:grid;gap:12px;font-family:var(--ai-font)}
.ai-door{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:16px;padding:18px 20px;background:#fff;border:1px solid #DCE9F2;border-radius:18px;text-decoration:none!important;box-shadow:0 18px 40px -34px rgba(8,44,77,.35);transition:border-color 200ms var(--ai-ease),transform 200ms var(--ai-ease)}
.ai-door:hover{border-color:#B9D8EB;transform:translateY(-2px)}
.ai-door:focus-visible{outline:3px solid var(--ai-cyan);outline-offset:2px}
.ai-door .ai-p-ico{width:46px;height:46px}
.ai-door span{font-size:14.5px;line-height:1.5;color:#4E667A}
.ai-door b{display:block;margin-bottom:2px;font-size:17px;font-weight:800;color:var(--ai-navy)}
.ai-door em{font-style:normal;font-size:12.5px;font-weight:700;color:var(--ai-blue);white-space:nowrap;padding:5px 10px;border-radius:999px;background:var(--ai-ice)}
@media (max-width:480px){.ai-door{grid-template-columns:auto 1fr}.ai-door em{grid-column:2;justify-self:start}}
.e-con.ai-svc2-intro{position:sticky;top:120px}
@media (max-width:1024px){.e-con.ai-svc2-intro{position:static}}
.ai-svl{list-style:none;margin:0;padding:0;font-family:var(--ai-font);border-top:1px solid #E3EDF4}
.ai-svl-item{display:grid;grid-template-columns:52px 1fr;gap:22px;padding:30px 0;border-bottom:1px solid #E3EDF4;scroll-margin-top:110px}
.ai-svl-item:target{background:linear-gradient(90deg,rgba(32,184,230,.08),transparent 70%);border-radius:14px}
.ai-svl-item h3{margin:4px 0 8px!important;font-size:22px;font-weight:800;line-height:1.25;letter-spacing:-.02em;color:var(--ai-navy)}
.ai-svl-item p{margin:0 0 16px;font-size:16.5px;line-height:1.7;color:#4E667A}
@media (max-width:600px){.ai-svl-item{grid-template-columns:1fr;gap:14px;padding:26px 0}.ai-svl-item h3{font-size:20px}}
.ai-svc2-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;font-family:var(--ai-font)}
.ai-svc2-card{display:flex;flex-direction:column;gap:12px;padding:32px 30px 30px;background:#fff;border-radius:20px;scroll-margin-top:110px;box-shadow:0 12px 30px -20px rgba(0,0,0,.45)}
.ai-svc2-card:target{box-shadow:0 0 0 3px rgba(32,184,230,.55)}
.ai-svc2-card h3{margin:12px 0 0!important;font-size:21px;font-weight:800;line-height:1.25;letter-spacing:-.02em;color:var(--ai-navy)!important}
.ai-svc2-card p{margin:0 0 8px;font-size:16px;line-height:1.65;color:#4E667A!important}
.ai-svc2-card .ai-chips{margin-top:auto;padding-top:16px;border-top:1px solid #E3EDF4}
.ai-svc2-card .ai-chips li{color:#24506F!important}
.ai-svc2-card-link{display:inline-flex;align-items:center;min-height:40px;font-size:15px;font-weight:700;color:var(--ai-blue)!important;text-decoration:none!important}
.ai-svc2-card-link::after{content:"\2192";margin-left:7px}
@media (max-width:1024px){.ai-svc2-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.ai-svc2-card:last-child{grid-column:1/-1}}
@media (max-width:639px){.ai-svc2-cards{grid-template-columns:1fr;gap:16px}.ai-svc2-card{padding:26px 22px}}
.ai-p-shot--dark{background:#1E1E1E;border-color:#2B3A48}
.ai-p-shot figcaption{padding:12px 18px;font-family:var(--ai-font);font-size:13.5px;font-weight:600;color:#C9D8E4;background:#15212C}
.ai-flow{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:0;font-family:var(--ai-font);counter-reset:f}
.ai-flow li{position:relative;padding:0 22px 0 0}
.ai-flow li>span{position:relative;z-index:1;display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:#fff;border:1.5px solid var(--ai-blue);color:var(--ai-blue);font-weight:800;font-size:15px;margin-bottom:18px}
.ai-flow li:not(:last-child)::before{content:"";position:absolute;top:22px;left:44px;right:0;height:2px;background:linear-gradient(90deg,var(--ai-blue),var(--ai-cyan));opacity:.35}
.ai-flow b{display:block;margin-bottom:6px;font-size:18px;font-weight:800;color:var(--ai-navy)}
.ai-flow p{margin:0;font-size:15px;line-height:1.6;color:#4E667A}
@media (max-width:1024px){.ai-flow{grid-template-columns:1fr;gap:0}.ai-flow li{display:grid;grid-template-columns:44px 1fr;column-gap:18px;padding:0 0 26px}.ai-flow li>span{grid-row:span 2;margin:0}.ai-flow li:not(:last-child)::before{top:44px;bottom:0;left:21px;right:auto;width:2px;height:auto;background:linear-gradient(180deg,var(--ai-blue),var(--ai-cyan))}.ai-flow b{margin-top:10px}}
.e-con.ai-svc2-close-row>.e-con{--padding-top:48px;--padding-bottom:48px;--padding-left:48px;--padding-right:48px;--gap:16px;--row-gap:16px;border-radius:24px}
.e-con.ai-svc2-close-row>.e-con.ai-svc2-quote{background:#fff;border:1px solid #DCE9F2}
.e-con.ai-svc2-close-row>.e-con.ai-svc2-decide{background:var(--ai-navy);box-shadow:0 30px 60px -40px rgba(8,44,77,.45)}
.e-con.ai-section .e-con.ai-split.ai-svc2-close-row{--gap:24px;--column-gap:24px;align-items:stretch}
.ai-svc2-decide :is(.elementor-heading-title,p){color:#fff}
.ai-svc2-decide .elementor-widget.ai-lead p{color:#C9DBE9}
.ai-svc2-decide .elementor-widget.ai-section-eyebrow .elementor-heading-title{color:#9FDDF4}
.ai-quote{margin:0;font-family:var(--ai-font)}
.ai-quote blockquote{margin:14px 0 18px;padding:0;border:0}
.ai-quote blockquote p{margin:0;font-size:22px;font-weight:600;line-height:1.5;letter-spacing:-.01em;font-style:normal;color:var(--ai-navy)}
.ai-quote figcaption{font-size:15px;color:var(--ai-muted);font-style:normal}
.ai-quote cite{font-style:normal;font-weight:800;color:var(--ai-navy)}
.ai-quote figcaption a{color:var(--ai-muted)!important}
.ai-quote-more{display:inline-flex;align-items:center;min-height:44px;margin-top:10px;font-family:var(--ai-font);font-size:15.5px;font-weight:700;color:var(--ai-blue)!important;text-decoration:none!important}
.ai-quote-more::after{content:"\2192";margin-left:7px}
@media (max-width:767px){.e-con.ai-svc2-close-row>.e-con{--padding-top:30px;--padding-bottom:30px;--padding-left:24px;--padding-right:24px;border-radius:20px}.ai-quote blockquote p{font-size:19px}.ai-svc2-decide .ai-btn-row .elementor-widget,.ai-svc2-decide .ai-btn-row .elementor-button{width:100%}}

/* PORTFOLIO + CASE CARDS --------------------------------------------- */
.ai-pf-nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;font-family:var(--ai-font)}
.ai-pf-nav a{display:flex;flex-direction:column;gap:6px;padding:22px 20px;background:#fff;border:1px solid #DCE9F2;border-radius:18px;text-decoration:none!important;box-shadow:0 18px 40px -34px rgba(8,44,77,.35);transition:border-color 200ms var(--ai-ease),transform 200ms var(--ai-ease)}
.ai-pf-nav a:hover{border-color:#B9D8EB;transform:translateY(-2px)}
.ai-pf-nav b{font-size:36px;font-weight:800;line-height:1;letter-spacing:-.03em;color:var(--ai-blue)}
.ai-pf-nav span{font-size:15px;font-weight:700;line-height:1.35;color:var(--ai-navy)}
.ai-pf-nav p{grid-column:1/-1;margin:6px 0 0;font-size:14.5px;line-height:1.55;color:var(--ai-muted)}
@media (max-width:480px){.ai-pf-nav{grid-template-columns:1fr}.ai-pf-nav a{flex-direction:row;align-items:center;gap:14px;padding:16px 18px}.ai-pf-nav b{font-size:28px}}
.ai-pf-tags{display:flex;flex-wrap:wrap;gap:8px;margin:0}
.ai-pf-tags span{display:inline-flex;align-items:center;min-height:26px;padding:3px 10px;border-radius:999px;background:var(--ai-ice);font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--ai-blue)}
.ai-pf-tags span+span{background:#F1F5F8;color:#4E667A}
.ai-pf-link{display:inline-flex;align-items:center;min-height:44px;margin-top:auto;font-size:15.5px;font-weight:700;color:var(--ai-blue)!important;text-decoration:none!important}
.ai-pf-link::after{content:"\2192";margin-left:7px;transition:transform var(--ai-dur) var(--ai-ease)}
.ai-pf-link--ext::after{content:"\2197"}
.ai-pf-link:hover::after{transform:translateX(3px)}
.ai-pf-cases{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;font-family:var(--ai-font)}
.ai-pf-cases--2{grid-template-columns:repeat(2,minmax(0,1fr))}
.ai-pf-case,.ai-pf-proj{display:flex;flex-direction:column;background:#fff;border:1px solid #DCE9F2;border-radius:20px;overflow:hidden;box-shadow:0 1px 2px rgba(8,44,77,.03),0 10px 28px -24px rgba(8,44,77,.18);transition:transform 220ms var(--ai-ease),border-color 220ms var(--ai-ease)}
.ai-pf-case:hover,.ai-pf-proj:hover{transform:translateY(-3px);border-color:#C6DCEB}
.ai-pf-case-media,.ai-pf-proj-media{display:block;aspect-ratio:16/10;overflow:hidden;background:#EEF4F8;border-bottom:1px solid #E3EDF4}
.ai-pf-case-media img,.ai-pf-proj-media img{display:block;width:100%;height:100%;object-fit:cover;object-position:left top}
.ai-pf-grid--auto .ai-pf-proj-media{background:#1E1E1E}
.ai-pf-grid--auto .ai-pf-proj-media img{object-fit:contain;object-position:center}
.ai-pf-case-body,.ai-pf-proj-body{display:flex;flex-direction:column;gap:12px;padding:24px 26px 20px;flex:1}
.ai-pf-case h3,.ai-pf-proj h3{margin:0!important;font-size:21px;font-weight:800;line-height:1.3;letter-spacing:-.02em;color:var(--ai-navy)}
.ai-pf-case h3 a{color:var(--ai-navy)!important;text-decoration:none!important}
.ai-pf-case h3 a:hover{color:var(--ai-blue)!important}
.ai-pf-case-body>p:not(.ai-pf-tags),.ai-pf-proj-body>p:not(.ai-pf-tags){margin:0;font-size:15.5px;line-height:1.65;color:#4E667A}
.ai-pf-result{margin-top:4px;padding:14px 16px;border-radius:12px;background:var(--ai-bg);border-left:3px solid var(--ai-cyan)}
.ai-pf-result b{display:block;margin-bottom:4px;font-size:11.5px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--ai-blue)}
.ai-pf-result p{margin:0;font-size:14.5px;line-height:1.6;color:var(--ai-navy)}
.ai-pf-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;font-family:var(--ai-font)}
@media (max-width:1024px){.ai-pf-cases,.ai-pf-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.ai-pf-cases>:nth-child(3):last-child,.ai-pf-grid>:nth-child(3):last-child{grid-column:1/-1;max-width:calc(50% - 11px);justify-self:center}}
@media (max-width:639px){.ai-pf-cases,.ai-pf-cases--2,.ai-pf-grid{grid-template-columns:1fr;gap:18px}.ai-pf-cases>:nth-child(3):last-child,.ai-pf-grid>:nth-child(3):last-child{max-width:none}.ai-pf-case-body,.ai-pf-proj-body{padding:22px 22px 18px}}
.ai-why{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 48px;font-family:var(--ai-font)}
.ai-why li{display:flex;gap:18px;align-items:flex-start;padding:28px 0;border-top:1px solid rgba(255,255,255,.14)}
.ai-on-dark .ai-why .ai-p-ico{background:rgba(255,255,255,.08);color:#8FD6F2;border:1px solid rgba(143,214,242,.28);width:46px;height:46px}
.ai-why h3{margin:2px 0 6px!important;font-size:18.5px;font-weight:800;line-height:1.3;color:#fff}
.ai-why p{margin:0;font-size:15.5px;line-height:1.65;color:#C9DBE9!important}
@media (max-width:1024px){.ai-why{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 36px}}
@media (max-width:639px){.ai-why{grid-template-columns:1fr}}

/* CASE STUDY --------------------------------------------------------- */
.ai-cs-facts{display:flex;flex-wrap:wrap;gap:10px;margin:8px 0 0;font-family:var(--ai-font)}
.ai-cs-facts>div{padding:10px 16px;border-radius:12px;background:#fff;border:1px solid #DCE9F2}
.ai-cs-facts dt{font-size:11.5px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--ai-muted)}
.ai-cs-facts dd{margin:2px 0 0;font-size:15.5px;font-weight:700;color:var(--ai-navy)}
.e-con.ai-section.ai-cs-outcome-sec{--padding-top:0;--padding-bottom:0;background:linear-gradient(180deg,#fff 50%,#fff 50%)}
.ai-cs-outcome{position:relative;margin-top:-40px;display:flex;align-items:flex-start;gap:22px;padding:34px 40px;border-radius:22px;background:var(--ai-navy);color:#fff;font-family:var(--ai-font);box-shadow:0 30px 60px -40px rgba(8,44,77,.5)}
.ai-cs-outcome .ai-p-ico{background:rgba(255,255,255,.1);color:#8FD6F2}
.ai-cs-outcome .ai-cs-result-label{margin:0 0 6px!important}
.ai-cs-outcome-text{margin:0;font-size:22px;font-weight:600;line-height:1.5;letter-spacing:-.01em;color:#fff}
@media (max-width:767px){.ai-cs-outcome{flex-direction:column;gap:14px;padding:26px 22px;margin-top:-28px}.ai-cs-outcome-text{font-size:18px}}
.e-con.ai-section.ai-cs-story-sec{--padding-top:80px}
.ai-cs-story{display:grid;grid-template-columns:1fr 1fr;gap:56px;font-family:var(--ai-font)}
.ai-cs-step-label{display:flex;align-items:center;gap:10px;margin:0 0 10px!important;font-size:12.5px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--ai-blue)}
.ai-cs-step-label span{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--ai-ice);font-size:12px;letter-spacing:0}
.ai-cs-story h2,.ai-cs-solution h2{margin:0 0 14px!important;font-size:30px;font-weight:800;line-height:1.2;letter-spacing:-.025em;color:var(--ai-navy)}
.ai-cs-story p:not(.ai-cs-step-label){margin:0;font-size:17px;line-height:1.75;color:var(--ai-text)}
.ai-cs-solution{margin-top:64px;padding-top:56px;border-top:1px solid #E3EDF4;font-family:var(--ai-font)}
.ai-cs-sol-intro{margin:0 0 26px!important;max-width:62ch;font-size:17px;line-height:1.7;color:var(--ai-text)}
.ai-cs-sol{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px}
.ai-cs-sol li{display:flex;flex-direction:column;gap:12px;padding:22px 20px 24px;border-radius:18px;background:var(--ai-bg);border:1px solid #DDEBF4}
.ai-cs-sol span{font-size:13px;font-weight:800;letter-spacing:.1em;color:var(--ai-blue)}
.ai-cs-sol p{margin:0;font-size:15.5px;font-weight:600;line-height:1.5;color:var(--ai-navy)}
@media (max-width:1100px){.ai-cs-sol{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:767px){.ai-cs-story{grid-template-columns:1fr;gap:40px}.ai-cs-sol{grid-template-columns:1fr 1fr}.ai-cs-story h2,.ai-cs-solution h2{font-size:25px}.ai-cs-solution{margin-top:44px;padding-top:40px}}
@media (max-width:479px){.ai-cs-sol{grid-template-columns:1fr}}

/* TESTIMONIALS ------------------------------------------------------- */
.ai-rv-summary{list-style:none;margin:14px 0 0;padding:0;display:flex;flex-wrap:wrap;justify-content:center;gap:12px;font-family:var(--ai-font)}
.ai-rv-summary li{display:flex;align-items:center;gap:10px;padding:10px 18px;border-radius:999px;background:#fff;border:1px solid #DCE9F2}
.ai-rv-summary b{font-size:20px;font-weight:800;color:var(--ai-blue)}
.ai-rv-summary span{font-size:14.5px;font-weight:600;color:var(--ai-navy)}
.ai-rv2{margin:0;display:flex;flex-direction:column;gap:16px;padding:30px 30px 26px;background:#fff;border:1px solid #DCE9F2;border-radius:20px;font-family:var(--ai-font);box-shadow:0 1px 2px rgba(8,44,77,.03),0 10px 28px -24px rgba(8,44,77,.18)}
.ai-rv2 blockquote{margin:0;padding:0;border:0;font-style:normal}
.ai-rv2 blockquote p{margin:0;font-size:17px;line-height:1.65;color:var(--ai-text);font-style:normal}
.ai-rv2--lg{padding:40px 40px 32px}
.ai-rv2--lg blockquote p{font-size:19.5px;line-height:1.6;font-weight:500;color:var(--ai-navy)}
.ai-rv2 figcaption{margin-top:auto;display:flex;align-items:center;gap:12px;padding-top:18px;border-top:1px solid #E3EEF5;font-style:normal}
.ai-rv2 figcaption *{font-style:normal!important}
.ai-rv2 cite{display:block;font-size:15.5px;font-weight:700;color:var(--ai-navy)}
.ai-rv2 figcaption a{display:inline-block;margin-top:2px;font-size:13.5px;color:var(--ai-muted)!important;text-decoration:underline;text-decoration-color:#B9CFDD;text-underline-offset:3px}
.ai-rv2-feature{display:grid;grid-template-columns:1fr 1fr;gap:28px}
.ai-rv2-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
@media (max-width:1024px){.ai-rv2-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:767px){.ai-rv2-feature,.ai-rv2-grid{grid-template-columns:1fr;gap:16px}.ai-rv2--lg{padding:28px 24px 24px}.ai-rv2--lg blockquote p{font-size:17.5px}.ai-rv2{padding:26px 22px 22px}}
.ai-rv-hero .ai-ph-main{max-width:900px!important}

/* CONTACT ------------------------------------------------------------ */
.ai-ct-tip{display:flex;align-items:flex-start;gap:12px;margin:-4px 0 20px!important;padding:14px 16px;border-radius:12px;background:var(--ai-bg);border:1px solid #DDEBF4;font-family:var(--ai-font);font-size:15px;line-height:1.55;color:#36536A}
.ai-ct-tip svg{flex:none;width:20px;height:20px;margin-top:1px;fill:none;stroke:var(--ai-blue);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.ai-ct-next .e-con{--gap:16px;--row-gap:16px}
.ai-faq2{font-family:var(--ai-font);border-top:1px solid #E3EDF4}
.ai-faq2 details{border-bottom:1px solid #E3EDF4}
.ai-faq2 summary{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:60px;padding:14px 0;cursor:pointer;list-style:none;font-size:17px;font-weight:700;line-height:1.4;color:var(--ai-navy)}
.ai-faq2 summary::-webkit-details-marker{display:none}
.ai-faq2 summary::after{content:"+";flex:none;display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--ai-ice);color:var(--ai-blue);font-size:19px;font-weight:600;transition:transform var(--ai-dur) var(--ai-ease)}
.ai-faq2 details[open] summary::after{transform:rotate(45deg)}
.ai-faq2 summary:focus-visible{outline:3px solid var(--ai-cyan);outline-offset:2px;border-radius:6px}
.ai-faq2 details p{margin:0 0 20px;font-size:16px;line-height:1.7;color:#4E667A}

/* BLOG --------------------------------------------------------------- */
.e-con.ai-section.ai-blog-hero{--padding-top:80px;--padding-bottom:56px}
.ai-blog-head{--gap:16px!important;--row-gap:16px!important}
.ai-blog-cats{margin-top:8px}
.ai-blog-cats li{padding:0;background:#fff}
.ai-blog-cats li.is-current{padding:5px 14px;background:var(--ai-navy);border-color:var(--ai-navy);color:#fff}
.ai-blog-cats a{display:inline-flex;align-items:center;min-height:30px;padding:5px 14px;color:#24506F!important;text-decoration:none!important}
.ai-blog-cats a:hover{color:var(--ai-blue)!important}
.e-con.ai-section.ai-blog-sec{--padding-top:64px}
.ai-post-grid--featured>.ai-post-card:first-child{grid-column:span 2;flex-direction:row}
.ai-post-grid--featured>.ai-post-card:first-child .ai-post-card-media{flex:0 0 52%;aspect-ratio:auto;min-height:100%;border-bottom:0;border-right:1px solid #E3EDF4}
.ai-post-grid--featured>.ai-post-card:first-child .ai-post-card-body{padding:36px 36px 32px;justify-content:center}
.ai-post-grid--featured>.ai-post-card:first-child h2{font-size:28px;line-height:1.22;letter-spacing:-.025em}
@media (max-width:1024px){.ai-post-grid--featured>.ai-post-card:first-child{grid-column:1/-1}}
@media (max-width:767px){.ai-post-grid--featured>.ai-post-card:first-child{flex-direction:column}.ai-post-grid--featured>.ai-post-card:first-child .ai-post-card-media{flex:none;aspect-ratio:16/10;border-right:0;border-bottom:1px solid #E3EDF4}.ai-post-grid--featured>.ai-post-card:first-child .ai-post-card-body{padding:22px 22px 24px}.ai-post-grid--featured>.ai-post-card:first-child h2{font-size:22px}}
.ai-post-pager{max-width:1180px;margin:40px auto 0;display:flex;align-items:center;justify-content:space-between;gap:16px;font-family:var(--ai-font)}
.ai-post-pager a{display:inline-flex;align-items:center;min-height:44px;padding:10px 18px;border:1.5px solid var(--ai-blue);border-radius:var(--ai-radius-sm);font-weight:700;color:var(--ai-blue)!important;text-decoration:none!important}
.ai-post-pager-n{font-size:14.5px;color:var(--ai-muted)}
/* Single post: hero crumb + contents sidebar */
.ai-article-hero .ai-crumb{justify-content:center}
.ai-article-layout{max-width:760px;margin:0 auto;padding:0}
.ai-article-layout .ai-article-body{padding-left:24px;padding-right:24px}
.ai-article-layout.has-toc{max-width:1180px;display:grid;grid-template-columns:260px minmax(0,760px);justify-content:center;gap:64px;padding:0 24px}
.ai-article-layout.has-toc .ai-article-body{padding-left:0;padding-right:0;margin:0}
.ai-article-toc{position:sticky;top:112px;align-self:start;margin-top:64px;font-family:var(--ai-font)}
.ai-article-toc summary{list-style:none;cursor:default;margin:0 0 12px;font-size:12px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--ai-blue)}
.ai-article-toc summary::-webkit-details-marker{display:none}
.ai-article-toc ol{list-style:none;margin:0;padding:0;border-left:2px solid #E3EDF4}
.ai-article-toc li{margin:0}
.ai-article-toc ol a{display:block;padding:7px 0 7px 16px;margin-left:-2px;border-left:2px solid transparent;font-size:14.5px;font-weight:600;line-height:1.4;color:#4E667A!important;text-decoration:none!important}
.ai-article-toc ol a:hover{color:var(--ai-blue)!important;border-left-color:var(--ai-blue)}
.ai-article-toc-cta{display:flex;align-items:center;justify-content:center;min-height:46px;margin-top:24px;padding:10px 16px;border-radius:var(--ai-radius-sm);background:var(--ai-blue);color:#fff!important;font-size:15px;font-weight:700;text-decoration:none!important}
.ai-article-toc-cta:hover{background:var(--ai-blue-700)}
.ai-article-body [id]{scroll-margin-top:110px}
.ai-article-body .ai-article-cta{max-width:none;padding:0;margin:48px 0 0}
@media (max-width:1024px){
  .ai-article-layout.has-toc{display:block;max-width:760px;padding:0 24px}
  .ai-article-toc{position:static;margin:40px 0 0;padding:18px 20px;border:1px solid #DCE9F2;border-radius:16px;background:#fff}
  .ai-article-toc summary{cursor:pointer;margin:0;display:flex;justify-content:space-between;align-items:center;min-height:32px}
  .ai-article-toc summary::after{content:"+";font-size:18px;color:var(--ai-blue)}
  .ai-article-toc details[open] summary::after{content:"\2212"}
  .ai-article-toc details[open] ol{margin-top:10px}
  .ai-article-toc-cta{display:none}
  .ai-article-layout.has-toc .ai-article-body{padding-top:40px}
}
@media (max-width:767px){.ai-article-layout.has-toc,.ai-article-layout .ai-article-body{padding-left:18px;padding-right:18px}.ai-article-layout.has-toc .ai-article-body{padding-left:0;padding-right:0}}
@media (prefers-reduced-motion:reduce){.ai-door,.ai-pf-case,.ai-pf-proj,.ai-team-grid--v2 .ai-team-card,.ai-pf-nav a{transition:none!important;transform:none!important}}
@media (min-width:1025px){.ai-article-toc summary{pointer-events:none}}
/* 19b. review fixes */
.e-con.ai-section .e-con.ai-split:is(.ai-ab-story,.ai-ab-approach-row,.ai-ab-work-row,.ai-svc2-row,.ai-ct-next){align-items:flex-start!important}
.e-con.ai-svc2-decide .elementor-widget .elementor-heading-title{color:#fff!important}
.e-con.ai-svc2-decide .elementor-widget.ai-section-eyebrow .elementor-heading-title{color:#9FDDF4!important}
.e-con.ai-svc2-decide{justify-content:center}
.ai-pf-cases--2 .ai-pf-case-media{aspect-ratio:16/8}
.ai-post-grid--featured>.ai-post-card:first-child .ai-post-card-media{display:flex;align-items:center;background:#0E1B28}
.ai-post-grid--featured>.ai-post-card:first-child .ai-post-card-media img{height:auto;object-fit:contain}
.ai-article-body .ai-article-cta h2{color:#fff!important;font-size:28px!important;margin:10px 0 8px!important;line-height:1.2!important}
.ai-article-body .ai-article-cta p:not(.ai-post-meta){color:#C9DBE9!important;font-size:17px!important}
.ai-article-body .ai-article-cta .ai-post-meta span{color:#9FDDF4}
.ai-article-body .ai-article-cta a.ai-btn{color:var(--ai-navy)!important;text-decoration:none!important}
.ai-article-hero .ai-post-meta time:first-child::before{content:none}
@media (max-width:639px){.ai-team-media{aspect-ratio:16/10}}

/* =====================================================================
   20. FINAL CONTACT SECTION (site-wide, homepage excluded) .ai-ctaf-*
   Navy panel on a white band (never touches the navy footer), white form card.
   ===================================================================== */
.e-con.ai-ctaf-host{--padding-top:0;--padding-bottom:0;--padding-left:0;--padding-right:0;--gap:0;--row-gap:0}
.elementor-widget.ai-ctaf-widget{width:100%}
.ai-ctaf{background:#fff;padding:96px 24px 104px;font-family:var(--ai-font);scroll-margin-top:90px;border-top:1px solid #E6EFF5}
.ai-ctaf-panel{max-width:1180px;margin:0 auto;display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:64px;align-items:start;padding:64px;border-radius:24px;background:var(--ai-navy);box-shadow:0 30px 60px -40px rgba(8,44,77,.5)}
.ai-ctaf-copy{padding-top:6px}
.ai-ctaf-eyebrow{display:inline-flex;align-items:center;gap:10px;margin:0 0 16px;font-size:13px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#9FDDF4}
.ai-ctaf-eyebrow::before{content:"";width:24px;height:2px;border-radius:2px;background:var(--ai-cyan)}
.ai-ctaf h2{margin:0 0 16px;font-family:var(--ai-font);font-size:40px;font-weight:800;line-height:1.14;letter-spacing:-.025em;color:#fff;text-wrap:balance}
.ai-ctaf-lead{margin:0 0 30px;font-size:18px;line-height:1.65;color:#C9DBE9}
.ai-ctaf-label{margin:0 0 12px;font-size:12px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:#9FDDF4}
.ai-ctaf-steps{list-style:none;margin:0 0 28px;padding:0;display:grid;gap:12px}
.ai-ctaf-steps li{display:flex;align-items:center;gap:14px;font-size:16px;font-weight:600;line-height:1.45;color:#fff}
.ai-ctaf-steps span{flex:none;display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:rgba(255,255,255,.08);border:1px solid rgba(143,214,242,.35);color:#8FD6F2;font-size:14px;font-weight:800}
.ai-ctaf-mail{margin:0;padding-top:22px;border-top:1px solid rgba(255,255,255,.14);font-size:15.5px;color:#C9DBE9}
.ai-ctaf-mail a{color:#fff!important;font-weight:700;text-decoration:underline!important;text-decoration-color:rgba(143,214,242,.6)!important;text-underline-offset:3px}
.ai-ctaf-mail a:hover{text-decoration-color:#fff!important}
.ai-ctaf-card{background:#fff;border-radius:20px;padding:34px 34px 30px;box-shadow:0 24px 50px -30px rgba(0,0,0,.45)}
.ai-ctaf-card-title{margin:0 0 20px;font-family:var(--ai-font);font-size:22px;font-weight:800;letter-spacing:-.015em;color:var(--ai-navy)}
.ai-ctaf .wpforms-container .wpforms-field-row{max-width:none!important}
.ai-ctaf .wpforms-container .wpforms-field-sublabel{font-size:13px!important;color:var(--ai-muted)!important;margin-top:4px!important}
.ai-ctaf a:focus-visible{outline:3px solid var(--ai-cyan);outline-offset:2px;border-radius:4px}
@media (max-width:1100px){.ai-ctaf-panel{gap:44px;padding:52px 44px}.ai-ctaf h2{font-size:34px}}
@media (max-width:900px){.ai-ctaf{padding:72px 24px 80px}.ai-ctaf-panel{grid-template-columns:1fr;gap:36px;padding:44px 36px}.ai-ctaf-copy{max-width:640px}}
@media (max-width:600px){
  .ai-ctaf{padding:48px 16px 56px}
  .ai-ctaf-panel{padding:30px 16px 16px;border-radius:20px;gap:26px}
  .ai-ctaf-copy{padding:0 6px}
  .ai-ctaf h2{font-size:28px}
  .ai-ctaf-lead{font-size:16.5px;margin-bottom:24px}
  .ai-ctaf-steps li{font-size:15px}
  .ai-ctaf-card{padding:24px 18px 20px;border-radius:16px}
  .ai-ctaf-card-title{font-size:20px;margin-bottom:16px}
}
@media (max-width:420px){.ai-ctaf .wpforms-field-row-block{width:100%!important;float:none!important;margin:0 0 10px!important;padding:0!important}.ai-ctaf .wpforms-field-row{display:block!important}}

/* Services: single review band before the final section */
.e-con.ai-section.ai-svc2-proof{--gap:14px;--row-gap:14px;--padding-top:88px;--padding-bottom:88px}
.elementor-widget.ai-svc2-quote-wrap{width:100%;max-width:820px;margin-inline:auto;text-align:center}
.ai-svc2-proof .ai-quote blockquote p{font-size:24px}
.ai-svc2-proof .ai-p-center .elementor-heading-title{justify-content:center}
@media (max-width:767px){.ai-svc2-proof .ai-quote blockquote p{font-size:19px}.e-con.ai-section.ai-svc2-proof{--padding-top:60px;--padding-bottom:60px}}
/* Testimonials: two featured reviews + the video */
.ai-rv2-feature--video{grid-template-columns:minmax(0,1fr) minmax(0,1fr) 300px;align-items:start}
.ai-rv2-video{max-width:300px;justify-self:end}
@media (max-width:1100px){.ai-rv2-feature--video{grid-template-columns:1fr 1fr}.ai-rv2-video{grid-column:1/-1;justify-self:center;max-width:320px}}
@media (max-width:767px){.ai-rv2-feature--video{grid-template-columns:1fr}.ai-rv2-video{max-width:300px}}
/* Contact: short hero */
.e-con.ai-section.ai-ph--contact2{--padding-top:88px;--padding-bottom:88px}
.ai-ct-card li span a{font-weight:600;color:var(--ai-blue)!important;text-decoration:none!important}
/* Blog post: tags at the end of the article; the theme's tag line and empty comment area are hidden */
.ai-article-tags{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:44px 0 0!important;padding-top:24px;border-top:1px solid #E3EDF4;font-family:var(--ai-font)}
.ai-article-tags span{font-size:12px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--ai-muted);margin-right:4px}
.ai-article-body .ai-article-tags a{display:inline-flex;align-items:center;min-height:32px;padding:4px 12px;border-radius:999px;background:#EEF6FB;border:1px solid #D6E8F3;font-size:14px!important;font-weight:600;color:#24506F!important;text-decoration:none!important}
.ai-article-body .ai-article-tags a:hover{border-color:var(--ai-blue);color:var(--ai-blue)!important}
body.single-post .post-tags{display:none}
body.single-post .comments-area:not(:has(.comment-list, .comment-respond)){display:none}
body.single-post .comments-area{max-width:760px;margin:0 auto;padding:0 24px;font-family:var(--ai-font)}
body.single-post .ai-article-related{margin-bottom:0}

/* =====================================================================
   21. SIZING PASS: Blog, Portfolio (+ case studies), Testimonials
   Equal-height rows: grid rows stretch, cards are flex columns,
   media locked to 16:10, reserved title area, CTA pinned to the bottom.
   ===================================================================== */
/* Compact page hero */
.e-con.ai-section.ai-ph.ai-ph--compact{--padding-top:72px;--padding-bottom:64px}
@media (max-width:1024px){.e-con.ai-section.ai-ph.ai-ph--compact{--padding-top:56px;--padding-bottom:52px}}
@media (max-width:600px){.e-con.ai-section.ai-ph.ai-ph--compact{--padding-top:40px;--padding-bottom:40px}}
.e-con.ai-ph-main--wide{max-width:880px}
.ai-ph--compact .elementor-widget.ai-ph-h1 .elementor-heading-title{font-size:54px;line-height:1.08;text-wrap:balance}
@media (max-width:1024px){.ai-ph--compact .elementor-widget.ai-ph-h1 .elementor-heading-title{font-size:44px}}
@media (max-width:600px){.ai-ph--compact .elementor-widget.ai-ph-h1 .elementor-heading-title{font-size:min(34px,8.6vw)}}
.ai-ph-note{margin:4px 0 0;font-family:var(--ai-font);font-size:15px;line-height:1.55;color:var(--ai-muted)}

/* ---- Project cards (Portfolio + case-study related work) ---- */
.elementor-widget.ai-pf3-wrap{width:100%}
.ai-pf3{font-family:var(--ai-font)}
.ai-pf3-anchor{display:block;height:0;scroll-margin-top:120px}
.ai-pf3-bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px 24px;margin:0 0 32px}
.ai-pf3-filter{display:flex;flex-wrap:wrap;gap:8px}
.ai-pf3-filter button{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:9px 16px;border-radius:999px;border:1px solid #D3E4EF;background:#fff;color:var(--ai-navy);font-family:var(--ai-font);font-size:15px;font-weight:700;line-height:1.2;cursor:pointer;transition:background-color var(--ai-dur) var(--ai-ease),border-color var(--ai-dur) var(--ai-ease),color var(--ai-dur) var(--ai-ease)}
.ai-pf3-filter button span{display:inline-grid;place-items:center;min-width:24px;height:24px;padding:0 6px;border-radius:999px;background:var(--ai-ice);color:var(--ai-blue);font-size:12.5px;font-weight:800}
.ai-pf3-filter button:hover{border-color:var(--ai-blue);color:var(--ai-blue)}
.ai-pf3-filter button[aria-pressed="true"]{background:var(--ai-navy);border-color:var(--ai-navy);color:#fff}
.ai-pf3-filter button[aria-pressed="true"] span{background:rgba(255,255,255,.14);color:#fff}
.ai-pf3-filter button:focus-visible{outline:3px solid var(--ai-cyan);outline-offset:2px}
.ai-pf3-status{margin:0;font-size:14.5px;color:var(--ai-muted)}
.ai-pc-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;align-items:stretch}
.ai-pc-grid--2{grid-template-columns:repeat(2,minmax(0,1fr));max-width:900px}
.ai-pc{position:relative;display:flex;flex-direction:column;min-width:0;background:#fff;border:1px solid #DCE9F2;border-radius:18px;overflow:hidden;box-shadow:0 1px 2px rgba(8,44,77,.03),0 10px 28px -24px rgba(8,44,77,.2);transition:border-color 200ms var(--ai-ease),transform 200ms var(--ai-ease)}
.ai-pc[hidden]{display:none!important}
.ai-pc:hover{border-color:#BFD8EA;transform:translateY(-2px)}
.ai-pc:focus-within{border-color:var(--ai-blue);box-shadow:0 0 0 3px rgba(32,184,230,.3)}
.ai-pc-media{display:block;flex:none;aspect-ratio:16/10;overflow:hidden;background:#EEF4F8;border-bottom:1px solid #E3EDF4}
.ai-pc-media img{display:block;width:100%;height:100%;object-fit:cover}
.ai-pc--auto .ai-pc-media{background:#1E1E1E}
.ai-pc-body{display:flex;flex-direction:column;flex:1 1 auto;padding:22px 24px 22px}
.ai-pc-cat{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 12px}
.ai-pc-cat span{display:inline-flex;align-items:center;min-height:24px;padding:2px 10px;border-radius:999px;background:var(--ai-ice);font-size:11.5px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--ai-blue)}
.ai-pc-cat span+span{background:#F1F5F8;color:#4E667A}
.ai-pc-title{margin:0 0 8px!important;min-height:2.6em;font-size:20px;font-weight:800;line-height:1.3;letter-spacing:-.015em}
.ai-pc-title a{color:var(--ai-navy)!important;text-decoration:none!important}
.ai-pc-title a::after{content:"";position:absolute;inset:0;z-index:1}
.ai-pc-title a:focus-visible{outline:none}
.ai-pc:hover .ai-pc-title a{color:var(--ai-blue)!important}
.ai-pc-desc{margin:0 0 18px;font-size:15.5px;line-height:1.6;color:#4E667A;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.ai-pc-cta{margin-top:auto;padding-top:14px;border-top:1px solid #E6EFF5;font-size:15px;font-weight:700;color:var(--ai-blue)}
.ai-pc-cta::after{content:"\2192";margin-left:7px;display:inline-block;transition:transform var(--ai-dur) var(--ai-ease)}
.ai-pc-cta--ext::after{content:"\2197"}
.ai-pc:hover .ai-pc-cta::after{transform:translateX(3px)}
@media (max-width:1024px){.ai-pc-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}}
@media (max-width:639px){.ai-pc-grid,.ai-pc-grid--2{grid-template-columns:1fr;gap:18px}.ai-pf3-bar{margin-bottom:24px}.ai-pf3-filter button{font-size:14px;padding:8px 13px}.ai-pc-title{min-height:0;font-size:19px}.ai-pc-body{padding:20px 20px 20px}}

/* ---- Case study (project page) ---- */
.ai-cs3-hero .ai-cs-facts{margin-top:14px}
.ai-cs3-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:64px;align-items:start;font-family:var(--ai-font)}
.ai-cs3-text section+section{margin-top:44px;padding-top:40px;border-top:1px solid #E3EDF4}
.ai-cs3-text h2{margin:0 0 14px!important;font-size:30px;font-weight:800;line-height:1.2;letter-spacing:-.025em;color:var(--ai-navy)}
.ai-cs3-text p:not(.ai-cs-step-label){margin:0;font-size:17px;line-height:1.75;color:var(--ai-text)}
.ai-cs3-visual{position:sticky;top:112px;margin:0;border-radius:20px;overflow:hidden;border:1px solid #D6E6F0;background:#fff;box-shadow:0 24px 50px -32px rgba(8,44,77,.35)}
.ai-cs3-visual img{display:block;width:100%;height:auto;aspect-ratio:5/4;object-fit:cover;object-position:left top}
.ai-cs3-approach h2{margin:0 0 14px!important;font-family:var(--ai-font);font-size:30px;font-weight:800;line-height:1.2;letter-spacing:-.025em;color:var(--ai-navy)}
.ai-cs3-approach .ai-cs-sol li{background:#fff}
.ai-cs3-sol .ai-cs-sol{align-items:stretch}
.ai-cs-outcome.ai-cs3-outcome{margin-top:48px}
.ai-cs3-n{display:inline-grid;place-items:center;width:26px;height:26px;margin-right:10px;border-radius:50%;background:rgba(255,255,255,.1);font-size:11px;letter-spacing:0;color:#9FDDF4}
@media (max-width:1024px){.ai-cs3-grid{grid-template-columns:1fr;gap:40px}.ai-cs3-visual{position:static;max-width:560px}}
@media (max-width:767px){.ai-cs3-text h2,.ai-cs3-approach h2{font-size:25px}.ai-cs-outcome.ai-cs3-outcome{margin-top:36px}}

/* ---- Testimonials: one card treatment ---- */
.elementor-widget.ai-rv3-wrap{width:100%}
.ai-rv3-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;align-items:stretch;font-family:var(--ai-font)}
.ai-rv3{display:flex;flex-direction:column;min-width:0;margin:0;padding:28px 28px 24px;background:#fff;border:1px solid #DCE9F2;border-radius:18px;box-shadow:0 1px 2px rgba(8,44,77,.03),0 10px 28px -24px rgba(8,44,77,.18)}
.ai-rv3-top{display:flex;align-items:center;justify-content:space-between;gap:12px}
.ai-rv3-src{display:inline-flex;align-items:center;min-height:24px;padding:2px 10px;border-radius:999px;font-size:11.5px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.ai-rv3-src--google{background:var(--ai-ice);color:var(--ai-blue)}
.ai-rv3-src--legiit{background:#F1F5F8;color:#3E5A70}
.ai-rv3 blockquote{flex:1 1 auto;margin:16px 0 22px;padding:0;border:0;font-style:normal}
.ai-rv3 blockquote p{margin:0;font-size:17px;line-height:1.65;font-style:normal;color:var(--ai-text)}
.ai-rv3 figcaption{display:flex;align-items:center;gap:12px;padding-top:18px;border-top:1px solid #E3EEF5;font-style:normal}
.ai-rv3 figcaption *{font-style:normal!important}
.ai-rv3 cite{display:block;font-size:15.5px;font-weight:700;line-height:1.3;color:var(--ai-navy)}
.ai-rv3 figcaption a{display:inline-block;margin-top:2px;font-size:13.5px;color:var(--ai-muted)!important;text-decoration:underline;text-decoration-color:#B9CFDD;text-underline-offset:3px}
.ai-rv3 figcaption a:hover{color:var(--ai-blue)!important}
@media (max-width:1024px){.ai-rv3-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}}
@media (max-width:639px){.ai-rv3-grid{grid-template-columns:1fr;gap:16px}.ai-rv3{padding:24px 22px 20px}.ai-rv3 blockquote p{font-size:16px}}
.e-con.ai-section.ai-rv3-video-sec{--padding-top:88px;--padding-bottom:88px}
@media (max-width:600px){.e-con.ai-section.ai-rv3-video-sec{--padding-top:56px;--padding-bottom:56px}}

/* ---- Blog listing: featured article + equal cards ---- */
.ai-post-feature{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:48px;align-items:center;max-width:1180px;margin:0 auto;font-family:var(--ai-font)}
.ai-post-feature-media{display:block;aspect-ratio:16/10;overflow:hidden;border-radius:20px;border:1px solid #D6E6F0;background:#0E1B28;box-shadow:0 24px 50px -34px rgba(8,44,77,.4)}
.ai-post-feature-media img{display:block;width:100%;height:100%;object-fit:cover}
.ai-post-feature-body{display:flex;flex-direction:column;align-items:flex-start;gap:14px}
.ai-post-kicker{display:flex;flex-wrap:wrap;gap:8px;margin:0}
.ai-post-kicker span{display:inline-flex;align-items:center;min-height:26px;padding:3px 11px;border-radius:999px;background:var(--ai-navy);font-size:11.5px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:#fff}
.ai-post-kicker span+span{background:var(--ai-ice);color:var(--ai-blue)}
.ai-post-feature .ai-post-title{margin:0;font-size:34px;font-weight:800;line-height:1.18;letter-spacing:-.025em;text-wrap:balance}
.ai-post-feature .ai-post-title a{color:var(--ai-navy)!important;text-decoration:none!important}
.ai-post-feature .ai-post-title a:hover{color:var(--ai-blue)!important}
.ai-post-feature .ai-post-exc{margin:0;font-size:17px;line-height:1.65;color:#4E667A}
.ai-post-date{margin:0;font-size:14px;font-weight:600;color:var(--ai-muted)}
.ai-post-feature-btn{margin-top:6px}
.ai-post-grid-title{max-width:1180px;margin:80px auto 28px!important;font-family:var(--ai-font);font-size:30px;font-weight:800;letter-spacing:-.025em;color:var(--ai-navy)}
.ai-post-grid{align-items:stretch}
.ai-post-card{position:relative;min-width:0;border-radius:18px}
.ai-post-card-media{flex:none;aspect-ratio:16/10}
.ai-post-card-ph{display:block;width:100%;height:100%;background:linear-gradient(145deg,#F3F9FD,#E4F1F9)}
.ai-post-card-body{gap:0;padding:22px 24px 20px}
.ai-post-cat{margin:0 0 10px;font-family:var(--ai-font);font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--ai-blue)}
.ai-post-card .ai-post-title{margin:0 0 10px;min-height:3.9em;font-size:20px;font-weight:800;line-height:1.3;letter-spacing:-.015em;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.ai-post-card .ai-post-title a{color:var(--ai-navy)!important;text-decoration:none!important}
.ai-post-card .ai-post-title a::after{content:"";position:absolute;inset:0;z-index:1}
.ai-post-card:hover .ai-post-title a{color:var(--ai-blue)!important}
.ai-post-card:focus-within{border-color:var(--ai-blue);box-shadow:0 0 0 3px rgba(32,184,230,.3)}
.ai-post-card .ai-post-title a:focus-visible{outline:none}
.ai-post-card .ai-post-exc{margin:0 0 18px;font-size:15.5px;line-height:1.6;color:#4E667A;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.ai-post-foot{margin-top:auto;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:6px 12px;padding-top:14px;border-top:1px solid #E6EFF5}
.ai-post-foot .ai-post-date{font-size:13.5px}
.ai-post-foot .ai-post-more{margin:0;padding:0;min-height:0;font-size:15px}
@media (max-width:767px){.ai-post-feature{grid-template-columns:1fr;gap:24px}.ai-post-feature .ai-post-title{font-size:26px}.ai-post-feature .ai-post-exc{font-size:16px}.ai-post-grid-title{margin-top:56px!important;font-size:25px}.ai-post-feature-btn{width:100%}}
@media (min-width:768px) and (max-width:1024px){.ai-post-feature{grid-template-columns:1fr 1fr;gap:32px}.ai-post-feature .ai-post-title{font-size:28px}}
@media (max-width:639px){.ai-post-card .ai-post-title{min-height:0;font-size:19px}.ai-post-card-body{padding:20px 20px 18px}}
.e-con.ai-section.ai-blog-sec{--padding-top:72px}
@media (prefers-reduced-motion:reduce){.ai-pc,.ai-pc-cta::after{transition:none!important;transform:none!important}}
/* 21b. blog alignment + trim the grey bars baked into the featured images */
.ai-blog-sec .ai-post-feature,.ai-blog-sec .ai-post-grid,.ai-blog-sec .ai-post-grid-title,.ai-blog-sec .ai-post-pager{max-width:none}
.ai-post-feature-media img,.ai-post-card-media img{transform:scale(1.06);transform-origin:center}
.ai-post-card:hover .ai-post-card-media img{transform:scale(1.08)}

/* 22. Testimonials: video testimonial with transcript-based summary (.ai-vt-*) */
.e-con.ai-split.ai-p-video.ai-vt-row{max-width:1120px;--gap:72px;--column-gap:72px}
.e-con.ai-vt-row>.e-con.ai-vt-main{width:calc(56% - 36px)!important;--gap:16px;--row-gap:16px}
.e-con.ai-vt-row>.e-con.ai-p-video-media{width:calc(44% - 36px)!important}
.elementor-widget.ai-vt-wrap{width:100%}
.ai-vt{font-family:var(--ai-font)}
.ai-vt-summary{margin:4px 0 0;font-size:17.5px;line-height:1.7;color:var(--ai-text)}
.ai-vt-attr{display:flex;align-items:center;gap:12px;margin:22px 0 0;font-size:14.5px;line-height:1.35;color:var(--ai-muted)}
.ai-vt-attr b{display:block;font-size:16px;font-weight:800;color:var(--ai-navy)}
.ai-vt-keys{margin-top:24px;padding:20px 22px;border:1px solid #DCE9F2;border-radius:16px;background:var(--ai-bg)}
.ai-vt-keys-label{margin:0 0 12px;font-size:12px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--ai-blue)}
.ai-vt-keys .ai-check{gap:10px}
.ai-vt-keys .ai-check li{font-size:15.5px!important;font-weight:600;color:var(--ai-navy)!important}
.ai-vt-main .elementor-widget.ai-p-link{margin-top:4px}
@media (min-width:1025px){.ai-vt-keys .ai-check{grid-template-columns:1fr 1fr;column-gap:20px}}
@media (min-width:900px) and (max-width:1100px){.e-con.ai-split.ai-p-video.ai-vt-row{flex-direction:row!important;--gap:44px;--column-gap:44px}.e-con.ai-vt-row>.e-con.ai-vt-main{width:calc(60% - 22px)!important}.e-con.ai-vt-row>.e-con.ai-p-video-media{width:calc(40% - 22px)!important}.ai-vt-keys .ai-check{grid-template-columns:1fr}}
@media (max-width:899px){.e-con.ai-split.ai-p-video.ai-vt-row{flex-direction:column!important;--gap:40px;--row-gap:40px;align-items:stretch}.e-con.ai-vt-row>.e-con.ai-vt-main,.e-con.ai-vt-row>.e-con.ai-p-video-media{width:100%!important}}
.ai-vt-row .ai-p-phone{max-width:340px;margin-inline:auto}
@media (max-width:767px){.ai-vt-summary{font-size:16.5px}.ai-vt-keys{padding:18px}}
@media (max-width:480px){.ai-vt-row .ai-p-phone{max-width:100%}}

/* =====================================================================
   23. INTERNAL HERO SYSTEM (v4): [title + message | contextual visual]
   Reuses the homepage hero window (.ai-x-ui*) without changing it.
   Homepage and Contact heroes are not affected.
   ===================================================================== */
.e-con.ai-section.ai-ph.ai-ph--v4{--padding-top:64px;--padding-bottom:72px}
.e-con.ai-ph-row.ai-ph4-row{--gap:56px;--column-gap:56px}
.e-con.ai-ph-row.ai-ph4-row>.e-con.ai-ph-main{width:calc(45% - 28px)!important;--gap:16px;--row-gap:16px}
.e-con.ai-ph-row.ai-ph4-row>.e-con.ai-ph-aside{width:calc(55% - 28px)!important}
.ai-ph--v4 .elementor-widget.ai-ph-h1 .elementor-heading-title{font-size:50px;line-height:1.07;letter-spacing:-.03em;text-wrap:balance}
.ai-ph--v4 .elementor-widget.ai-ph-lead p{font-size:18px}
.e-con.ai-ph4-actions{align-items:center;gap:8px 22px!important;margin-top:8px}
.ai-ph--v4 .ai-cs-facts{margin-top:2px}
.ai-ph--v4 .ai-crumb{margin-bottom:0}
@media (min-width:900px) and (max-width:1024px){
  .e-con.ai-ph-row.ai-ph4-row{flex-direction:row!important;--gap:36px;--column-gap:36px}
  .e-con.ai-ph-row.ai-ph4-row>.e-con.ai-ph-main{width:calc(46% - 18px)!important}
  .e-con.ai-ph-row.ai-ph4-row>.e-con.ai-ph-aside{width:calc(54% - 18px)!important}
  .ai-ph--v4 .elementor-widget.ai-ph-h1 .elementor-heading-title{font-size:40px}
}
@media (max-width:899px){.e-con.ai-ph-row.ai-ph4-row{flex-direction:column!important;--gap:40px;--row-gap:40px}.e-con.ai-ph-row.ai-ph4-row>.e-con{width:100%!important}.ai-ph--v4 .elementor-widget.ai-ph-h1 .elementor-heading-title{font-size:42px}}
@media (max-width:600px){.e-con.ai-section.ai-ph.ai-ph--v4{--padding-top:40px;--padding-bottom:48px}.ai-ph--v4 .elementor-widget.ai-ph-h1 .elementor-heading-title{font-size:min(34px,8.6vw)}.ai-ph--v4 .elementor-widget.ai-ph-lead p{font-size:16.5px}.ai-ph--v4 .ai-ph4-actions .elementor-widget.ai-btn--primary,.ai-ph--v4 .ai-ph4-actions .ai-btn--primary .elementor-button{width:100%}}

/* Visual frame */
.elementor-widget.ai-hv-wrap{width:100%}
.ai-hv{position:relative;width:100%;max-width:580px;margin-left:auto;padding:22px 0 28px 28px;font-family:var(--ai-font)}
.ai-hv .ai-x-ui{max-width:none}
.ai-hv-main{padding:20px 22px 22px}
.ai-hv-label{margin:0 0 14px;font-size:11.5px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--ai-blue)}
.ai-x-ui-bar em.ai-hv-pill{color:var(--ai-blue);background:var(--ai-ice)}
.ai-hv .ai-x-node{width:34px;height:34px;flex:none;border-radius:10px;display:grid;place-items:center;background:var(--ai-ice);color:var(--ai-blue)}
.ai-hv .ai-x-node svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.ai-hv-float{position:absolute;z-index:3}
.ai-hv-float--bl{left:0;bottom:0}
.ai-hv-float--tr{right:-6px;top:0}
.ai-hv-note{display:flex;align-items:center;gap:10px;margin:0;padding:10px 16px 10px 10px;background:#fff;border:1px solid var(--ai-line);border-radius:14px;box-shadow:0 18px 36px -20px rgba(8,44,77,.35);font-size:13px;font-weight:700;color:var(--ai-navy);white-space:nowrap}
.ai-hv-note svg{width:30px;height:30px;padding:7px;border-radius:9px;background:var(--ai-ice);fill:none;stroke:var(--ai-blue);stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;box-sizing:border-box}
.ai-hv-card{width:280px;padding:16px 18px;background:#fff;border:1px solid var(--ai-line);border-radius:14px;box-shadow:0 20px 40px -22px rgba(8,44,77,.38)}
.ai-hv-card .ai-hv-label{margin-bottom:10px}
.ai-hv-card .ai-check{gap:8px}
.ai-hv-card .ai-check li{font-size:13px!important;line-height:1.4!important;font-weight:600;color:var(--ai-navy)!important}
.ai-hv-shot{overflow:hidden;background:#EEF4F8}
.ai-hv-shot img{display:block;width:100%;height:100%;object-fit:cover}

/* Services: hub of six services */
.ai-hv-hub{position:relative;display:grid;grid-template-columns:1fr 96px 1fr;grid-template-rows:repeat(3,auto);gap:12px 10px;align-items:center}
.ai-hv-lines{position:absolute;inset:0;width:100%;height:100%;fill:none;stroke:var(--ai-line-strong);stroke-width:1.5;stroke-dasharray:4 4;vector-effect:non-scaling-stroke;z-index:0}
.ai-hv-tile{position:relative;z-index:1;display:flex;align-items:center;gap:10px;padding:10px 12px;background:#fff;border:1px solid var(--ai-line);border-radius:12px;min-width:0}
.ai-hv-tile strong{display:block;font-size:13px;line-height:1.25;color:var(--ai-navy)}
.ai-hv-tile small{display:block;margin-top:2px;font-size:11.5px;line-height:1.3;color:var(--ai-muted)}
.ai-hv-tile--a{grid-area:1/1}.ai-hv-tile--b{grid-area:1/3}.ai-hv-tile--c{grid-area:2/1}.ai-hv-tile--d{grid-area:2/3}.ai-hv-tile--e{grid-area:3/1}.ai-hv-tile--f{grid-area:3/3}
.ai-hv-core{grid-area:2/2;position:relative;z-index:1;justify-self:center;display:grid;place-items:center;width:88px;height:88px;border-radius:50%;background:var(--ai-navy);box-shadow:0 0 0 6px var(--ai-ice);text-align:center}
.ai-hv-core span{font-size:11.5px;font-weight:800;line-height:1.2;color:#fff;padding:0 8px}
.ai-hv--services .ai-hv-tile--d{border-color:var(--ai-line-strong)}

/* Portfolio: real project previews */
.ai-hv-mini{width:190px;background:#fff;border:1px solid var(--ai-line);border-radius:14px;overflow:hidden;box-shadow:0 20px 40px -22px rgba(8,44,77,.4)}
.ai-hv-mini img{display:block;width:100%;aspect-ratio:16/10;object-fit:cover;background:#EEF4F8}
.ai-hv-mini--dark img{background:#1E1E1E;object-position:center}
.ai-hv-mini p{margin:0;padding:10px 12px;font-size:12px;line-height:1.3;color:var(--ai-muted)}
.ai-hv-mini b{display:block;font-size:12.5px;color:var(--ai-navy)}
.ai-ph4--portfolio .ai-hv{padding-right:28px}
.ai-ph4--portfolio .ai-hv-float--tr{right:0}
.ai-ph4--portfolio .ai-hv-shot{aspect-ratio:16/11!important}

/* Case study: the project's own image */
.ai-ph4--case .ai-hv{max-width:540px}
.ai-ph4--case .ai-hv-float--bl{bottom:0;left:0}

/* Testimonials: real review cards */
.ai-hv-reviews{display:flex;flex-direction:column}
.ai-hv-review{position:relative;padding:16px 18px;background:#fff;border:1px solid var(--ai-line);border-radius:16px;box-shadow:0 18px 40px -24px rgba(8,44,77,.35)}
.ai-hv-review p{margin:10px 0 12px;font-size:14px;line-height:1.55;color:var(--ai-text);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.ai-hv-author{display:flex;align-items:center;gap:10px}
.ai-hv-author .ai-tc-avatar{width:30px;height:30px;font-size:13px}
.ai-hv-author b{font-size:13.5px;color:var(--ai-navy)}
.ai-hv-review--back{width:68%;align-self:flex-end;z-index:1}
.ai-hv-review--main{width:86%;align-self:flex-start;margin-top:-18px;z-index:2;padding:20px 22px;border-color:var(--ai-line-strong)}
.ai-hv-review--main p{font-size:15.5px;-webkit-line-clamp:5;color:var(--ai-navy)}
.ai-hv-review--front{width:60%;align-self:flex-end;margin-top:-18px;margin-right:4%;z-index:3}
.ai-ph4--testimonials .ai-hv{padding-left:0;padding-bottom:0}

/* Blog: latest articles window */
.ai-hv-posts{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.ai-hv-posts li{display:grid;grid-template-columns:78px 1fr;gap:12px;align-items:center;padding:8px;border:1px solid var(--ai-line);border-radius:12px;background:#fff}
.ai-hv-posts li.is-live{background:var(--ai-ice);border-color:var(--ai-line-strong)}
.ai-hv-posts img,.ai-hv-posts li>span{display:block;width:78px;aspect-ratio:16/10;object-fit:cover;border-radius:8px;background:#EEF4F8}
.ai-hv-posts strong{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:13px;line-height:1.3;color:var(--ai-navy)}
.ai-hv-posts div>span{display:block;margin-top:3px;font-size:11.5px;color:var(--ai-muted)}
.ai-ph4--blog .ai-hv,.ai-hv--blog{margin-left:auto}
.ai-ph4--blog .ai-hv{padding:0}

/* Mobile: one primary visual, supporting cards hidden */
@media (max-width:899px){.ai-hv{margin-inline:auto;max-width:560px}}
@media (max-width:600px){
  .ai-hv{padding:0}
  .ai-hv-float{display:none}
  .ai-hv-hub{grid-template-columns:1fr 1fr;gap:8px}
  .ai-hv-lines,.ai-hv-core{display:none}
  .ai-hv-hub .ai-hv-tile{grid-area:auto!important;padding:9px 10px}
  .ai-hv-tile small{display:none}
  .ai-hv-review--back,.ai-hv-review--front{display:none}
  .ai-hv-review--main{width:100%;margin:0}
}

/* Blog post: split hero with the article's featured image */
.ai-article-hero--split{padding:64px 24px 72px}
.ai-article-hero-grid{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:minmax(0,45fr) minmax(0,55fr);gap:56px;align-items:center}
.ai-article-hero-copy{display:flex;flex-direction:column;align-items:flex-start;gap:16px;text-align:left}
.ai-article-hero--split .ai-crumb,.ai-article-hero--split .ai-post-meta{justify-content:flex-start}
.ai-article-hero--split h1{margin:0;font-size:44px;font-weight:800;line-height:1.1;letter-spacing:-.03em;color:var(--ai-navy);text-wrap:balance;text-align:left}
.ai-article-hero-link{font-size:15.5px}
.ai-article-hero--split .ai-hv{padding:0;max-width:600px}
.ai-article-body img[data-ai-dupimg],.ai-article-body :is(figure,p):has(> img[data-ai-dupimg]:only-child),.ai-article-body :is(figure,p):has(> a:only-child > img[data-ai-dupimg]:only-child),.ai-article-body .elementor-widget-image:has(img[data-ai-dupimg]){display:none}
@media (min-width:900px) and (max-width:1100px){.ai-article-hero-grid{gap:36px}.ai-article-hero--split h1{font-size:36px}}
@media (max-width:899px){.ai-article-hero-grid{grid-template-columns:1fr;gap:32px}.ai-article-hero--split .ai-hv{margin-inline:auto}}
@media (max-width:767px){.ai-article-hero--split{padding:44px 18px 52px}.ai-article-hero--split h1{font-size:32px}}

/* 23b */
.ai-ph4--about .ai-hv-float--tr{top:auto;right:auto;bottom:0;left:0}
.ai-ph4--portfolio .ai-hv-float--tr{top:auto;bottom:34%;right:0}
@media (max-width:899px){.e-con.ai-ph-row.ai-ph4-row>.e-con.ai-ph-main,.e-con.ai-ph-row.ai-ph4-row>.e-con.ai-ph-aside{width:100%!important;max-width:100%}}
.ai-ph4--testimonials .ai-hv{padding-top:0}.ai-hv-review--back p,.ai-hv-review--front p{-webkit-line-clamp:2;margin:8px 0 10px;font-size:13.5px}.ai-hv-review--main p{-webkit-line-clamp:4}.ai-hv-review{padding:14px 18px}.ai-hv-review--main{padding:18px 20px}

/* =====================================================================
   24. SERVICE PAGES (/services/<slug>/) + content-depth components
   ===================================================================== */
.elementor-widget.ai-sv-wrap{width:100%}
.ai-sv-label{margin:0 0 12px!important;font-family:var(--ai-font);font-size:12px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--ai-blue)}
.e-con.ai-section .e-con.ai-split:is(.ai-sv-intro,.ai-sv-faq){width:100%;--gap:72px;--column-gap:72px;align-items:flex-start!important}
.e-con.ai-section .e-con.ai-split.ai-sv-exp{width:100%;--gap:72px;--column-gap:72px}
@media (max-width:1024px){.e-con.ai-section .e-con.ai-split:is(.ai-sv-intro,.ai-sv-faq,.ai-sv-exp){flex-direction:column!important;--gap:36px;--row-gap:36px}.e-con.ai-split:is(.ai-sv-intro,.ai-sv-faq,.ai-sv-exp)>.e-con{width:100%!important}}
.elementor-widget.ai-sv-prose p{font-size:17.5px;line-height:1.75}
.ai-sv-who{padding:28px 30px;background:var(--ai-bg);border:1px solid #DCE9F2;border-radius:18px;font-family:var(--ai-font)}
.ai-sv-who .ai-check{gap:12px}
.ai-sv-who .ai-check li{font-size:16px;font-weight:600;color:var(--ai-navy)}
/* problems 2x2 */
.ai-sv-probs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;font-family:var(--ai-font)}
.ai-sv-prob{display:flex;gap:18px;align-items:flex-start;padding:24px 26px;background:#fff;border:1px solid #DCE9F2;border-radius:18px}
.ai-sv-prob h3,.ai-sv-inc-item h3,.ai-sv-rel-item h3,.ai-ab-spec h3,.ai-sv-help h3{margin:2px 0 6px!important;font-size:18px;font-weight:800;line-height:1.3;letter-spacing:-.01em;color:var(--ai-navy)}
.ai-sv-prob p,.ai-sv-inc-item p,.ai-sv-rel-item p,.ai-ab-spec p,.ai-sv-help p{margin:0;font-size:15.5px;line-height:1.6;color:#4E667A}
/* included 3 cols */
.ai-sv-inc{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;align-items:stretch;font-family:var(--ai-font)}
.ai-sv-inc-item{display:flex;flex-direction:column;gap:6px;padding:26px 26px 24px;background:#fff;border:1px solid #DCE9F2;border-radius:18px;box-shadow:0 1px 2px rgba(8,44,77,.03),0 10px 28px -24px rgba(8,44,77,.18)}
.ai-sv-inc-item .ai-p-ico{margin-bottom:10px}
.ai-sv-inc-item a,.ai-sv-prob a{color:var(--ai-blue)!important;font-weight:600}
/* process on navy */
.ai-sv-steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;font-family:var(--ai-font);counter-reset:none}
.ai-sv-steps li{display:flex;flex-direction:column;gap:8px;padding:26px 24px;background:#fff;border-radius:18px;box-shadow:0 12px 30px -20px rgba(0,0,0,.45)}
.ai-sv-steps span{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:var(--ai-ice);color:var(--ai-blue);font-size:14px;font-weight:800}
.ai-sv-steps h3{margin:6px 0 0!important;font-size:18px;font-weight:800;line-height:1.3;color:var(--ai-navy)!important}
.ai-sv-steps p{margin:0;font-size:15px;line-height:1.6;color:#4E667A!important}
/* expect + proof */
.ai-sv-expect{gap:12px;margin-top:4px}
.ai-sv-expect li{font-size:16.5px!important;font-weight:600;color:var(--ai-navy)!important}
.ai-sv-note{display:flex;gap:12px;align-items:flex-start;margin:22px 0 0!important;padding:14px 16px;border-radius:12px;background:var(--ai-bg);border:1px solid #DDEBF4;font-family:var(--ai-font);font-size:14.5px;line-height:1.55;color:#36536A}
.ai-sv-note .ai-p-ico{width:32px;height:32px}.ai-sv-note .ai-p-ico svg{width:16px;height:16px}
.ai-sv-proof{padding:32px 32px 28px;border-radius:20px;background:var(--ai-navy);color:#fff;font-family:var(--ai-font);box-shadow:0 30px 60px -40px rgba(8,44,77,.5)}
.ai-sv-proof .ai-sv-label{color:#9FDDF4}
.ai-sv-proof b{display:block;font-size:56px;font-weight:800;line-height:1;letter-spacing:-.03em;color:#fff;margin-bottom:10px}
.ai-sv-proof h3{margin:0 0 8px!important;font-size:22px;font-weight:800;color:#fff}
.ai-sv-proof p{margin:0 0 16px;font-size:16.5px;line-height:1.6;color:#C9DBE9}
.ai-sv-proof a.ai-link{color:#8FD6F2!important}
/* related */
.ai-sv-rel{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;align-items:stretch;font-family:var(--ai-font)}
.ai-sv-rel-item{position:relative;display:flex;flex-direction:column;gap:6px;padding:26px;background:#fff;border:1px solid #DCE9F2;border-radius:18px;transition:border-color 200ms var(--ai-ease),transform 200ms var(--ai-ease)}
.ai-sv-rel-item:hover{border-color:#BFD8EA;transform:translateY(-2px)}
.ai-sv-rel-item .ai-p-ico{margin-bottom:10px}
.ai-sv-rel-item h3 a{color:var(--ai-navy)!important;text-decoration:none!important}
.ai-sv-rel-item h3 a::after{content:"";position:absolute;inset:0}
.ai-sv-rel-cta{margin-top:auto;padding-top:14px;font-size:15px;font-weight:700;color:var(--ai-blue)}
.ai-sv-rel-cta::after{content:"\2192";margin-left:7px}
@media (max-width:1024px){.ai-sv-inc,.ai-sv-rel{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.ai-sv-steps{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:639px){.ai-sv-probs,.ai-sv-inc,.ai-sv-rel,.ai-sv-steps{grid-template-columns:1fr;gap:16px}.ai-sv-prob,.ai-sv-inc-item,.ai-sv-rel-item{padding:22px 20px}.ai-sv-who{padding:22px 20px}.ai-sv-proof{padding:26px 22px}.ai-sv-proof b{font-size:46px}}
/* hub: learn-more links, who we help */
.ai-svl-more{display:inline-flex;align-items:center;min-height:40px;margin-top:10px;font-size:15px;font-weight:700;color:var(--ai-blue)!important;text-decoration:none!important}
.ai-svl-more::after{content:"\2192";margin-left:7px}
.ai-sv-help{list-style:none;margin:0;padding:0;display:grid;gap:0;font-family:var(--ai-font);border-top:1px solid #E3EDF4}
.ai-sv-help li{display:flex;gap:16px;align-items:flex-start;padding:20px 0;border-bottom:1px solid #E3EDF4}
.e-con.ai-sv-hub-links{align-items:center;gap:8px 20px!important}
/* about: specialisms */
.ai-ab-spec{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;font-family:var(--ai-font)}
.ai-ab-spec li{position:relative;display:flex;flex-direction:column;gap:10px;padding:22px 22px 20px;background:#fff;border:1px solid #DCE9F2;border-radius:18px;transition:border-color 200ms var(--ai-ease)}
.ai-ab-spec li:hover{border-color:#BFD8EA}
.ai-ab-spec h3 a{color:var(--ai-navy)!important;text-decoration:none!important}
.ai-ab-spec h3 a::after{content:"";position:absolute;inset:0}
.ai-ab-spec-note{margin:24px 0 0;font-family:var(--ai-font);font-size:16px;color:var(--ai-muted)}
@media (max-width:1024px){.ai-ab-spec{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:480px){.ai-ab-spec{grid-template-columns:1fr}}
/* links strip (portfolio, case studies, testimonials, blog) */
.ai-links-strip{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:10px 14px;margin-top:40px;padding-top:28px;border-top:1px solid #E3EDF4;font-family:var(--ai-font)}
.ai-links-strip p{margin:0;font-size:14.5px;font-weight:700;color:var(--ai-navy)}
.ai-links-strip ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.ai-links-strip a{display:inline-flex;align-items:center;min-height:36px;padding:6px 14px;border-radius:999px;border:1px solid #D3E4EF;background:#fff;font-size:14px;font-weight:700;color:var(--ai-blue)!important;text-decoration:none!important}
.ai-links-strip a:hover{border-color:var(--ai-blue)}
.ai-links-strip--left{justify-content:flex-start;margin-top:28px}
.ai-rv3-intro{margin:0 0 24px;font-family:var(--ai-font);font-size:16px;color:var(--ai-muted);text-align:center}
/* blog post: related services */
.ai-article-body .ai-article-svc{margin:36px 0 0;padding:24px 26px;border:1px solid #DCE9F2;border-radius:18px;background:var(--ai-bg)}
.ai-article-svc ul{list-style:none!important;margin:10px 0 0!important;padding:0!important;display:grid;gap:10px}
.ai-article-svc li{margin:0!important;font-size:15.5px!important;line-height:1.5!important}
.ai-article-svc li a{font-weight:800;margin-right:8px}
.ai-article-svc li span{color:#4E667A}

/* ---- service hero visuals (illustrative, no data) ---- */
.ai-hv-search{display:flex;align-items:center;gap:10px;padding:10px 14px;border:1px solid var(--ai-line);border-radius:999px;font-size:13.5px;color:var(--ai-navy)}
.ai-hv-search svg{width:16px;height:16px;fill:none;stroke:var(--ai-blue);stroke-width:2}
.ai-hv-map{position:relative;height:130px;margin:14px 0;border-radius:12px;border:1px solid var(--ai-line);background:linear-gradient(0deg,#EEF6FB 0 0),repeating-linear-gradient(90deg,transparent 0 38px,#DCEBF4 38px 40px),repeating-linear-gradient(0deg,transparent 0 30px,#DCEBF4 30px 32px);background-blend-mode:multiply}
.ai-hv-pin{position:absolute;display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#fff;border:1px solid var(--ai-line-strong);color:var(--ai-muted)}
.ai-hv-pin svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:2}
.ai-hv-pin--1{left:18%;top:22%}.ai-hv-pin--2{left:68%;top:56%}
.ai-hv-pin--me{left:44%;top:30%;width:38px;height:38px;background:var(--ai-blue);border-color:var(--ai-blue);color:#fff}
.ai-hv-list{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.ai-hv-list li{display:flex;align-items:center;gap:12px;padding:8px 10px;border:1px solid var(--ai-line);border-radius:12px}
.ai-hv-list li.is-live{background:var(--ai-ice);border-color:var(--ai-line-strong)}
.ai-hv-list strong{display:block;font-size:13.5px;color:var(--ai-navy)}.ai-hv-list div>span{display:block;font-size:12px;color:var(--ai-muted)}
.ai-hv-gbp{border:1px solid var(--ai-line);border-radius:14px;overflow:hidden}
.ai-hv-gbp-cover{height:92px;background:repeating-linear-gradient(135deg,#EAF4FB 0 12px,#E1EFF8 12px 24px)}
.ai-hv-gbp-body{padding:14px 16px 16px}
.ai-hv-gbp-body>strong{display:block;font-size:17px;color:var(--ai-navy)}.ai-hv-gbp-body>span{display:block;font-size:12.5px;color:var(--ai-muted);margin-top:2px}
.ai-hv-gbp-btns{display:flex;gap:8px;margin:12px 0;flex-wrap:wrap}
.ai-hv-gbp-btns em{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:999px;border:1px solid var(--ai-line-strong);font-style:normal;font-size:12px;font-weight:700;color:var(--ai-blue)}
.ai-hv-gbp svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.ai-hv-gbp ul{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.ai-hv-gbp li{display:flex;align-items:center;gap:8px;padding-top:6px;border-top:1px solid #EEF3F7;font-size:12.5px;color:var(--ai-muted)}
.ai-hv-ask{display:flex;gap:10px;align-items:flex-start;justify-content:flex-end}
.ai-hv-ask p{margin:0;max-width:78%;padding:10px 14px;border-radius:14px 14px 4px 14px;background:var(--ai-navy);color:#fff;font-size:13.5px;line-height:1.45}
.ai-hv-ask>span{order:2;display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--ai-ice);color:var(--ai-blue)}
.ai-hv-ask svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:2}
.ai-hv-answer{margin-top:14px;padding:16px;border:1px solid var(--ai-line);border-radius:14px}
.ai-hv-answer i,.ai-hv-wire i,.ai-hv-phone i,.ai-hv-canvas i,.ai-hv-ad>i{display:block;height:9px;margin:8px 0;border-radius:6px;background:#E6EEF4}
.ai-hv-answer i.is-short,.ai-hv-wire i.is-short,.ai-hv-phone i.is-short,.ai-hv-canvas i.is-short,.ai-hv-ad>i.is-short{width:60%}
.ai-hv-sources{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}
.ai-hv-sources em{font-style:normal;font-size:11.5px;font-weight:700;padding:4px 10px;border-radius:999px;background:var(--ai-ice);color:var(--ai-blue)}
.ai-hv-audit{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.ai-hv-audit li{display:flex;align-items:center;gap:12px;padding:6px 8px;border:1px solid var(--ai-line);border-radius:12px}
.ai-hv-audit strong{flex:1;font-size:13.5px;color:var(--ai-navy)}
.ai-hv-audit em{font-style:normal;font-size:11px;font-weight:700;padding:3px 9px;border-radius:999px}
.ai-hv-audit em.is-ok{background:#E7F6EE;color:#1A7F4B}.ai-hv-audit em.is-todo{background:#FFF6E0;color:#8A6A10}
.ai-hv-wire{border:1px solid var(--ai-line);border-radius:12px;padding:12px 14px}
.ai-hv-wire-nav{display:flex;align-items:center;gap:8px}
.ai-hv-wire-nav b{width:52px;height:12px;border-radius:4px;background:var(--ai-navy)}
.ai-hv-wire-nav i{width:34px;height:7px!important;margin:0!important}
.ai-hv-wire-nav em{margin-left:auto;width:60px;height:20px;border-radius:6px;background:var(--ai-blue)}
.ai-hv-wire-hero{display:grid;grid-template-columns:1.2fr 1fr;gap:14px;align-items:center;margin:16px 0}
.ai-hv-wire i.is-h{height:16px;background:#CBDDEA}
.ai-hv-wire-hero em{display:inline-block;margin-top:6px;padding:6px 12px;border-radius:6px;background:var(--ai-blue);color:#fff;font-style:normal;font-size:11.5px;font-weight:700}
.ai-hv-wire-hero>span{height:96px;border-radius:10px;background:repeating-linear-gradient(135deg,#EAF4FB 0 10px,#E1EFF8 10px 20px)}
.ai-hv-wire-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.ai-hv-wire-cards i{height:54px!important;margin:0!important;border:1px solid var(--ai-line);background:#fff!important;border-radius:10px!important}
.ai-hv-phone{width:120px;padding:12px 10px 14px;background:#fff;border:1px solid var(--ai-line-strong);border-radius:20px;box-shadow:0 18px 36px -20px rgba(8,44,77,.35)}
.ai-hv-phone em{display:block;height:44px;margin:8px 0;border-radius:8px;background:repeating-linear-gradient(135deg,#EAF4FB 0 8px,#E1EFF8 8px 16px)}
.ai-hv-phone span{display:block;height:18px;margin-top:6px;border-radius:6px;border:1px solid var(--ai-line)}
.ai-hv-editor{display:grid;grid-template-columns:120px 1fr;gap:12px}
.ai-hv-blocks{list-style:none;margin:0;padding:0;display:grid;gap:6px;align-content:start}
.ai-hv-blocks li{display:flex;align-items:center;gap:8px;padding:8px 10px;border:1px solid var(--ai-line);border-radius:10px;font-size:12.5px;font-weight:600;color:var(--ai-navy)}
.ai-hv-blocks svg{width:14px;height:14px;fill:none;stroke:var(--ai-blue);stroke-width:2}
.ai-hv-canvas{display:grid;gap:8px;padding:10px;border:1px dashed var(--ai-line-strong);border-radius:12px}
.ai-hv-canvas>div{padding:4px 8px;border-radius:8px}
.ai-hv-canvas>div.is-sel{outline:2px solid var(--ai-blue);outline-offset:0}
.ai-hv-canvas i.is-h{height:16px;background:#CBDDEA}
.ai-hv-canvas-img{height:70px;background:repeating-linear-gradient(135deg,#EAF4FB 0 10px,#E1EFF8 10px 20px)}
.ai-hv-canvas em{display:inline-block;padding:6px 14px;border-radius:6px;background:var(--ai-blue);color:#fff;font-style:normal;font-size:11.5px;font-weight:700}
.ai-hv-ad{border:1px solid var(--ai-line);border-radius:14px;padding:14px}
.ai-hv-ad-head{display:flex;align-items:center;gap:10px;margin-bottom:6px}
.ai-hv-ad-head>span{width:34px;height:34px;border-radius:50%;background:var(--ai-navy)}
.ai-hv-ad-head strong{display:block;font-size:13.5px;color:var(--ai-navy)}.ai-hv-ad-head small{font-size:11.5px;color:var(--ai-muted)}
.ai-hv-ad-img{display:grid;place-items:center;height:120px;margin:10px 0;border-radius:10px;background:repeating-linear-gradient(135deg,#EAF4FB 0 12px,#E1EFF8 12px 24px);color:var(--ai-blue)}
.ai-hv-ad-img svg{width:34px;height:34px;fill:none;stroke:currentColor;stroke-width:1.6}
.ai-hv-ad-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:12.5px;font-weight:700;color:var(--ai-navy)}
.ai-hv-ad-foot em{font-style:normal;padding:6px 12px;border-radius:6px;background:var(--ai-ice);color:var(--ai-blue);font-size:12px}
@media (max-width:600px){.ai-hv-editor{grid-template-columns:1fr}.ai-hv-blocks{grid-template-columns:1fr 1fr}.ai-hv-wire-hero>span{height:70px}}
.ai-hv-float--br{right:0;bottom:0}.ai--hv-web-pad{}

/* =====================================================================
   25. HEADER: Services dropdown (desktop compact panel, mobile collapsible)
   ===================================================================== */
.ai-header .hfe-menu-toggle{display:inline-grid;place-items:center;width:18px;height:18px;margin-left:4px}
.ai-header .hfe-menu-toggle i.fa{display:none}
.ai-header .hfe-menu-toggle::after{content:"";width:7px;height:7px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:translateY(-2px) rotate(45deg);transition:transform var(--ai-dur) var(--ai-ease)}
@media (min-width:1025px){
  .ai-header .hfe-nav-menu__layout-horizontal .hfe-has-submenu{position:relative}
  .ai-header .hfe-nav-menu__layout-horizontal .hfe-has-submenu:hover .hfe-menu-toggle::after,.ai-header .hfe-nav-menu__layout-horizontal .hfe-has-submenu:focus-within .hfe-menu-toggle::after{transform:translateY(1px) rotate(225deg)}
  .ai-header .hfe-nav-menu__layout-horizontal .sub-menu{left:50%!important;transform:translateX(-50%);top:calc(100% + 8px)!important;width:620px!important;max-width:calc(100vw - 48px);display:grid!important;grid-template-columns:1fr 1fr;gap:4px;padding:12px!important;background:#fff!important;border:1px solid var(--ai-line)!important;border-radius:16px!important;box-shadow:0 2px 6px rgba(8,44,77,.04),0 30px 60px -20px rgba(8,44,77,.25)!important;z-index:1000}
  .ai-header .hfe-nav-menu__layout-horizontal .sub-menu::before{content:"";position:absolute;left:0;right:0;top:-10px;height:10px}
  .ai-header .hfe-nav-menu__layout-horizontal .sub-menu>li{border:0!important;background:none!important}
  .ai-header .hfe-nav-menu__layout-horizontal .sub-menu a.hfe-sub-menu-item{display:flex!important;flex-direction:column;align-items:flex-start;gap:3px;padding:11px 14px!important;border-radius:10px;font-size:15px!important;font-weight:700!important;line-height:1.3!important;color:var(--ai-navy)!important;background:none!important;border:0!important;white-space:normal!important}
  .ai-header .hfe-nav-menu__layout-horizontal .sub-menu a.hfe-sub-menu-item:hover,.ai-header .hfe-nav-menu__layout-horizontal .sub-menu a.hfe-sub-menu-item:focus-visible{background:var(--ai-ice)!important;color:var(--ai-blue)!important;outline:none}
  .ai-header .hfe-nav-menu__layout-horizontal .sub-menu .current-menu-item>a.hfe-sub-menu-item{background:var(--ai-ice)!important;color:var(--ai-blue)!important}
  .ai-header .ai-sub-desc{display:block;font-size:13px;font-weight:500;line-height:1.4;color:var(--ai-muted)}
}
@media (max-width:1024px){
  .ai-header nav.hfe-dropdown .sub-menu{background:var(--ai-bg)!important;border:0!important;box-shadow:none!important;padding:4px 0 8px!important}
  .ai-header nav.hfe-dropdown .sub-menu a.hfe-sub-menu-item{display:flex!important;align-items:center;min-height:44px;padding:10px 20px 10px 32px!important;font-family:var(--ai-font)!important;font-size:15px!important;font-weight:600!important;color:var(--ai-navy)!important;border:0!important;border-bottom:1px solid #E8F0F5!important;background:none!important}
  .ai-header nav.hfe-dropdown .sub-menu .ai-sub-desc{display:none}
  .ai-header nav.hfe-dropdown .hfe-has-submenu-container{display:flex;align-items:center}
  .ai-header nav.hfe-dropdown .hfe-has-submenu-container>a.hfe-menu-item{flex:1}
  .ai-header nav.hfe-dropdown .hfe-menu-toggle{width:44px;height:44px;margin-left:auto}
  .ai-header nav.hfe-dropdown .hfe-has-submenu.sub-menu-active .hfe-menu-toggle::after,.ai-header nav.hfe-dropdown .hfe-menu-toggle.sub-menu-active::after{transform:translateY(1px) rotate(225deg)}
}
@media (max-width:1024px){.ai-header nav.hfe-dropdown .hfe-nav-menu>li>a.hfe-menu-item,.ai-header nav.hfe-dropdown .hfe-has-submenu-container>a.hfe-menu-item{padding-left:20px!important;padding-right:20px!important}.ai-header nav.hfe-dropdown .hfe-nav-menu>li.ai-menu-cta>a.hfe-menu-item{padding-left:16px!important;padding-right:16px!important}}

/* =====================================================================
   26. PHOTOGRAPHY (Unsplash stock, Media Library): consistent crops
   ===================================================================== */
.ai-photo{position:relative;margin:0;overflow:hidden;border-radius:18px;background:#EEF4F8;border:1px solid #D6E6F0;box-shadow:0 24px 50px -36px rgba(8,44,77,.35)}
.ai-photo img{display:block;width:100%;height:100%;object-fit:cover}
.ai-photo--intro{aspect-ratio:4/3;margin-bottom:20px}
.ai-photo--wide{aspect-ratio:16/9;margin:4px 0 20px}
.ai-photo--story{aspect-ratio:4/3;margin-top:28px}
.ai-photo--band{aspect-ratio:21/8;border-radius:22px}
.ai-photo-cap{position:absolute;left:28px;bottom:28px;max-width:calc(100% - 56px);padding:14px 20px;border-radius:12px;background:rgba(8,44,77,.86);color:#fff;font-family:var(--ai-font);font-size:22px;font-weight:800;line-height:1.25;letter-spacing:-.015em}
.e-con.ai-section.ai-photo-band-sec{--padding-top:80px;--padding-bottom:0}
@media (max-width:1024px){.ai-photo--band{aspect-ratio:16/8}.e-con.ai-section.ai-photo-band-sec{--padding-top:64px}}
@media (max-width:767px){.ai-photo--band{aspect-ratio:4/3;border-radius:18px}.ai-photo-cap{left:14px;bottom:14px;max-width:calc(100% - 28px);padding:10px 14px;font-size:17px}.e-con.ai-section.ai-photo-band-sec{--padding-top:48px}.ai-photo--story{margin-top:20px}}
@media (max-width:1024px){.ai-photo--intro,.ai-photo--story{max-width:560px;aspect-ratio:16/10}.ai-photo--wide{max-width:640px}}

/* =====================================================================
   27. PHOTO COMPOSITIONS (v2): photo stands alone, stretched to the text column
   ===================================================================== */
.e-con.ai-section .e-con.ai-split.ai-sv-intro--photo{align-items:stretch!important;--gap:64px;--column-gap:64px}
.e-con.ai-sv-intro--photo>.e-con.ai-sv-photo-col{display:flex!important;flex-direction:column}
.e-con.ai-sv-intro--photo>.e-con.ai-sv-photo-col>.elementor-widget.ai-photo-fill-wrap{flex:1 1 auto;display:flex;width:100%}
.ai-photo-fill-wrap>.elementor-widget-container{display:flex;flex:1 1 auto;width:100%}
.ai-photo--fill{flex:1 1 auto;width:100%;min-height:380px;aspect-ratio:auto;margin:0}
.ai-photo--fill img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.ai-sv-who-inline{margin-top:10px;padding-top:26px;border-top:1px solid #E3EDF4;font-family:var(--ai-font)}
.ai-sv-who-inline .ai-check{display:grid;grid-template-columns:1fr 1fr;gap:12px 28px}
.ai-sv-who-inline .ai-check li{font-size:15.5px;font-weight:600;color:var(--ai-navy)}
.ai-help-row .ai-sv-help{margin-top:8px}
.elementor-widget.ai-faq-center{width:100%;max-width:820px;margin-inline:auto}
.e-con.ai-section.ai-photo-band-sec--about{--padding-top:0;--padding-bottom:104px}
@media (max-width:1024px){
  .e-con.ai-section .e-con.ai-split.ai-sv-intro--photo{flex-direction:column!important;--gap:32px;--row-gap:32px}
  .e-con.ai-sv-intro--photo>.e-con{width:100%!important}
  .ai-photo--fill{min-height:0;aspect-ratio:16/10;max-width:none}
  .e-con.ai-help-row>.e-con.ai-sv-photo-col{order:2}
  .e-con.ai-section.ai-photo-band-sec--about{--padding-bottom:88px}
}
@media (max-width:639px){.ai-sv-who-inline .ai-check{grid-template-columns:1fr}.ai-photo--fill{aspect-ratio:4/3}.e-con.ai-section.ai-photo-band-sec--about{--padding-bottom:60px}}
/* 27b: side-by-side down to 900px; stacked photos capped on tablet */
@media (min-width:900px) and (max-width:1024px){
  .e-con.ai-section .e-con.ai-split.ai-sv-intro--photo{flex-direction:row!important;--gap:40px;--column-gap:40px}
  .e-con.ai-sv-intro--photo>.e-con.ai-sv-photo-col{width:calc(44% - 20px)!important}
  .e-con.ai-sv-intro--photo>.e-con:not(.ai-sv-photo-col){width:calc(56% - 20px)!important}
  .ai-photo--fill{aspect-ratio:auto;min-height:340px}
  .ai-sv-who-inline .ai-check{grid-template-columns:1fr}
  .e-con.ai-help-row>.e-con.ai-sv-photo-col{order:0}
}
@media (min-width:640px) and (max-width:899px){.ai-photo--fill{max-width:620px;aspect-ratio:16/10}}

/* =====================================================================
   28. EQUAL-HEIGHT TWO-COLUMN ROWS: a card beside a text column fills
   the full row height, content centred (no short floating cards)
   ===================================================================== */
.e-con.ai-section .e-con.ai-split:is(.ai-sv-intro:not(.ai-sv-intro--photo),.ai-sv-exp){align-items:stretch!important}
.e-con:is(.ai-sv-who-col,.ai-sv-proof-col){display:flex!important;flex-direction:column;justify-content:stretch}
.e-con:is(.ai-sv-who-col,.ai-sv-proof-col)>.elementor-widget{flex:1 1 auto;display:flex;width:100%}
.e-con:is(.ai-sv-who-col,.ai-sv-proof-col)>.elementor-widget>.elementor-widget-container{flex:1 1 auto;display:flex;width:100%}
.ai-sv-who,.ai-sv-proof{flex:1 1 auto;display:flex;flex-direction:column;justify-content:center;box-sizing:border-box;width:100%}
.ai-sv-proof a.ai-link{align-self:flex-start}
.e-con.ai-sv-exp>.e-con.ai-x-head{justify-content:center}
@media (max-width:1024px){.ai-sv-who,.ai-sv-proof{flex:none}}
@media (min-width:1025px){.ai-sv-proof{padding:40px 40px 36px}.ai-sv-proof b{font-size:76px;margin-bottom:14px}.ai-sv-proof p{font-size:18px}.ai-sv-who{padding:32px 34px}.ai-sv-who .ai-check{gap:16px}.ai-sv-who .ai-check li{font-size:16.5px}}
.ai-ab-story .ai-photo--story{margin-top:32px;aspect-ratio:4/3}@media (max-width:1024px){.ai-ab-story .ai-photo--story{max-width:560px;aspect-ratio:16/10;margin-top:24px}}
.ai-ab-pull+figure.ai-photo,.ai-photo.ai-photo--story{margin-top:32px!important}@media (max-width:1024px){.ai-ab-pull+figure.ai-photo{margin-top:24px!important}}

/* =====================================================================
   29. SECTION BACKGROUND PHOTOS (felt more than noticed)
   Real colour photos from the Media Library (never the page's own photo),
   whole section, 3% opacity on white: the white dominates.
   ===================================================================== */
.page-id-944 #included{--ai-bgi:url(https://aiseowhitehatranker.com/wp-content/uploads/2026/09/aiseo-stock-local-storefront-1024x683.webp);--ai-bgi-m:url(https://aiseowhitehatranker.com/wp-content/uploads/2026/09/aiseo-stock-local-storefront-768x512.webp)}
.page-id-946 #included{--ai-bgi:url(https://aiseowhitehatranker.com/wp-content/uploads/2026/09/aiseo-stock-laptop-website-1024x682.webp);--ai-bgi-m:url(https://aiseowhitehatranker.com/wp-content/uploads/2026/09/aiseo-stock-laptop-website-768x511.webp)}
.page-id-948 #included{--ai-bgi:url(https://aiseowhitehatranker.com/wp-content/uploads/2026/09/aiseo-stock-analytics-laptop-1024x730.webp);--ai-bgi-m:url(https://aiseowhitehatranker.com/wp-content/uploads/2026/09/aiseo-stock-analytics-laptop-768x547.webp)}
.page-id-952 #included{--ai-bgi:url(https://aiseowhitehatranker.com/wp-content/uploads/2026/09/aiseo-stock-workspace-window-1024x576.webp);--ai-bgi-m:url(https://aiseowhitehatranker.com/wp-content/uploads/2026/09/aiseo-stock-workspace-window-768x432.webp)}
.page-id-954 #included{--ai-bgi:url(https://aiseowhitehatranker.com/wp-content/uploads/2026/09/aiseo-stock-phone-map-1024x769.webp);--ai-bgi-m:url(https://aiseowhitehatranker.com/wp-content/uploads/2026/09/aiseo-stock-phone-map-768x576.webp)}
.page-id-16 #specialisms{--ai-bgi:url(https://aiseowhitehatranker.com/wp-content/uploads/2026/09/aiseo-stock-laptop-notebook-1024x768.webp);--ai-bgi-m:url(https://aiseowhitehatranker.com/wp-content/uploads/2026/09/aiseo-stock-laptop-notebook-768x576.webp)}
.page-id-106 .ai-section:has(.ai-flow){--ai-bgi:url(https://aiseowhitehatranker.com/wp-content/uploads/2026/09/aiseo-stock-workflow-whiteboard-1024x682.webp);--ai-bgi-m:url(https://aiseowhitehatranker.com/wp-content/uploads/2026/09/aiseo-stock-workflow-whiteboard-768x512.webp)}
.home .ai-hw-sec{--ai-bgi:url(https://aiseowhitehatranker.com/wp-content/uploads/2026/09/aiseo-stock-analytics-laptop-1024x730.webp);--ai-bgi-m:url(https://aiseowhitehatranker.com/wp-content/uploads/2026/09/aiseo-stock-analytics-laptop-768x547.webp)}
:where(.page-id-944 #included,.page-id-946 #included,.page-id-948 #included,.page-id-952 #included,.page-id-954 #included,.page-id-16 #specialisms,.page-id-106 .ai-section:has(.ai-flow),.home .ai-hw-sec){position:relative;isolation:isolate;background-color:#fff!important}
:where(.page-id-944 #included,.page-id-946 #included,.page-id-948 #included,.page-id-952 #included,.page-id-954 #included,.page-id-16 #specialisms,.page-id-106 .ai-section:has(.ai-flow),.home .ai-hw-sec)>.e-con-inner{position:relative;z-index:1}
:where(.page-id-944 #included,.page-id-946 #included,.page-id-948 #included,.page-id-952 #included,.page-id-954 #included,.page-id-16 #specialisms,.page-id-106 .ai-section:has(.ai-flow),.home .ai-hw-sec)::after{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background:var(--ai-bgi) center/cover no-repeat;opacity:var(--ai-bgo,.03)}
@media (max-width:767px){:where(.page-id-944 #included,.page-id-946 #included,.page-id-948 #included,.page-id-952 #included,.page-id-954 #included,.page-id-16 #specialisms,.page-id-106 .ai-section:has(.ai-flow),.home .ai-hw-sec)::after{background-image:var(--ai-bgi-m);opacity:.03}}
/* related services on navy (user request 2026-09-27): white cards keep their light-theme text */
.ai-sv-rel-sec .ai-sv-rel-item{background:#fff;border-color:rgba(255,255,255,.14);box-shadow:0 24px 50px -30px rgba(0,0,0,.55)}
.ai-sv-rel-sec .ai-sv-rel-item h3,.ai-sv-rel-sec .ai-sv-rel-item h3 a{color:var(--ai-navy)!important}
.ai-sv-rel-sec .ai-sv-rel-item p{color:var(--ai-muted)!important}
.ai-sv-rel-sec .ai-sv-rel-item .ai-sv-rel-cta{color:var(--ai-blue)!important}
/* homepage "The full picture": image placeholder until the final image is supplied (user request 2026-09-27) */
.ai-fp-visual.is-ph{background:#EAF4FA;border-color:#D6E6F0}
.ai-fp-visual .ai-fp-ph{position:relative;inset:auto;width:100%;aspect-ratio:16/10}
.ai-fp-visual .ai-fp-ph span{font-size:13px;padding:8px 16px}
@media (min-width:601px){.ai-fp-visual .ai-fp-ph{padding-bottom:120px;box-sizing:border-box}}
@media (min-width:900px){.ai-fp-visual .ai-fp-ph{position:absolute;inset:0;aspect-ratio:auto}}
@media print{.ai-section::after{display:none!important}}
/* related-services grid: no orphan card on tablet (3 across to 900px, then a full-width last card) */
@media (min-width:900px) and (max-width:1024px){.ai-sv-rel{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.ai-sv-rel-item{padding:22px 20px}}
@media (min-width:640px) and (max-width:899px){.ai-sv-rel>.ai-sv-rel-item:last-child:nth-child(odd){grid-column:1/-1}}
/* Testimonial carousel: the text "Pause" button was removed at the user's request (2026-09-27); Phase 3 brings the
   control back as a compact icon button (WCAG 2.2.2), styled like the arrow buttons. See section 35. */

/* =====================================================================
   30. PHASE 1 FONT CONSISTENCY (family only; sizes/weights unchanged)
   Elementor's accent font (Roboto) and WPForms' system stack were
   overriding the site font in the header dropdown, forms and blog meta.
   ===================================================================== */
.ai-header .hfe-nav-menu a.hfe-sub-menu-item,.ai-header .hfe-nav-menu .ai-sub-desc,.ai-header nav.hfe-dropdown a.hfe-menu-item{font-family:var(--ai-font)!important}
.wpforms-container,.wpforms-container .wpforms-field-label,.wpforms-container .wpforms-field-sublabel,.wpforms-container .wpforms-field-description,.wpforms-container .wpforms-required-label,.wpforms-container input,.wpforms-container textarea,.wpforms-container select,.wpforms-container button,.wpforms-container .wpforms-submit,.wpforms-container .wpforms-error,.wpforms-confirmation-container-full,.wpforms-confirmation-container-full p{font-family:var(--ai-font)!important}
.ai-ctaf .wpforms-container .wpforms-field-description{font-size:13px!important;line-height:1.45!important;color:var(--ai-muted)!important;margin-top:6px!important}
.ai-article-toc summary,.single-post .tag-links,.single-post .tag-links a{font-family:var(--ai-font)}
/* 31. Legal pages (Privacy Policy): readable single column */
.elementor-widget.ai-legal-w{width:100%}
.ai-legal-doc{max-width:760px;margin:0 auto;font-family:var(--ai-font);font-size:17px;line-height:1.75;color:var(--ai-text)}
.ai-legal-doc .ai-legal-updated{font-size:14px;font-weight:600;color:var(--ai-muted);margin:0 0 24px}
.ai-legal-doc h2{margin:44px 0 12px;font-size:24px;line-height:1.3;letter-spacing:-.015em;color:var(--ai-navy)}
.ai-legal-doc p{margin:0 0 16px}
.ai-legal-doc ul{margin:0 0 16px;padding-left:22px}
.ai-legal-doc li{margin:0 0 10px}
.ai-legal-doc strong{color:var(--ai-navy)}
.ai-legal-doc a{color:var(--ai-blue);text-decoration:underline;text-underline-offset:3px}
@media (max-width:767px){.ai-legal-doc{font-size:16px}.ai-legal-doc h2{font-size:21px;margin-top:36px}}
/* Phase 1 verification fix: screen-reader labels inside off-screen testimonial slides were positioned
   against .ai-tc (outside the scroll viewport) and widened the page on phones/tablets. */
.ai-tc-slide{position:relative}

/* =====================================================================
   32. PHASE 2: primary audit form (CF7 #754) in the final contact section
   ===================================================================== */
.ai-hp{position:absolute!important;left:-10000px!important;top:auto!important;width:1px!important;height:1px!important;overflow:hidden!important}
.ai-ctaf-card.ai-form-card--cf7 .ai-ctaf-card-title{margin-bottom:6px}
.ai-ctaf-card-note{margin:0 0 18px;font-family:var(--ai-font);font-size:14px;line-height:1.5;color:var(--ai-muted)}
.ai-ctaf-card.ai-form-card--cf7 .wpcf7{margin:0}

/* =====================================================================
   33. PHASE 2: evidence-based case studies (ai-cs5-*)
   ===================================================================== */
/* hero scan-summary window */
.ai-hv--scan .ai-hv-main{padding:22px 24px 24px}
.ai-cs5-scan{display:grid;grid-template-columns:auto 1fr;gap:22px;align-items:center;margin:10px 0 18px}
.ai-cs5-scan-avg{display:flex;flex-direction:column;align-items:flex-start;padding:16px 20px;border-radius:14px;background:var(--ai-ice);border:1px solid #D6E9F5}
.ai-cs5-scan-avg b{font-size:44px;line-height:1;font-weight:800;letter-spacing:-.03em;color:var(--ai-navy)}
.ai-cs5-scan-avg span{margin-top:6px;font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--ai-muted)}
.ai-cs5-scan-dl{margin:0;display:grid;gap:10px}
.ai-cs5-scan-dl div{display:grid;grid-template-columns:92px 1fr;gap:10px;font-size:13.5px;line-height:1.35}
.ai-cs5-scan-dl dt{font-weight:600;color:var(--ai-muted)}
.ai-cs5-scan-dl dd{margin:0;font-weight:700;color:var(--ai-navy)}
.ai-cs5-bar{display:flex;height:10px;border-radius:999px;overflow:hidden;background:#EEF4F8}
.ai-cs5-bar i:first-child{background:#1E9E5A}.ai-cs5-bar i:last-child{background:#E8B63A}
.ai-cs5-bar-legend{display:flex;gap:18px;margin:10px 0 0;font-size:12.5px;font-weight:600;color:var(--ai-muted)}
.ai-cs5-bar-legend span{display:inline-flex;align-items:center;gap:6px}.ai-cs5-bar-legend i{width:9px;height:9px;border-radius:50%;background:#1E9E5A}.ai-cs5-bar-legend span+span i{background:#E8B63A}
/* client + challenge */
.ai-cs5-ov{display:grid;grid-template-columns:1fr 1fr;gap:56px;font-family:var(--ai-font)}
.ai-cs5-ov h2,.ai-cs5-work-head h2,.ai-cs5-read h2{margin:10px 0 14px;font-size:30px;line-height:1.2;letter-spacing:-.02em;color:var(--ai-navy)}
.ai-cs5-ov p:not(.ai-cs-step-label),.ai-cs5-work-head>p:not(.ai-cs-step-label),.ai-cs5-read>p:not(.ai-cs-step-label){margin:0;font-size:17px;line-height:1.7;color:var(--ai-text)}
.ai-cs5-ov section+section{border-left:1px solid var(--ai-line);padding-left:56px}
/* work */
.ai-cs5-work-grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:56px;align-items:start;font-family:var(--ai-font)}
.ai-cs5-work-head .ai-links-strip{margin-top:28px}
@media (min-width:1025px){.ai-cs5-work-head{position:sticky;top:120px}}
.ai-cs5-work{list-style:none;margin:0;padding:0;display:grid;gap:14px}
.ai-cs5-work li{display:grid;grid-template-columns:48px 1fr;gap:18px;align-items:start;padding:22px 24px;background:#fff;border:1px solid var(--ai-line);border-radius:16px;box-shadow:0 1px 2px rgba(8,44,77,.04)}
.ai-cs5-n{display:grid;place-items:center;width:44px;height:44px;border-radius:12px;background:var(--ai-ice);font-size:14px;font-weight:800;color:var(--ai-blue)}
.ai-cs5-work h3{margin:2px 0 6px;font-size:18px;line-height:1.3;color:var(--ai-navy)}
.ai-cs5-work p{margin:0;font-size:15.5px;line-height:1.6;color:var(--ai-muted)}
/* documented result */
.ai-cs5-result{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:56px;align-items:center;font-family:var(--ai-font)}
.ai-cs5-shot{margin:0;border:1px solid var(--ai-line);border-radius:18px;overflow:hidden;background:#fff;box-shadow:0 24px 50px -32px rgba(8,44,77,.35)}
.ai-cs5-shot img{display:block;width:100%;height:auto;aspect-ratio:5/4;object-fit:cover}
.ai-cs5-shot figcaption{padding:12px 16px;font-size:13px;color:var(--ai-muted);border-top:1px solid var(--ai-line);background:#FAFCFE}
.ai-cs5-stats{list-style:none;margin:22px 0 18px;padding:0;display:grid;gap:12px}
.ai-cs5-stats li{display:grid;grid-template-columns:96px 1fr;gap:16px;align-items:center;padding:14px 18px;border:1px solid var(--ai-line);border-radius:14px;background:#fff}
.ai-cs5-stats b{font-size:32px;line-height:1;font-weight:800;letter-spacing:-.02em;color:var(--ai-navy)}
.ai-cs5-stats span{font-size:15px;line-height:1.45;color:var(--ai-text)}
.ai-cs5-note{font-size:14px!important;color:var(--ai-muted)!important}
/* takeaways */
.ai-cs5-take{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;font-family:var(--ai-font)}
.ai-cs5-take li{display:flex;flex-direction:column;padding:28px;background:#fff;border:1px solid var(--ai-line);border-radius:18px}
.ai-cs5-take h3{margin:18px 0 8px;font-size:19px;line-height:1.3;color:var(--ai-navy)}
.ai-cs5-take p{margin:0;font-size:15.5px;line-height:1.6;color:var(--ai-muted)}
@media (max-width:1024px){
  .ai-cs5-ov{gap:36px}.ai-cs5-ov section+section{padding-left:36px}
  .ai-cs5-work-grid,.ai-cs5-result{grid-template-columns:1fr;gap:32px}
  .ai-cs5-result .ai-cs5-shot{max-width:640px}
  .ai-cs5-take{grid-template-columns:1fr 1fr}.ai-cs5-take li:last-child:nth-child(odd){grid-column:1/-1}
}
@media (max-width:767px){
  .ai-cs5-ov{grid-template-columns:1fr;gap:28px}.ai-cs5-ov section+section{border-left:0;padding-left:0;border-top:1px solid var(--ai-line);padding-top:28px}
  .ai-cs5-ov h2,.ai-cs5-work-head h2,.ai-cs5-read h2{font-size:25px}
  .ai-cs5-ov p:not(.ai-cs-step-label),.ai-cs5-work-head>p:not(.ai-cs-step-label),.ai-cs5-read>p:not(.ai-cs-step-label){font-size:16px}
  .ai-cs5-work li{grid-template-columns:40px 1fr;gap:14px;padding:18px}
  .ai-cs5-n{width:40px;height:40px}
  .ai-cs5-take{grid-template-columns:1fr;gap:16px}.ai-cs5-take li{padding:22px}
  .ai-cs5-scan{grid-template-columns:1fr;gap:14px}.ai-cs5-scan-dl div{grid-template-columns:84px 1fr}
  .ai-cs5-stats li{grid-template-columns:80px 1fr}.ai-cs5-stats b{font-size:28px}
}
.ai-cs5-thumb{margin-top:18px;border-radius:12px;overflow:hidden;border:1px solid var(--ai-line);aspect-ratio:16/7}
.ai-cs5-thumb img{display:block;width:100%;height:100%;object-fit:cover;object-position:62% 55%}

/* =====================================================================
   34. PHASE 2: hub cards, "Which service fits?", portfolio guide, About voices
   ===================================================================== */
.ai-svh-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;font-family:var(--ai-font)}
.ai-svh-card{position:relative;display:flex;flex-direction:column;padding:26px 24px 22px;background:#fff;border:1px solid var(--ai-line);border-radius:18px;transition:border-color .2s,box-shadow .2s;scroll-margin-top:110px}
.ai-svh-card:hover{border-color:#BFDCEF;box-shadow:0 18px 40px -26px rgba(8,44,77,.35)}
.ai-svh-card h3{margin:18px 0 8px;font-size:19px;line-height:1.3}
.ai-svh-card h3 a{color:var(--ai-navy);text-decoration:none}
.ai-svh-card h3 a::after{content:"";position:absolute;inset:0;border-radius:18px}
.ai-svh-card p{margin:0 0 18px;font-size:15px;line-height:1.6;color:var(--ai-muted)}
.ai-svh-more{margin-top:auto;font-size:14.5px;font-weight:700;color:var(--ai-blue)}
.ai-svh-more::after{content:" \2192"}
.ai-svh-also{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:20px;font-family:var(--ai-font)}
.ai-svh-also>div{padding:18px 22px;border:1px dashed #C9DDEB;border-radius:14px;background:#FAFCFE;scroll-margin-top:110px}
.ai-svh-also b{display:block;font-size:15.5px;color:var(--ai-navy)}
.ai-svh-also p{margin:4px 0 0;font-size:14.5px;line-height:1.55;color:var(--ai-muted)}
.ai-svh-sec .elementor-widget.ai-p-link{margin-top:24px}
.ai-fit{font-family:var(--ai-font);background:#fff;border:1px solid var(--ai-line);border-radius:18px;overflow:hidden}
.ai-fit-head,.ai-fit-row{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:24px;padding:16px 26px;align-items:center}
.ai-fit-head{background:var(--ai-ice);font-size:12.5px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--ai-navy)}
.ai-fit-row+.ai-fit-row,.ai-fit-head+.ai-fit-row{border-top:1px solid var(--ai-line)}
.ai-fit-row p{margin:0;font-size:16px;line-height:1.5;color:var(--ai-text)}
.ai-fit-row p+p{font-weight:700}.ai-fit-row a{color:var(--ai-blue);text-decoration:none}.ai-fit-row a:hover{text-decoration:underline}
.ai-fit-row span{color:var(--ai-muted);font-weight:500}
.ai-fit-note{margin:16px 0 0;font-family:var(--ai-font);font-size:15px;color:var(--ai-muted)}
.ai-pf-guide{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;font-family:var(--ai-font)}
.ai-pf-guide li{display:flex;flex-direction:column;padding:28px;background:#fff;border:1px solid var(--ai-line);border-radius:18px}
.ai-pf-guide h3{margin:18px 0 8px;font-size:19px;color:var(--ai-navy)}
.ai-pf-guide p{margin:0 0 18px;font-size:15.5px;line-height:1.65;color:var(--ai-muted)}
.ai-pf-guide .ai-link{margin-top:auto;font-weight:700;font-size:15px}
.ai-ab-voices{margin-top:56px;font-family:var(--ai-font)}
.ai-ab-voices-label{margin:0 0 18px;font-size:13px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--ai-blue);text-align:center}
.ai-ab-voices-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-bottom:22px}
.ai-ab-voices figure{margin:0;display:flex;flex-direction:column;justify-content:space-between;gap:18px;padding:28px;background:#fff;border:1px solid var(--ai-line);border-radius:18px}
.ai-ab-voices blockquote{margin:0}.ai-ab-voices blockquote p{margin:0;font-size:17px;line-height:1.65;color:var(--ai-navy)}
.ai-ab-voices figcaption{display:flex;align-items:center;gap:12px}
.ai-ab-voices figcaption>span:last-child{display:flex;flex-direction:column;font-size:14px}
.ai-ab-voices cite{font-style:normal;font-weight:700;color:var(--ai-navy)}
.ai-ab-voices figcaption a{color:var(--ai-muted);font-size:13.5px}
.ai-ab-voices>.ai-link{display:table;margin:0 auto;font-weight:700}
@media (max-width:1024px){.ai-svh-grid{grid-template-columns:1fr 1fr}.ai-pf-guide{grid-template-columns:1fr 1fr}.ai-pf-guide li:last-child:nth-child(odd){grid-column:1/-1}}
@media (max-width:767px){
  .ai-svh-grid,.ai-svh-also,.ai-pf-guide,.ai-ab-voices-grid{grid-template-columns:1fr}
  .ai-fit-head{display:none}.ai-fit-row{grid-template-columns:1fr;gap:6px;padding:16px 18px}
  .ai-pf-guide li,.ai-ab-voices figure{padding:22px}
  .ai-ab-voices{margin-top:40px}
}
.ai-svh-card h3 a,.ai-svh-card h3 a:visited{color:var(--ai-navy)!important;text-decoration:none!important}.ai-svh-card:hover h3 a{color:var(--ai-blue)!important}
.ai-cs5-ov h2,.ai-cs5-work-head h2,.ai-cs5-read h2{font-weight:800!important;font-family:var(--ai-font)}.ai-cs5-work h3,.ai-cs5-take h3,.ai-svh-card h3,.ai-pf-guide h3{font-weight:700!important;font-family:var(--ai-font);letter-spacing:-.01em}

/* =====================================================================
   35. PHASE 3: breadcrumbs, skip link, carousel pause control, reduced motion
   ===================================================================== */
/* Breadcrumb: Home / Parent / Current page (ordered list; the current page is plain text) */
.ai-crumb ol{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px;margin:0;padding:0;list-style:none}
.ai-crumb li{display:inline-flex;align-items:center;gap:8px;min-width:0;margin:0;padding:0}
.ai-crumb li+li::before{content:"/";color:#A9BFCE;font-weight:600}
.ai-crumb [aria-current]{display:block;min-width:0;max-width:36ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ai-text)}
@media (max-width:600px){.ai-crumb{font-size:13.5px}.ai-crumb [aria-current]{max-width:22ch}}
/* Skip link: visible, on-brand and above the sticky header when focused */
.hfe-skip-link:focus,.skip-link:focus{top:12px!important;inset-inline-start:12px!important;left:12px!important;padding:12px 20px!important;border-radius:10px!important;background:var(--ai-navy)!important;color:#fff!important;font-family:var(--ai-font)!important;font-size:15px!important;font-weight:700!important;text-decoration:none!important;outline:3px solid var(--ai-cyan)!important;outline-offset:2px!important;box-shadow:0 10px 30px rgba(6,27,49,.25);z-index:100001!important}
main#content:focus{outline:none}
/* Testimonial carousel: Pause/Play as an icon button beside the arrows (label stays available to screen readers) */
.ai-tc-toggle{width:44px;height:44px;margin-left:0;padding:0;justify-content:center;gap:0;border-radius:50%;border:1px solid var(--ai-line-strong);background:#fff;color:var(--ai-navy);transition:border-color var(--ai-dur),color var(--ai-dur)}
.ai-tc-toggle:hover{border-color:var(--ai-blue);color:var(--ai-blue);background:#fff}
.ai-tc-toggle-txt{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.ai-tc-toggle.is-paused .ai-tc-toggle-ico{margin-left:3px}
/* Reduced motion: no animated transitions or smooth scrolling anywhere */
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
.ai-ph--center .ai-crumb ol,.ai-article-hero .ai-crumb ol{justify-content:center}.ai-article-hero--split .ai-crumb ol{justify-content:flex-start}
/* Further reading (service page to blog): stacked links, long titles wrap */
.ai-links-strip--stack{flex-direction:column;align-items:flex-start}.ai-links-strip--stack ul{flex-direction:column;align-items:flex-start}.ai-links-strip--stack a{border-radius:12px;line-height:1.4;text-align:left}
/* Header dropdown (desktop): opens on keyboard focus as well as hover; Escape closes it (script in WPCode #1145) */
@media (min-width:1025px){.ai-header .hfe-nav-menu__layout-horizontal .hfe-has-submenu:focus-within:not(.ai-sub-esc)>.sub-menu{visibility:visible!important;opacity:1!important}.ai-header .hfe-nav-menu__layout-horizontal .hfe-has-submenu.ai-sub-esc>.sub-menu{visibility:hidden!important;opacity:0!important}.ai-header .hfe-nav-menu__layout-horizontal .hfe-has-submenu.ai-sub-esc .hfe-menu-toggle::after{transform:translateY(-2px) rotate(45deg)}}
@media (max-width:639px){.ai-tc-dot{width:24px}}

/* =====================================================================
   36. PHASE 4C: blog grid balance
   With exactly four cards the 3-column desktop grid leaves one orphan (3 + 1); show them 2 x 2 instead,
   the same arrangement tablets already use. Other card counts are unchanged.
   ===================================================================== */
@media (min-width:1025px){.ai-post-grid:has(> .ai-post-card:nth-child(4):last-child){grid-template-columns:repeat(2,minmax(0,1fr))}}
/* Portfolio (2-column widths only): when the visible card count is odd, centre the last card at normal card width instead of leaving it alone on the left (class set by the filter script). */
@media (min-width:640px) and (max-width:1024px){.ai-pc-grid>.ai-pc.is-odd-last{grid-column:1/-1;justify-self:center;width:calc(50% - 11px)}}

/* =====================================================================
   37. PORTFOLIO REFINEMENT
   One filter bar with a project count, then one headed section per project type (SEO case studies,
   Websites, Automation). Slightly more breathing room in and between the cards. Scoped to the
   Portfolio project section (.ai-pf3) so the shared card component is unchanged elsewhere.
   ===================================================================== */
.ai-pf3-bar{margin:0 0 8px;padding:0 0 24px;border-bottom:1px solid var(--ai-line)}
.ai-pf3-status{font-size:15px;color:var(--ai-muted)}
.ai-pf3-status strong{color:var(--ai-navy);font-weight:800}
.ai-pf3-group{padding-top:56px}
.ai-pf3-group+.ai-pf3-group{margin-top:64px;border-top:1px solid var(--ai-line)}
.ai-pf3-group[hidden]{display:none}
.ai-pf3-group .ai-pf3-anchor{scroll-margin-top:110px}
.ai-pf3-ghead{display:flex;align-items:flex-end;justify-content:space-between;gap:12px 32px;margin:0 0 32px}
.ai-pf3-ghead h2{margin:0 0 8px!important;font-family:var(--ai-font);font-size:28px;font-weight:800;line-height:1.2;letter-spacing:-.02em;color:var(--ai-navy)}
.ai-pf3-ghead p{max-width:620px;margin:0;font-size:16px;line-height:1.6;color:var(--ai-muted)}
.ai-pf3-gcount{flex:none;font-size:14px;font-weight:700;color:var(--ai-blue);white-space:nowrap}
.ai-pf3 .ai-pc-grid{gap:32px}
.ai-pf3 .ai-pc-body{padding:26px 28px 24px}
.ai-pf3 .ai-pc-cat{margin-bottom:14px}
.ai-pf3 .ai-pc-title{margin-bottom:10px!important}
.ai-pf3 .ai-pc-desc{margin-bottom:22px}
.ai-pf3~.ai-links-strip{margin-top:72px}
@media (max-width:1024px){.ai-pf3 .ai-pc-grid{gap:26px}.ai-pf3-group{padding-top:48px}.ai-pf3-group+.ai-pf3-group{margin-top:56px}.ai-pf3-ghead h2{font-size:26px}}
@media (min-width:640px) and (max-width:1024px){.ai-pf3 .ai-pc-grid>.ai-pc.is-odd-last{width:calc(50% - 13px)}}
@media (max-width:639px){.ai-pf3 .ai-pc-grid{gap:22px}.ai-pf3-bar{padding-bottom:20px}.ai-pf3-group{padding-top:40px}.ai-pf3-group+.ai-pf3-group{margin-top:48px}.ai-pf3-ghead{flex-direction:column;align-items:flex-start;margin-bottom:24px}.ai-pf3-ghead h2{font-size:24px}.ai-pf3-ghead p{font-size:15.5px}.ai-pf3 .ai-pc-body{padding:22px 22px 22px}}
/* "What you'll find in this portfolio": a little more room and a clearer title/text/link hierarchy */
.ai-pf-guide{gap:28px}
.ai-pf-guide li{padding:32px 30px}
.ai-pf-guide h3{margin:20px 0 10px;font-size:20px}
.ai-pf-guide p{margin-bottom:22px}
@media (max-width:639px){.ai-pf-guide{gap:20px}.ai-pf-guide li{padding:24px 22px}}
/* Tablet: keep both category chips on one line so titles and descriptions stay aligned across each row */
@media (min-width:640px) and (max-width:1024px){.ai-pf3 .ai-pc-body{padding-left:24px;padding-right:24px}.ai-pf3 .ai-pc-cat span{padding:2px 9px;font-size:11px;letter-spacing:.06em}}
@media (min-width:640px) and (max-width:767px){.ai-pf3 .ai-pc-cat{min-height:54px;align-content:flex-start}.ai-pf3 .ai-pc-title{font-size:18px}}
