.icon-library{position:absolute;width:0;height:0;overflow:hidden;pointer-events:none}
.ui-icon{display:inline-block;width:1.15em;height:1.15em;flex-shrink:0;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;vertical-align:-.2em}
.btn{gap:5px}.btn .ui-icon{width:18px;height:18px}.topbar .ui-icon{width:15px;height:15px}
.hero-trust>div>span{display:flex}.hero-trust .ui-icon{width:30px;height:30px}
.service-strip article>span{display:flex;flex:none}.service-strip .ui-icon{width:44px;height:44px;stroke-width:1.6}
.footer-grid .ui-icon,.project .ui-icon{width:16px;height:16px}
.brand-row .brand-tile{padding:12px;min-width:0}.brand-row img{width:100%;height:48px;object-fit:contain;max-width:140px}
.reveal{opacity:1;transform:none}
@media(prefers-reduced-motion:no-preference){
.motion-ready .reveal:not(.visible){opacity:0;transform:translateY(24px)}
.motion-ready .reveal{transition:opacity .7s ease,transform .7s cubic-bezier(.2,.7,.2,1);transition-delay:var(--reveal-delay,0ms)}
.card-grid>*:nth-child(2),.project-grid>*:nth-child(2),.service-strip>*:nth-child(2){--reveal-delay:100ms}
.card-grid>*:nth-child(3),.project-grid>*:nth-child(3),.service-strip>*:nth-child(3){--reveal-delay:200ms}
.hero-image{animation:hero-arrive 1.4s ease-out both}
.hero-copy.visible .kicker,.hero-copy.visible h1,.hero-copy.visible .lead,.hero-copy.visible .actions,.hero-copy.visible .hero-trust{animation:copy-arrive .65s ease both}
.hero-copy.visible h1{animation-delay:.08s}.hero-copy.visible .lead{animation-delay:.16s}.hero-copy.visible .actions{animation-delay:.24s}.hero-copy.visible .hero-trust{animation-delay:.32s}
.solution-card,.project,.brand-tile{transition:transform .3s ease,box-shadow .3s ease}
.solution-card>img,.project>img{transition:scale .55s ease}
.btn .ui-icon,.service-strip .ui-icon{transition:transform .3s ease}
@media(hover:hover){.solution-card:hover,.project:hover,.brand-tile:hover{transform:translateY(-5px);box-shadow:0 12px 28px #082f4d15}.solution-card:hover>img,.project:hover>img{scale:1.025}.btn:hover .ui-icon{transform:translateY(-2px) rotate(-5deg)}.service-strip article:hover .ui-icon{transform:rotate(-8deg) scale(1.08)}}
@keyframes hero-arrive{from{opacity:.45;transform:scale(1.035)}to{opacity:1;transform:scale(1)}}
@keyframes copy-arrive{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.reveal{opacity:1!important;transform:none!important}}

/* Production header, footer and editorial templates */
.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.map-reference-fluid{width:100%;min-width:0;align-self:center}.responsive-map-image{width:100%;height:auto;display:block;border-radius:10px}
.topbar-actions{display:flex;align-items:center;gap:22px}.topbar-actions a:first-child{font-weight:500;opacity:.9}
.header{height:auto;min-height:92px;overflow:visible;background:rgba(255,255,255,.96);backdrop-filter:blur(14px)}
.header>.nav{height:auto;min-height:92px;padding-block:14px}
.nav>.logo{flex:0 0 auto}.nav>.logo img{width:210px;height:auto;max-height:64px;object-fit:contain}
.nav nav>ul{display:flex;align-items:center;justify-content:center;gap:clamp(10px,1.4vw,22px);list-style:none;padding:0;margin:0}
.nav nav>ul>li{display:flex;align-items:center}.nav nav a{font-size:.78rem}
.footer-brand .footer-logo img{width:220px;height:auto}.footer-brand>p{max-width:300px;color:#bed2df;margin-top:22px}
.footer-service-area{display:flex;align-items:center;gap:9px;color:#fff;font-weight:600;font-size:.9rem}.footer-service-area .icon{color:#56b6df}
.site-footer h2{font:700 1rem Manrope;color:#fff;margin:0 0 18px}.site-footer address{font-style:normal;color:#c7d8e3;font-size:.82rem;line-height:1.75;margin-top:12px}
.site-footer .footer-cta{display:inline-flex;align-items:center;gap:8px;color:#fff;font-weight:700;margin-top:16px}.site-footer .footer-cta .icon{width:16px;height:16px}
.article-hero{padding-bottom:62px;background:linear-gradient(120deg,#fff,#eaf5fb)}.article-hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:64px;align-items:center}.article-hero-grid img{border-radius:16px;aspect-ratio:1.35;object-fit:cover;box-shadow:0 22px 55px #082f4d18}.article-meta{font-size:.86rem;color:var(--muted);font-weight:600;margin-top:22px}
.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.blog-card{border:1px solid var(--line);border-radius:14px;background:#fff;overflow:hidden;box-shadow:0 14px 36px #082f4d0a;display:flex;flex-direction:column}.blog-card-media{overflow:hidden}.blog-card-media img{height:235px;object-fit:cover;transition:transform .35s ease}.blog-card:hover .blog-card-media img{transform:scale(1.035)}.blog-card>div{padding:28px;display:flex;flex-direction:column;align-items:flex-start;flex:1}.blog-card h2{font-size:1.35rem}.blog-card h2 a:hover{color:var(--blue)}.blog-card>div>p:not(.kicker){font-size:.96rem}.blog-card .text-link{margin-top:auto}
.article-layout{display:grid;grid-template-columns:240px minmax(0,820px);gap:72px;justify-content:center;align-items:start}.article-toc{position:sticky;top:118px;display:grid;gap:4px;padding:22px;border:1px solid var(--line);border-radius:12px;background:var(--sky)}.article-toc strong{font:700 .95rem Manrope;margin-bottom:8px}.article-toc a{font-size:.86rem;padding:7px 0;color:var(--muted)}.article-toc a:hover{color:var(--blue)}.article-content{min-width:0}.article-content p{font-size:1.05rem;line-height:1.75}.article-section{scroll-margin-top:120px;margin:52px 0}.article-section h2,.article-checklist h2{font-size:1.75rem}.article-summary,.article-checklist{padding:28px 30px;border-radius:12px;background:var(--sky);border-left:4px solid var(--blue)}.article-summary h2{font-size:1.25rem}.article-summary p{margin-bottom:0}.article-checklist{margin:52px 0}.article-checklist .check-list{margin-bottom:0}.article-cta{margin-top:55px;padding:34px;border-radius:14px;background:var(--navy);color:#fff}.article-cta h2{color:#fff}.article-cta p{color:#d2e5f1}.article-cta .btn{margin-top:8px}
@media(max-width:1050px){.nav>.logo img{width:185px}.nav{gap:14px}.nav-cta{display:none}.blog-grid{gap:16px}.article-layout{grid-template-columns:210px minmax(0,1fr);gap:36px}}
@media(max-width:850px){.header,.header>.nav{min-height:78px}.header>.nav{padding-block:9px}.topbar-actions a:first-child{display:none}.nav>.logo img{width:195px;max-height:58px}.nav nav>ul{display:block}.nav nav>ul>li{display:block}.article-hero-grid,.article-layout{grid-template-columns:1fr}.article-hero-grid{gap:30px}.article-hero-grid img{max-height:390px}.article-toc{position:static}.blog-grid{grid-template-columns:1fr}.blog-card{display:grid;grid-template-columns:.8fr 1.2fr}.blog-card-media img{height:100%;min-height:250px}}
@media(max-width:560px){.topbar .shell>span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.topbar-actions{gap:10px}.nav>.logo img{width:180px}.blog-card{display:flex}.blog-card-media img{height:220px;min-height:0}.article-hero-grid img{max-height:260px}.article-summary,.article-checklist,.article-cta{padding:23px}.article-content p{font-size:1rem}}
