:root{--navy:#082946;--deep:#061d32;--paper:#f8fbfa;--mist:#edf4f7;--muted:#587084;--lime:#d9ff43;--line:rgba(8,41,70,.15);--serif:Georgia,'Times New Roman',serif}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--navy);font-family:Manrope,Arial,sans-serif}
.shell{width:min(1180px,calc(100% - 56px));margin:auto}
.announcement{background:var(--deep);color:#fff}
.announcement .shell{height:39px;display:flex;align-items:center;justify-content:center;gap:16px;font:10px 'DM Mono',monospace;letter-spacing:.1em;text-transform:uppercase}
.announcement b{color:var(--lime)}
.site-header{position:sticky;top:0;z-index:10;border-bottom:1px solid rgba(8,41,70,.09);background:rgba(248,251,250,.91);backdrop-filter:blur(15px)}
.nav-wrap{min-height:85px;display:flex;align-items:center;justify-content:space-between;gap:30px}
.brand{display:flex;align-items:center;gap:10px;color:var(--navy);font-size:21px;font-weight:700;letter-spacing:-.05em;text-decoration:none}
.brand img{width:39px;height:39px;border-radius:9px;object-fit:contain}
.footer .brand img{width:44px;height:40px;border-radius:0!important;background:transparent!important;box-shadow:none!important;object-fit:contain}
.nav{display:flex;align-items:center;gap:28px}
.nav>a,.services-menu summary{color:var(--navy);font-size:13px;font-weight:600;text-decoration:none;cursor:pointer;list-style:none}
.services-menu{position:relative}
.services-menu summary::-webkit-details-marker{display:none}
.services-menu summary::after{content:'⌄';margin-left:6px;font-size:14px}
.services-menu[open] summary::after{content:'⌃'}
.services-flyout{position:absolute;top:32px;right:-115px;width:600px;padding:21px;border:1px solid rgba(8,41,70,.12);background:#fff;box-shadow:0 24px 55px rgba(8,41,70,.16);display:grid;grid-template-columns:repeat(3,1fr);gap:5px}
.services-flyout a{padding:10px 11px;border-radius:2px;color:var(--navy);font-size:12px;font-weight:600;text-decoration:none}
.services-flyout a:hover{background:var(--mist)}
.nav-cta{padding:12px 17px;border:1px solid var(--navy);border-radius:999px}
.hero{position:relative;padding:104px 0 86px;overflow:hidden}
.hero:after{content:'';position:absolute;right:-180px;top:-120px;width:530px;height:530px;border-radius:50%;background:radial-gradient(circle,rgba(132,224,242,.22),rgba(217,255,67,.1) 42%,transparent 70%);pointer-events:none}
.eyebrow{position:relative;z-index:1;margin:0 0 26px;color:#32536b;font:10px 'DM Mono',monospace;letter-spacing:.11em;text-transform:uppercase}
.eyebrow i{display:inline-block;width:8px;height:8px;margin-right:10px;border-radius:50%;background:var(--lime);box-shadow:0 0 0 4px rgba(217,255,67,.19)}
h1{position:relative;z-index:1;max-width:820px;margin:0;font-size:clamp(50px,6.2vw,88px);font-weight:500;line-height:.97;letter-spacing:-.078em}
h1 em{font-family:var(--serif);font-weight:400}
.hero p:last-child{position:relative;z-index:1;max-width:530px;margin:31px 0 0;color:var(--muted);font-size:17px;line-height:1.75}
.hero-meta{position:relative;z-index:1;display:flex;flex-wrap:wrap;gap:13px 30px;margin-top:44px;padding-top:19px;border-top:1px solid var(--line);font:10px 'DM Mono',monospace;letter-spacing:.08em;text-transform:uppercase}
.hero-meta span:before{content:'•';margin-right:7px;color:#087dc1}
.section{padding:92px 0}
.section.dark{background:var(--deep);color:#fff}
.section-title{display:grid;grid-template-columns:.76fr 1.24fr;gap:50px;align-items:start}
.section-title h2{max-width:650px;margin:0;font-size:clamp(38px,4.5vw,64px);font-weight:500;line-height:1;letter-spacing:-.075em}
.section-title h2 em{font-family:var(--serif);font-weight:400}
.section-title p{max-width:480px;margin:21px 0 0;color:var(--muted);font-size:16px;line-height:1.75}
.dark .section-title p{color:#b7cbd5}
.work-grid{display:grid;grid-template-columns:repeat(3,1fr);margin-top:55px;border-top:1px solid var(--line)}
.work-card{min-height:260px;padding:28px 28px 26px 0;border-bottom:1px solid var(--line)}
.work-card:not(:first-child){padding-left:28px;border-left:1px solid var(--line)}
.work-card span{color:#087dc1;font:10px 'DM Mono',monospace;letter-spacing:.1em}
.work-card h3{margin:58px 0 11px;font-size:25px;line-height:1.1;letter-spacing:-.05em}
.work-card p{max-width:285px;margin:0;color:var(--muted);font-size:13px;line-height:1.7}
.dark .work-card{border-color:rgba(255,255,255,.16)}
.dark .work-card span{color:var(--lime)}
.dark .work-card p{color:#b7cbd5}
.delivery{display:grid;grid-template-columns:.8fr 1.2fr;gap:48px;margin-top:58px}
.delivery h3{margin:0;font-size:30px;letter-spacing:-.055em}
.delivery-list{border-top:1px solid rgba(255,255,255,.22)}
.delivery-list div{display:grid;grid-template-columns:65px 1fr;gap:20px;padding:19px 0;border-bottom:1px solid rgba(255,255,255,.22)}
.delivery-list span{color:var(--lime);font:10px 'DM Mono',monospace;letter-spacing:.1em}
.delivery-list b{font-size:15px;font-weight:600}
.technology{padding:72px 0;background:var(--mist)}
.technology h2{margin:0;font-size:clamp(35px,4.2vw,55px);font-weight:500;letter-spacing:-.07em}
.technology h2 em{font-family:var(--serif);font-weight:400}
.technology-list{display:flex;flex-wrap:wrap;gap:11px;margin-top:31px}
.technology-list span{padding:11px 14px;border:1px solid var(--line);background:#fff;font:10px 'DM Mono',monospace;letter-spacing:.06em;text-transform:uppercase}
.related{padding:88px 0}
.related h2{margin:0;font-size:clamp(35px,4.1vw,58px);font-weight:500;letter-spacing:-.07em}
.related-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:36px}
.related-grid a{min-height:156px;padding:22px;border:1px solid var(--line);color:var(--navy);text-decoration:none}
.related-grid a:hover{background:var(--deep);color:#fff}
.related-grid span{display:block;color:#087dc1;font:10px 'DM Mono',monospace;letter-spacing:.1em}
.related-grid b{display:block;margin-top:48px;font-size:19px;letter-spacing:-.04em}
.cta{padding:75px 0;background:#087dc1;color:#fff}
.cta-grid{display:flex;align-items:end;justify-content:space-between;gap:40px}
.cta h2{max-width:660px;margin:0;font-size:clamp(38px,5vw,66px);font-weight:500;line-height:1;letter-spacing:-.075em}
.cta h2 em{font-family:var(--serif);font-weight:400}
.button{display:inline-flex;align-items:center;gap:8px;padding:15px 20px;background:var(--lime);color:var(--navy);font-size:13px;font-weight:800;text-decoration:none}
.footer{padding:40px 0;background:var(--deep);color:#fff}
.footer-top{display:flex;align-items:center;justify-content:space-between;gap:25px}
.footer p{margin:0;color:#b7cbd5;font-size:12px}
.footer-phone{display:block;margin-top:10px;color:#fff;font-size:13px;font-weight:700;text-decoration:none}
.footer-phone b{margin-right:6px;color:var(--lime)}
.footer-address{display:block;max-width:240px;margin:14px 0 0;color:#b7cbd5;font-size:12px;line-height:1.65;font-style:normal}
.footer-address strong{color:#fff;font-size:11px;letter-spacing:.06em;text-transform:uppercase}
.hub-hero{padding:92px 0 50px}
.hub-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;border:1px solid var(--line);background:var(--line)}
.hub-card{min-height:245px;padding:25px;background:var(--paper);color:var(--navy);text-decoration:none;transition:.2s}
.hub-card:hover{background:var(--deep);color:#fff}
.hub-card span{color:#087dc1;font:10px 'DM Mono',monospace;letter-spacing:.1em}
.hub-card:hover span{color:var(--lime)}
.hub-card h2{margin:58px 0 8px;font-size:25px;letter-spacing:-.05em}
.hub-card p{margin:0;color:var(--muted);font-size:13px;line-height:1.65}
.hub-card:hover p{color:#c4d6df}
@media(max-width:900px){.nav{gap:16px}
.nav>a:not(.nav-cta){display:none}
.services-flyout{right:-100px;width:min(600px,calc(100vw - 36px));grid-template-columns:repeat(2,1fr)}
.section-title,.delivery{grid-template-columns:1fr}
.work-grid,.related-grid,.hub-grid{grid-template-columns:1fr}
.work-card:not(:first-child){padding-left:0;border-left:0}
.work-card{min-height:auto;padding:26px 0}
.work-card h3{margin-top:28px}
.cta-grid,.footer-top{align-items:flex-start;flex-direction:column}
}
@media(max-width:600px){.shell{width:min(100% - 38px,620px)}
.announcement .shell{font-size:8px}
.nav-wrap{min-height:72px}
.brand{font-size:19px}
.services-flyout{right:-80px;padding:12px}
.hero{padding:72px 0 57px}
.section{padding:68px 0}
.work-grid{margin-top:36px}
.delivery{margin-top:37px}
.hero-meta{gap:10px 18px}
.cta{padding:60px 0}
}
.platform-context{background:#fff;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.context-list{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin-top:56px;border-top:1px solid var(--line)}
.context-list div{display:grid;grid-template-columns:52px 1fr;gap:14px;min-height:88px;padding:20px 24px 20px 0;border-bottom:1px solid var(--line)}
.context-list div:not(:first-child){padding-left:24px;border-left:1px solid var(--line)}
.context-list span{color:#087dc1;font:10px 'DM Mono',monospace;letter-spacing:.1em}
.context-list b{font-size:15px;line-height:1.45}
.guidance-link{display:inline-flex;margin-top:25px;padding-bottom:5px;border-bottom:1px solid var(--navy);color:var(--navy);font-size:13px;font-weight:700;text-decoration:none}
.guidance-link b{margin-left:7px;color:#087dc1}
.footer{padding:58px 0 20px}
.footer-grid{display:grid;grid-template-columns:1.2fr 1.45fr .72fr .78fr;gap:36px;padding-bottom:46px}
.footer-intro p{max-width:360px;margin:17px 0;color:#b7cbd5;font-size:13px;line-height:1.65}
.footer-email{display:block;margin-top:18px;color:#fff;font-size:13px;font-weight:700;text-decoration:none}
.footer-links{display:flex;flex-direction:column;gap:10px}
.footer-links p{margin:2px 0 9px;color:var(--lime);font:10px 'DM Mono',monospace;letter-spacing:.1em;text-transform:uppercase}
.footer-links a{color:#d8e5eb;font-size:13px;text-decoration:none}
.footer-links a:hover{color:#fff}
.footer-directory .footer-service-links{columns:2;column-gap:18px}.footer-directory .footer-service-links a{display:block;break-inside:avoid;margin-bottom:8px;font-size:12px;line-height:1.4}
.footer-bottom{display:flex;justify-content:space-between;gap:25px;padding-top:18px;border-top:1px solid rgba(255,255,255,.17);color:#b7cbd5;font-size:11px}
.footer-bottom a{color:#fff;text-decoration:none}
@media(max-width:1100px){.nav{gap:17px}.nav>a,.services-menu summary{font-size:12px}.nav-cta{padding:11px 13px}}
@media(max-width:900px){.context-list,.footer-grid{grid-template-columns:1fr}.context-list div:not(:first-child){padding-left:0;border-left:0}.context-list div{padding-right:0}.footer-grid{gap:32px}.footer-directory .footer-service-links{columns:1}.footer-bottom{align-items:flex-start;flex-direction:column}.nav>a[href="/#updates"],.nav>a[href="/#testimonials"]{display:none}}
@media(max-width:600px){.footer{padding-top:48px}.footer-grid{padding-bottom:35px}.context-list{margin-top:35px}.guidance-link{font-size:12px}}

/* Softer typography and colour rhythm for the service experience. */
.hero{padding:82px 0 66px;background:linear-gradient(116deg,#f8fbfa 0%,#f8fbfa 58%,#e6f8fb 100%)}
.hero:after{right:-135px;top:-155px;width:590px;height:590px;background:radial-gradient(circle at 42% 42%,rgba(13,167,215,.2),rgba(217,255,67,.2) 40%,rgba(235,227,255,.32) 56%,transparent 72%)}
h1{max-width:760px;font-size:clamp(44px,5.35vw,76px);font-weight:500;letter-spacing:-.072em;line-height:1}
.hero p:last-child{margin-top:26px;font-size:16px}
.hero-meta{margin-top:35px}
.section-title h2{font-size:clamp(34px,3.9vw,55px);line-height:1.04;letter-spacing:-.065em}
.work-card{min-height:230px;background:#fff;padding-top:24px}
.work-card:nth-child(1){background:linear-gradient(180deg,#f1fbfd 0%,#fff 58%)}
.work-card:nth-child(2){background:linear-gradient(180deg,#f8fce9 0%,#fff 58%)}
.work-card:nth-child(3){background:linear-gradient(180deg,#f6f1ff 0%,#fff 58%)}
.work-card h3{margin-top:46px;font-size:22px;font-weight:600}
.work-card span,.context-list span{font-size:9px;letter-spacing:.12em}
.platform-context{background:linear-gradient(135deg,#f8fbfa 0%,#eaf6fb 100%)}
.context-list div:nth-child(1){background:rgba(255,255,255,.62)}
.context-list div:nth-child(2){background:rgba(245,255,210,.45)}
.context-list div:nth-child(3){background:rgba(242,235,255,.4)}
.delivery h3{font-size:27px;font-weight:600}
.delivery-list b{font-weight:600}
.technology{background:linear-gradient(118deg,#edf4f7 0%,#eaf9f3 100%)}
.technology h2,.related h2{font-size:clamp(32px,3.8vw,52px);font-weight:500}
.related-grid a:nth-child(1){background:#effaff}.related-grid a:nth-child(2){background:#f8fce9}.related-grid a:nth-child(3){background:#f6f1ff}.related-grid a:hover{background:var(--deep)}
.hub-card{min-height:225px}.hub-card:nth-child(3n+1){background:linear-gradient(160deg,#f0fbfd,#fff 70%)}.hub-card:nth-child(3n+2){background:linear-gradient(160deg,#f9fce9,#fff 70%)}.hub-card:nth-child(3n){background:linear-gradient(160deg,#f7f1ff,#fff 70%)}.hub-card h2{margin-top:45px;font-size:22px;font-weight:600}
@media(max-width:600px){.hero{padding:67px 0 53px}h1{font-size:clamp(40px,12vw,57px)}.work-card h3{margin-top:30px}.section-title h2{font-size:36px}}

/* Brand-blue emphasis for the editorial hero line. */
.hero h1 em{color:#087dc1}

/* Service-specific visual cues — softly masked so they sit naturally in the editorial hero. */
.hero-layout{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(310px,.88fr);gap:42px;align-items:center}
.hero-copy{min-width:0}
.hero-art{position:relative;z-index:1;justify-self:end;width:min(100%,440px);margin:0;isolation:isolate}
.hero-art:before{content:'';position:absolute;inset:11% 8%;z-index:-1;border-radius:50%;background:radial-gradient(circle,rgba(8,125,193,.11),rgba(217,255,67,.1) 43%,transparent 71%);filter:blur(11px)}
.hero-art img{display:block;width:100%;height:auto;mix-blend-mode:multiply;filter:saturate(.88) contrast(.99);-webkit-mask-image:radial-gradient(ellipse 66% 61% at 50% 49%,#000 49%,rgba(0,0,0,.88) 63%,transparent 87%);mask-image:radial-gradient(ellipse 66% 61% at 50% 49%,#000 49%,rgba(0,0,0,.88) 63%,transparent 87%)}
@media(max-width:900px){.hero-layout{grid-template-columns:1fr;gap:12px}.hero-art{width:min(74%,420px);justify-self:center;margin:4px 0 -26px}.hero-copy{position:relative;z-index:1}}
@media(max-width:600px){.hero-art{width:min(92%,370px);margin:0 auto -21px}.hero-art img{-webkit-mask-image:radial-gradient(ellipse 70% 64% at 50% 49%,#000 43%,rgba(0,0,0,.7) 65%,transparent 90%);mask-image:radial-gradient(ellipse 70% 64% at 50% 49%,#000 43%,rgba(0,0,0,.7) 65%,transparent 90%)}}

/* Unaltered product marks float directly in the hero, with no card or product-name treatment. */
.hero-platform-mark{display:flex;align-items:center;justify-content:center;width:min(100%,290px);min-height:230px;margin:0;padding:22px;background:transparent;border:0;box-shadow:none}
.hero-platform-mark:before{inset:7% 3%;background:radial-gradient(circle,rgba(8,125,193,.14),rgba(217,255,67,.1) 46%,transparent 73%)}
.hero-platform-mark img{position:relative;z-index:1;width:190px;height:156px;margin:0;object-fit:contain;object-position:center;mix-blend-mode:normal;filter:drop-shadow(0 16px 22px rgba(8,41,70,.13));-webkit-mask-image:none;mask-image:none}
@media(max-width:900px){.hero-platform-mark{width:min(74%,310px);min-height:194px;margin:6px auto -12px}.hero-platform-mark img{width:170px;height:138px}}
@media(max-width:600px){.hero-platform-mark{width:min(86%,280px);min-height:166px;margin:0 auto -16px;padding:16px}.hero-platform-mark img{width:148px;height:120px}}

/* Calm, premium movement for service navigation and capability actions. */
@media(prefers-reduced-motion:no-preference){
  .services-menu summary,.nav-cta,.button{transition:color .2s ease,background-color .24s ease,border-color .24s ease,box-shadow .24s ease,transform .24s cubic-bezier(.2,.8,.2,1)}
  .services-menu summary:hover,.services-menu[open] summary{color:#087dc1}
  .nav-cta:hover{transform:translateY(-2px);background:var(--navy);color:#fff;box-shadow:0 10px 22px rgba(8,41,70,.15)}
  .button:hover{transform:translateY(-2px);box-shadow:0 12px 24px rgba(8,41,70,.16)}
  .services-flyout{transform-origin:top right;animation:service-flyout-in .26s cubic-bezier(.2,.8,.2,1)}
  .services-flyout a{position:relative;overflow:hidden;transition:background-color .2s ease,color .2s ease,transform .2s cubic-bezier(.2,.8,.2,1)}
  .services-flyout a:before{content:'';position:absolute;inset:0 auto 0 0;width:3px;background:#087dc1;transform:scaleY(0);transform-origin:bottom;transition:transform .2s ease}
  .services-flyout a:hover,.services-flyout a:focus-visible{transform:translateX(4px);background:#f0fafc;color:#087dc1}
  .services-flyout a:hover:before,.services-flyout a:focus-visible:before{transform:scaleY(1)}
  .hub-card{position:relative;overflow:hidden;transition:transform .28s cubic-bezier(.2,.8,.2,1),background-color .28s ease,color .28s ease,box-shadow .28s ease}
  .hub-card:before{content:'';position:absolute;inset:auto 0 0;height:3px;background:linear-gradient(90deg,#087dc1,#d9ff43);transform:scaleX(0);transform-origin:left;transition:transform .35s cubic-bezier(.2,.8,.2,1)}
  .hub-card:hover{transform:translateY(-5px);box-shadow:0 18px 32px rgba(8,41,70,.13)}
  .hub-card:hover:before{transform:scaleX(1)}
  @keyframes service-flyout-in{from{opacity:0;transform:translateY(-7px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}
}

/* Mobile navigation keeps every service and site destination within reach. */
.mobile-menu-toggle{display:none}
@media(max-width:980px){
  .site-header{position:relative;z-index:20}
  .nav-wrap{min-height:74px}
  .mobile-menu-toggle{display:inline-flex;align-items:center;justify-content:center;padding:9px 12px;border:1px solid rgba(8,41,70,.28);border-radius:999px;background:transparent;color:var(--navy);font:600 11px Manrope,Arial,sans-serif;letter-spacing:.03em}
  .site-header .nav{display:none;position:absolute;top:100%;left:0;right:0;z-index:30;align-items:stretch;gap:0;padding:12px 28px;border-top:1px solid rgba(8,41,70,.1);border-bottom:1px solid rgba(8,41,70,.13);background:rgba(248,251,250,.98);box-shadow:0 16px 28px rgba(8,41,70,.12)}
  .site-header .nav.is-open{display:flex;flex-direction:column;max-height:calc(100dvh - 74px);overflow-y:auto;overscroll-behavior:contain}
  /* Override the compact desktop header rules: every destination belongs in the mobile drawer. */
  .site-header .nav.is-open>a{display:block!important;padding:13px 0;border-bottom:1px solid rgba(8,41,70,.1)}
  .site-header .nav.is-open>a[href="/#updates"],.site-header .nav.is-open>a[href="/#testimonials"]{display:block!important}
  /* Keep the main site destinations visible before the longer capability list. */
  .site-header .nav.is-open>a[href="/"]{order:2}
  .site-header .nav.is-open>a[href="/#agentic-ai"]{order:3}
  .site-header .nav.is-open>a[href="/#updates"]{order:4}
  .site-header .nav.is-open>a[href="/#testimonials"]{order:5}
  .site-header .nav.is-open>a[href="/about-us/"]{order:6}
  .site-header .nav .nav-cta{margin-top:10px;padding:12px 15px;text-align:center;border-bottom:1px solid var(--navy)}
  .services-menu{position:static;order:1;width:100%;border-bottom:1px solid rgba(8,41,70,.1)}
  .site-header .nav .nav-cta{order:7}
  .services-menu summary{padding:13px 0}
  .services-flyout{position:static;right:auto;width:100%;padding:4px 0 12px;border:0;box-shadow:none;background:transparent;grid-template-columns:1fr;gap:0}
  .services-flyout a,.services-flyout a:hover{padding:10px 0!important;border-radius:0;background:transparent!important;opacity:1!important;transform:none!important;animation:none!important}
  .services-flyout a:before{display:none}
}

/* Editorial motion pass: quiet, layered and responsive rather than bouncy. */
@media(prefers-reduced-motion:no-preference){
  .services-flyout{padding:16px;background:rgba(255,255,255,.91);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);box-shadow:0 22px 50px rgba(8,41,70,.13);animation:service-flyout-premium .34s cubic-bezier(.16,1,.3,1)}
  .services-flyout a{padding:11px 12px;border-radius:3px;opacity:0;transform:none;animation:service-link-premium .42s cubic-bezier(.16,1,.3,1) forwards;background:transparent}
  .services-flyout a:before{width:100%;height:1px;inset:auto 0 0;background:linear-gradient(90deg,#087dc1,#d9ff43);transform:scaleX(0);transform-origin:left;opacity:.8}
  .services-flyout a:hover,.services-flyout a:focus-visible{transform:none;background:linear-gradient(90deg,rgba(8,125,193,.08),transparent 82%);color:var(--navy)}
  .services-flyout a:hover:before,.services-flyout a:focus-visible:before{transform:scaleX(1)}
  .services-flyout a:nth-child(1){animation-delay:.02s}.services-flyout a:nth-child(2){animation-delay:.05s}.services-flyout a:nth-child(3){animation-delay:.08s}.services-flyout a:nth-child(4){animation-delay:.11s}.services-flyout a:nth-child(5){animation-delay:.14s}.services-flyout a:nth-child(6){animation-delay:.17s}.services-flyout a:nth-child(7){animation-delay:.2s}.services-flyout a:nth-child(8){animation-delay:.23s}.services-flyout a:nth-child(9){animation-delay:.26s}.services-flyout a:nth-child(10){animation-delay:.29s}.services-flyout a:nth-child(11){animation-delay:.32s}.services-flyout a:nth-child(12){animation-delay:.35s}.services-flyout a:nth-child(13){animation-delay:.38s}.services-flyout a:nth-child(14){animation-delay:.41s}
  .nav-cta:hover,.button:hover{transform:none;box-shadow:inset 0 -2px 0 #087dc1,0 8px 18px rgba(8,41,70,.1)}
  .hub-card:hover{transform:none;box-shadow:0 15px 28px rgba(8,41,70,.11)}
  @keyframes service-flyout-premium{from{opacity:0;transform:translateY(-4px) scale(.992);filter:blur(2px)}to{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}}
  @keyframes service-link-premium{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
}

@media(max-width:980px){
  .services-flyout{padding:4px 0 12px;background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none;box-shadow:none;animation:none}
  .services-flyout a{padding:10px 0;border-radius:0;opacity:1;animation:none}
}

/* Mobile services reads as a composed accordion rather than a long plain list. */
@media(max-width:980px){
  .services-menu{margin:5px 0 7px;border:0}
  .services-menu summary{display:flex;align-items:center;justify-content:space-between;padding:12px 14px!important;border:1px solid rgba(8,41,70,.13);border-radius:4px;background:linear-gradient(100deg,rgba(8,125,193,.07),rgba(217,255,67,.14));font-weight:700}
  .services-menu summary::after{margin-left:auto;color:#087dc1;transition:transform .25s cubic-bezier(.16,1,.3,1)}
  .services-menu[open] summary{border-color:rgba(8,125,193,.32);border-bottom-left-radius:0;border-bottom-right-radius:0}
  .services-menu[open] summary::after{transform:rotate(180deg)}
  .services-flyout{max-height:min(46dvh,360px);margin:0;padding:7px 10px 10px!important;overflow-y:auto;border:1px solid rgba(8,125,193,.15);border-top:0;background:rgba(239,250,252,.72)!important;box-shadow:none!important}
  .services-flyout a,.services-flyout a:hover{padding:10px 8px!important;border-bottom:1px solid rgba(8,41,70,.09)!important;color:var(--navy)!important;font-size:12px;background:transparent!important}
  .services-flyout a:last-child{border-bottom:0!important}
}
@media(max-width:980px) and (prefers-reduced-motion:no-preference){
  .services-menu[open] .services-flyout{animation:mobile-service-panel-in .28s cubic-bezier(.16,1,.3,1) both!important}
  /* Keep service names available immediately; some mobile browsers defer child animations in <details>. */
  .services-menu[open] .services-flyout a{opacity:1!important;animation:none!important}
  .services-menu[open] .services-flyout a:nth-child(1){animation-delay:.025s!important}.services-menu[open] .services-flyout a:nth-child(2){animation-delay:.05s!important}.services-menu[open] .services-flyout a:nth-child(3){animation-delay:.075s!important}.services-menu[open] .services-flyout a:nth-child(4){animation-delay:.1s!important}.services-menu[open] .services-flyout a:nth-child(5){animation-delay:.125s!important}.services-menu[open] .services-flyout a:nth-child(6){animation-delay:.15s!important}.services-menu[open] .services-flyout a:nth-child(7){animation-delay:.175s!important}.services-menu[open] .services-flyout a:nth-child(8){animation-delay:.2s!important}.services-menu[open] .services-flyout a:nth-child(9){animation-delay:.225s!important}.services-menu[open] .services-flyout a:nth-child(10){animation-delay:.25s!important}.services-menu[open] .services-flyout a:nth-child(11){animation-delay:.275s!important}.services-menu[open] .services-flyout a:nth-child(12){animation-delay:.3s!important}.services-menu[open] .services-flyout a:nth-child(13){animation-delay:.325s!important}.services-menu[open] .services-flyout a:nth-child(14){animation-delay:.35s!important}
  @keyframes mobile-service-panel-in{from{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}
  @keyframes mobile-service-link-in{from{opacity:0;transform:translateX(-7px)}to{opacity:1;transform:translateX(0)}}
}
footer .footer-legal{max-width:1180px;margin:28px auto 0;padding:18px 0 0;border-top:1px solid rgba(216,229,235,.16);color:rgba(216,229,235,.72);font-size:10px;line-height:1.6}
footer .footer-legal p{margin:0 0 6px;color:inherit;font-size:inherit;line-height:inherit}
footer .footer-legal p:last-child{margin-bottom:0}
footer .footer-legal strong{color:rgba(255,255,255,.92);font-weight:700;letter-spacing:.025em}
footer .footer-legal a{color:#d9ff43;text-decoration:underline;text-underline-offset:2px}
footer .footer-legal a:hover{color:#fff}
@media(max-width:800px){footer .footer-legal{width:calc(100% - 36px);margin-top:24px;padding-top:15px;font-size:9px;line-height:1.55}}
footer .footer-bottom{display:flex;flex-wrap:wrap;align-items:center;gap:12px}
footer .footer-bottom .footer-legal{box-sizing:border-box;order:-1;flex:0 0 100%;width:100%;max-width:none;margin:0 0 18px;padding:0 0 18px;border-top:0;border-bottom:1px solid rgba(216,229,235,.16)}
footer .footer-bottom>p:empty{display:none}
footer .footer-bottom .footer-legal p:first-child{font-size:11px;line-height:1.5;color:rgba(255,255,255,.92)}
footer .footer-bottom .footer-legal p:last-child{max-width:1100px;font-size:10.5px;line-height:1.55}
footer .footer-bottom .footer-legal p{margin:0 0 6px;color:inherit;font-size:inherit;line-height:inherit}
footer .footer-bottom .footer-legal p:last-child{margin-bottom:0}
@media(max-width:800px){footer .footer-bottom .footer-legal{margin-top:15px;padding-top:15px}}
footer .footer-bottom .footer-legal-company span{display:block}
footer .footer-bottom .footer-legal-company span+span{margin-top:3px}

/* Keep the legal note visually close to the footer content. */
footer .footer-bottom .footer-legal{position:relative;top:0;text-align:center;padding-bottom:22px;margin-bottom:22px}

footer .footer-bottom .footer-legal p{max-width:1180px;margin-left:auto;margin-right:auto}
footer .footer-bottom .footer-legal-company span+span{margin-top:4px}

header.site-header .brand img,footer.footer .brand img,footer.footer .footer-brand img,footer.footer .footer-logo img{background:#000!important;padding:3px;box-sizing:border-box;border-radius:4px!important;object-fit:contain}


/* Standard AI & Agents footer layout. */
footer{padding:65px 0 25px;background:#061f36;color:#d8e5eb}
footer .footer-inner{display:grid;grid-template-columns:1.2fr 1.2fr .8fr .9fr;gap:38px;align-items:start}
footer .footer-brand{display:flex;flex-direction:column;align-items:flex-start}
footer .footer-logo{display:inline-flex;align-items:center;margin-bottom:8px;color:#fff}
footer .footer-logo img{width:44px;height:40px;object-fit:contain}
footer .footer-brand p{max-width:250px;color:#a3bbc7;font-size:13px;line-height:1.6}
footer .footer-email,footer .footer-phone{display:block;color:#fff;text-decoration:none;font-size:13px;margin-top:10px}
footer .footer-column{display:flex;flex-direction:column;gap:9px}
footer .footer-column h3{margin:0 0 10px;color:#d9ff43;font:10px 'DM Mono',monospace;letter-spacing:.1em;text-transform:uppercase}
footer .footer-column a,footer .footer-audience p{color:#a3bbc7;font-size:12px;text-decoration:none;margin:0}
footer .footer-service-links{columns:2}
footer .footer-service-links a{display:block;margin-bottom:8px}
footer .footer-bottom{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:50px;padding-top:18px;border-top:1px solid rgba(216,229,235,.16);color:#8ca7b4;font-size:11px}
footer .footer-bottom a{color:#fff;text-decoration:none}
footer .footer-bottom>p:empty{display:none}
footer .footer-bottom .footer-legal{box-sizing:border-box;order:-1;flex:0 0 100%;width:100%;max-width:none;margin:0 0 18px;padding:0 0 18px;border-top:0;border-bottom:1px solid rgba(216,229,235,.16);text-align:center;color:rgba(216,229,235,.72);font-size:10px;line-height:1.6}
footer .footer-bottom .footer-legal p{margin:0 0 6px;color:inherit;font-size:inherit;line-height:inherit}
footer .footer-bottom .footer-legal p:first-child{font-size:11px;color:rgba(255,255,255,.92)}
footer .footer-bottom .footer-legal p:last-child{margin-bottom:0}
footer .footer-bottom .footer-legal-company span{display:block}
footer .footer-bottom .footer-legal a{color:#d9ff43;text-decoration:underline;text-underline-offset:2px}
footer .footer-logo img{background:#000!important;padding:3px;box-sizing:border-box;border-radius:4px!important;object-fit:contain}
@media(max-width:800px){footer .footer-inner{grid-template-columns:1fr 1fr;gap:30px}footer .footer-brand{grid-column:1/-1}footer .footer-service-links{columns:1}footer .footer-bottom{display:block}footer .footer-bottom>p{margin:8px 0}footer .footer-bottom .footer-legal{margin-bottom:15px;padding-bottom:18px}}


/* Keep every page's Services flyout in sync with the homepage. */
.services-menu{position:relative}
.services-menu summary{display:inline-flex;align-items:center;gap:5px;list-style:none;white-space:nowrap}
.services-menu summary::after{content:'⌄';margin-left:1px;color:#087dc1;font-size:12px}
.services-menu[open] summary::after{content:'⌃'}
.services-flyout{top:27px;right:auto;left:-20px;width:585px;padding:16px;background:rgba(255,255,255,.96);border:1px solid rgba(8,41,70,.14);box-shadow:0 22px 50px rgba(8,41,70,.15);gap:4px}
.services-flyout a{position:relative;overflow:hidden;padding:10px 12px;border-bottom:1px solid transparent}
@media (prefers-reduced-motion:no-preference){
  .services-menu summary,.services-flyout a{transition:color .22s ease,background-color .24s ease,box-shadow .24s ease}
  .services-menu summary:hover,.services-menu[open] summary{color:#087dc1}
  .services-flyout{transform-origin:top left;background:rgba(255,255,255,.91);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);box-shadow:0 22px 50px rgba(8,41,70,.13);animation:home-services-premium .34s cubic-bezier(.16,1,.3,1)}
  .services-flyout a{padding:11px 12px;border-radius:3px;opacity:0;animation:home-service-link .42s cubic-bezier(.16,1,.3,1) forwards}
  .services-flyout a:before{content:'';position:absolute;inset:auto 0 0;width:100%;height:1px;background:linear-gradient(90deg,#087dc1,#d9ff43);transform:scaleX(0);transform-origin:left;transition:transform .22s ease}
  .services-flyout a:hover,.services-flyout a:focus-visible{background:linear-gradient(90deg,rgba(8,125,193,.08),transparent 82%);color:#087dc1}
  .services-flyout a:hover:before,.services-flyout a:focus-visible:before{transform:scaleX(1)}
  .services-flyout a:nth-child(1){animation-delay:.02s}.services-flyout a:nth-child(2){animation-delay:.05s}.services-flyout a:nth-child(3){animation-delay:.08s}.services-flyout a:nth-child(4){animation-delay:.11s}.services-flyout a:nth-child(5){animation-delay:.14s}.services-flyout a:nth-child(6){animation-delay:.17s}.services-flyout a:nth-child(7){animation-delay:.2s}.services-flyout a:nth-child(8){animation-delay:.23s}.services-flyout a:nth-child(9){animation-delay:.26s}.services-flyout a:nth-child(10){animation-delay:.29s}.services-flyout a:nth-child(11){animation-delay:.32s}.services-flyout a:nth-child(12){animation-delay:.35s}.services-flyout a:nth-child(13){animation-delay:.38s}.services-flyout a:nth-child(14){animation-delay:.41s}
  @keyframes home-services-premium{from{opacity:0;transform:translateY(-4px) scale(.992);filter:blur(2px)}to{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}}
  @keyframes home-service-link{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
}
@media(max-width:800px){
  .services-menu{display:block!important;position:static;width:100%;margin:5px 0 7px;border:0}
  .services-menu summary{display:flex;align-items:center;justify-content:space-between;width:100%;padding:12px 14px!important;border:1px solid rgba(8,41,70,.13);border-radius:4px;background:linear-gradient(100deg,rgba(8,125,193,.07),rgba(217,255,67,.14));font-weight:700}
  .services-menu summary::after{margin-left:auto;color:#087dc1;transition:transform .25s cubic-bezier(.16,1,.3,1)}
  .services-menu[open] summary{border-color:rgba(8,125,193,.32);border-bottom-left-radius:0;border-bottom-right-radius:0}
  .services-menu[open] summary::after{transform:rotate(180deg)}
  .services-flyout{position:static;right:auto;width:100%;max-height:min(46dvh,360px);margin:0;padding:7px 10px 10px!important;overflow-y:auto;border:1px solid rgba(8,125,193,.15);border-top:0;background:rgba(239,250,252,.72)!important;box-shadow:none!important;grid-template-columns:1fr;gap:0}
  .services-flyout a,.services-flyout a:hover{padding:10px 8px!important;border-bottom:1px solid rgba(8,41,70,.09)!important;border-radius:0;color:var(--navy)!important;font-size:12px;background:transparent!important;opacity:1!important;transform:none!important;animation:none!important}
  .services-flyout a:last-child{border-bottom:0!important}
}
@media(max-width:800px) and (prefers-reduced-motion:no-preference){.services-menu[open] .services-flyout{animation:home-mobile-services-in .28s cubic-bezier(.16,1,.3,1) both!important}@keyframes home-mobile-services-in{from{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}}
