/* Stronger type, clear navigation and a complete service catalogue. */
:root{--ink:#101a35;--forest:#172e7d;--forest-dark:#0d1949;--body:#394765;--line:#d8e0f0}
body.site-body{font-family:var(--sans);font-size:16px;font-weight:500;line-height:1.65;color:var(--ink)}
.announcement{min-height:38px;height:auto;padding:7px max(calc((100vw - 1260px)/2),24px);gap:14px;font-size:12px;font-weight:650;flex-wrap:wrap;line-height:1.35}.announcement-message{display:inline-flex;align-items:center;gap:8px}.announcement-contact,.announcement-phone{white-space:nowrap}.announcement-phone{margin-left:auto;color:#fff;font-weight:750}.announce-close{margin-left:3px}
.site-header{z-index:50}
.main-nav{gap:clamp(18px,2.4vw,36px)}
.main-nav>a{font-size:14px;font-weight:650}
.main-nav>a.nav-services{font-size:15px;font-weight:850;color:#102d82}
.nav-dropdown{width:min(1080px,94vw);max-height:min(72vh,650px);overflow:auto;grid-template-columns:repeat(3,minmax(0,1fr));padding:15px 18px;gap:0 12px;border-radius:0 0 14px 14px;box-shadow:0 24px 60px #0c1b4930}
.nav-dropdown:hover,.nav-dropdown:focus-within{grid-template-columns:repeat(3,minmax(0,1fr))}
.site-header:has(.nav-services:hover) .nav-dropdown,.site-header:has(.nav-services:focus-visible) .nav-dropdown,.nav-dropdown:hover,.nav-dropdown:focus-within{display:grid}
.site-header.services-menu-open .nav-dropdown{display:grid}
.site-header:has(.main-nav>a:first-child:hover) .nav-dropdown{display:none}
.nav-dropdown-heading{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center;padding:6px 10px 12px;border-bottom:1px solid #dce3f1;color:#17327e;font:800 12px/1.2 var(--mono);letter-spacing:.09em}
.nav-dropdown-heading>a{color:#17327e;font:700 12px var(--sans)}
.nav-dropdown>a{min-height:51px;padding:10px;border-color:#e8edf6;font-size:13px;font-weight:700;line-height:1.35;color:#1c2e59}
.nav-dropdown>a:hover{background:#edf2ff;color:#102d82}
.hero{padding:52px max(calc((100vw - 1260px)/2),42px) 34px;background:linear-gradient(180deg,#fff 0%,#f2f5fc 100%)}
.hero-inner{grid-template-columns:minmax(0,.96fr) minmax(0,1.04fr);gap:clamp(28px,4.5vw,68px);align-items:center}
.hero-copy{max-width:610px}
.hero .eyebrow{font-size:12px;font-weight:800;letter-spacing:.09em;color:#17327e}
.hero h1{font-size:clamp(64px,6.1vw,88px);font-weight:850;line-height:.98;letter-spacing:-.055em;color:#10235f}
.hero h1 em,.section-head h2 em,.software-intro h2 em{font-weight:800;color:#355bd2}
.hero-description{max-width:560px;font-size:18px;line-height:1.7;font-weight:550;color:#3d4b69}
.hero-actions .button,.hero-actions .text-link{font-size:14px;font-weight:800}
.hero-footnote{font-weight:750}
.hero-art-image{height:clamp(360px,39vw,535px);position:relative;overflow:hidden;border:1px solid #1f3a79;border-radius:5px 48px 5px 5px;background:#071632;box-shadow:0 28px 70px #101e4926}
.hero .reveal{opacity:1;transform:none}
.hero-art-image:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#06132e 0%,#06132e22 42%,transparent 70%),linear-gradient(0deg,#06132e88,transparent 35%);pointer-events:none}
.hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}
.hero-image-brand{position:absolute;z-index:2;top:24px;left:25px;display:flex;flex-direction:column;gap:14px;padding:15px;background:#ffffffec;border:1px solid #fff;border-radius:3px 18px 3px 3px;box-shadow:0 12px 36px #06132e40}
.hero-image-brand img{display:block;width:137px;height:55px;object-fit:contain}
.hero-image-brand span,.hero-image-caption{font:750 10px/1.6 var(--mono);letter-spacing:.1em;color:#172e7d}
.hero-image-caption{position:absolute;z-index:2;left:26px;bottom:22px;color:#fff}
.hero-scroll{font-size:10px;font-weight:800}
.ticker{height:52px}
.ticker-track{font-weight:800;font-size:12px;letter-spacing:.1em}
.services-section{padding-top:92px;padding-bottom:92px;background:#fff;border-top:1px solid #e0e6f2;border-bottom:1px solid #dfe5f1}
.section-head{margin-bottom:29px}
.section-head .eyebrow,.software-intro .eyebrow{font-size:12px;font-weight:800;letter-spacing:.09em;color:#304b93}
.section-head h2,.software-intro h2{font-weight:850;letter-spacing:-.045em;color:#13275e}
.section-head h2 em{color:#3d5fc4}
.section-side-link,.text-link{font-size:14px;font-weight:800}
.service-grid-complete{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.service-family{padding:31px 0 37px;border-top:1px solid #dfe5f1}
.service-family-heading{display:grid;grid-template-columns:1fr minmax(220px,.8fr);align-items:end;column-gap:28px;margin:0 0 17px}
.service-family-heading>span{grid-column:1/-1;margin-bottom:7px;color:#3152a5;font:800 10px/1.4 var(--mono);letter-spacing:.12em}
.service-family-heading h3{margin:0;color:#152c6e;font:850 clamp(28px,3vw,39px)/1.07 var(--display);letter-spacing:-.035em}
.service-family-heading p{max-width:42ch;margin:0;color:#52617d;font-size:14px;line-height:1.55;font-weight:550}
.service-card{position:relative;isolation:isolate;min-height:315px;padding:18px 19px 25px;background:linear-gradient(145deg,#f4f7ff,#e9efff);border:1px solid #dae3f5;border-top:5px solid #2546ad;border-radius:4px 24px 4px 4px;box-shadow:0 6px 20px #102c7010;transition:transform .2s ease,box-shadow .2s ease}
.service-card:nth-child(4n+2){background:linear-gradient(145deg,#f5f3ff,#eeedff);border-top-color:#6554bd}
.service-card:nth-child(4n+3){background:linear-gradient(145deg,#eef7ff,#e7f2fb);border-top-color:#2675aa}
.service-card:nth-child(4n){background:linear-gradient(145deg,#fff8e9,#fcf1d9);border-top-color:#d39a28}
.service-card:hover{transform:translateY(-5px);box-shadow:0 20px 38px #102b7020}
.service-card-top{margin-bottom:19px}
.service-number,.service-card-eyebrow{font-size:10px;font-weight:800;letter-spacing:.1em;color:#354d83}
.service-icon{width:48px;height:48px;display:grid;place-items:center;background:#fff;border:1px solid #d8e1f5;border-radius:3px 16px 3px 3px;color:#2449b0;font-size:24px;font-weight:850;box-shadow:0 7px 17px #10255c15}
.service-card h3,.service-card h4{max-width:19ch;margin:9px 0 10px;color:#142b70;font:800 clamp(19px,1.7vw,24px)/1.16 var(--display);letter-spacing:-.025em}
.service-card-image{display:block;width:100%;height:138px;max-width:100%;object-fit:contain;object-position:center;margin:0 auto 13px;border-radius:3px 14px 3px 3px;background:linear-gradient(145deg,#e3eafd,#f8faff)}
.service-card p{max-width:38ch;margin:0;color:#44516d;font:550 14px/1.62 var(--sans)}
.card-arrow{right:17px;bottom:15px;font-size:18px;font-weight:850;color:#183a98}
.card-decoration{opacity:.5}
.services-bottom-note{margin-top:25px;padding-top:17px;border-top:1px solid #dce3f1;font-size:11px;font-weight:800;letter-spacing:.04em}
.services-bottom-note a{font-size:13px;font-weight:800}
.package-showcase{border-top:7px solid #e8ac36;border-bottom:7px solid #e8ac36}
.package-showcase h2,.promise-content h2,.closing-cta h2{font-weight:850}
.home-package{padding:25px;min-height:250px}
.home-package-label,.home-package-link,.price-period{font-size:11px;font-weight:800}
.home-package h3{font-size:25px;font-weight:850}
.price-lockup>strong{font-size:30px;font-weight:850}
.home-package>p{font-size:14px;line-height:1.65;font-weight:550}
.software-section{margin-top:0;margin-bottom:0;padding-top:88px;padding-bottom:88px;background:#eef3fd;border-top:1px solid #d5dff1;border-bottom:1px solid #d5dff1}
.software-intro h2{font-size:clamp(40px,4.2vw,57px);line-height:1.06}
.software-intro>p{max-width:44ch;font-size:16px;line-height:1.7;font-weight:550;color:#44516d}
.software-grid{gap:10px}
.software-card{grid-template-columns:31px 86px minmax(0,1fr) 21px;padding:20px 19px;background:#fff;border:1px solid #d7e1f3;border-left:4px solid #3057c3;border-radius:3px 18px 3px 3px;box-shadow:0 5px 18px #1028600a}
.software-card-image{width:86px;height:86px;object-fit:cover;border-radius:3px 17px 3px 3px;border:1px solid #dce4f3}
.software-card:nth-child(3n+2){border-left-color:#d29a32}
.software-card h3{font-size:21px;font-weight:850;line-height:1.2;color:#172f77}
.software-card p{font-size:13px;line-height:1.6;font-weight:500;color:#485671}
.software-number,.software-icon,.software-card .service-card-eyebrow{font-weight:800}
.ceo-section,.team-section,.faq-section,.work-section,.reviews-section{border-top:1px solid #dce4f1}
.ceo-copy blockquote{max-width:650px;font-size:clamp(20px,2vw,27px);line-height:1.5;font-weight:650;letter-spacing:-.025em}
.team-person-info h3,.faq-item summary,.work-card-info h3{font-weight:800}
.faq-item summary{font-size:17px}
.faq-item>p{font-size:15px;line-height:1.7}
.reviews-section{border-bottom:1px solid #dce4f1}
.reviews-heading>p,.real-review-card blockquote{font-size:14px;line-height:1.7;font-weight:550}
.review-person{font-size:12px}
.closing-cta{border-top:8px solid #e8ac36}
.site-footer{font-size:14px}
.footer-col>a,.footer-brand-column>p,.footer-email{font-size:13px}
.announcement{position:relative;z-index:51}.site-header{padding-left:max(calc((100vw - 1260px)/2),24px);padding-right:max(calc((100vw - 1260px)/2),24px)}.footer-logo-plate{display:inline-flex;padding:8px 13px;background:#f5f7fd;border:1px solid #ffffff45;border-radius:2px 15px 2px 2px}.footer-logo-plate .footer-brand-image{display:block;object-fit:contain}
.promise-section{padding:clamp(46px,7vw,90px) max(calc((100vw - 1220px)/2),30px) 23px;background:#132b76}.promise-inner{display:grid;grid-template-columns:minmax(280px,.9fr) minmax(0,1.1fr);align-items:center;gap:clamp(30px,5vw,74px);max-width:1220px;margin:auto}.promise-photo{position:relative;height:clamp(320px,37vw,470px);overflow:hidden;border:1px solid #ffffff55;border-radius:3px 42px 3px 3px;background:#0e1f53}.promise-photo:after{content:"";position:absolute;inset:40% 0 0;background:linear-gradient(0deg,#091636ad,transparent)}.promise-photo img{width:100%;height:100%;object-fit:cover;object-position:center}.promise-photo>span{position:absolute;z-index:1;left:22px;bottom:20px;font:800 12px/1.55 var(--mono);letter-spacing:.09em;color:#fff}.promise-content{max-width:630px}.promise-content h2{font-size:clamp(38px,4.4vw,59px);line-height:1.02;letter-spacing:-.045em}.promise-content>p{max-width:50ch;font-size:16px;line-height:1.75;color:#e0e7ff}.promise-points{margin:24px 0}.promise-point{padding:11px 0;border-bottom-color:#ffffff32}.promise-point strong{font-size:15px}.promise-point p{font-size:13px;color:#d7e0ff}.promise-edge{max-width:1220px;margin:31px auto 0;padding-top:13px;border-top:1px solid #ffffff38;font-size:9px;color:#d6e0ff}
.home-journal{padding:clamp(57px,8vw,100px) max(calc((100vw - 1220px)/2),30px);background:#f3f6fc;border-top:1px solid #dce4f1}.home-journal-head{display:flex;align-items:end;justify-content:space-between;gap:24px;max-width:1220px;margin:0 auto 26px}.home-journal-head h2{margin:13px 0 0;font:850 clamp(38px,4.3vw,58px)/1.04 var(--display);letter-spacing:-.045em;color:#13275e}.home-journal-head h2 em{color:#3d5fc4;font-style:normal}.home-journal-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px;max-width:1220px;margin:auto}.home-journal-card{overflow:hidden;background:#fff;border:1px solid #dce4f1;border-radius:3px 22px 3px 3px;color:#172b63;box-shadow:0 8px 24px #12265c0a;transition:transform .2s ease,box-shadow .2s ease}.home-journal-card:hover{transform:translateY(-4px);box-shadow:0 16px 35px #12265c17}.home-journal-image{height:210px;position:relative;display:grid;place-items:center;background:linear-gradient(145deg,#dee8ff,#f5f7fc)}.home-journal-image img{width:100%;height:100%;object-fit:cover}.home-journal-image>span:last-child{position:absolute;left:14px;bottom:13px;background:#fff;padding:6px 9px;color:#203d88;font:800 9px var(--mono);text-transform:uppercase;letter-spacing:.05em}.journal-image-mark{font-size:60px;color:#3759bb}.home-journal-body{padding:19px}.home-journal-body h3{margin:0;color:#172f77;font:800 22px/1.2 var(--display)}.home-journal-body>p{min-height:56px;margin:11px 0;color:#4c5a76;font-size:14px;line-height:1.6}.home-journal-body>div{display:flex;align-items:center;gap:14px;padding-top:12px;border-top:1px solid #e5eaf4;color:#6a7690;font:700 9px var(--mono);text-transform:uppercase}.home-journal-body>div strong{margin-left:auto;color:#2b4aa8;font-size:18px}
.article-comments,.article-comment-form{max-width:820px;margin:45px auto;padding:27px;background:#f2f5fc;border:1px solid #dce4f1}.article-comments h2,.article-comment-form h2{margin:10px 0;color:#182f76;font:800 30px/1.1 var(--display)}.article-comment{padding:17px 0;border-top:1px solid #d8e1f0}.article-comment strong{color:#172f77}.article-comment time{float:right;color:#71809d;font-size:12px}.article-comment p{margin:8px 0 0;color:#394765;line-height:1.65}.article-comment-form{display:grid;grid-template-columns:.8fr 1.2fr;gap:24px;background:#fff}.article-comment-form>div>p{color:#596782}.article-comment-form form{display:grid;gap:12px}.article-comment-form label{display:grid;gap:5px;color:#283c77;font-size:13px;font-weight:750}.article-comment-form input,.article-comment-form textarea{width:100%;padding:11px;border:1px solid #d7dfef;border-radius:3px;font:inherit}.blog-comment-moderation{padding:23px;margin-top:24px}.blog-comment-moderation h2{font-size:21px;color:#20377f}.blog-comment-moderation h2 span{display:inline-grid;place-items:center;width:26px;height:26px;border-radius:50%;background:#edf2ff;font-size:13px}.blog-comment-moderation>div>p,.blog-comment-moderation>p{color:#606c85}.admin-comment-row{display:flex;justify-content:space-between;gap:20px;padding:17px 0;border-top:1px solid #e0e6f1}.admin-comment-row>div:first-child{min-width:0}.admin-comment-row strong,.admin-comment-row small{display:block}.admin-comment-row small{margin-top:4px;color:#78829a}.admin-comment-row p{margin:10px 0;color:#374563;line-height:1.6}.admin-comment-actions{display:flex;align-items:center;gap:9px;flex-shrink:0}
@media(max-width:1050px){.service-grid-complete{grid-template-columns:repeat(2,minmax(0,1fr))}.hero-inner{gap:30px}.nav-dropdown,.nav-dropdown:hover,.nav-dropdown:focus-within{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){
 .hero{padding:32px 16px 24px}.hero-inner{grid-template-columns:1fr;gap:19px}.hero-art-image{height:clamp(245px,72vw,390px);border-radius:3px 29px 3px 3px}.hero-image-brand{left:14px;top:14px;padding:9px;gap:8px}.hero-image-brand img{width:105px;height:42px}.hero-image-brand span,.hero-image-caption{font-size:8px}.hero-image-caption{left:15px;bottom:14px}.hero-description{font-size:16px}.ticker{height:43px}.ticker-track{font-size:10px}.services-section{padding:54px 16px}.section-head{align-items:flex-start;gap:14px;flex-direction:column}.section-head h2{font-size:clamp(37px,10vw,46px);line-height:1.05}.service-family{padding:25px 0 29px}.service-family-heading{grid-template-columns:1fr;gap:6px;margin-bottom:13px}.service-family-heading>span{margin-bottom:3px}.service-family-heading h3{font-size:28px}.service-family-heading p{font-size:13px}.service-grid-complete{grid-template-columns:1fr 1fr;gap:10px}.service-card{min-height:270px;padding:15px 13px 24px;border-radius:3px 18px 3px 3px}.service-card-top{margin-bottom:14px}.service-number,.service-card-eyebrow{font-size:9px}.service-icon{width:40px;height:40px;font-size:20px}.service-card h3,.service-card h4{font-size:clamp(17px,5vw,21px);margin:8px 0}.service-card-image{width:calc(100% + 26px);height:110px;margin:-15px -13px 13px}.service-card p{font-size:13px;line-height:1.5}.services-bottom-note{gap:10px;align-items:flex-start;flex-direction:column;font-size:10px}.services-bottom-note a{font-size:12px}.software-section{padding:53px 16px}.software-intro h2{font-size:39px}.software-intro>p{font-size:15px}.software-card{padding:14px 12px;grid-template-columns:24px 60px minmax(0,1fr) 18px;gap:8px}.software-card-image{width:60px;height:60px}.software-card h3{font-size:18px}.software-card p{font-size:13px}.home-package{min-height:0;padding:18px}.home-package h3{font-size:21px}.price-lockup>strong{font-size:25px}.home-package>p{font-size:14px}.faq-item summary{font-size:15px}.faq-item>p{font-size:14px}.review-platform-grid{grid-template-columns:1fr 1fr}.reviews-heading>p,.real-review-card blockquote{font-size:13px}
}
@media(max-width:760px){.announcement{justify-content:center;gap:7px 12px;padding:7px 12px;font-size:11px}.announcement-message{flex-basis:100%;justify-content:center}.announcement-phone{margin-left:0}.announce-close{display:none}.site-header{padding-left:12px;padding-right:12px}.site-header .main-nav{grid-template-columns:1fr 1fr}.site-header .main-nav>a{font-size:14px}.service-card-image{width:100%;height:112px;margin:0 auto 11px;object-fit:contain}.promise-section{padding:37px 16px 22px}.promise-inner{grid-template-columns:1fr;gap:22px}.promise-photo{height:clamp(220px,62vw,335px)}.promise-content h2{font-size:clamp(35px,9vw,44px)}.promise-content>p{font-size:14px}.promise-points{margin:16px 0}.promise-point{grid-template-columns:30px 1fr}.promise-point strong{font-size:13px}.promise-point p{font-size:12px}.promise-edge{gap:13px;font-size:7px}.home-journal{padding:43px 16px}.home-journal-head{align-items:flex-start;flex-direction:column;gap:14px}.home-journal-head h2{font-size:39px}.home-journal-grid{grid-template-columns:1fr;gap:12px}.home-journal-image{height:190px}.home-journal-body{padding:15px}.home-journal-body h3{font-size:20px}.home-journal-body>p{min-height:0;font-size:13px}.ceo-copy blockquote{font-size:20px;line-height:1.45}.article-comment-form{grid-template-columns:1fr;padding:17px}.article-comments{padding:17px}.admin-comment-row{flex-direction:column}.admin-comment-actions{align-self:flex-start}.footer-logo-plate{padding:6px 9px}}
@media(max-width:380px){.service-grid-complete{grid-template-columns:1fr}.service-card{min-height:220px}.software-card{grid-template-columns:1fr auto}.software-icon{display:none}}
@media(prefers-reduced-motion:reduce){.service-card{transition:none}}
.reviews-heading>p{font-size:16px;line-height:1.65;color:#4b5875}.review-platform-note,.review-platform-open,.review-source-chip,.review-date{font-size:10px}.real-review-card blockquote{font-size:14px;line-height:1.7}.review-person{font-size:12px}.reviews-integrity{font-size:9px}.service-family-heading p{font-size:15px}.service-card h4{font-size:clamp(20px,1.8vw,26px)}.service-card p{font-size:15px;line-height:1.65}
@media(max-width:760px){.reviews-heading>p{font-size:14px}.review-platform-note,.review-platform-open,.review-source-chip,.review-date{font-size:8px}.real-review-card blockquote{font-size:12px;line-height:1.6}.review-person{font-size:11px}.reviews-integrity{font-size:7px}.service-family-heading p{font-size:13px}.service-card h4{font-size:clamp(16px,4.7vw,20px)}.service-card p{font-size:12px;line-height:1.5}.article-content{font-size:17px;line-height:1.8}.article-header h1{font-size:clamp(36px,10vw,46px)}.article-header>p{font-size:15px}.article-author small{font-size:10px}.article-comment-form h2,.article-comments h2{font-size:26px}.announcement-message{font-size:10px}}
.site-header{gap:clamp(12px,2vw,28px)}
.site-header>.brand{width:clamp(154px,16vw,184px);min-width:clamp(154px,16vw,184px);justify-content:flex-start}
.brand-logo-image{display:block;width:clamp(154px,16vw,184px);height:74px;object-fit:contain;object-position:left center;flex:none}
.site-header .main-nav{gap:clamp(13px,1.75vw,25px)}
.header-cta{margin-left:clamp(3px,1vw,14px);white-space:nowrap}
.brand-loader{position:fixed;inset:0;z-index:200;display:none;place-items:center;overflow:hidden;background:radial-gradient(ellipse at 50% 44%,#fff 0%,#f4f7ff 54%,#e8eefc 100%);opacity:1;transition:opacity .38s ease,visibility .38s ease}
.brand-loader-pending .brand-loader{display:grid}
.brand-loader.is-leaving{opacity:0;visibility:hidden;pointer-events:none}
.brand-loader-card{position:relative;z-index:2;display:grid;justify-items:center;gap:15px;padding:33px 42px 29px;background:#ffffffc9;border:1px solid #dce4f4;border-radius:5px 27px 5px 5px;box-shadow:0 28px 80px #18336c17;backdrop-filter:blur(12px);animation:loader-card-in .55s cubic-bezier(.2,.8,.2,1) both}
.brand-loader-card img{display:block;width:min(206px,60vw);height:auto;max-height:83px;object-fit:contain}
.brand-loader-card>span{color:#243a79;font:800 10px/1.4 var(--mono);letter-spacing:.1em;text-transform:uppercase}
.brand-loader-track{width:180px;height:4px;overflow:hidden;background:#dce4f4;border-radius:9px}
.brand-loader-track i{display:block;width:38%;height:100%;background:linear-gradient(90deg,#243d98,#e7aa34);border-radius:inherit;animation:loader-progress 1.2s ease-in-out infinite}
.brand-loader-orbit{position:absolute;width:min(68vw,540px);aspect-ratio:1;border:1px solid #3655a71b;border-radius:50%;transform:rotate(-28deg) scaleY(.43)}
.brand-loader-orbit-one{animation:loader-orbit 8s linear infinite}
.brand-loader-orbit-two{width:min(50vw,410px);border-color:#e7aa3440;transform:rotate(47deg) scaleY(.4);animation:loader-orbit 10s linear infinite reverse}
.brand-loader-cube{position:absolute;width:29px;height:29px;border:1px solid #3655a755;background:linear-gradient(145deg,#ffffffb8,#dce6ff80);box-shadow:inset -5px -5px 12px #3152a51c,0 8px 20px #1b34721b;transform:rotate(45deg);animation:loader-float 3.4s ease-in-out infinite}
.brand-loader-cube-one{top:calc(50% - 114px);left:calc(50% - 160px)}
.brand-loader-cube-two{top:calc(50% + 80px);left:calc(50% + 142px);width:20px;height:20px;border-color:#d29a326e;animation-delay:-1.1s}
.brand-loader-cube-three{top:calc(50% + 110px);left:calc(50% - 150px);width:14px;height:14px;animation-delay:-2s}
@keyframes loader-progress{0%{transform:translateX(-110%)}100%{transform:translateX(370%)}}
@keyframes loader-orbit{to{rotate:332deg}}
@keyframes loader-float{0%,100%{translate:0 0;rotate:45deg}50%{translate:0 -12px;rotate:65deg}}
@keyframes loader-card-in{from{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}
@media(max-width:1050px){.site-header{gap:12px}.site-header>.brand{width:145px;min-width:145px}.brand-logo-image{width:145px;height:64px}.site-header .main-nav{gap:clamp(9px,1.5vw,16px)}.header-cta{padding:0 10px;gap:8px;font-size:10px}}
@media(max-width:760px){.site-header{gap:0}.site-header>.brand{width:128px;min-width:128px}.brand-logo-image{width:128px;height:53px}.brand-loader-card{gap:12px;padding:27px 25px 24px}.brand-loader-card>span{font-size:8px}.brand-loader-track{width:150px}.brand-loader-cube-one{left:calc(50% - 115px)}.brand-loader-cube-two{left:calc(50% + 100px)}.brand-loader-cube-three{left:calc(50% - 105px)}}
@media(prefers-reduced-motion:reduce){.brand-loader-card,.brand-loader-orbit,.brand-loader-cube,.brand-loader-track i{animation:none}.brand-loader-track i{width:100%}.brand-loader{transition:none}}
.brand-loader{background:radial-gradient(ellipse at 50% 48%,#283f91 0%,#192d70 48%,#101e50 100%);color:#fff}
.brand-loader:before,.brand-loader:after{content:"";position:absolute;inset:0;pointer-events:none}
.brand-loader:before{opacity:.14;background-image:linear-gradient(#ffffff18 1px,transparent 1px),linear-gradient(90deg,#ffffff18 1px,transparent 1px);background-size:54px 54px;mask-image:linear-gradient(transparent,#000 22%,#000 78%,transparent)}
.brand-loader:after{inset:auto 0 0;height:32%;background:linear-gradient(0deg,#0b163b80,transparent)}
.brand-loader-card{gap:19px;padding:37px 54px 31px;background:transparent;border:0;border-radius:0;box-shadow:none;backdrop-filter:none;animation:loader-card-in .6s cubic-bezier(.2,.8,.2,1) both}
.brand-loader-card img{width:min(248px,65vw);max-height:100px;padding:11px 15px;background:#fff;border:1px solid #ffffffa6;border-radius:3px 17px 3px 3px;box-shadow:0 15px 40px #09173b45}
.brand-loader-card>span{color:#fff;font:800 11px/1.4 var(--mono);letter-spacing:.16em;text-align:center;text-shadow:0 2px 12px #07143b88}
.brand-loader-track{width:210px;height:3px;background:#ffffff38}
.brand-loader-track i{background:linear-gradient(90deg,#fff,#edb33e);box-shadow:0 0 13px #e9ac38b5}
.brand-loader-orbit{width:min(76vw,610px);border-color:#ffffff24}
.brand-loader-orbit-two{width:min(56vw,450px);border-color:#efb33f55}
.brand-loader-cube{border-color:#ffffff7a;background:linear-gradient(145deg,#ffffff38,#7893ed24);box-shadow:inset -5px -5px 12px #0b174d45,0 8px 24px #0a153b45}
.brand-loader-cube-two{border-color:#efb33f;background:linear-gradient(145deg,#ffe7a94d,#d4972033)}
.announcement{justify-content:space-between;gap:10px 22px}
.announcement-contacts{display:flex;align-items:center;justify-content:center;gap:clamp(14px,2.5vw,32px);margin-left:auto}
.announcement-phone,.announcement-email{display:inline-flex;align-items:center;gap:8px;color:#fff;font-size:12px;font-weight:750;white-space:nowrap}
.announcement-phone>span:first-child,.announcement-email>span:first-child{color:#ffd471;font-size:14px}
.announcement-email:hover,.announcement-phone:hover{text-decoration:underline;text-underline-offset:3px}
.announcement-contact{white-space:nowrap}
@media(max-width:760px){.announcement{justify-content:center;gap:8px 14px;padding:8px 12px}.announcement-message{flex-basis:100%;justify-content:center}.announcement-contacts{flex-wrap:wrap;gap:6px 14px;margin-left:0}.announcement-phone,.announcement-email{font-size:10px}.announcement-contact{font-size:10px}}
@media(min-width:761px) and (max-width:1180px){.announcement{justify-content:center;gap:8px 20px;padding:9px 18px}.announcement-contacts{gap:10px 18px;margin-left:0}.announcement-phone,.announcement-email{font-size:11px}.site-header{padding-left:20px;padding-right:20px}.site-header>.brand{width:128px;min-width:128px}.brand-logo-image{width:128px;height:55px}.site-header{gap:11px}.site-header .main-nav{gap:clamp(8px,1.15vw,14px)}.site-header .main-nav>a{font-size:11px}.header-cta{margin-left:3px;padding:0 9px;gap:7px;font-size:9px}}
@media(max-width:760px){.announcement{min-height:0;height:auto;justify-content:center;gap:8px 12px;padding:9px 12px}.announcement-message{flex-basis:100%;font-size:9px;line-height:1.45}.announcement-contacts{width:100%;display:flex;justify-content:center;gap:5px 13px;margin:0}.announcement-phone,.announcement-email{font-size:10px}.announcement-contact{font-size:10px}.site-header{height:64px;min-height:64px;padding:0 12px;gap:0}.site-header>.brand{width:120px;min-width:120px}.brand-logo-image{width:120px;height:50px}.site-header .header-cta{margin-left:auto;height:32px;padding:0 9px;font-size:9px;gap:6px}.site-header .menu-toggle{order:3;flex:none;margin-left:8px}.site-header .main-nav{top:63px;padding:9px 12px 13px}.site-header .nav-dropdown{top:100%;left:8px;right:8px;transform:none;width:auto;max-height:66vh;overflow:auto;grid-template-columns:1fr}.site-header .nav-dropdown-heading{position:sticky;top:0;background:#f5f7fd}.site-header .nav-dropdown>a{min-height:44px;font-size:12px}}
@media(max-width:390px){.site-header{padding:0 9px}.site-header>.brand{width:102px;min-width:102px}.brand-logo-image{width:102px;height:44px}.site-header .header-cta{padding:0 7px;font-size:8px}.site-header .menu-toggle{margin-left:6px;width:29px;height:29px}.announcement-contacts{gap:5px 10px}.announcement-phone,.announcement-email{font-size:9px}}
@media(max-width:760px){.announcement{min-height:38px;height:38px;flex-wrap:nowrap;justify-content:flex-start;gap:0;padding:0 12px;overflow-x:auto;overflow-y:hidden;white-space:nowrap;scrollbar-width:none}.announcement::-webkit-scrollbar{display:none}.announcement-message,.announce-close{display:none}.announcement-contacts{width:auto;flex:0 0 auto;justify-content:flex-start;flex-wrap:nowrap;gap:16px;margin:0}.announcement-phone,.announcement-email{flex:0 0 auto;font-size:10px}.announcement-contact{flex:0 0 auto;margin-left:16px;font-size:10px}.announcement-phone>span:last-child,.announcement-email>span:last-child{white-space:nowrap}}
@media(max-width:760px){.announcement{height:36px;min-height:36px;padding:0 8px;letter-spacing:0}.announcement-contacts{gap:clamp(7px,2.2vw,12px);min-width:0}.announcement-phone,.announcement-email{gap:4px;font:650 clamp(8px,2.35vw,9px)/1.1 var(--sans);letter-spacing:-.025em}.announcement-phone>span:first-child,.announcement-email>span:first-child{font-size:10px}.announcement-contact{margin-left:clamp(7px,2vw,11px);font:750 clamp(8px,2.2vw,9px)/1 var(--sans);letter-spacing:0}.announcement-email>span:last-child{letter-spacing:-.04em}}
@media(max-width:760px){.announcement{display:flex;height:40px;min-height:40px;padding:0 11px;overflow:hidden;background:#14225a}.announcement-contacts{display:flex;flex:1 1 auto;min-width:0;align-items:center;justify-content:space-between;gap:8px}.announcement-phone,.announcement-email{min-width:0;gap:5px;font:700 10px/1 var(--sans);letter-spacing:0}.announcement-phone>span:last-child,.announcement-email>span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.announcement-email{flex:1 1 auto}.announcement-contact{flex:0 0 auto;margin:0 0 0 8px;padding-left:8px;border-left:1px solid #ffffff45;font:750 10px/1 var(--sans)}.announcement-message,.announce-close{display:none}}
@media(max-width:380px){.announcement{padding:0 8px}.announcement-contacts{gap:6px}.announcement-phone,.announcement-email,.announcement-contact{font-size:9px}.announcement-contact{margin-left:5px;padding-left:5px}}
.visitor-assist [hidden]{display:none!important}
.visitor-assist{position:fixed;z-index:70;right:24px;bottom:24px;display:grid;justify-items:end;gap:11px;font-family:var(--sans)}
.whatsapp-float,.ai-chat-launcher{display:inline-flex;align-items:center;justify-content:center;width:54px;height:54px;padding:0;border:0;border-radius:50%;box-shadow:0 9px 28px #0c1b4933;font:800 13px/1 var(--sans);cursor:pointer;transition:transform .2s,box-shadow .2s}
.whatsapp-float{background:#20c66b;color:#fff}.whatsapp-float:hover,.ai-chat-launcher:hover{transform:translateY(-2px);box-shadow:0 13px 32px #0c1b4940}
.visitor-assist-icon{display:block;width:27px;height:27px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.whatsapp-float .visitor-assist-icon{width:29px;height:29px}.ai-chat-launcher{background:#172d81;color:#ffd471}.ai-chat-launcher .visitor-assist-icon{fill:currentColor;stroke:none}
.whatsapp-float:focus-visible,.ai-chat-launcher:focus-visible{outline:3px solid #f6b52e;outline-offset:4px}
.ai-chat-window{position:absolute;right:0;bottom:125px;display:flex;width:min(370px,calc(100vw - 32px));height:min(540px,calc(100dvh - 170px));min-height:390px;flex-direction:column;overflow:hidden;background:#fff;border:1px solid #dce4f3;border-radius:5px 22px 5px 5px;box-shadow:0 24px 70px #0c1b4940;animation:chat-window-in .2s ease-out both}
.ai-chat-header{display:flex;align-items:center;gap:11px;padding:16px;background:linear-gradient(120deg,#14225a,#2446a6);color:#fff}
.ai-chat-avatar{display:grid;place-items:center;width:39px;height:39px;border:1px solid #ffffff5c;border-radius:50%;background:#ffffff1c;color:#ffd471;font:850 19px var(--display)}
.ai-chat-header>div{display:grid;gap:5px}.ai-chat-header strong{font-size:14px}.ai-chat-header>div>span{display:flex;align-items:center;gap:6px;color:#e4ebff;font-size:11px}.ai-chat-header>div i{width:7px;height:7px;border-radius:50%;background:#61d6ac}
.ai-chat-close{margin-left:auto;width:31px;height:31px;border:1px solid #ffffff40;border-radius:50%;background:#ffffff12;color:#fff;font-size:21px;line-height:1;cursor:pointer}
.ai-chat-messages{display:flex;flex:1;flex-direction:column;align-items:flex-start;gap:9px;overflow-y:auto;padding:17px;background:#f6f8fd}
.ai-chat-bubble{max-width:88%;padding:11px 13px;border:1px solid #dfe6f3;border-radius:3px 14px 14px 14px;background:#fff;color:#263555;font-size:13px;line-height:1.55;overflow-wrap:anywhere}
.ai-chat-bubble-user{align-self:flex-end;border-color:#243f9b;background:#243f9b;color:#fff;border-radius:14px 3px 14px 14px}
.ai-chat-result-link{max-width:88%;color:#193987;font-size:12px;font-weight:800;text-decoration:underline;text-underline-offset:3px}
.ai-chat-prompts{display:flex;gap:7px;overflow-x:auto;padding:10px 12px 4px;scrollbar-width:thin}
.ai-chat-prompts button{flex:0 0 auto;max-width:210px;padding:8px 10px;border:1px solid #d7e0f1;border-radius:999px;background:#f6f8fd;color:#203c8d;font-size:11px;font-weight:700;cursor:pointer}
.ai-chat-prompts button:hover{background:#e9efff}
.ai-chat-form{display:flex;gap:8px;padding:10px 12px;border-top:1px solid #e4e9f2}
.ai-chat-form input{flex:1;min-width:0;height:42px;padding:0 12px;border:1px solid #d6deed;border-radius:4px 12px 4px 4px;outline:none;font-size:13px}
.ai-chat-form input:focus{border-color:#3659c8;box-shadow:0 0 0 3px #3659c81c}
.ai-chat-form button{width:42px;height:42px;border:0;border-radius:4px 12px 4px 4px;background:#1d368d;color:#fff;font-size:21px;font-weight:800;cursor:pointer}
.ai-chat-whatsapp{padding:0 13px 13px;text-align:center;color:#52617c;font-size:11px}.ai-chat-whatsapp:hover{color:#157944}
@keyframes chat-window-in{from{opacity:0;transform:translateY(8px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}
@media(max-width:760px){.visitor-assist{right:13px;bottom:13px;gap:8px}.whatsapp-float,.ai-chat-launcher{width:48px;height:48px}.visitor-assist-icon{width:24px;height:24px}.whatsapp-float .visitor-assist-icon{width:26px;height:26px}.ai-chat-window{right:0;bottom:112px;width:min(360px,calc(100vw - 26px));height:min(520px,calc(100dvh - 140px));min-height:min(390px,calc(100dvh - 140px))}}
@media(max-width:390px){.visitor-assist{right:10px;bottom:10px}.whatsapp-float,.ai-chat-launcher{width:46px;height:46px}.ai-chat-window{bottom:106px}}
.site-body{background-color:#f7f9ff;background-image:radial-gradient(ellipse at 8% 9%,#dce6ff78,transparent 34%),radial-gradient(ellipse at 96% 27%,#e7efff80,transparent 29%),radial-gradient(#203d8b12 .7px,transparent .7px);background-size:auto,auto,22px 22px;background-attachment:scroll}
.hero{isolation:isolate;overflow:hidden;padding-top:clamp(52px,6vw,82px);padding-bottom:clamp(34px,5vw,62px);background:radial-gradient(ellipse at 76% 47%,#dfe8ffb0,transparent 42%),linear-gradient(120deg,#ffffff 0%,#f6f8ff 48%,#edf2ff 100%)}
.hero:before{content:"";position:absolute;z-index:-1;inset:0;background-image:linear-gradient(#203d8b07 1px,transparent 1px),linear-gradient(90deg,#203d8b07 1px,transparent 1px);background-size:44px 44px;mask-image:linear-gradient(90deg,transparent 0%,#000 54%,#000 100%);pointer-events:none}
.hero:after{content:"";position:absolute;z-index:-1;width:530px;height:530px;right:-190px;top:5%;border:1px solid #2749a30e;border-radius:50%;box-shadow:0 0 0 35px #2749a308,0 0 0 70px #2749a306,0 0 0 110px #2749a304;pointer-events:none}
.hero-inner{position:relative;z-index:1;grid-template-columns:minmax(0,.94fr) minmax(0,1.06fr);gap:clamp(32px,5vw,76px);min-height:clamp(470px,42vw,590px)}
.hero-copy{max-width:640px}
.hero-entry .eyebrow,.hero-entry h1,.hero-entry .hero-description,.hero-entry .hero-actions,.hero-entry .hero-footnote{opacity:0;animation:hero-entry-up .66s cubic-bezier(.2,.8,.2,1) forwards}
.hero-entry .eyebrow{animation-delay:.08s}.hero-entry h1{animation-delay:.18s}.hero-entry .hero-description{animation-delay:.3s}.hero-entry .hero-actions{animation-delay:.42s}.hero-entry .hero-footnote{animation-delay:.56s}
.hero-entry h1{font-size:clamp(60px,7vw,98px);line-height:.91;letter-spacing:-.075em;font-weight:850}
.hero-entry h1 em{color:#3a5ed2;text-shadow:0 8px 28px #3558cb24}
.hero-entry .hero-description{max-width:48ch;font-size:clamp(16px,1.3vw,18px);font-weight:550;line-height:1.75;color:#3c4c71}
.hero-entry .hero-actions{gap:clamp(16px,2vw,27px);flex-wrap:wrap}
.hero-entry .hero-actions .button{box-shadow:0 8px 20px #d7962524}
.hero-art-entry{transform-style:preserve-3d;animation:hero-art-in .9s cubic-bezier(.17,.78,.22,1) .14s both}
.hero-art-image{height:clamp(390px,43vw,570px);border:1px solid #1a3784;border-radius:5px 58px 5px 5px;background:#081840;box-shadow:0 35px 90px #142c6c30,0 0 0 8px #ffffffa3;perspective:1000px}
.hero-art-image:before{content:"";position:absolute;z-index:1;inset:0;background:linear-gradient(90deg,#07173a28 0%,transparent 40%),linear-gradient(0deg,#07173a60 0%,transparent 34%);pointer-events:none}
.hero-image{object-fit:cover;object-position:70% center;animation:hero-image-settle 1.2s cubic-bezier(.17,.78,.22,1) .25s both}
.hero-image-brand{top:24px;left:24px;gap:10px;padding:12px 14px;border-radius:3px 16px 3px 3px;box-shadow:0 18px 40px #07173840;animation:hero-float-in .6s ease .72s both}
.hero-image-brand img{width:142px;height:57px;object-fit:contain}
.hero-image-brand>span{font-size:9px;line-height:1.65;font-weight:850;letter-spacing:.1em;color:#18357e}
.hero-image-caption{left:25px;bottom:23px;font-size:9px;letter-spacing:.15em}
.hero-float-tag{position:absolute;z-index:2;display:flex;align-items:center;gap:9px;padding:10px 13px;border:1px solid #ffffff55;border-radius:3px 12px 3px 3px;background:#122a6ccc;box-shadow:0 12px 32px #07173835;color:#fff;font:800 9px/1 var(--mono);letter-spacing:.08em;backdrop-filter:blur(12px);animation:hero-tag-in .55s cubic-bezier(.2,.8,.2,1) both,hero-tag-drift 5.5s ease-in-out 1.2s infinite}
.hero-float-tag-top{right:20px;top:21px;animation-delay:.84s,1.2s}.hero-float-tag-top>span{color:#ffca58;font-size:16px}
.hero-float-tag-bottom{right:20px;bottom:22px;animation-delay:1.02s,1.4s}
.hero-tag-signal{width:7px;height:7px;border-radius:50%;background:#63dfb4;box-shadow:0 0 0 4px #63dfb42a}
.hero-scroll{position:relative;z-index:1}
@keyframes hero-entry-up{from{opacity:0;transform:translateY(19px)}to{opacity:1;transform:translateY(0)}}
@keyframes hero-art-in{from{opacity:0;transform:translateY(25px) rotateY(-3deg) scale(.975)}to{opacity:1;transform:translateY(0) rotateY(0) scale(1)}}
@keyframes hero-image-settle{from{transform:scale(1.055)}to{transform:scale(1)}}
@keyframes hero-float-in{from{opacity:0;transform:translateY(9px) rotate(-1deg)}to{opacity:1;transform:translateY(0) rotate(0)}}
@keyframes hero-tag-in{from{opacity:0;transform:translateY(12px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes hero-tag-drift{0%,100%{translate:0 0}50%{translate:0 -5px}}
@media(max-width:1050px){.hero-inner{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:28px}.hero-entry h1{font-size:clamp(55px,7.4vw,78px)}.hero-art-image{height:clamp(360px,47vw,490px)}.hero-float-tag{font-size:8px;padding:9px 10px}.hero-image-brand{left:17px;top:17px}.hero-image-brand img{width:120px;height:48px}}
@media(max-width:760px){.hero{padding:35px 17px 25px;background:radial-gradient(ellipse at 72% 72%,#e0e9ff9c,transparent 46%),linear-gradient(180deg,#fff,#f2f5fd)}.hero:before{background-size:32px 32px;mask-image:linear-gradient(transparent,#000 30%,#000 100%)}.hero-inner{grid-template-columns:1fr;gap:25px;min-height:0}.hero-entry h1{font-size:clamp(54px,13.5vw,76px);line-height:.94;letter-spacing:-.075em;margin:20px 0 17px}.hero-entry .hero-description{font-size:15px;line-height:1.68}.hero-entry .hero-actions{gap:12px}.hero-entry .hero-actions .button{height:46px;padding:0 15px;font-size:12px}.hero-art-image{height:clamp(285px,76vw,430px);border-radius:3px 34px 3px 3px;box-shadow:0 24px 55px #142c6c25,0 0 0 5px #ffffffa3}.hero-image{object-position:69% center}.hero-image-brand{left:12px;top:12px;padding:8px 10px;gap:5px}.hero-image-brand img{width:103px;height:42px}.hero-image-brand>span{font-size:7px}.hero-image-caption{left:14px;bottom:14px;font-size:7px}.hero-float-tag{gap:6px;padding:8px;font-size:7px;letter-spacing:.04em}.hero-float-tag-top{top:12px;right:12px}.hero-float-tag-bottom{right:12px;bottom:12px}.hero-scroll{margin-top:16px}.site-body{background-size:auto,auto,18px 18px}}
@media(max-width:390px){.hero{padding-left:14px;padding-right:14px}.hero-entry h1{font-size:53px}.hero-entry .hero-actions{align-items:flex-start;flex-direction:column}.hero-entry .hero-actions .text-link{padding-left:2px}.hero-art-image{height:285px}.hero-float-tag{font-size:6px}.hero-image-brand img{width:92px;height:37px}}
@media(prefers-reduced-motion:reduce){.hero-entry .eyebrow,.hero-entry h1,.hero-entry .hero-description,.hero-entry .hero-actions,.hero-entry .hero-footnote,.hero-art-entry,.hero-image,.hero-image-brand,.hero-float-tag{opacity:1;animation:none;transform:none}}
.hero-art-image{height:auto;aspect-ratio:1/1;max-height:590px;min-height:0;background:#10265f;border-radius:5px 48px 5px 5px}
.hero-image{object-fit:contain;object-position:center;background:#10265f;animation:hero-image-appear .85s ease .3s both}
@keyframes hero-image-appear{from{opacity:.25;filter:brightness(.76)}to{opacity:1;filter:brightness(1)}}
@media(max-width:1050px){.hero-art-image{height:auto;aspect-ratio:1/1;max-height:480px}}
@media(max-width:760px){.hero-art-image{width:min(100%,450px);height:auto;aspect-ratio:1/1;max-height:none;justify-self:center;border-radius:3px 32px 3px 3px}.hero-image{object-fit:contain;object-position:center}}
@media(prefers-reduced-motion:reduce){.hero-image{animation:none;opacity:1;filter:none}}
.hero-art-image .hero-image{opacity:0;animation:hero-image-complete .58s ease 1.28s both}
.hero-assembly{position:absolute;z-index:2;inset:0;overflow:hidden;pointer-events:none}
.hero-assembly-piece{position:absolute;display:block;width:50%;height:50%;background-repeat:no-repeat;background-size:200% 200%;opacity:0;filter:blur(8px) brightness(1.55);will-change:transform,opacity,filter;animation:hero-assembly-piece-in 1.04s cubic-bezier(.2,.76,.18,1) both}
.hero-assembly-piece-one{left:0;top:0;background-position:0 0;--piece-x:-30px;--piece-y:-24px;--piece-r:-3deg;animation-delay:.28s}
.hero-assembly-piece-two{right:0;top:0;background-position:100% 0;--piece-x:28px;--piece-y:-22px;--piece-r:3deg;animation-delay:.42s}
.hero-assembly-piece-three{left:0;bottom:0;background-position:0 100%;--piece-x:-24px;--piece-y:25px;--piece-r:2deg;animation-delay:.56s}
.hero-assembly-piece-four{right:0;bottom:0;background-position:100% 100%;--piece-x:26px;--piece-y:28px;--piece-r:-2deg;animation-delay:.7s}
.hero-assembly-scan{position:absolute;left:0;right:0;top:-5%;height:2px;background:linear-gradient(90deg,transparent,#8ed9ff,#f7c558,#fff,transparent);box-shadow:0 0 22px #69bfff;opacity:0;animation:hero-assembly-scan 1s ease .35s both}
@keyframes hero-assembly-piece-in{0%{opacity:0;transform:translate(var(--piece-x),var(--piece-y)) rotate(var(--piece-r)) scale(.91);filter:blur(8px) brightness(1.55)}52%{opacity:1;filter:blur(0) brightness(1.22)}78%{opacity:1;transform:translate(0,0) rotate(0) scale(1);filter:blur(0) brightness(1)}100%{opacity:0;transform:translate(0,0) rotate(0) scale(1);filter:blur(0) brightness(1)}}
@keyframes hero-image-complete{from{opacity:0}to{opacity:1}}
@keyframes hero-assembly-scan{0%{top:-5%;opacity:0}20%{opacity:.9}85%{opacity:.8}100%{top:105%;opacity:0}}
@media(prefers-reduced-motion:reduce){.hero-art-image .hero-image{opacity:1;animation:none}.hero-assembly{display:none}}
.hero-art-image{perspective:1200px}
.hero-art-float{position:absolute;z-index:2;inset:9px;overflow:hidden;border-radius:2px 42px 2px 2px;transform-style:preserve-3d;animation:hero-art-hover 6s ease-in-out 1.85s infinite}
.hero-art-image:before{z-index:1}
.hero-art-float .hero-image{inset:0;width:100%;height:100%}
.hero-art-float .hero-assembly{inset:0}
.hero-3d-cube{position:absolute;z-index:3;display:block;width:20px;height:20px;border:1px solid #fff9c9;background:linear-gradient(145deg,#ffe49c,#d99018);box-shadow:inset -5px -5px 9px #82540b66,0 9px 20px #06143c6b;transform-style:preserve-3d;transform:rotateX(-27deg) rotateY(33deg) rotateZ(35deg);animation:hero-cube-hover 4.4s ease-in-out infinite}
.hero-3d-cube:before,.hero-3d-cube:after{content:"";position:absolute;display:block}
.hero-3d-cube:before{top:0;right:-8px;width:8px;height:100%;border:1px solid #f8d781;background:linear-gradient(180deg,#dfa33e,#a96613);transform:rotateY(90deg);transform-origin:left center}
.hero-3d-cube:after{left:0;bottom:-8px;width:100%;height:8px;border:1px solid #f5cc6f;background:linear-gradient(90deg,#bf771c,#f4c65b);transform:rotateX(90deg);transform-origin:top center}
.hero-3d-cube-one{left:5%;top:53%;animation-delay:-.8s}
.hero-3d-cube-two{right:6%;bottom:12%;width:13px;height:13px;border-color:#b7dfff;background:linear-gradient(145deg,#94dbff,#325fcb);box-shadow:inset -4px -4px 8px #173c8666,0 8px 19px #06143c65;animation-delay:-2.4s}
.hero-3d-cube-two:before{right:-6px;width:6px;border-color:#8bc7f5;background:linear-gradient(180deg,#578fd9,#294994)}
.hero-3d-cube-two:after{bottom:-6px;height:6px;border-color:#8bc7f5;background:linear-gradient(90deg,#294994,#578fd9)}
@keyframes hero-art-hover{0%,100%{transform:translate3d(0,0,0) rotateX(0) rotateY(0)}50%{transform:translate3d(0,-12px,18px) rotateX(1.8deg) rotateY(-1.8deg)}}
@keyframes hero-cube-hover{0%,100%{translate:0 0;rotate:0deg}50%{translate:0 -15px;rotate:20deg}}
@media(max-width:760px){.hero-art-float{inset:7px;border-radius:2px 27px 2px 2px}.hero-3d-cube-one{left:5%;top:52%;transform:scale(.85) rotateX(-27deg) rotateY(33deg) rotateZ(35deg)}.hero-3d-cube-two{right:5%;bottom:10%;transform:scale(.85) rotateX(-27deg) rotateY(33deg) rotateZ(35deg)}}
@media(prefers-reduced-motion:reduce){.hero-art-float,.hero-3d-cube{animation:none;transform:none;translate:none;rotate:none}}
/* The shared page surface stays clean; no decorative overlay competes with content. */
body.site-body:before{content:none}
.article-content{font-size:18px;line-height:1.85;color:#303d58}.article-content h2,.article-content h3{margin:1.7em 0 .6em;color:#182f76;line-height:1.18}.article-content img{display:block;max-width:100%;height:auto;margin:1.6em auto;border-radius:7px}.article-content a{color:#3154b6;text-decoration:underline;text-underline-offset:3px}.article-comment-form>div>.eyebrow{font-weight:800;color:#3451a2}
/* Shared spacing scale keeps every public page aligned at the same content edge. */
:root{--site-content-width:1220px;--site-gutter:max(18px,calc((100vw - var(--site-content-width))/2));--site-section-space:clamp(54px,6.2vw,84px);--site-section-space-mobile:clamp(40px,10.5vw,54px);--site-block-gap:clamp(22px,2.7vw,34px)}
.announcement,.site-header,.site-footer{padding-left:var(--site-gutter)!important;padding-right:var(--site-gutter)!important}
main>section:not(.ticker){margin-block:0!important;padding-left:var(--site-gutter)!important;padding-right:var(--site-gutter)!important}
main>section:not(.ticker):not(.contact-bottom):not(.package-guarantee):not(.closing-cta){padding-top:var(--site-section-space)!important;padding-bottom:var(--site-section-space)!important}
main>section.contact-bottom{padding-top:17px!important;padding-bottom:17px!important}
main>section.package-guarantee{padding-top:22px!important;padding-bottom:22px!important}
.section-head,.service-category-head,.package-showcase-head,.blog-list-heading{margin-bottom:var(--site-block-gap)}
.footer-main,.footer-bottom{width:100%;max-width:var(--site-content-width);margin-left:auto;margin-right:auto}
@media(max-width:760px){main>section:not(.ticker):not(.contact-bottom):not(.package-guarantee):not(.closing-cta){padding-top:var(--site-section-space-mobile)!important;padding-bottom:var(--site-section-space-mobile)!important}}
@media(max-width:760px){.announcement{padding-left:11px!important;padding-right:11px!important}}
@media(max-width:380px){.announcement{padding-left:8px!important;padding-right:8px!important}}
/* Service cards lead with their complete image, then make the next step obvious. */
.services-section{background:linear-gradient(180deg,#fff 0%,#f7f9ff 100%)}
.services-section>.section-head{align-items:end;gap:24px;margin-bottom:clamp(34px,4vw,54px)}
.services-section>.section-head h2{max-width:18ch}
.service-family{padding:clamp(38px,5vw,62px) 0;border-top:1px solid #d9e1f2}
.service-family-heading{grid-template-columns:minmax(0,1fr) minmax(260px,.72fr);column-gap:clamp(22px,5vw,76px);row-gap:8px;align-items:end;margin-bottom:25px}
.service-family-heading>span{font-size:11px;letter-spacing:.13em}
.service-family-heading h3{max-width:19ch;font-size:clamp(31px,3.5vw,48px);line-height:1.02}
.service-family-heading p{max-width:45ch;font-size:15px;line-height:1.65}
.service-grid-complete{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(15px,2vw,24px);perspective:1500px}
.service-grid-complete>.service-card,.service-grid-complete>.service-card:last-child:nth-child(3n+1),.service-grid-complete>.service-card:last-child:nth-child(2n+1){grid-column:auto;display:flex;flex-direction:column;min-width:0;min-height:0;padding:0;overflow:hidden;border:1px solid #dbe3f4;border-top:4px solid #3157c8;border-radius:5px 24px 5px 5px;background:#fff;box-shadow:0 10px 30px #132d7010;transform-style:preserve-3d;transition:transform .42s cubic-bezier(.2,.7,.2,1),box-shadow .42s,border-color .3s}
.service-grid-complete>.service-card:nth-child(4n+2){border-top-color:#7065c5}
.service-grid-complete>.service-card:nth-child(4n+3){border-top-color:#28a0b2}
.service-grid-complete>.service-card:nth-child(4n){border-top-color:#e0a032}
.service-card.reveal{opacity:0;transform:perspective(1400px) translateY(22px) rotateX(5deg);transition:opacity .65s ease,transform .65s cubic-bezier(.2,.7,.2,1),box-shadow .42s,border-color .3s}
.service-card.reveal.is-visible{opacity:1;transform:perspective(1400px) translateY(0) rotateX(0)}
.service-card-visual{position:relative;isolation:isolate;display:grid;place-items:center;width:100%;aspect-ratio:1/1;overflow:hidden;background:radial-gradient(ellipse at 50% 45%,#fff 0%,#eef3ff 66%,#e4ebfb 100%);transform-style:preserve-3d}
.service-card-visual:before{content:"";position:absolute;z-index:0;width:76%;aspect-ratio:1;border:1px solid #3556bf16;border-radius:50%;box-shadow:0 0 0 18px #3556bf08,0 0 0 38px #3556bf05;transition:transform .8s cubic-bezier(.2,.7,.2,1),border-color .4s}
.service-card-visual:after{content:"";position:absolute;z-index:0;inset:0;background:linear-gradient(145deg,#fff0,transparent 47%,#16295d0c);pointer-events:none}
.service-card-image{position:relative;z-index:1;display:block;width:100%;height:100%;max-width:none;margin:0;padding:12px;object-fit:contain;object-position:center;border-radius:0;background:transparent;filter:drop-shadow(0 14px 16px #152a5e19);transform:translateZ(22px);transition:transform .6s cubic-bezier(.2,.7,.2,1),filter .4s}
.service-image-fallback{position:relative;z-index:1;display:grid;place-items:center;width:62%;aspect-ratio:1;border-radius:28px;background:linear-gradient(145deg,#4269dc,#162b79);color:#fff;font-size:clamp(56px,7vw,94px);box-shadow:0 24px 45px #1a367c36;transform:translateZ(24px)}
.service-visual-index{position:absolute;z-index:2;top:17px;left:17px;display:grid;place-items:center;width:40px;height:40px;border:1px solid #fff;background:#ffffffdf;color:#294da9;font:800 11px/1 var(--mono);box-shadow:0 7px 20px #172d6917;backdrop-filter:blur(8px)}
.service-visual-caption{position:absolute;z-index:2;right:15px;bottom:14px;padding:7px 9px;background:#14265cdb;color:#fff;font:750 8px/1.3 var(--mono);letter-spacing:.08em}
.service-card-content{display:flex;flex:1;flex-direction:column;align-items:flex-start;padding:23px 23px 20px}
.service-card-content>.service-card-eyebrow{font-size:10px;letter-spacing:.11em;color:#4963a2}
.service-card-content h4{max-width:23ch;margin:10px 0 9px;font-size:clamp(20px,1.8vw,26px);line-height:1.16;color:#142b70}
.service-card-content>p{max-width:42ch;margin:0;color:#4b5874;font-size:14px;line-height:1.65}
.service-card-cta,.software-card-cta{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;margin-top:auto;padding-top:18px;color:#2347a1;font-size:12px;font-weight:850}
.service-card-cta>span,.software-card-cta>span{display:grid;place-items:center;width:31px;height:31px;border:1px solid #cbd5eb;border-radius:50%;font-size:16px;transition:transform .3s,background .3s,color .3s}
.service-grid-complete>.service-card:hover,.service-grid-complete>.service-card:focus-visible{border-color:#9aaddc;box-shadow:0 25px 48px #18357525;transform:perspective(1400px) translateY(-9px) rotateX(2deg) rotateY(-1.1deg)}
.service-card:hover .service-card-visual:before,.service-card:focus-visible .service-card-visual:before{transform:scale(1.09) rotate(14deg);border-color:#3556bf30}
.service-card:hover .service-card-image,.service-card:focus-visible .service-card-image{transform:translate3d(0,-5px,30px) scale(1.035);filter:drop-shadow(0 22px 20px #152a5e25)}
.service-card:hover .service-card-cta>span,.service-card:focus-visible .service-card-cta>span,.software-card:hover .software-card-cta>span{transform:translate(3px,-2px);background:#2347a1;color:#fff}
.card-decoration{display:none}
.services-bottom-note{margin-top:33px;padding-top:19px}
.software-section{display:grid;grid-template-columns:1fr;gap:28px;background:linear-gradient(145deg,#edf2fc,#f6f8fd);border-top:1px solid #d9e2f4;border-bottom:1px solid #d9e2f4}
.software-intro{max-width:780px;padding:0}
.software-intro h2{max-width:18ch}
.software-intro>p{max-width:64ch}
.software-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(15px,2vw,24px);border-top:0;perspective:1500px}
.software-card{display:flex;flex-direction:column;min-width:0;padding:0;overflow:hidden;border:1px solid #d7e1f3;border-left:1px solid #d7e1f3;border-top:4px solid #3157c3;border-radius:5px 23px 5px 5px;background:#fff;box-shadow:0 10px 30px #10286012;transform-style:preserve-3d;transition:transform .42s cubic-bezier(.2,.7,.2,1),box-shadow .42s}
.software-card:nth-child(3n+2){border-top-color:#d29a32;border-left-color:#d7e1f3}
.software-card:nth-child(3n){border-top-color:#7772c3;border-left-color:#d7e1f3}
.software-card.reveal{opacity:0;transform:perspective(1400px) translateY(22px) rotateX(5deg);transition:opacity .65s ease,transform .65s cubic-bezier(.2,.7,.2,1),box-shadow .42s}
.software-card.reveal.is-visible{opacity:1;transform:perspective(1400px) translateY(0) rotateX(0)}
.software-card-visual{position:relative;display:grid;place-items:center;aspect-ratio:1/1;overflow:hidden;background:radial-gradient(ellipse at 50% 43%,#fff,#e7edfb);transform-style:preserve-3d}
.software-card-visual:before{content:"";position:absolute;width:76%;aspect-ratio:1;border:1px solid #3157c31a;border-radius:50%;box-shadow:0 0 0 18px #3157c308,0 0 0 38px #3157c305}
.software-card-image{position:relative;z-index:1;width:100%;height:100%;padding:12px;object-fit:contain;border:0;border-radius:0;transform:translateZ(22px);filter:drop-shadow(0 14px 16px #152a5e19);transition:transform .6s,filter .4s}
.software-image-fallback{position:relative;z-index:1;display:grid;place-items:center;width:62%;aspect-ratio:1;border-radius:28px;background:linear-gradient(145deg,#4269dc,#162b79);color:#fff;font-size:80px;box-shadow:0 24px 45px #1a367c36;transform:translateZ(24px)}
.software-number{position:absolute;z-index:2;top:17px;left:17px;display:grid;place-items:center;width:40px;height:40px;border:1px solid #fff;background:#ffffffdf;color:#294da9;font:800 11px/1 var(--mono);box-shadow:0 7px 20px #172d6917}
.software-card-content{display:flex;flex:1;flex-direction:column;align-items:flex-start;padding:22px}
.software-card-content>.service-card-eyebrow{font-size:10px;letter-spacing:.1em;color:#4963a2}
.software-card-content h3{margin:10px 0 9px;font-size:clamp(19px,1.65vw,23px);line-height:1.2;color:#172f77}
.software-card-content>p{margin:0;color:#4b5874;font-size:13px;line-height:1.65}
.software-card-cta{padding-top:17px}
.software-card:hover{padding:0;background:#fff;box-shadow:0 25px 48px #18357525;transform:perspective(1400px) translateY(-9px) rotateX(2deg) rotateY(-1.1deg)}
.software-card:hover .software-card-image{transform:translate3d(0,-5px,30px) scale(1.035);filter:drop-shadow(0 22px 20px #152a5e25)}
.software-footnote{grid-column:1/-1;justify-content:center;padding:15px 5px;color:#40537e;font-size:10px}
@media(max-width:1050px){.service-grid-complete,.software-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.service-family-heading{grid-template-columns:1fr minmax(240px,.82fr)}}
@media(max-width:760px){.services-section>.section-head{align-items:flex-start;flex-direction:column;gap:12px}.service-family{padding:36px 0}.service-family-heading{grid-template-columns:1fr;gap:8px;margin-bottom:19px}.service-family-heading h3{font-size:clamp(29px,8vw,38px)}.service-family-heading p{font-size:14px}.service-grid-complete,.software-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.service-card-content,.software-card-content{padding:17px 16px}.service-card-content h4{font-size:20px}.service-card-content>p,.software-card-content>p{font-size:13px}.service-visual-caption{right:9px;bottom:9px;padding:6px;font-size:7px}.service-visual-index,.software-number{top:10px;left:10px;width:34px;height:34px;font-size:10px}.service-card-cta,.software-card-cta{font-size:11px}.service-card-cta>span,.software-card-cta>span{width:28px;height:28px}.software-section{gap:22px}}
@media(max-width:560px){.service-grid-complete,.software-grid{grid-template-columns:1fr;gap:17px}.service-card-visual,.software-card-visual{aspect-ratio:1.16/1}.service-card-visual .service-card-image,.software-card-image{padding:9px}.service-card-content,.software-card-content{padding:20px}.service-card-content h4{font-size:22px}.service-card-content>p,.software-card-content>p{font-size:14px}.service-card-cta,.software-card-cta{font-size:12px}.service-visual-caption{font-size:8px}}
@media(prefers-reduced-motion:reduce){.service-card.reveal,.service-card.reveal.is-visible,.software-card.reveal,.software-card.reveal.is-visible{opacity:1;transform:none}.service-grid-complete>.service-card:hover,.service-grid-complete>.service-card:focus-visible,.software-card:hover{transform:none}.service-card-image,.software-card-image{transform:none}}
/* Ignore legacy wide-card image sizing so every service image fills its own frame. */
.service-grid-complete>.service-card:last-child:nth-child(3n+1) .service-card-visual .service-card-image,.service-grid-complete>.service-card:last-child:nth-child(2n+1) .service-card-visual .service-card-image{width:100%;height:100%;max-width:none;margin:0;padding:12px;grid-row:auto;grid-column:auto;object-fit:contain}
/* Services run as one full-width catalogue with matched four-column cards. */
.services-section{width:100%;max-width:none;margin:0;padding-left:max(calc((100vw - 1440px)/2),clamp(22px,4vw,64px));padding-right:max(calc((100vw - 1440px)/2),clamp(22px,4vw,64px))}
.service-grid-complete,.software-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(14px,1.5vw,22px)}
.software-family{margin-top:20px;padding:clamp(22px,3vw,38px);border:1px solid #d7e1f3;border-radius:4px 28px 4px 4px;background:linear-gradient(145deg,#edf2fc,#f8faff)}
.software-family .service-family-heading{margin-bottom:24px}
.software-family .software-card{height:100%}
@media(max-width:1050px){.services-section{padding-left:32px;padding-right:32px}.service-grid-complete,.software-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.services-section{padding-left:16px;padding-right:16px}.software-family{padding:19px;border-radius:4px 20px 4px 4px}}
@media(max-width:560px){.service-grid-complete,.software-grid{grid-template-columns:1fr}}

/* Edge-to-edge catalogue; incomplete rows rebalance instead of leaving a lone card. */
.services-section{padding-left:0!important;padding-right:0!important}
.services-section>.section-head,.services-section>.service-family,.services-section>.services-bottom-note{padding-left:clamp(18px,3vw,48px);padding-right:clamp(18px,3vw,48px)}
.service-grid-complete,.software-grid{grid-template-columns:repeat(12,minmax(0,1fr));gap:clamp(12px,1.4vw,20px)}
.service-grid-complete>.service-card,.software-grid>.software-card{grid-column:span 3}
.service-grid-complete:has(>.service-card:last-child:nth-child(4n+1))>.service-card:last-child,.software-grid:has(>.software-card:last-child:nth-child(4n+1))>.software-card:last-child{grid-column:1/-1;display:grid;grid-template-columns:minmax(230px,.72fr) minmax(0,1.28fr);align-items:stretch}
.service-grid-complete:has(>.service-card:last-child:nth-child(4n+1))>.service-card:last-child .service-card-visual,.software-grid:has(>.software-card:last-child:nth-child(4n+1))>.software-card:last-child .software-card-visual{height:100%;min-height:245px;aspect-ratio:auto}
.service-grid-complete:has(>.service-card:last-child:nth-child(4n+1))>.service-card:last-child .service-card-image,.software-grid:has(>.software-card:last-child:nth-child(4n+1))>.software-card:last-child .software-card-image{height:100%;padding:20px}
.service-grid-complete:has(>.service-card:last-child:nth-child(4n+2))>.service-card:nth-last-child(-n+2),.software-grid:has(>.software-card:last-child:nth-child(4n+2))>.software-card:nth-last-child(-n+2){grid-column:span 6}
.service-grid-complete:has(>.service-card:last-child:nth-child(4n+3))>.service-card:nth-last-child(-n+3),.software-grid:has(>.software-card:last-child:nth-child(4n+3))>.software-card:nth-last-child(-n+3){grid-column:span 4}
.service-card-visual,.software-card-visual{min-width:0}
.service-visual-index,.software-number{font:800 11px/1 var(--mono)}
@media(max-width:1050px){.service-grid-complete,.software-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.service-grid-complete>.service-card,.software-grid>.software-card{grid-column:span 2}.service-grid-complete:has(>.service-card:last-child:nth-child(2n+1))>.service-card:last-child,.software-grid:has(>.software-card:last-child:nth-child(2n+1))>.software-card:last-child{grid-column:1/-1;display:grid;grid-template-columns:minmax(180px,.7fr) minmax(0,1.3fr)}.service-grid-complete:has(>.service-card:last-child:nth-child(2n+1))>.service-card:last-child .service-card-visual,.software-grid:has(>.software-card:last-child:nth-child(2n+1))>.software-card:last-child .software-card-visual{height:100%;min-height:210px;aspect-ratio:auto}}
@media(max-width:560px){.service-grid-complete,.software-grid{grid-template-columns:1fr}.service-grid-complete>.service-card,.software-grid>.software-card{grid-column:1/-1}.service-grid-complete:has(>.service-card:last-child:nth-child(2n+1))>.service-card:last-child,.software-grid:has(>.software-card:last-child:nth-child(2n+1))>.software-card:last-child{display:flex}.service-grid-complete:has(>.service-card:last-child:nth-child(2n+1))>.service-card:last-child .service-card-visual,.software-grid:has(>.software-card:last-child:nth-child(2n+1))>.software-card:last-child .software-card-visual{min-height:0;aspect-ratio:1.16/1}}

.services-section>.section-head,.services-section>.service-family,.services-section>.services-bottom-note{padding-left:0;padding-right:0}


/* Final services layout: full-bleed section and rows that always use their space. */
.services-section{position:relative;width:100vw;max-width:none;margin-left:calc(50% - 50vw);margin-right:0;padding-left:clamp(16px,2vw,28px)!important;padding-right:clamp(16px,2vw,28px)!important;box-sizing:border-box}
.services-section>.section-head,.services-section>.service-family,.services-section>.services-bottom-note{padding-left:0;padding-right:0}
.service-grid-complete,.software-grid{--service-card-gap:clamp(12px,1.4vw,20px);display:flex;flex-wrap:wrap;align-items:stretch;gap:var(--service-card-gap);width:100%;perspective:1500px}
.service-grid-complete>.service-card,.software-grid>.software-card{flex:1 1 calc(25% - 20px);min-width:0;grid-column:auto}
.service-grid-complete:has(>.service-card:last-child:nth-child(4n+1))>.service-card:last-child,.software-grid:has(>.software-card:last-child:nth-child(4n+1))>.software-card:last-child{display:grid;grid-template-columns:minmax(230px,.72fr) minmax(0,1.28fr);align-items:stretch}
.service-grid-complete:has(>.service-card:last-child:nth-child(4n+1))>.service-card:last-child .service-card-visual,.software-grid:has(>.software-card:last-child:nth-child(4n+1))>.software-card:last-child .software-card-visual{height:100%;min-height:245px;aspect-ratio:auto}
.service-grid-complete:has(>.service-card:last-child:nth-child(4n+1))>.service-card:last-child .service-card-image,.software-grid:has(>.software-card:last-child:nth-child(4n+1))>.software-card:last-child .software-card-image{height:100%;padding:20px}
@media(max-width:1050px){.service-grid-complete,.software-grid{--service-card-gap:14px}.service-grid-complete>.service-card,.software-grid>.software-card{flex-basis:calc(50% - 7px)}}
@media(max-width:1050px){.service-grid-complete:has(>.service-card:last-child:nth-child(2n+1))>.service-card:last-child,.software-grid:has(>.software-card:last-child:nth-child(2n+1))>.software-card:last-child{display:grid;grid-template-columns:minmax(190px,.72fr) minmax(0,1.28fr)}.service-grid-complete:has(>.service-card:last-child:nth-child(2n+1))>.service-card:last-child .service-card-visual,.software-grid:has(>.software-card:last-child:nth-child(2n+1))>.software-card:last-child .software-card-visual{height:100%;min-height:220px;aspect-ratio:auto}}
@media(max-width:560px){.service-grid-complete,.software-grid{--service-card-gap:14px}.service-grid-complete>.service-card,.software-grid>.software-card{flex-basis:100%}.service-grid-complete:has(>.service-card:last-child:nth-child(2n+1))>.service-card:last-child,.software-grid:has(>.software-card:last-child:nth-child(2n+1))>.software-card:last-child{display:flex}.service-grid-complete:has(>.service-card:last-child:nth-child(2n+1))>.service-card:last-child .service-card-visual,.software-grid:has(>.software-card:last-child:nth-child(2n+1))>.software-card:last-child .software-card-visual{min-height:0;aspect-ratio:1.16/1}}

/* Final full-width service catalogue: no viewport breakout, no partial cards. */
html,body{max-width:100%;overflow-x:clip}
.services-section{position:relative;width:100%;max-width:none;margin:0;padding-left:clamp(16px,2vw,30px)!important;padding-right:clamp(16px,2vw,30px)!important;box-sizing:border-box}
.services-section>.section-head,.services-section>.service-family,.services-section>.services-bottom-note{padding-left:0;padding-right:0}
.service-grid-complete,.software-grid{display:flex;flex-flow:row wrap;align-items:stretch;gap:clamp(14px,1.5vw,22px);width:100%;max-width:none;perspective:1500px}
.service-grid-complete>.service-card,.software-grid>.software-card{flex:1 1 calc(25% - 20px);min-width:0;grid-column:auto}
.service-grid-complete:has(>.service-card:last-child:nth-child(4n+1))>.service-card:last-child,.software-grid:has(>.software-card:last-child:nth-child(4n+1))>.software-card:last-child{display:grid;grid-template-columns:minmax(230px,.72fr) minmax(0,1.28fr);align-items:stretch}
.service-grid-complete:has(>.service-card:last-child:nth-child(4n+1))>.service-card:last-child .service-card-visual,.software-grid:has(>.software-card:last-child:nth-child(4n+1))>.software-card:last-child .software-card-visual{height:100%;min-height:245px;aspect-ratio:auto}
@media(max-width:1050px){.service-grid-complete,.software-grid{gap:16px}.service-grid-complete>.service-card,.software-grid>.software-card{flex-basis:calc(50% - 8px)}.service-grid-complete:has(>.service-card:last-child:nth-child(2n+1))>.service-card:last-child,.software-grid:has(>.software-card:last-child:nth-child(2n+1))>.software-card:last-child{display:grid;grid-template-columns:minmax(190px,.72fr) minmax(0,1.28fr)}.service-grid-complete:has(>.service-card:last-child:nth-child(2n+1))>.service-card:last-child .service-card-visual,.software-grid:has(>.software-card:last-child:nth-child(2n+1))>.software-card:last-child .software-card-visual{height:100%;min-height:220px;aspect-ratio:auto}}
@media(max-width:560px){.service-grid-complete,.software-grid{gap:14px}.service-grid-complete>.service-card,.software-grid>.software-card{flex-basis:100%}.service-grid-complete:has(>.service-card:last-child:nth-child(2n+1))>.service-card:last-child,.software-grid:has(>.software-card:last-child:nth-child(2n+1))>.software-card:last-child{display:flex}.service-grid-complete:has(>.service-card:last-child:nth-child(2n+1))>.service-card:last-child .service-card-visual,.software-grid:has(>.software-card:last-child:nth-child(2n+1))>.software-card:last-child .software-card-visual{min-height:0;aspect-ratio:1.16/1}}
.service-family{border-top:1px solid #d6e0f2}
.service-family-heading{padding:0 0 22px;border-bottom:1px solid #e0e7f4}
.service-family-heading>span{display:inline-flex;align-items:center;gap:10px;color:#3157c8}
.service-family-heading>span:before{content:"";width:28px;height:2px;background:#f0a72c}
.service-card,.software-card{border-radius:5px 22px 5px 5px}
.service-card-content,.software-card-content{min-width:0}
.service-card-content h4,.software-card-content h3{overflow-wrap:anywhere}
@media(prefers-reduced-motion:reduce){.service-card.reveal,.software-card.reveal{transform:none}}
/* Balanced bento rows pair leftover services with a useful branded next step. */
.service-grid-complete,.software-grid{display:flex;flex-flow:row wrap;align-items:stretch;gap:clamp(14px,1.5vw,22px);width:100%;max-width:none}
.service-grid-complete>.service-card,.software-grid>.software-card,.service-grid-complete>.service-next-step,.software-grid>.service-next-step{display:flex;flex:1 1 calc(25% - 20px);flex-direction:column;min-width:0;grid-column:auto}
.service-grid-complete>.service-card:last-child,.software-grid>.software-card:last-child{display:flex;flex-direction:column;grid-template-columns:none}
.service-card-visual,.software-card-visual{height:auto;min-height:0;aspect-ratio:1/1}
.service-card-visual .service-card-image,.software-card-image{width:100%;height:100%;padding:12px;object-fit:contain}
.service-next-step{position:relative;isolation:isolate;justify-content:flex-start;overflow:hidden;padding:clamp(22px,2.4vw,34px);border:1px solid #253f9e;border-top:4px solid #f1ad36;border-radius:5px 22px 5px 5px;background:linear-gradient(145deg,#142b79 0%,#203f9f 62%,#3157c8 100%);color:#fff;box-shadow:0 12px 34px #1835751a;transition:transform .3s,box-shadow .3s}
.service-next-step:before{content:"";position:absolute;z-index:-1;width:190px;height:190px;right:-62px;top:-72px;border:1px solid #ffffff28;border-radius:50%;box-shadow:0 0 0 17px #ffffff0b,0 0 0 36px #ffffff08}
.service-next-step:hover{transform:translateY(-5px);box-shadow:0 20px 40px #18357530}
.service-next-step-kicker{font:800 10px/1.4 var(--mono);letter-spacing:.12em;color:#ffd37b}
.service-next-step strong{max-width:16ch;margin:20px 0 10px;font:850 clamp(23px,2.2vw,31px)/1.08 var(--display);letter-spacing:-.035em}
.service-next-step p{max-width:34ch;margin:0;color:#e1e8ff;font-size:14px;line-height:1.65}
.service-next-step-link{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:auto;padding-top:22px;color:#fff;font-size:12px;font-weight:850}
.service-next-step-link>span{display:grid;place-items:center;width:32px;height:32px;border:1px solid #ffffff70;border-radius:50%;font-size:17px}
.service-next-step-mark{position:absolute;right:23px;top:22px;color:#ffd37b;font-size:20px}
@media(max-width:1050px){.service-grid-complete,.software-grid{gap:16px}.service-grid-complete>.service-card,.software-grid>.software-card,.service-grid-complete>.service-next-step,.software-grid>.service-next-step{flex-basis:calc(50% - 8px)}.service-card-visual,.software-card-visual{aspect-ratio:1/1}.service-next-step{padding:23px}}
@media(max-width:560px){.service-grid-complete,.software-grid{gap:14px}.service-grid-complete>.service-card,.software-grid>.software-card,.service-grid-complete>.service-next-step,.software-grid>.service-next-step{flex-basis:100%}.service-next-step{min-height:255px}.service-card-visual,.software-card-visual{aspect-ratio:1.1/1}}
/* Service families use one measured grid; the 3D invitation fills unused cells. */
.service-grid-complete,.software-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));align-items:stretch;gap:clamp(14px,1.5vw,22px);width:100%;max-width:none}
.service-grid-complete>.service-card,.software-grid>.software-card{display:flex;grid-column:span 1;min-width:0;min-height:0;width:100%}
.service-grid-complete>.service-next-step-r1,.software-grid>.service-next-step-r1{grid-column:span 3}
.service-grid-complete>.service-next-step-r2,.software-grid>.service-next-step-r2{grid-column:span 2}
.service-grid-complete>.service-next-step-r3,.software-grid>.service-next-step-r3{grid-column:span 1}
.service-grid-complete>.service-next-step,.software-grid>.service-next-step{position:relative;display:grid;grid-template-rows:minmax(230px,1fr) auto;align-items:stretch;min-width:0;min-height:0;padding:0;overflow:hidden;border:1px solid #d7e1f3;border-top:4px solid #f0ad35;border-radius:5px 24px 5px 5px;background:#fff;color:#172b63;box-shadow:0 10px 30px #132d7010}
.service-next-step:before,.service-next-step-mark,.service-next-step-points{display:none}
.service-next-step-visual{position:relative;isolation:isolate;display:grid;place-items:center;width:100%;height:clamp(230px,26vw,320px);min-height:0;overflow:hidden;background:radial-gradient(ellipse at 50% 45%,#fff 0%,#eef3ff 66%,#e4ebfb 100%)}
.service-next-step-visual:before{content:"";position:absolute;z-index:0;width:70%;aspect-ratio:1;border:1px solid #3556bf16;border-radius:50%;box-shadow:0 0 0 18px #3556bf08,0 0 0 38px #3556bf05}
.service-next-step-visual img{position:relative;z-index:1;width:100%;height:100%;padding:clamp(10px,1.6vw,22px);object-fit:contain;filter:drop-shadow(0 14px 16px #152a5e19);transition:transform .5s}
.service-next-step:hover .service-next-step-visual img{transform:translateY(-5px) scale(1.035)}
.service-next-step-stamp{position:absolute;z-index:2;top:15px;left:15px;display:grid;place-content:center;width:42px;height:42px;border:1px solid #fff;background:#ffffffed;color:#294da9;text-align:center;font:800 9px/1.2 var(--mono);box-shadow:0 7px 20px #172d6917}
.service-next-step-visual .service-visual-caption{right:12px;bottom:12px}
.service-next-step-content{position:relative;inset:auto;z-index:2;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;width:100%;min-width:0;min-height:202px;padding:19px 20px;border:0;border-top:1px solid #ffffff30;border-radius:0;background:#172f80;color:#fff;box-shadow:none;backdrop-filter:none}
.service-next-step-content>.service-card-eyebrow{color:#ffd37b;font-size:12px;line-height:1.45;letter-spacing:.1em}
.service-next-step-content>strong{max-width:24ch;margin:9px 0 8px;color:#fff;font:800 clamp(20px,1.8vw,25px)/1.16 var(--display);letter-spacing:-.03em}
.service-next-step-content>p{max-width:48ch;margin:0;color:#f3f6ff!important;font-size:15px!important;line-height:1.55}
.service-next-step-content>.service-next-step-link{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;margin-top:auto;padding-top:13px;color:#fff;font-size:14px;font-weight:750}
.service-next-step-content>.service-next-step-link>span{display:grid;place-items:center;width:30px;height:30px;border:1px solid #ffffff80;border-radius:50%;color:#fff;font-size:16px}
@media(max-width:1050px){.service-grid-complete,.software-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.service-grid-complete>.service-card,.software-grid>.software-card{grid-column:span 1}.service-grid-complete>.service-next-step-r1,.software-grid>.service-next-step-r1,.service-grid-complete>.service-next-step-r2,.software-grid>.service-next-step-r2{grid-column:span 2}.service-grid-complete>.service-next-step-r3,.software-grid>.service-next-step-r3{grid-column:span 1}.service-next-step-visual{height:clamp(220px,34vw,300px)}.service-next-step-content{min-height:190px;padding:17px 18px}.service-next-step-content>strong{font-size:22px}}
@media(max-width:560px){.service-grid-complete,.software-grid{grid-template-columns:minmax(0,1fr);gap:14px}.service-grid-complete>.service-card,.software-grid>.software-card,.service-grid-complete>.service-next-step,.software-grid>.service-next-step,.service-grid-complete>.service-next-step-r1,.software-grid>.service-next-step-r1,.service-grid-complete>.service-next-step-r2,.software-grid>.service-next-step-r2,.service-grid-complete>.service-next-step-r3,.software-grid>.service-next-step-r3{grid-column:span 1}.service-next-step-visual{height:auto;aspect-ratio:1.2/1}.service-next-step-content{min-height:0;padding:18px}.service-next-step-content>strong{font-size:22px}.service-card-visual,.software-card-visual{aspect-ratio:1.1/1}}/* Slide the category artwork in as its service group reaches the viewport. */
.service-grid-complete>.service-next-step.reveal,.software-grid>.service-next-step.reveal{opacity:0;transform:translateX(76px) perspective(1200px) rotateY(-4deg);transition:opacity .75s ease,transform .85s cubic-bezier(.18,.72,.22,1),box-shadow .4s}
.service-grid-complete>.service-next-step.reveal.is-visible,.software-grid>.service-next-step.reveal.is-visible{opacity:1;transform:translateX(0) perspective(1200px) rotateY(0)}
.service-next-step-visual img{translate:34px 0;scale:.94;opacity:.35;transition:translate .85s cubic-bezier(.18,.72,.22,1) .16s,scale .85s cubic-bezier(.18,.72,.22,1) .16s,opacity .6s ease .16s}
.service-next-step.is-visible .service-next-step-visual img{translate:0 0;scale:1;opacity:1;animation:service-art-float 5.5s ease-in-out 1.05s infinite}
.service-next-step:hover .service-next-step-visual img{scale:1.035}
@keyframes service-art-float{0%,100%{translate:0 0}50%{translate:0 -9px}}
@media(prefers-reduced-motion:reduce){.service-grid-complete>.service-next-step.reveal,.software-grid>.service-next-step.reveal,.service-grid-complete>.service-next-step.reveal.is-visible,.software-grid>.service-next-step.reveal.is-visible{opacity:1;transform:none;transition:none}.service-next-step-visual img,.service-next-step.is-visible .service-next-step-visual img{translate:none;scale:1;opacity:1;animation:none;transition:none}}
/* Software artwork cards use a full-width caption below the art, never a narrow overlay. */
.software-grid>.software-next-step{grid-template-rows:minmax(250px,1fr) auto;min-height:430px}
.software-grid>.software-next-step .service-next-step-visual{min-height:250px;height:auto}
.software-grid>.software-next-step .service-next-step-content{position:relative;inset:auto;width:auto;min-height:0;margin:0;padding:18px 20px;border:0;border-top:1px solid #ffffff30;border-radius:0;background:linear-gradient(145deg,#142b79,#203f9f);backdrop-filter:none}
.software-grid>.software-next-step .service-next-step-content>strong{max-width:24ch;margin:7px 0;color:#fff;font-size:clamp(19px,1.5vw,23px)}
.software-grid>.software-next-step .service-next-step-content>p{max-width:48ch}
.software-grid>.software-next-step .service-next-step-content>.service-next-step-link{margin-top:12px;padding:0}
@media(max-width:1050px){.software-grid>.software-next-step{min-height:0}.software-grid>.software-next-step .service-next-step-visual{min-height:220px;aspect-ratio:1.15/1}.software-grid>.software-next-step .service-next-step-content{width:auto;padding:17px 18px}}
@media(max-width:560px){.software-grid>.software-next-step{min-height:0}.software-grid>.software-next-step .service-next-step-visual{min-height:0;aspect-ratio:1.25/1}.software-grid>.software-next-step .service-next-step-content{min-height:0;padding:17px 18px}}
.client-strip{position:relative;overflow:hidden;padding:clamp(58px,7vw,92px) 0 30px;border-top:1px solid #dce4f3;border-bottom:1px solid #dce4f3;background:linear-gradient(115deg,#f8faff,#eef3fd 52%,#fafbff)}
.client-strip:before{position:absolute;top:-190px;right:-120px;width:430px;height:430px;border:1px solid #3157c80c;border-radius:50%;box-shadow:0 0 0 28px #3157c806,0 0 0 58px #3157c804;content:"";pointer-events:none}
.client-strip-inner{position:relative}
.client-strip-heading{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(260px,.8fr);align-items:end;gap:42px;margin-bottom:32px}
.client-strip-heading h2{margin:12px 0 0;color:#14275f;font:850 clamp(34px,4vw,54px)/1.02 var(--display);letter-spacing:-.055em}
.client-strip-heading h2 em{color:#365bd0;font-style:normal}
.client-strip-heading>p{max-width:49ch;margin:0 0 4px;color:#56627a;font-size:14px;line-height:1.7}
.client-marquee{position:relative;overflow:hidden;padding:10px 0 20px;mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent)}
.client-marquee-track,.client-marquee-set{display:flex;width:max-content;align-items:stretch;gap:16px}
.client-marquee-track{animation:client-logo-marquee 38s linear infinite}
.client-marquee-set{padding-right:16px}
.client-logo-card{position:relative;display:flex;flex:0 0 205px;align-items:center;justify-content:center;gap:10px;height:112px;padding:18px 16px 25px;overflow:hidden;border:1px solid #d8e1f1;border-top:3px solid #365bd0;border-radius:4px 18px 4px 4px;background:#fff;color:#15295f;box-shadow:0 10px 26px #1d34700b;transition:transform .3s ease,border-color .3s,box-shadow .3s}
.client-logo-card:nth-child(3n + 2){border-top-color:#e7aa36}.client-logo-card:nth-child(3n){border-top-color:#43a8ad}
.client-logo-card:hover,.client-logo-card:focus-visible{transform:translateY(-4px);border-color:#b9c9eb;box-shadow:0 16px 30px #1d34701a;outline:none}
.client-logo-card img{display:block;max-width:148px;max-height:48px;object-fit:contain}
.client-logo-mark{display:grid;flex:0 0 36px;place-items:center;width:36px;height:36px;border:1px solid #d8e3fb;border-radius:50%;background:linear-gradient(145deg,#f4f7ff,#e7edff);color:#294da9;font:850 15px/1 var(--display)}
.client-logo-wordmark{max-width:130px;color:#182b5e;font:800 16px/1.1 var(--display);letter-spacing:-.035em}
.client-logo-sample{position:absolute;right:12px;bottom:9px;color:#74809b;font:700 8px/1 var(--mono);letter-spacing:.11em}
.client-strip-foot{display:flex;justify-content:space-between;gap:16px;padding-top:15px;border-top:1px solid #d8e1f1;color:#6b7893;font:700 9px/1.5 var(--mono);letter-spacing:.08em}
.client-strip-foot>span:first-child{display:flex;align-items:center;gap:8px}.client-strip-foot b{color:#e4a32f}
@keyframes client-logo-marquee{to{transform:translateX(-50%)}}
@media(hover:hover){.client-marquee:hover .client-marquee-track,.client-marquee:focus-within .client-marquee-track{animation-play-state:paused}}
@media(max-width:700px){.client-strip{padding:48px 0 24px}.client-strip-heading{grid-template-columns:1fr;gap:12px;margin-bottom:22px}.client-strip-heading h2{font-size:clamp(34px,9vw,44px)}.client-strip-heading>p{font-size:13px}.client-marquee-track,.client-marquee-set{gap:11px}.client-marquee-set{padding-right:11px}.client-logo-card{flex-basis:170px;height:100px}.client-logo-wordmark{font-size:14px}.client-strip-foot{flex-direction:column;gap:6px;font-size:8px}}
@media(prefers-reduced-motion:reduce){.client-marquee-track{animation:none}.client-marquee{overflow-x:auto;mask-image:none}.client-marquee-track{width:max-content}}
.pathways-section{padding-top:clamp(56px,7vw,88px);padding-bottom:clamp(58px,7vw,92px);border-top:1px solid #dce4f1;background:#fff}
.pathways-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:28px;margin-bottom:30px}
.pathways-heading h2{margin:13px 0 10px;color:#14275f;font:850 clamp(34px,4vw,52px)/1.03 var(--display);letter-spacing:-.055em}
.pathways-heading h2 em{color:#365bd0;font-style:normal}
.pathways-heading p{max-width:58ch;margin:0;color:#56627a;font-size:14px;line-height:1.65}
.pathways-heading .section-side-link{flex:0 0 auto;margin-bottom:4px}
.pathways-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.pathway-card{display:flex;min-width:0;flex-direction:column;overflow:hidden;border:1px solid #d8e1f1;border-top:4px solid #3157c8;border-radius:4px 22px 4px 4px;background:#fff;color:#15295f;box-shadow:0 12px 34px #1d34700b;transition:transform .35s ease,border-color .3s,box-shadow .35s}
.pathway-card-2{border-top-color:#e5a432}.pathway-card-3{border-top-color:#39a0a8}
.pathway-card:hover,.pathway-card:focus-visible{transform:translateY(-6px);border-color:#bac9e7;box-shadow:0 20px 40px #1d347018;outline:none}
.pathway-card.reveal{opacity:0;transform:translateY(24px);transition:opacity .65s ease,transform .65s cubic-bezier(.2,.7,.2,1),box-shadow .35s,border-color .3s}
.pathway-card.reveal.is-visible{opacity:1;transform:translateY(0)}
.pathway-card.reveal:hover,.pathway-card.reveal:focus-visible{transform:translateY(-6px)}
.pathway-art{position:relative;isolation:isolate;display:grid;place-items:center;height:178px;overflow:hidden;background:radial-gradient(ellipse at 50% 48%,#fff 0%,#eef3ff 70%,#e4ebfb 100%)}
.pathway-card-2 .pathway-art{background:radial-gradient(ellipse at 50% 48%,#fff 0%,#fff6e5 70%,#f6e7c8 100%)}
.pathway-card-3 .pathway-art{background:radial-gradient(ellipse at 50% 48%,#fff 0%,#eaf7f6 70%,#d8efec 100%)}
.pathway-orbit{position:absolute;z-index:-1;width:150px;aspect-ratio:1;border:1px solid #3157c829;border-radius:50%;box-shadow:0 0 0 17px #3157c809,0 0 0 37px #3157c805}
.pathway-orbit-two{width:205px;opacity:.55}
.pathway-core{position:relative;display:grid;place-items:center;width:76px;height:76px;border:1px solid #ffffffb0;border-radius:22px 8px 22px 8px;background:linear-gradient(145deg,#4771e5,#172f83);color:#fff;box-shadow:0 18px 32px #1633783b;transform:rotate(-8deg);transition:transform .45s cubic-bezier(.2,.7,.2,1)}
.pathway-core:before{font:800 38px/1 var(--display)}
.pathway-core-1:before{content:"↗"}.pathway-core-2:before{content:"◈"}.pathway-core-3:before{content:"⌘"}
.pathway-card-2 .pathway-core{background:linear-gradient(145deg,#f3bd54,#bb7820)}
.pathway-card-3 .pathway-core{background:linear-gradient(145deg,#50b8b6,#176d80)}
.pathway-card:hover .pathway-core{transform:rotate(0) translateY(-4px) scale(1.05)}
.pathway-chip{position:absolute;z-index:1;padding:7px 9px;border:1px solid #fff;background:#ffffffd9;color:#38548e;font:800 9px/1 var(--mono);letter-spacing:.08em;box-shadow:0 7px 18px #1a326016;backdrop-filter:blur(6px)}
.pathway-chip-one{top:24px;left:25px}.pathway-chip-two{right:26px;top:35px}.pathway-chip-three{right:20px;bottom:20px;color:#65728c;font-size:8px}
.pathway-copy{display:flex;flex:1;flex-direction:column;align-items:flex-start;padding:21px 22px 19px}
.pathway-eyebrow{color:#526da9;font:750 9px/1.4 var(--mono);letter-spacing:.1em}
.pathway-copy h3{margin:9px 0 8px;color:#172b65;font:850 clamp(21px,2vw,26px)/1.12 var(--display);letter-spacing:-.035em}
.pathway-copy>p{margin:0 0 15px;color:#56627a;font-size:13px;line-height:1.6}
.pathway-services{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:16px}
.pathway-services>span{padding:6px 8px;border:1px solid #dce4f3;border-radius:2px;background:#f7f9fe;color:#40547e;font-size:10px;font-weight:700;line-height:1.25}
.pathway-cta{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;margin-top:auto;padding-top:12px;border-top:1px solid #e4eaf4;color:#2347a1;font-size:12px;font-weight:800}
.pathway-cta>span{display:grid;place-items:center;width:27px;height:27px;border:1px solid #d6e0f1;border-radius:50%;font-size:15px;transition:transform .3s,background .3s,color .3s}
.pathway-card:hover .pathway-cta>span{transform:translate(2px,-2px);background:#1d398f;color:#fff}
@media(max-width:900px){.pathways-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.pathway-card-3{grid-column:1/-1;display:grid;grid-template-columns:minmax(220px,.8fr) minmax(0,1.2fr)}.pathway-card-3 .pathway-art{height:100%;min-height:250px}.pathway-card-3 .pathway-copy{padding:25px}}
@media(max-width:600px){.pathways-section{padding-top:48px;padding-bottom:54px}.pathways-heading{align-items:flex-start;flex-direction:column;gap:14px;margin-bottom:22px}.pathways-heading h2{font-size:clamp(34px,9vw,43px)}.pathways-heading p{font-size:13px}.pathways-grid{grid-template-columns:1fr;gap:13px}.pathway-card-3{grid-column:auto;display:flex}.pathway-art{height:160px}.pathway-card-3 .pathway-art{height:160px;min-height:0}.pathway-copy,.pathway-card-3 .pathway-copy{padding:18px}.pathway-copy h3{font-size:23px}}
@media(prefers-reduced-motion:reduce){.pathway-card.reveal,.pathway-card.reveal.is-visible,.pathway-card.reveal:hover,.pathway-card.reveal:focus-visible{opacity:1;transform:none;transition:none}.pathway-core{transition:none}}
.reviews-section{padding:clamp(52px,7vw,84px) max(calc((100vw - 1220px)/2),30px);background:#eff3fc}
.reviews-heading{max-width:1220px;margin:0 auto 24px;align-items:end;gap:32px}
.reviews-heading h2{font-size:clamp(38px,4.4vw,56px);letter-spacing:-.05em}
.reviews-heading>p{max-width:46ch;font-size:14px;line-height:1.65}
.review-slider{max-width:1220px;margin:auto}
.review-slider{position:relative}
.review-slider-controls{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:13px;color:#697793;font:750 9px/1.4 var(--mono);letter-spacing:.1em}
.review-slider-controls>span b{margin-left:7px;color:#294ba8}
.review-slider-controls>div{display:flex;gap:7px}
.review-slider-controls button{display:grid;place-items:center;width:42px;height:42px;border:1px solid #cbd6eb;border-radius:50%;background:#fff;color:#1c398c;font-size:18px;cursor:pointer;box-shadow:0 5px 15px #152c6410;transition:background .2s,color .2s,transform .2s,box-shadow .2s}
.review-slider-controls button:hover,.review-slider-controls button:focus-visible{transform:translateY(-2px);background:#1c398c;color:#fff;box-shadow:0 9px 20px #1c398c28;outline:none}
.review-slider-viewport{overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;border-radius:5px}
.review-slider-viewport::-webkit-scrollbar{display:none}
.review-slider-track{display:flex;align-items:stretch;gap:16px;width:max-content;min-width:100%;padding:2px 1px 14px}
.review-slider-track>.real-review-card{position:relative;display:flex;flex:0 0 min(380px,calc((100vw - 92px)/3));min-width:0;min-height:260px;flex-direction:column;padding:22px 23px 19px;border:1px solid #dbe3f2;border-top:3px solid #365bc9;border-radius:5px 20px 5px 5px;background:linear-gradient(150deg,#fff 0%,#fff 72%,#f8faff 100%);box-shadow:0 12px 30px #1a2e6612;scroll-snap-align:start;transition:transform .25s ease,box-shadow .25s ease}
.review-slider-track>.real-review-card:hover{transform:translateY(-4px);box-shadow:0 18px 35px #1a2e661c}
.review-card-top{display:flex;align-items:center;justify-content:space-between;gap:12px}
.review-source-chip{display:inline-flex;align-items:center;gap:7px;color:#65718c;font:750 9px/1.3 var(--mono);letter-spacing:.06em}
.review-source-icon{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:#edf2ff;color:#3158bd;font:850 13px/1 var(--display)}
.review-source-facebook{background:#e9efff;color:#2864c5}
.review-stars{color:#e7a533;font-size:14px;letter-spacing:.12em;white-space:nowrap}
.real-review-card blockquote{flex:1;margin:20px 0;color:#354361;font-size:14px;line-height:1.75;font-weight:520}
.review-card-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:auto;padding-top:14px;border-top:1px solid #e4eaf4}
.review-person{color:#1d326d;font-size:12px;font-weight:800}
.review-date{color:#7c879e;font-size:10px}
.review-original-link{display:inline-flex;align-items:center;gap:5px;margin-top:11px;color:#3155b4;font-size:10px;font-weight:750}
.review-original-link span{font-size:14px}
.review-slider-controls>span{display:flex;align-items:center;gap:10px}
.review-slider-controls>span:before{width:22px;height:2px;background:#e5a72e;content:""}
.review-slider-track>.real-review-card:has(.review-source-client){border-top-color:#e2a52e}
.review-source-client{background:#fff5df;color:#8a641c}
.review-slider-track>.review-empty-card{display:flex;flex:0 0 min(100%,560px);min-height:220px;flex-direction:column;justify-content:center;align-items:flex-start;padding:26px 30px;border:1px solid #dbe3f2;border-left:4px solid #e6ac39;background:#fff;box-shadow:0 9px 24px #1a2e6610}
.review-empty-card h3{margin:13px 0 7px;color:#1a306f;font:850 clamp(22px,2.4vw,30px)/1.15 var(--display)}
.review-empty-card p{max-width:55ch;margin:0 0 15px;color:#586681;font-size:13px;line-height:1.65}
.reviews-integrity{display:flex;justify-content:space-between;gap:18px;max-width:1220px;margin:7px auto 0;padding-top:14px;border-top:1px solid #d4deef;color:#6b7893;font:700 9px/1.5 var(--mono);letter-spacing:.08em}
.reviews-integrity>span:first-child{display:flex;align-items:center;gap:8px}
.reviews-integrity a{color:#2347a1}
@media(max-width:760px){.reviews-section{padding:46px 16px}.reviews-heading{align-items:flex-start;flex-direction:column;gap:8px}.reviews-heading h2{font-size:39px;letter-spacing:-.04em}.reviews-heading>p{font-size:13px}.review-slider-track{gap:11px}.review-slider-track>.real-review-card{flex-basis:min(86vw,420px);min-height:230px;padding:17px}.review-slider-track>.review-empty-card{flex-basis:min(88vw,440px);padding:22px}.reviews-integrity{flex-direction:column;gap:7px;font-size:8px}}
@media(prefers-reduced-motion:reduce){.review-slider-viewport{scroll-behavior:auto}.review-slider-controls button{transition:none}}
.review-sample-label{display:inline-flex;align-items:center;min-height:25px;padding:6px 8px;border:1px solid #e6bd69;background:#fff7e5;color:#805714;font:800 8px/1.25 var(--mono);letter-spacing:.045em}
.review-slider-track>.real-review-card:has(.review-sample-label){border-top-color:#e2a52e}
.review-sample-admin-label{display:inline-block;margin:7px 0;padding:6px 8px;border:1px solid #e6bd69;background:#fff7e5;color:#805714;font:800 8px/1.35 var(--mono);letter-spacing:.04em}
.review-slider-viewport{overflow:hidden;scroll-snap-type:none;mask-image:linear-gradient(90deg,transparent,#000 2.5%,#000 97.5%,transparent)}
.review-slider-track{width:max-content;min-width:0;gap:0;padding:2px 0 16px;animation:review-card-marquee 38s linear infinite;will-change:transform}
.review-slider-track>.real-review-card{margin-right:16px;scroll-snap-align:none}
.review-slider:hover .review-slider-track,.review-slider:focus-within .review-slider-track{animation-play-state:paused}
.review-slider-track>.real-review-card[aria-hidden="true"]{pointer-events:none}
@keyframes review-card-marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media(max-width:760px){.review-slider-track>.real-review-card{margin-right:11px}}
@media(prefers-reduced-motion:reduce){.review-slider-track{animation:none;transform:none;will-change:auto}.review-slider-viewport{overflow-x:auto;scroll-snap-type:x mandatory}}
.review-slider-track>.real-review-card{isolation:isolate;min-height:280px;padding:24px 25px 20px;overflow:hidden;border:1px solid #e0e6f2;border-top:1px solid #e0e6f2;border-radius:17px;background:linear-gradient(145deg,#fff 0%,#fff 66%,#f1f5ff 100%);box-shadow:0 16px 38px #14295d14}
.review-slider-track>.real-review-card:before{position:absolute;z-index:0;top:34px;right:16px;color:#edf1fb;content:"“";font:900 150px/.8 Georgia,serif;pointer-events:none}
.review-slider-track>.real-review-card:after{position:absolute;top:0;left:0;width:100%;height:4px;background:linear-gradient(90deg,#2749ae 0%,#436be1 62%,#f0b33e 100%);content:""}
.review-slider-track>.real-review-card:nth-child(3n + 2):after{background:linear-gradient(90deg,#e8aa37,#f6d27d)}
.review-slider-track>.real-review-card:nth-child(3n):after{background:linear-gradient(90deg,#319d9f,#77c8bf)}
.review-slider-track>.real-review-card:has(.review-sample-label){border-color:#eadfbe;background:linear-gradient(145deg,#fff 0%,#fff 66%,#fff9eb 100%)}
.review-card-top{position:relative;z-index:1;min-height:29px}
.review-sample-label{min-height:26px;padding:6px 9px;border:1px solid #ead39e;border-radius:999px;background:#fff7e5;color:#76510c;font-size:8px;letter-spacing:.035em}
.review-stars{display:inline-flex;align-items:center;justify-content:center;min-height:29px;padding:0 10px;border:1px solid #f2e4c2;border-radius:999px;background:#fff9ec;color:#dfa02c;font-size:13px}
.real-review-card blockquote{position:relative;z-index:1;margin:24px 0 21px;color:#1a2d61;font-size:15px;line-height:1.75;font-weight:620;letter-spacing:-.012em}
.review-card-footer{position:relative;z-index:1;min-height:47px;margin-top:auto;padding-top:12px;border-top:1px solid #e5eaf4}
.review-person{display:flex;align-items:center;gap:9px;color:#1b316c;font-size:12px;font-weight:850}
.review-person:before{display:grid;place-items:center;width:34px;height:34px;border:1px solid #d8e2fa;border-radius:50%;background:linear-gradient(145deg,#eef3ff,#dfe8ff);color:#2d4eaa;content:"✦";font-size:15px}
.review-date{font-size:9px}
.review-original-link{position:relative;z-index:1;margin:9px 0 0 43px;padding-top:0;color:#3455ab;font-size:10px}
.review-slider-track>.real-review-card:hover{transform:translateY(-5px);box-shadow:0 22px 42px #1a2e6622}
@media(max-width:760px){.review-slider-track>.real-review-card{min-height:248px;padding:19px 18px 16px}.review-slider-track>.real-review-card:before{top:43px;right:10px;font-size:124px}.real-review-card blockquote{margin:19px 0 16px;font-size:14px}.review-sample-label{font-size:7px}.review-stars{min-height:26px;padding:0 7px;font-size:11px}.review-person:before{width:30px;height:30px}}
.home-journal-image{height:164px;overflow:hidden;background:linear-gradient(145deg,#e8eefb,#f7f8fc)}
.home-journal-image img{object-position:center 44%;transition:transform .45s ease}
.home-journal-card:hover .home-journal-image img{transform:scale(1.035)}
.home-journal-image>span:last-child{display:none}
.home-journal-category{display:inline-flex;align-items:center;min-height:25px;margin:0 0 11px;padding:5px 9px;border:1px solid #dce5fb;border-radius:3px;background:#f1f5ff;color:#29499d;font:800 9px/1.2 var(--mono);letter-spacing:.06em;text-transform:uppercase}
.home-journal-body h3{font-size:20px;line-height:1.28}
.home-journal-body>p{min-height:62px;margin:9px 0 13px;font-size:13px;line-height:1.62}
@media(max-width:760px){.home-journal-image{height:145px}.home-journal-category{margin-bottom:9px}.home-journal-body h3{font-size:19px}.home-journal-body>p{min-height:0;font-size:13px}}
.article-show-page{padding:clamp(28px,5vw,68px) 24px 100px;background:linear-gradient(180deg,#eef3fd 0,#f7f9fd 540px,#f5f7fd 100%)}
.article-page{width:min(100%,1240px);max-width:none;margin:0 auto;padding:0}
.article-breadcrumb{display:flex;align-items:center;gap:12px;margin:0 auto 24px;color:#63718e;font:700 11px/1.4 var(--mono);letter-spacing:.07em}
.article-breadcrumb a{color:#29499e;text-decoration:none}
.article-breadcrumb span[aria-hidden]{color:#e6a52b;font-size:16px}
.article-feature-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(370px,.95fr);align-items:center;gap:clamp(30px,5vw,74px);padding:clamp(26px,4vw,56px);overflow:hidden;border:1px solid #dce5f5;border-radius:26px;background:radial-gradient(ellipse at 0 0,#fff 0,transparent 64%),linear-gradient(135deg,#fff,#edf2fd);box-shadow:0 18px 52px #19336c10}
.article-header{max-width:unset;margin:0;padding:0}
.article-category{display:inline-flex;align-items:center;min-height:30px;padding:6px 12px;border:1px solid #d7e1f7;border-radius:999px;background:#f3f6ff;color:#294ba5;font:800 11px/1.2 var(--mono);letter-spacing:.08em;text-transform:uppercase}
.article-header h1{max-width:15ch;margin:19px 0 15px;color:#142967;font:850 clamp(42px,5vw,70px)/1.02 var(--display);letter-spacing:-.055em}
.article-header>p{max-width:58ch;margin:0;color:#4a5875;font-size:19px;line-height:1.7}
.article-author{gap:12px;margin-top:25px}
.article-author-avatar{width:44px;height:44px;background:linear-gradient(145deg,#315ad0,#162a70);font:800 12px/1 var(--mono);box-shadow:0 7px 16px #162e7025}
.article-author>span:last-child{gap:5px}
.article-author strong{color:#1b326f;font-size:14px}
.article-author small{color:#667390;font:700 10px/1.5 var(--mono);letter-spacing:.04em}
.article-quick-stats{display:flex;flex-wrap:wrap;gap:9px;margin-top:20px}
.article-quick-stats>span{display:flex;align-items:center;gap:6px;padding:8px 10px;border:1px solid #dce4f3;border-radius:6px;background:#ffffffc9;color:#66738d;font-size:11px;text-transform:uppercase;letter-spacing:.04em}
.article-quick-stats strong{color:#203b89;font-size:12px}
.article-cover-frame{position:relative;display:grid;place-items:center;min-width:0;min-height:390px;margin:0;aspect-ratio:1.12/1;overflow:hidden;border:1px solid #233d87;border-radius:18px;background:radial-gradient(circle at 50% 40%,#294ba8,#122252 74%);box-shadow:0 22px 48px #152a611f}
.article-cover-frame:before,.article-cover-frame:after{position:absolute;inset:8%;border:1px solid #ffffff1b;border-radius:50%;content:"";pointer-events:none}
.article-cover-frame:after{inset:17%}
.article-cover{position:relative;z-index:1;display:block;width:100%;height:100%;max-height:none;padding:18px;object-fit:contain}
.article-cover-frame figcaption{position:absolute;z-index:2;right:14px;bottom:14px;left:14px;display:flex;align-items:center;gap:9px;padding:10px 12px;border:1px solid #ffffff29;border-radius:6px;background:#101d4dcc;color:#fff;font:700 10px/1.4 var(--mono);letter-spacing:.08em;backdrop-filter:blur(9px)}
.article-cover-frame figcaption .live-dot{width:7px;height:7px;flex:none}
.article-cover-placeholder>span{position:relative;z-index:1;color:#fff;font:850 100px/1 var(--display);letter-spacing:-.08em}
.article-cover-placeholder>i{position:absolute;width:225px;height:225px;border:1px solid #ffffff30;border-radius:50%;box-shadow:0 0 0 24px #ffffff0b,0 0 0 48px #ffffff08}
.article-reading-layout{display:grid;grid-template-columns:minmax(0,820px) minmax(245px,300px);align-items:start;justify-content:center;gap:clamp(28px,5vw,68px);margin:clamp(36px,5vw,64px) auto 0}
.article-content-wrap{min-width:0;padding:clamp(28px,5vw,64px);border:1px solid #e0e6f1;border-radius:18px;background:#fff;box-shadow:0 14px 38px #14295d0b}
.article-content{max-width:720px;margin:0;color:#36425e;font-size:19px;line-height:1.88;white-space:normal}
.article-content p{margin:0 0 1.35em}
.article-content h2,.article-content h3{margin:1.65em 0 .55em;color:#172e72;font:800 clamp(25px,3vw,34px)/1.2 var(--display);letter-spacing:-.035em}
.article-content h3{font-size:25px}
.article-content ul,.article-content ol{margin:0 0 1.5em;padding-left:1.4em}
.article-content li{margin:.45em 0;padding-left:.25em}
.article-content blockquote{margin:1.6em 0;padding:17px 22px;border-left:4px solid #e4a72e;background:#f4f6fc;color:#1c367f;font-size:1.08em;font-weight:650}
.article-content img{max-width:100%;height:auto;object-fit:contain}
.article-sidebar{position:sticky;top:28px;display:grid;gap:14px}
.article-share-panel,.article-sidebar-cta{padding:22px;border:1px solid #dce4f2;border-radius:14px;background:#fff;box-shadow:0 12px 30px #152b6310}
.article-side-kicker{color:#75819b;font:800 10px/1.5 var(--mono);letter-spacing:.09em}
.article-share-panel h2,.article-sidebar-cta h2{margin:8px 0 15px;color:#1c3478;font:800 22px/1.2 var(--display);letter-spacing:-.03em}
.article-share-link{display:flex;align-items:center;gap:10px;width:100%;min-height:44px;margin-top:8px;padding:8px 10px;border:1px solid #e0e6f1;border-radius:7px;background:#f9faff;color:#273c76;text-align:left;font:700 13px/1.3 var(--sans);text-decoration:none;cursor:pointer;transition:background .2s,border-color .2s,transform .2s}
.article-share-link:hover,.article-share-link:focus-visible{transform:translateY(-1px);border-color:#b8c8eb;background:#f0f4ff;outline:none}
.article-share-link>span{display:grid;place-items:center;width:27px;height:27px;border-radius:50%;background:#e9efff;color:#294ba3;font:800 11px/1 var(--mono)}
.article-share-link>b{margin-left:auto;color:#9a7a38;font-size:15px}
.article-copy-feedback{min-height:18px;margin:8px 0 0;color:#327d6d;font-size:12px}
.article-sidebar-cta{background:linear-gradient(145deg,#172b71,#2849a5);color:#fff}
.article-sidebar-cta .article-side-kicker{color:#d9e1fa}
.article-sidebar-cta h2{margin-bottom:16px;color:#fff;font-size:25px}
.article-sidebar-cta>a{display:flex;justify-content:space-between;align-items:center;padding-top:12px;border-top:1px solid #ffffff38;color:#ffcf70;font-size:13px;font-weight:800;text-decoration:none}
.article-comments,.article-comment-form{max-width:930px;margin:54px auto 0}
.article-comments h2,.article-comment-form h2{font-size:32px}
.article-comment>strong,.article-comment>time,.article-comment>p,.article-comment-form p{font-size:15px}
.article-comment-form>form{gap:15px}
.article-comment-form>form>label{font-size:14px}
.article-comment-form input,.article-comment-form textarea{font-size:16px}
.article-footer{max-width:930px;margin:44px auto 0;padding-top:22px}
.article-footer>.button{min-height:48px;height:auto;padding:0 18px;font-size:13px}
body.site-body .eyebrow{font-size:max(10px,.67rem)}
body.site-body .service-card p,body.site-body .software-card p,body.site-body .person-card>p,body.site-body .faq-item>p,body.site-body .blog-card-body>p,body.site-body .home-journal-body>p{font-size:15px;line-height:1.65}
body.site-body .blog-post-date,body.site-body .blog-post-count,body.site-body .blog-read-link,body.site-body .service-card-eyebrow{font-size:max(10px,.67rem)}
@media(max-width:900px){.article-feature-grid{grid-template-columns:minmax(0,1fr) minmax(300px,.8fr);gap:27px;padding:28px}.article-cover-frame{min-height:330px}.article-reading-layout{grid-template-columns:minmax(0,1fr) 245px;gap:22px}.article-content-wrap{padding:32px}}
@media(max-width:700px){.article-show-page{padding:23px 15px 64px}.article-breadcrumb{margin-bottom:15px;font-size:10px}.article-feature-grid{grid-template-columns:1fr;gap:22px;padding:23px 18px;border-radius:18px}.article-header h1{max-width:unset;margin:15px 0 10px;font-size:clamp(38px,10vw,54px);letter-spacing:-.045em}.article-header>p{font-size:17px}.article-author{margin-top:18px}.article-author strong{font-size:13px}.article-author small{font-size:9px}.article-quick-stats{gap:6px;margin-top:14px}.article-quick-stats>span{padding:7px 8px;font-size:10px}.article-quick-stats strong{font-size:11px}.article-cover-frame{min-height:0;aspect-ratio:1.35/1;border-radius:13px}.article-cover{padding:12px}.article-cover-frame figcaption{right:9px;bottom:9px;left:9px;padding:8px;font-size:9px}.article-reading-layout{grid-template-columns:1fr;gap:16px;margin-top:24px}.article-content-wrap{padding:25px 20px;border-radius:13px}.article-content{font-size:17px;line-height:1.82}.article-content h2{font-size:28px}.article-content h3{font-size:23px}.article-sidebar{position:static;grid-template-columns:1fr}.article-share-panel,.article-sidebar-cta{padding:18px}.article-share-panel h2,.article-sidebar-cta h2{font-size:21px}.article-comments,.article-comment-form{margin-top:35px}.article-comments h2,.article-comment-form h2{font-size:27px}.article-footer{margin-top:30px;flex-direction:column;gap:10px}.article-footer>.button{width:100%;justify-content:center;font-size:13px}.article-comment-form>form>label{font-size:14px}}
@media(max-width:420px){.article-show-page{padding-right:12px;padding-left:12px}.article-feature-grid{padding:19px 15px}.article-quick-stats>span{font-size:9px}.article-quick-stats strong{font-size:10px}.article-content-wrap{padding:22px 17px}.article-content{font-size:16px}.article-cover-frame figcaption{font-size:8px}}
.home-journal-image img,.blog-card-art img{object-fit:contain;padding:9px;background:linear-gradient(145deg,#101d4e,#243f98)}
.blog-card-art{height:210px;background:linear-gradient(145deg,#101d4e,#243f98)}
.blog-card-category{padding:7px 10px;font-size:10px}
.blog-post-date{font-size:11px}
.blog-card-body>p{font-size:15px;line-height:1.65}
.blog-read-link{font-size:11px}
.blog-hero>p{max-width:610px;font-size:17px;line-height:1.7}
.blog-post-count{font-size:10px}
@media(max-width:760px){.blog-card-art{height:190px}.blog-hero>p{font-size:15px}.blog-post-date{font-size:10px}}
.home-journal-image{height:clamp(205px,19vw,250px);background:linear-gradient(145deg,#0e1b49,#263f8d)}
.home-journal-image img{width:100%;height:100%;padding:0!important;object-fit:contain!important}
.footer-main-has-socials{grid-template-columns:minmax(220px,1.55fr) repeat(3,minmax(145px,1fr)) minmax(125px,.72fr);gap:clamp(18px,2.5vw,36px)}
.footer-social-col{min-width:0}
.footer-social-link{display:grid!important;grid-template-columns:34px 1fr 16px;align-items:center;gap:10px;width:100%;min-height:43px;padding:4px 0;border-bottom:1px solid #ffffff20;text-decoration:none}
.footer-social-mark{display:grid;place-items:center;width:31px;height:31px;border:1px solid #ffffff38;border-radius:50%;background:#ffffff12;color:#ffd16e;font:800 10px/1 var(--mono)}
.footer-social-link>span:nth-child(2){overflow-wrap:anywhere}
.footer-social-empty{display:flex!important;align-items:center;justify-content:space-between;gap:10px;max-width:230px;padding:11px 12px!important;border:1px solid #ffffff30;background:#ffffff0a;color:#fff!important;font-size:13px!important;line-height:1.55!important}
.footer-social-empty span{color:#ffd16e;font-size:16px}
.footer-social-arrow{color:#ffd16e;font-size:15px}
.footer-heading{font-size:12px!important;line-height:1.5;letter-spacing:.05em}
.footer-col>a,.footer-social-link{font-size:14px!important;line-height:1.5}
.footer-brand-column>p{font-size:14px!important;line-height:1.75}
.footer-email{font-size:14px!important;line-height:1.6}
.footer-stamp{width:144px;height:144px;font-size:10px!important;line-height:1.7;letter-spacing:.055em}
.footer-bottom{min-height:54px;font-size:10px!important;line-height:1.5;letter-spacing:.02em}
.footer-note{font-size:10px!important;line-height:1.4;letter-spacing:.06em}
.footer-bottom>div{gap:12px}
body.site-body small{font-size:max(12px,.75rem)}
body.site-body .service-card-eyebrow,body.site-body .service-number,body.site-body .service-visual-index,body.site-body .software-number,body.site-body .service-visual-caption,body.site-body .footer-stamp>span{font-size:max(10px,.65rem)}
body.site-body .blog-post-date,body.site-body .blog-post-count,body.site-body .blog-read-link{font-size:12px}
.home-journal-body>div{font-size:11px;line-height:1.5}
.home-journal-category,.blog-card-category{font-size:11px}
.form-privacy,.privacy-effective,.footer-note{font-size:11px}
@media(max-width:900px){.footer-main-has-socials{grid-template-columns:1fr 1fr;gap:26px 22px}.footer-brand-column{grid-column:1/-1}.footer-stamp{grid-column:2;grid-row:auto;justify-self:end}}
@media(max-width:700px){.home-journal-image{height:clamp(210px,64vw,290px)}.footer-heading{font-size:12px!important}.footer-col>a,.footer-social-link{font-size:13px!important}.footer-brand-column>p,.footer-email{font-size:13px!important}.footer-stamp{font-size:9px!important}.footer-bottom{font-size:9px!important}.footer-note{font-size:9px!important}}

/* Shared public-site design system and refreshed footer */
.site-footer{position:relative;overflow:hidden;padding:0 clamp(20px,5.5vw,88px);border-top:5px solid #f0b12f;background:radial-gradient(ellipse at 96% 0%,#29469a 0%,transparent 34%),linear-gradient(125deg,#101d50 0%,#172b70 58%,#101d50 100%);color:#fff}
.footer-inner{max-width:1240px;margin:0 auto}
.footer-topline{display:flex;align-items:center;gap:16px;min-height:98px;padding:20px 0;border-bottom:1px solid #ffffff27}
.footer-topline-mark{display:grid;place-items:center;width:48px;height:48px;flex:none;border:1px solid #f3b93f70;border-radius:50%;color:#f6bf4e;font-size:24px}
.footer-topline>p{margin:0;color:#fff;font:750 clamp(20px,2.2vw,28px)/1.25 var(--display)}
.footer-topline>p>a{margin-left:8px;color:#ffd16e;text-decoration:none}
.footer-topline>p>a span{display:inline-block;margin-left:4px;font-size:.8em;transition:transform .18s ease}
.footer-topline>p>a:hover span{transform:translate(3px,-3px)}
.footer-topline-note{margin-left:auto;color:#c3d0f6;font:700 10px/1.5 var(--mono);letter-spacing:.12em;text-align:right}
.footer-main.footer-main-has-socials{display:grid;grid-template-columns:minmax(230px,1.55fr) repeat(3,minmax(145px,1fr));gap:clamp(24px,4vw,62px);padding:47px 0 43px}
.footer-brand-column{min-width:0}
.footer-logo-plate{display:inline-flex;align-items:center;justify-content:center;min-width:156px;min-height:74px;padding:8px 13px;border:1px solid #ffffff36;border-radius:4px 18px 4px 4px;background:#f6f8ff}
.footer-brand-image{display:block;width:137px;height:55px;object-fit:contain}
.footer-brand-column>p{max-width:290px;margin:17px 0 15px;color:#d9e1f8;font-size:15px;line-height:1.75}
.footer-email{display:inline-block;margin:4px 0;color:#ffd16e;font-size:14px;font-weight:700;line-height:1.6;text-decoration:none;overflow-wrap:anywhere}
.footer-email:hover{color:#fff}
.footer-col{display:flex;flex-direction:column;align-items:flex-start;gap:12px;min-width:0}
.footer-heading{display:block;margin:2px 0 7px;color:#b7c7f4!important;font:750 11px/1.4 var(--mono)!important;letter-spacing:.1em!important;text-transform:uppercase}
.footer-col>a{display:inline-flex;align-items:center;gap:6px;color:#fff;font-size:14px;font-weight:600;line-height:1.45;text-decoration:none;transition:color .16s ease,transform .16s ease}
.footer-col>a:hover{transform:translateX(3px);color:#ffd16e}
.footer-social-link{display:grid!important;grid-template-columns:34px minmax(0,1fr) 16px;align-items:center;gap:10px;width:100%;min-height:43px;padding:3px 0;border-bottom:1px solid #ffffff20;text-decoration:none}
.footer-social-mark{display:grid;place-items:center;width:31px;height:31px;border:1px solid #ffffff38;border-radius:50%;background:#ffffff12;color:#ffd16e;font:800 10px/1 var(--mono)}
.footer-social-link>span:nth-child(2){overflow-wrap:anywhere}
.footer-social-arrow{color:#ffd16e;font-size:15px}
.footer-social-empty{display:flex!important;align-items:center;justify-content:space-between;gap:12px;max-width:240px;min-height:54px;padding:11px 13px!important;border:1px solid #ffffff32;border-radius:4px 14px 4px 4px;background:#ffffff0c;color:#fff!important;font-size:13px!important;line-height:1.5!important}
.footer-social-empty span{flex:none;color:#ffd16e;font-size:17px}
.footer-bottom{display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:62px;border-top:1px solid #ffffff27;color:#bdc9e9;font-size:11px!important;line-height:1.5;letter-spacing:.02em}
.footer-bottom>div{display:flex;align-items:center;gap:12px}
.footer-bottom a{color:#e5eaf9;text-decoration:none}
.footer-bottom a:hover{color:#ffd16e}
.footer-sep{color:#f0b12f}
.footer-note{color:#c5d1f0;font-size:10px!important;line-height:1.4;letter-spacing:.08em}
.footer-stamp{display:none}
body.site-body main p{font-size:max(15px,1em);line-height:1.7}
body.site-body main .eyebrow,body.site-body main .service-card-eyebrow,body.site-body main .section-kicker{font-size:max(11px,.72rem);line-height:1.5}
body.site-body main small{font-size:max(12px,.78rem)}
body.site-body main input,body.site-body main textarea,body.site-body main select,body.site-body main button{font-size:max(15px,1em)}
body.site-body main .section,body.site-body main .people-grid-section,body.site-body main .service-category-section,body.site-body main .category-services,body.site-body main .related-services{padding-right:max(20px,calc((100vw - 1220px)/2));padding-left:max(20px,calc((100vw - 1220px)/2))}
body.site-body main h1,body.site-body main h2,body.site-body main h3{font-family:var(--display);text-wrap:balance}
body.site-body main h2{color:#172d73}
body.site-body main a:focus-visible,body.site-body main button:focus-visible{outline:3px solid #efb43e;outline-offset:3px}
@media(max-width:900px){.footer-main.footer-main-has-socials{grid-template-columns:1fr 1fr;gap:32px 26px}.footer-brand-column{grid-column:1/-1}.footer-topline-note{max-width:170px}.footer-bottom{flex-wrap:wrap;padding:14px 0}}
@media(max-width:600px){.site-footer{padding-right:19px;padding-left:19px}.footer-topline{min-height:94px;gap:12px}.footer-topline-mark{width:39px;height:39px;font-size:20px}.footer-topline>p{font-size:20px}.footer-topline>p>a{display:block;margin:3px 0 0}.footer-topline-note{display:none}.footer-main.footer-main-has-socials{gap:26px 18px;padding:32px 0}.footer-brand-column{grid-column:1/-1}.footer-col{gap:10px}.footer-heading{font-size:10px!important}.footer-col>a,.footer-social-link{font-size:13px!important}.footer-brand-column>p{font-size:14px!important}.footer-bottom{display:grid;grid-template-columns:1fr;gap:9px;justify-items:start;padding:15px 0;font-size:10px!important}.footer-bottom>div{flex-wrap:wrap}.footer-note{font-size:9px!important}body.site-body main .section,body.site-body main .people-grid-section,body.site-body main .service-category-section,body.site-body main .category-services,body.site-body main .related-services{padding-right:19px;padding-left:19px}}
