@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--ink:#172944;--muted:#66758b;--blue:#1455ae;--royal:#1b62c5;--line:#e3e9f1;--paper:#fff;--mist:#f5f8fc;--serif:Georgia,'Times New Roman',serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:#fff;font:15px/1.65 'DM Sans',sans-serif}a{color:inherit;text-decoration:none}button{font:inherit}.shell{max-width:1220px;margin:auto;padding:0 44px}.skip-link{position:absolute;left:-999px;top:8px;z-index:100;background:white;padding:12px}.skip-link:focus{left:8px}.site-header{height:88px;background:white;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:30}.nav-wrap{height:100%;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:13px}.brand-mark{font:800 29px/1 Manrope,sans-serif;letter-spacing:-3px;color:var(--ink)}.brand-mark span,.footer-brand span{color:var(--royal)}.brand-name{font:800 12px/1.4 Manrope,sans-serif;letter-spacing:2px}.brand-name small{display:block;color:#8591a1;font-size:8px;letter-spacing:2px;margin-top:2px}.site-header nav{display:flex;align-items:center;gap:33px}.site-header nav>a{font-size:12px;font-weight:700;color:#43546c}.site-header nav>a:hover{color:var(--blue)}.site-header nav .nav-cta{background:var(--blue);color:white;padding:13px 19px;border-radius:4px}.site-header nav .nav-cta:hover{background:#103f83;color:white}.nav-cta span{margin-left:13px}.menu-toggle{display:none}.hero{background:linear-gradient(115deg,#fbfdff 0%,#f5f9ff 64%,#eef4fc 100%);overflow:hidden}.hero-grid{min-height:665px;display:grid;grid-template-columns:1.05fr .95fr;gap:30px;align-items:center}.hero-copy{padding:50px 0 40px}.eyebrow,.section-label,.card-index,.project-number,.project-meta,.feature-kicker,.feature-principle,.hero-footnote,.visual-top,.visual-bottom,.platform-title,.platform-footer,.diagram-title,.credentials-note{font-family:Manrope,sans-serif;font-weight:800;letter-spacing:1.5px;font-size:10px}.eyebrow{color:var(--blue);display:flex;align-items:center;gap:10px}.pulse,.status-dot,.mini-dot{width:8px;height:8px;background:#3d8ad7;border-radius:50%;display:inline-block;box-shadow:0 0 0 4px #dceafc}.hero h1{font:800 clamp(45px,4.4vw,70px)/1.13 Manrope,sans-serif;letter-spacing:-3.5px;margin:28px 0}.hero h1 em,h2 em{font-family:var(--serif);font-weight:400;letter-spacing:-2px;color:var(--royal)}.hero-lead{font-size:16px;line-height:1.95;color:#617188;max-width:530px}.hero-lead strong{color:var(--ink)}.hero-actions{display:flex;gap:12px;margin-top:31px;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:24px;padding:15px 21px;border-radius:4px;font-weight:700;font-size:12px;transition:transform .2s,background .2s}.button:hover{transform:translateY(-2px)}.button-primary{background:var(--blue);color:white}.button-primary:hover{background:#103e80}.button-outline{border:1px solid #cdd9e8;background:white;color:var(--ink)}.hero-footnote{color:#8290a1;margin-top:46px;font-size:9px;display:flex;align-items:center;gap:10px;flex-wrap:wrap}.hero-footnote b{color:#a9b9cb}.small-rule{width:26px;height:1px;background:#9aabc0}.hero-visual{position:relative;height:490px;background:radial-gradient(circle at 52% 45%,#c8dcf8 0%,#e7f0fd 42%,transparent 68%);display:flex;align-items:center;justify-content:center}.visual-top,.visual-bottom{position:absolute;left:25px;right:20px;display:flex;justify-content:space-between;color:#5475a1}.visual-top{top:28px}.visual-bottom{bottom:20px;font-size:9px}.visual-icon{font-size:20px}.orbit{border:1px solid #d1e0f5;border-radius:50%;position:absolute}.orbit-1{width:390px;height:390px}.orbit-2{width:310px;height:310px}.platform-card{position:relative;z-index:2;width:92%;max-width:440px;background:white;border:1px solid #d8e4f4;box-shadow:0 30px 75px #204d9130;border-radius:9px;padding:23px}.platform-title{display:flex;align-items:center;gap:10px;color:#47658a;font-size:9px}.platform-arrow{margin-left:auto;color:var(--blue);font-size:18px}.status-dot{width:7px;height:7px}.flow-nodes{display:flex;align-items:center;justify-content:space-between;margin:35px 0}.node{border:1px solid #dfe8f4;background:#f8fbff;padding:13px 12px;min-width:85px;font:800 9px Manrope,sans-serif;letter-spacing:.5px;color:#58718e;text-align:center}.node small{display:block;font:500 9px 'DM Sans',sans-serif;margin-top:7px;letter-spacing:0}.node.active{background:#1558b7;color:white;border-color:#1558b7;box-shadow:0 8px 18px #1455ae35}.node-line{height:1px;flex:1;background:#b3c7e3;min-width:8px}.metric-bars{height:65px;display:flex;gap:9px;align-items:flex-end;border-bottom:1px solid #dce7f4;padding-bottom:4px}.metric-bars span{flex:1;background:#d8e7f9;height:40%}.metric-bars span:nth-child(3n){height:85%;background:#75a5e6}.metric-bars span:nth-child(4n){height:60%}.metric-bars span:nth-child(5n){height:100%;background:#276bc3}.metric-bars span:nth-child(2n){height:55%}.platform-footer{display:flex;justify-content:space-between;color:#93a2b6;font-size:8px;margin-top:16px}.float-tag{position:absolute;z-index:3;background:#fff;padding:10px 13px;font:800 9px Manrope,sans-serif;letter-spacing:1px;color:#376ba8;box-shadow:0 8px 24px #234c8521}.float-tag span{margin-left:10px}.tag-one{top:92px;right:0}.tag-two{bottom:95px;left:0}.hero-bottom{display:flex;justify-content:space-between;padding-bottom:22px;color:#8898ab;font:800 9px Manrope,sans-serif;letter-spacing:1.5px}.hero-bottom a span{color:var(--blue);margin-left:12px}.section{padding:112px 0}.section-label{color:var(--blue);margin-bottom:24px}.section-label span{border:1px solid #c7d7ec;padding:6px 9px;margin-right:12px}h2{font:800 clamp(32px,3.25vw,49px)/1.2 Manrope,sans-serif;letter-spacing:-2px;margin:0}h2 em{font-size:1.02em}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:95px}.about-copy{padding-top:40px;color:#64758a}.about-copy p{margin:0 0 22px}.about-copy .large-text{font-size:19px;line-height:1.75;color:#354966}.about-copy strong{color:var(--ink)}.about-highlight{border-top:1px solid var(--line);display:flex;gap:20px;align-items:center;padding-top:27px;margin-top:30px;font:800 11px/1.8 Manrope,sans-serif;letter-spacing:1px;color:#536a86}.highlight-number{font:800 64px/1 Manrope,sans-serif;letter-spacing:-5px;color:var(--blue)}.about-highlight small{color:#8b99aa}.expertise-section,.credentials-section{background:var(--mist)}.section-heading{display:flex;justify-content:space-between;gap:50px;align-items:end;margin-bottom:45px}.section-heading>p{max-width:320px;color:#73839a;margin:0 0 6px}.expertise-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.expertise-card{background:#fff;border:1px solid #e3eaf3;padding:30px;min-height:360px;display:flex;flex-direction:column;transition:transform .2s,box-shadow .2s}.expertise-card:hover{transform:translateY(-5px);box-shadow:0 18px 40px #1a45700f}.card-index{color:#8da0b6;font-size:9px}.card-symbol{font:42px var(--serif);color:#1d65be;margin:21px 0 8px}.expertise-card h3{font:800 21px/1.35 Manrope,sans-serif;letter-spacing:-.7px;margin:0 0 13px}.expertise-card p{color:#718096;font-size:13px;margin:0 0 22px}.skill-tags{display:flex;flex-wrap:wrap;gap:7px;margin-top:auto}.skill-tags span,.feature-chips span{background:#eff5fc;color:#36659c;padding:6px 10px;font-size:10px;font-weight:700}.featured-work{display:grid;grid-template-columns:1.08fr .92fr;background:#173d73;color:white;min-height:440px}.feature-content{padding:46px}.feature-kicker{color:#a9d2ff}.mini-dot{width:6px;height:6px;box-shadow:none;margin-right:6px}.feature-content h3{font:800 clamp(32px,3vw,48px)/1.2 Manrope,sans-serif;letter-spacing:-2px;margin:30px 0 20px}.feature-content h3 em{font-family:var(--serif);font-weight:400;color:#a7ceff}.feature-content p{max-width:500px;color:#c2d3e8;line-height:1.9}.feature-chips{display:flex;gap:7px;flex-wrap:wrap;margin-top:26px}.feature-chips span{background:#ffffff17;color:#d6e8fc;border:1px solid #ffffff22}.feature-principle{margin-top:44px;color:#c7e1ff;display:flex;justify-content:space-between;font-size:9px}.feature-graphic{background:linear-gradient(145deg,#e9f2ff,#d9e9ff);padding:42px;display:flex;flex-direction:column;justify-content:center}.diagram-title{display:flex;justify-content:space-between;color:#5c7fa8;margin-bottom:29px;font-size:9px}.diagram-title span{color:#2670bb}.diagram-box{background:white;border:1px solid #bcd0e9;display:flex;align-items:center;gap:16px;padding:17px;color:#254b78;box-shadow:0 7px 15px #214d7e12}.diagram-icon{font-size:22px;color:#1b66bd}.diagram-box div{font:800 11px Manrope,sans-serif;letter-spacing:.4px}.diagram-box small{display:block;font:500 10px 'DM Sans',sans-serif;color:#8497af;margin-top:5px}.diagram-check{margin-left:auto;color:#3c87cf}.diagram-box.emphasis{border-color:#4e8cda;box-shadow:0 10px 25px #276bc32b}.diagram-connector{height:23px;width:1px;background:#7da7d9;margin:auto}.project-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:16px}.project-card{border:1px solid var(--line);padding:32px}.project-number{color:#7292b5;font-size:9px}.project-card h3{font:800 21px Manrope,sans-serif;letter-spacing:-.7px;margin:22px 0 12px}.project-card p{color:#6f7f94;font-size:13px;max-width:400px}.project-meta{display:block;margin-top:28px;color:var(--blue);font-size:9px}.cert-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.cert-card{background:white;border:1px solid #e3eaf3;display:flex;align-items:center;gap:20px;padding:22px}.cert-provider{display:grid;place-items:center;flex:0 0 49px;height:49px;border-radius:5px;font:800 24px Manrope,sans-serif}.cert-provider.ms{background:#e8f1ff;color:#1762b9}.cert-provider.aws{background:#fff3df;color:#af6e14;font-size:15px;letter-spacing:-1px}.cert-provider.oracle{background:#fceae9;color:#b74236}.cert-provider.edu{background:#e8f5ee;color:#298459}.cert-card strong{display:block;font:800 13px/1.5 Manrope,sans-serif}.cert-card small{font:800 9px Manrope,sans-serif;letter-spacing:1px;color:#8a9aad;display:block;margin-top:5px}.credentials-note{color:#94a1b0;margin-top:24px;letter-spacing:.3px;font-weight:500}.contact-section{background:#123562;color:white;padding:95px 0}.contact-grid{display:flex;justify-content:space-between;align-items:center;gap:40px}.section-label.light{color:#a7cbf5}.section-label.light span{border-color:#4e719c}.contact-section h2 em{color:#a7d0ff}.contact-section p{color:#bfd0e4;max-width:460px;margin:23px 0 28px}.button-light{background:white;color:#174780}.contact-monogram{font:800 clamp(110px,15vw,205px)/1 Manrope,sans-serif;letter-spacing:-18px;color:#ffffff12;white-space:nowrap}.contact-monogram span{color:#66a5f040}.contact-monogram small{display:block;letter-spacing:4px;font:800 10px Manrope,sans-serif;text-align:center;color:#9cb7d7}.footer{background:#0d2a50;color:#8faac9;padding:27px 0}.footer-inner{display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:11px}.footer-brand{font:800 15px Manrope,sans-serif;letter-spacing:1px;color:white}.footer-inner>a:last-child{font:800 10px Manrope,sans-serif;letter-spacing:1px;color:#d3e7ff}
@media(max-width:950px){.shell{padding:0 26px}.hero-grid{grid-template-columns:1fr;gap:0}.hero-copy{padding:75px 0 0}.hero-visual{height:430px;max-width:650px;width:100%;margin:auto}.hero h1{font-size:clamp(44px,7vw,70px)}.two-col{gap:35px}.section{padding:80px 0}.feature-graphic{padding:25px}.expertise-card{padding:24px}}
@media(max-width:680px){.shell{padding:0 20px}.site-header{height:70px}.menu-toggle{display:flex;flex-direction:column;gap:5px;border:0;background:none;padding:12px;cursor:pointer}.menu-toggle span{width:23px;height:2px;background:var(--ink)}.site-header nav{display:none;position:absolute;left:0;right:0;top:70px;background:white;border-bottom:1px solid var(--line);padding:22px;box-shadow:0 15px 25px #0000000b;align-items:stretch;flex-direction:column;gap:18px}.site-header nav.open{display:flex}.hero-copy{padding:54px 0 12px}.hero h1{font-size:clamp(41px,10vw,57px);letter-spacing:-2.7px}.hero-lead{font-size:14px}.hero-visual{height:370px}.orbit-1{width:310px;height:310px}.orbit-2{width:245px;height:245px}.platform-card{padding:17px}.flow-nodes{margin:25px 0}.node{min-width:70px;padding:10px 6px;font-size:8px}.tag-one{right:0;top:65px}.tag-two{left:0;bottom:65px}.hero-footnote{margin-top:29px}.hero-bottom{font-size:8px}.two-col,.expertise-grid,.featured-work,.project-grid,.cert-grid{grid-template-columns:1fr}.about-copy{padding-top:0}.section-heading{display:block}.section-heading>p{margin-top:22px}.section{padding:70px 0}.expertise-card{min-height:290px}.featured-work{min-height:0}.feature-content{padding:30px}.feature-graphic{padding:30px}.cert-card{padding:17px}.contact-section{padding:65px 0}.contact-monogram{display:none}.footer-inner{flex-wrap:wrap}.footer-inner>span{order:3;flex-basis:100%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}

.experience-section{background:#fff}.experience-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.experience-card{padding:28px;border:1px solid #e1e9f3;background:#fbfdff;display:flex;flex-direction:column;min-height:235px}.experience-card.featured-client{border-top:4px solid #1455ae;background:#f0f6ff}.client-type,.client-tag,.employment-label,.repo-stack,.github-card-top,.github-disclaimer{font:800 9px Manrope,sans-serif;letter-spacing:1px;color:#6886a8}.experience-card h3{font:800 21px Manrope,sans-serif;letter-spacing:-.7px;margin:17px 0 9px}.experience-card p{color:#6e7e94;font-size:13px;margin:0 0 24px}.client-tag{margin-top:auto;color:#1455ae}.employment-block{display:flex;align-items:center;justify-content:space-between;gap:30px;border-top:1px solid #e1e9f3;margin-top:32px;padding-top:28px}.employment-block h3{font:800 20px Manrope,sans-serif;margin:10px 0}.employment-block p,.employment-note{color:#6e7e94;font-size:13px}.employment-note{max-width:230px}.github-section{background:#f5f8fc}.github-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.github-card{padding:29px;background:white;border:1px solid #e1e9f3;min-height:280px;display:flex;flex-direction:column}.github-card-top{display:flex;align-items:center;gap:10px}.repo-icon{font-size:25px;color:#1455ae}.github-card h3{font:800 21px Manrope,sans-serif;letter-spacing:-.7px;margin:22px 0 10px}.github-card p{color:#718096;font-size:13px}.repo-stack{margin-top:auto;color:#1455ae}.github-disclaimer{font-weight:500;letter-spacing:0;margin-top:22px;font-size:11px}
@media(max-width:950px){.experience-grid,.github-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:680px){.experience-grid,.github-grid{grid-template-columns:1fr}.employment-block{display:block}.site-header nav{max-height:80vh;overflow:auto}}

.contact-details{display:flex;flex-wrap:wrap;gap:12px 26px;margin:0 0 25px}.contact-details a{color:#e5f0ff;font-size:14px;border-bottom:1px solid #6c90bb;padding-bottom:4px}.contact-details a:hover{color:#fff;border-color:#fff}

/* Brand icon row. Icon imagery is sourced from public site favicons; unsupported logos use initials. */
.company-logo{width:66px;height:66px;border:1px solid #dce7f3;border-radius:13px;background:white;display:flex;align-items:center;justify-content:center;margin-top:22px;box-shadow:0 7px 18px #193e6d0b;overflow:hidden}.company-logo img{width:52px;height:52px;object-fit:contain}.company-logo-fallback,.company-logo-placeholder span{font:800 21px Manrope,sans-serif;color:#1558b7;align-items:center;justify-content:center;width:100%;height:100%}.company-logo-placeholder{background:#eaf2ff}.employer-logos{display:flex;gap:9px;flex-wrap:wrap;margin-top:14px}.employer-logos span{background:#f3f7fd;border:1px solid #dce6f2;padding:9px 13px;font:800 11px Manrope,sans-serif;color:#2d5a8d}.experience-card h3{margin-top:13px}@media(max-width:680px){.company-logo{width:58px;height:58px}.company-logo img{width:45px;height:45px}}

.company-logo-supplied{width:175px;max-width:100%;height:76px;display:flex;align-items:center;justify-content:center;background:#fff;border:1px solid #e3eaf3;border-radius:6px;padding:12px}.company-logo-supplied img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain}.company-logo-supplied .company-logo-fallback{align-items:center;justify-content:center;font:800 22px Manrope,sans-serif;color:#1455ae}
