@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-sans-latin-400-normal.CDDApCn2.woff2)format("woff2"),url(/_astro/ibm-plex-sans-latin-400-normal.CYLoc0-x.woff)format("woff")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/ibm-plex-sans-latin-500-normal.6ng42L7E.woff2)format("woff2"),url(/_astro/ibm-plex-sans-latin-500-normal.BgVn5rGT.woff)format("woff")}:root{color-scheme:light;--color-navy:#00142d;--color-blue:#0050a0;--color-green:#6cc51a;--color-white:#fff;--color-surface:#f4f7fa;--color-text:#00142d;--color-muted:#526477;--color-inverse-muted:#b7c8da;--color-border:#dce4ed;--color-control:#64778a;--font-sans:"IBM Plex Sans", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--text-xs:.8125rem;--text-sm:.9375rem;--text-base:clamp(1.0625rem, 1rem + .18vw, 1.125rem);--text-h3:clamp(1.4rem, 1.1rem + .75vw, 1.875rem);--text-h2:clamp(2rem, 1.4rem + 2.15vw, 3.25rem);--text-h1:clamp(2.375rem, 1.25rem + 3.35vw, 4.75rem);--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.5rem;--space-6:2rem;--space-7:3rem;--space-8:4rem;--space-9:6rem;--space-10:8rem;--radius-sm:.375rem;--radius-md:.75rem;--shell:min(88rem, calc(100% - clamp(2.5rem, 7vw, 8rem)));--ease-out:cubic-bezier(.22, 1, .36, 1)}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:2rem}body{background:var(--color-white);color:var(--color-text);font-family:var(--font-sans);font-size:var(--text-base);text-rendering:optimizelegibility;overflow-wrap:anywhere;margin:0;line-height:1.6}img,svg{max-width:100%}a{color:inherit;text-underline-offset:.25em;text-decoration-thickness:.08em}button,summary,a{-webkit-tap-highlight-color:transparent}:focus-visible{outline:3px solid var(--color-blue);outline-offset:5px}.site-footer :focus-visible{outline-color:var(--color-green)}main[tabindex="-1"]:focus,section[tabindex="-1"]:focus{outline:none}::selection{background:var(--color-green);color:var(--color-navy)}h1,h2,h3,p{margin-block-start:0}h1,h2,h3{letter-spacing:-.04em;text-wrap:balance;font-weight:500;line-height:1.08}h1{max-width:17ch;font-size:var(--text-h1);margin-bottom:1.75rem}h1 span{color:var(--color-blue)}h2{max-width:18ch;font-size:var(--text-h2);margin-bottom:0}h3{font-size:var(--text-h3);margin-bottom:.85rem}p{text-wrap:pretty}.shell{width:var(--shell);margin-inline:auto}.section{padding-block:clamp(3.5rem,6.5vw,6rem)}.skip-link{z-index:100;background:var(--color-white);color:var(--color-navy);padding:.75rem 1rem;font-weight:600;position:fixed;top:1rem;left:1rem;transform:translateY(-180%)}.skip-link:focus{transform:translateY(0)}.eyebrow{color:var(--color-blue);letter-spacing:.1em;text-transform:uppercase;align-items:center;gap:.75rem;margin-bottom:1.5rem;font-size:.75rem;font-weight:600;line-height:1.5;display:flex}.eyebrow:before{background:var(--color-green);content:"";flex:0 0 1.5rem;height:2px}.eyebrow--inverse{color:var(--color-inverse-muted)}.button{border:1px solid var(--color-blue);border-radius:var(--radius-sm);background:var(--color-blue);min-height:3.25rem;color:var(--color-white);justify-content:center;align-items:center;gap:1.5rem;padding:.85rem 1.35rem;font-size:1rem;font-weight:500;line-height:1.25;text-decoration:none;transition:background-color .18s,border-color .18s,transform .18s;display:inline-flex}.button:hover{border-color:var(--color-navy);background:var(--color-navy);transform:translateY(-2px)}.button--small{min-height:3rem;font-size:var(--text-sm)}.text-link{min-height:3rem;color:var(--color-navy);align-items:center;gap:.6rem;font-size:1rem;font-weight:500;text-decoration:none;display:inline-flex}.text-link:hover{text-decoration:underline}.text-link svg,.button svg{fill:none;stroke:currentColor;stroke-width:1.5px;flex:0 0 1.25rem;width:1.25rem;transition:transform .18s}.text-link:hover svg{transform:translate(.2rem)}.site-header{z-index:20;border-bottom:1px solid var(--color-border);background:var(--color-white);position:relative}.header-inner{justify-content:space-between;align-items:center;gap:1.5rem;min-height:5.5rem;display:flex}.brand{flex-shrink:0;align-items:center;width:10.5rem;display:flex}.brand img,.footer-brand img{width:100%;height:auto;display:block}.desktop-nav,.desktop-nav ul{align-items:center;display:flex}.desktop-nav{gap:2.5rem}.desktop-nav ul{gap:2rem;margin:0;padding:0;list-style:none}.desktop-nav ul a{min-height:3rem;font-size:var(--text-sm);align-items:center;font-weight:500;text-decoration:none;display:inline-flex;position:relative}.desktop-nav ul a:after{transform-origin:0;background:var(--color-blue);content:"";height:2px;transition:transform .22s var(--ease-out);position:absolute;bottom:.4rem;left:0;right:0;transform:scaleX(0)}.desktop-nav ul a:hover:after,.desktop-nav ul a:focus-visible:after,.desktop-nav ul a[aria-current]:after{transform:scaleX(1)}.mobile-menu a[aria-current]{color:var(--color-blue);text-decoration:underline}.mobile-menu{display:none}.hero{isolation:isolate;background:var(--color-surface);padding:clamp(2.25rem,4.5vw,4.5rem) 0 0;position:relative;overflow:clip}.hero:before{z-index:-1;content:"";pointer-events:none;background:radial-gradient(ellipse at 85% 46%, #0050a00d, transparent 52%), linear-gradient(115deg, var(--color-white) 25%, transparent 75%), repeating-linear-gradient(90deg, transparent 0 calc(25% - 1px), #0050a00d calc(25% - 1px) 25%);position:absolute;inset:0}.hero-grid{grid-template-columns:minmax(0,1.12fr) minmax(0,1fr);align-items:center;gap:clamp(2rem,3.5vw,3.5rem);display:grid}.hero-copy{z-index:1;padding-block:.75rem;position:relative}.hero-lead{max-width:51ch;color:var(--color-muted);margin-bottom:1.75rem;font-size:clamp(1.0625rem,.95rem + .3vw,1.1875rem)}.hero-actions{flex-wrap:wrap;align-items:center;gap:.75rem 1.5rem;display:flex}.hero-visual{min-width:0}.hero-note{border-top:1px solid var(--color-border);align-items:center;gap:1rem 3rem;margin-top:clamp(2rem,3.5vw,3.5rem);padding-block:1.4rem;display:flex}.hero-note span{color:var(--color-muted);font-size:var(--text-xs);align-items:center;gap:.65rem;font-weight:500;display:inline-flex}.hero-note span:before{background:var(--color-blue);content:"";border-radius:50%;flex-shrink:0;width:.375rem;height:.375rem}.services{background:var(--color-white)}.services-overview-link{margin:1.5rem 0 0}.section-heading--split{grid-template-columns:minmax(0,1fr) minmax(0,.65fr);align-items:end;gap:3rem;margin-bottom:3rem;display:grid}.section-heading--split>p{max-width:40ch;color:var(--color-muted);margin-bottom:0}.approach{isolation:isolate;background:var(--color-navy);color:var(--color-white);position:relative;overflow:hidden}.approach:before{z-index:-1;pointer-events:none;content:"";background:radial-gradient(at 0 100%,#0050a040,#0000 65%);position:absolute;inset:0}.approach:after{z-index:-1;content:"";border:1px solid #b7c8da29;border-radius:50%;width:40rem;height:40rem;position:absolute;bottom:-20rem;left:-9rem;box-shadow:0 0 0 3rem #0050a012,0 0 0 6rem #0050a00d}.approach-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(3rem,7vw,7rem);display:grid}.approach-intro>p:last-child{max-width:44ch;color:var(--color-inverse-muted);margin:1.5rem 0 0}.principle-list{margin:0;padding:0;list-style:none}.principle-list li{grid-template-columns:2.5rem minmax(0,1fr);gap:1.5rem;padding:0 0 2rem;display:grid;position:relative}.principle-list li:last-child{padding-bottom:0}.principle-list li:not(:last-child):after{content:"";background:#b7c8da4d;width:1px;position:absolute;top:3rem;bottom:.5rem;left:1.2rem}.principle-list>li>span{width:2.5rem;height:2.5rem;color:var(--color-green);font-size:var(--text-xs);border:1px solid #b7c8da66;border-radius:50%;place-items:center;font-weight:500;display:grid}.principle-list h3{margin-bottom:.75rem;padding-top:.4rem;font-size:clamp(1.3rem,1.15rem + .45vw,1.6rem)}.principle-list p{max-width:42ch;color:var(--color-inverse-muted);margin:0;font-size:1rem}.contact{background:linear-gradient(var(--color-surface) 65%, var(--color-navy) 65%)}.contact-panel{border:1px solid var(--color-border);border-top:3px solid var(--color-blue);background:var(--color-white);border-radius:0 0 3rem;grid-template-columns:minmax(0,1fr) minmax(0,.8fr);gap:2rem 4rem;padding:clamp(1.5rem,4.5vw,4rem);display:grid;position:relative;box-shadow:0 24px 48px -32px #00142d59}.contact-panel h2{max-width:18ch}.contact-copy{align-self:end;min-width:0}.contact-copy>p:first-child{color:var(--color-muted);margin-bottom:1.5rem}.button--contact{justify-content:space-between;width:100%;padding:1.25rem 1.5rem;font-size:clamp(1.15rem,1rem + .7vw,1.5rem)}.button--contact span{min-width:0}.button--contact:hover svg{transform:translate(2px,-2px)}.contact-note{max-width:43ch;font-size:var(--text-xs);color:var(--color-muted);margin:1rem 0 0}.site-footer{background:var(--color-navy);color:var(--color-white);padding:3rem 0 1.5rem}.footer-main{grid-template-columns:11rem minmax(0,1fr) auto;align-items:start;gap:2rem;padding-bottom:3rem;display:grid}.footer-brand{width:11rem;max-width:100%;display:block}.footer-main>p{max-width:35ch;color:var(--color-inverse-muted);margin:0;font-size:1rem}.footer-main nav{flex-wrap:wrap;gap:1.5rem;display:flex}.footer-main nav a{min-height:2.75rem;font-size:var(--text-sm);align-items:center;text-decoration:none;display:inline-flex}.footer-main nav a:hover{text-decoration:underline}.footer-meta{border-top:1px solid #b7c8da38;justify-content:space-between;align-items:center;gap:1rem;padding-top:1rem;display:flex}.footer-meta p,.footer-meta a{color:var(--color-inverse-muted);font-size:var(--text-xs);margin:0}.footer-meta a{align-items:center;min-height:2.75rem;display:inline-flex}@media (width<=64rem){.hero-grid{gap:1.75rem}.hero-actions{gap:.5rem 1rem}.footer-main{grid-template-columns:10rem minmax(0,1fr)}.footer-main nav{grid-column:1/-1}}@media (width<=52rem){.desktop-nav{display:none}.mobile-menu{display:block;position:relative}.mobile-menu summary{border:1px solid var(--color-control);border-radius:var(--radius-sm);cursor:pointer;min-height:3rem;font-size:var(--text-sm);align-items:center;gap:.5rem;padding:.55rem .8rem;font-weight:500;list-style:none;display:flex}.mobile-menu summary::-webkit-details-marker{display:none}.mobile-menu summary svg{fill:none;stroke:currentColor;stroke-width:1.8px;width:1.25rem}.mobile-menu[open] summary{background:var(--color-navy);color:var(--color-white)}.mobile-menu nav{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-white);width:min(20rem,100vw - 2.5rem);padding:.75rem;position:absolute;top:calc(100% + .6rem);right:0;box-shadow:0 18px 40px #00142d24}.mobile-menu ul{margin:0;padding:0;list-style:none}.mobile-menu a{align-items:center;min-height:3rem;padding-inline:1rem;font-weight:500;text-decoration:none;display:flex}.mobile-menu a:hover{background:var(--color-surface)}.hero-grid{grid-template-columns:minmax(0,1fr);gap:2rem}h1{max-width:20ch;font-size:clamp(2.375rem,6vw,3.75rem)}.hero-copy{padding:0}.hero-lead{max-width:58ch}.hero-visual{justify-self:center;width:min(100%,34rem)}.hero-note{flex-wrap:wrap;gap:.75rem 1.5rem}.section-heading--split{gap:2rem}.approach-grid,.contact-panel{grid-template-columns:minmax(0,1fr);gap:2.5rem}.contact-panel h2{max-width:23ch}.contact-copy{max-width:38rem}}@media (width<=36rem){.header-inner{flex-wrap:wrap;gap:.5rem 1rem;min-height:4.5rem;padding-block:.5rem}.brand{width:8.6rem;max-width:100%}.hero{padding-top:2rem}.hero .eyebrow{max-width:28ch;font-size:.6875rem}h1{max-width:18ch;margin-bottom:1.25rem;font-size:clamp(2.25rem,9.5vw,3rem)}h2{font-size:clamp(1.875rem,7.5vw,2.375rem)}.hero-lead{margin-bottom:1.25rem}.hero-actions{flex-direction:column;align-items:stretch;gap:.35rem}.hero-actions .text-link{justify-content:center}.hero-note{gap:.5rem 1.25rem;margin-top:1.5rem;padding-block:1rem}.hero-note span{font-size:.75rem}.section-heading--split{grid-template-columns:minmax(0,1fr);gap:1.25rem;margin-bottom:2rem}.eyebrow{margin-bottom:1rem}.principle-list li{gap:1rem}.contact-panel{border-bottom-right-radius:2rem}.button--contact{gap:.5rem;padding:1rem}.footer-main{flex-direction:column;gap:1.5rem;padding-bottom:1.5rem;display:flex}.footer-main nav{gap:.25rem 1.5rem}.footer-meta{flex-direction:column;align-items:flex-start;gap:.25rem}}@media (prefers-reduced-motion:no-preference){.is-arriving{animation:section-arrival .65s var(--ease-out) both}@keyframes section-arrival{0%{transform:translateY(12px)}to{transform:translateY(0)}}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
