:root{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-synthesis:none;color:#18212c;background:#fff;--blue:#1468ce;--muted:#606c7c;--line:#e0e6ef}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;line-height:1.5;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none;touch-action:manipulation}h1,h2,h3,p{margin:0}h1,h2,h3{text-wrap:balance}a:focus-visible{outline:3px solid #2686ed;outline-offset:6px}a:hover .link-label{text-decoration:underline;text-underline-offset:5px}.wrap{width:min(1184px,100%);padding-inline:40px;margin-inline:auto}.skip-link{position:fixed;left:20px;top:-100px;background:white;padding:14px;z-index:10}.skip-link:focus{top:12px}
.site-nav{padding-top:env(safe-area-inset-top,0px)}.nav-content{min-height:82px;display:flex;align-items:center;justify-content:space-between;gap:25px;border-bottom:1px solid var(--line)}.brand{font-size:1.375rem;font-weight:650;letter-spacing:-.04em;white-space:nowrap}.brand span{color:var(--blue)}nav{display:flex;gap:30px;align-items:center}nav a{min-height:44px;display:inline-flex;align-items:center;font-size:.875rem;color:#4d5969}nav a:hover{color:var(--blue)}.nav-contact{border:1px solid #cdd8e5;border-radius:24px;padding:0 19px}
.hero{padding-top:85px;padding-bottom:74px;position:relative}.eyebrow{color:#53667f;font-size:.875rem;font-weight:500;letter-spacing:.045em;margin-bottom:25px}.hero h1{font-size:clamp(3.2rem,7.2vw,6.3rem);letter-spacing:-.06em;line-height:1.04;font-weight:650;max-width:1010px}.hero h1 span{color:#2361b1;background:linear-gradient(100deg,#1d4e94 5%,#096ce9 65%,#55a4ff);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent}.hero-bottom{display:flex;align-items:flex-end;justify-content:space-between;gap:50px;margin-top:32px}.hero-intro{max-width:570px;font-size:1.1875rem;color:var(--muted);line-height:1.6}.hero-intro strong{color:#23364e;font-weight:550}.hero-link{display:inline-flex;align-items:center;gap:15px;font-size:.9375rem;color:var(--blue);min-height:44px;white-space:nowrap}.hero-link svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.7}
.section-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;padding-bottom:19px}.section-heading h2{font-size:1rem;font-weight:550}.section-heading p{font-size:.875rem;color:var(--muted)}.featured-case{border-radius:30px;overflow:hidden;background:#081a32;color:white;box-shadow:0 26px 66px -40px #143d7880;border:1px solid #1c3557}.case-link{display:grid;grid-template-columns:1.08fr 1fr;position:relative}.case-copy{padding:48px 42px 43px;display:flex;flex-direction:column;align-items:flex-start;position:relative;background:radial-gradient(ellipse at 0 0,#164e8855,transparent 70%)}.case-kicker{font-size:.875rem;color:#adcaee;letter-spacing:.055em;text-transform:uppercase}.case-copy h3{font-size:clamp(2rem,3.4vw,3.125rem);font-weight:600;letter-spacing:-.045em;line-height:1.1;margin-top:28px}.case-description{font-size:1.0625rem;color:#c0d0e7;line-height:1.65;margin-top:22px;max-width:375px}.case-role{font-size:.875rem;color:#9fb9d9;margin-top:23px}.case-role span{display:block;margin-top:3px}.case-cta{display:flex;align-items:center;gap:17px;margin-top:34px;font-size:1rem;font-weight:500;color:#ecf5ff}.case-cta svg{width:34px;height:34px;border:1px solid #98bce34d;border-radius:50%;padding:8px;fill:none;stroke:currentColor;stroke-width:1.7;transition:transform .25s,background .25s}.case-link:hover .case-cta svg{transform:translateX(4px);background:#4277bd40}.case-visual{position:relative;display:flex;align-items:center;justify-content:center;background:#081b39;border-left:1px solid #9fcaff20;padding:20px}.case-visual img{display:block;width:100%;height:auto;max-width:510px;aspect-ratio:1;object-fit:contain}.case-film-label{position:absolute;left:28px;top:24px;display:flex;align-items:center;gap:8px;color:#cbdef7;font-size:.75rem;background:#08213ddb;border:1px solid #91b3e12e;padding:7px 11px;border-radius:20px}.case-film-label svg{width:12px;height:12px;fill:currentColor}.case-footnote{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 24px;padding-top:18px;color:var(--muted);font-size:.875rem}.case-footnote a{display:inline-flex;align-items:center;min-height:44px;color:var(--blue);gap:8px}.case-footnote a:hover{text-decoration:underline;text-underline-offset:4px}
.about{display:grid;grid-template-columns:.85fr 1.15fr;gap:72px;padding-block:91px 87px;margin-top:50px;border-top:1px solid var(--line)}.about h2{font-size:clamp(2rem,3.3vw,3rem);letter-spacing:-.045em;line-height:1.13;font-weight:600}.about h2 span{color:#768291}.about-copy>p{font-size:1.125rem;line-height:1.75;color:var(--muted)}.about-copy>p+p{margin-top:16px}.about .eyebrow{margin-bottom:18px}.location{font-size:.875rem!important;margin-top:24px!important;color:#455c78!important}
.contact-wrap{background:#f3f6fa;border-top:1px solid #e9eef5}.contact{display:flex;justify-content:space-between;align-items:center;gap:35px;padding-block:48px}.contact h2{font-size:2.25rem;letter-spacing:-.045em;line-height:1.15;font-weight:600}.contact p{color:var(--muted);max-width:485px;font-size:1rem;margin-top:14px}.email-link{display:flex;align-items:center;gap:14px;font-size:1rem;color:var(--blue);min-height:48px;overflow-wrap:anywhere}.email-link svg{width:21px;height:21px;stroke:currentColor;fill:none;stroke-width:1.7;flex-shrink:0}.email-link:hover{text-decoration:underline;text-underline-offset:5px}.footer{padding-block:22px max(25px,env(safe-area-inset-bottom,0px));display:flex;justify-content:space-between;gap:25px;font-size:.875rem;color:#657285;border-top:1px solid #dfe6ef}
@media(max-width:1000px){.hero{padding-top:64px;padding-bottom:60px}.case-copy{padding:35px 29px}.case-copy h3{font-size:2.25rem}.case-description{font-size:1rem}.case-visual{padding:10px}.about{gap:40px}.contact{align-items:flex-start;flex-direction:column;gap:18px}}
@media(max-width:760px){.wrap{padding-inline:24px}.nav-content{min-height:73px;gap:15px}.brand{font-size:1.25rem}nav{gap:16px}nav a{font-size:.875rem}.nav-contact{border:0;padding:0}.hero{padding-top:48px;padding-bottom:46px}.eyebrow{font-size:.75rem;letter-spacing:.035em;margin-bottom:20px}.hero h1{font-size:clamp(2.85rem,10.1vw,4.6rem);line-height:1.08;letter-spacing:-.052em}.hero-bottom{display:block;margin-top:23px}.hero-intro{font-size:1.0625rem;line-height:1.6}.hero-link{margin-top:20px}.section-heading{padding-bottom:15px;gap:10px}.section-heading p{font-size:.75rem}.featured-case{border-radius:23px}.case-link{grid-template-columns:1fr}.case-copy{padding:29px 27px 31px}.case-copy h3{font-size:2.5rem;margin-top:21px;max-width:340px}.case-description{max-width:100%;margin-top:17px}.case-role{margin-top:18px}.case-cta{margin-top:24px}.case-visual{border-left:0;border-top:1px solid #9fcaff20;padding:23px 15px 6px}.case-visual img{max-width:410px}.case-film-label{top:13px;left:18px;font-size:.75rem}.case-footnote{padding-top:12px;gap:2px}.about{grid-template-columns:1fr;gap:25px;margin-top:32px;padding-block:47px}.about h2{font-size:2.35rem;max-width:350px}.about-copy>p{font-size:1.0625rem;line-height:1.7}.contact{padding-block:36px;gap:18px}.contact h2{font-size:2rem}.contact p{font-size:1rem}.footer{font-size:.75rem}}
@media(max-width:370px){.wrap{padding-inline:20px}nav{gap:12px}.brand{font-size:1.125rem}nav a{font-size:.8125rem}.case-copy{padding-inline:23px}.case-copy h3{font-size:2.15rem}.section-heading{align-items:flex-start;flex-direction:column;gap:2px}.email-link{font-size:.9375rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
@media print{.site-nav,.hero-link,.case-cta,.case-visual,.case-footnote,.contact-wrap{display:none}.hero{padding-top:30px;padding-bottom:35px}.hero h1{font-size:3rem}.case-link{display:block}.featured-case,.case-copy{background:#fff;color:#18212c;box-shadow:none}.case-copy p{color:#34445a}.about{padding-block:35px;margin-top:25px}}

.supporting-work{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:35px}.support-card{border-radius:25px;border:1px solid #dce6f2;background:#f0f5fc;overflow:hidden}.support-card>a{display:flex;flex-direction:column;align-items:flex-start;height:100%;padding:34px}.support-card .case-kicker{color:#527199;font-size:.75rem;line-height:1.5}.support-card h3{font-size:2rem;font-weight:600;letter-spacing:-.04em;line-height:1.12;margin-top:21px}.support-card>a>p:not(.case-kicker){font-size:1rem;color:#52667f;line-height:1.65;margin-top:20px}.support-metric{margin-top:29px;display:flex;align-items:baseline;gap:15px;flex-wrap:wrap}.support-metric strong{font-size:2.6rem;line-height:1.1;color:#165ea9;font-weight:550;letter-spacing:-.045em}.support-metric span{font-size:.875rem;color:#5d7290}.support-cta{display:flex;align-items:center;gap:12px;font-size:.9375rem;color:#0d63b8;margin-top:auto;padding-top:25px;min-height:44px}.support-card a:hover .support-cta{text-decoration:underline;text-underline-offset:5px}.support-web{background:#f7f9fc}.credentials{font-size:.875rem!important;color:#345677!important;line-height:1.9!important;border-top:1px solid #dce4ee;padding-top:20px;margin-top:25px!important}.project-back{display:inline-flex;align-items:center;gap:9px;color:#536b87;font-size:.875rem;min-height:44px;margin-top:20px}.project-hero{padding-block:50px}.project-hero h1{font-size:clamp(2.8rem,5.5vw,4.8rem);line-height:1.06;letter-spacing:-.05em;font-weight:650;max-width:980px}.project-hero h1 span{color:#2373c8}.project-lead{font-size:1.1875rem;color:#5c6d83;line-height:1.65;max-width:750px;margin-top:26px}.project-role{font-size:.875rem;color:#526981;margin-top:24px}.project-role span{display:block;margin-top:5px}.project-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px;background:linear-gradient(115deg,#0a1c34,#103f7d);padding:33px 35px;border-radius:24px;color:#f6faff}.project-stats strong{font-size:2.1rem;letter-spacing:-.04em;font-weight:550;display:block}.project-stats span{font-size:.875rem;color:#bbd1ed;display:block;margin-top:7px}.project-section{padding-block:52px;border-bottom:1px solid #e1e7ef}.project-section h2{font-size:2.2rem;letter-spacing:-.04em;line-height:1.15;font-weight:600}.project-section>p{font-size:1.0625rem;line-height:1.7;color:#576c84;max-width:850px;margin-top:20px}.project-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px;margin-top:29px}.project-step{border-radius:20px;background:#f4f7fb;padding:28px}.project-step>span{color:#547dad;font-size:.875rem}.project-step h3{font-size:1.4rem;letter-spacing:-.025em;font-weight:600;line-height:1.25;margin-top:18px}.project-step p{font-size:1rem;line-height:1.65;color:#5b6e85;margin-top:15px}.project-results{display:grid;grid-template-columns:1fr 1fr;gap:32px;margin-top:27px}.project-results p{font-size:1.125rem;line-height:1.7;color:#315275}.project-results strong{display:block;color:#152f50;font-weight:600;margin-bottom:8px}.project-tools{font-size:.875rem!important;color:#647b94!important}.project-end{padding-block:40px 55px;display:flex;justify-content:space-between;gap:25px;flex-wrap:wrap}.project-end a{display:inline-flex;align-items:center;min-height:44px;color:#0d63b8;font-size:1rem}.project-end a:hover{text-decoration:underline;text-underline-offset:5px}
@media(max-width:760px){.supporting-work{grid-template-columns:1fr;gap:18px;margin-top:27px}.support-card>a{padding:27px}.support-card h3{font-size:1.85rem}.support-metric strong{font-size:2.3rem}.project-hero{padding-block:30px 35px}.project-hero h1{font-size:clamp(2.5rem,9.5vw,4rem)}.project-lead{font-size:1.0625rem;margin-top:20px}.project-stats{padding:26px;grid-template-columns:1fr;gap:23px;border-radius:21px}.project-stats p+p{border-top:1px solid #aacfff30;padding-top:20px}.project-stats strong{font-size:1.9rem}.project-steps,.project-results{grid-template-columns:1fr;gap:18px}.project-section{padding-block:37px}.project-section h2{font-size:1.95rem}.project-step{padding:25px}.project-end{padding-block:28px 40px}}

/* Two recent Blue Line cases lead the portfolio. */
.rollout-detail{margin-top:30px;border-top:1px solid #dce4ee;border-bottom:1px solid #dce4ee}.rollout-detail summary{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:68px;padding:18px 0;font-size:1rem;font-weight:550;color:#233d5a;cursor:pointer;list-style:none}.rollout-detail summary::-webkit-details-marker{display:none}.rollout-detail summary>span:last-child{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#edf2f8;color:#526a8b;font-size:1.25rem;flex-shrink:0}.rollout-detail[open] summary>span:last-child{transform:rotate(45deg)}.rollout-detail>div{display:grid;grid-template-columns:1fr 1fr;gap:24px 32px;padding:6px 0 26px}.rollout-detail p{font-size:1rem;line-height:1.65;color:#576c84}.rollout-detail strong{display:block;font-weight:550;color:#233d5a;margin-bottom:6px}@media(max-width:760px){.rollout-detail>div{grid-template-columns:1fr;gap:20px}}
.contact-links{display:flex;flex-direction:column;align-items:flex-start;gap:0;flex-shrink:0}
.job-signal{display:flex;flex-wrap:wrap;gap:5px 22px;margin-top:28px;padding-top:20px;border-top:1px solid var(--line);color:#365576;font-size:.875rem;line-height:1.6}.job-signal span{color:var(--muted)}.career-timeline{list-style:none;padding:0;margin:28px 0 22px;border-top:1px solid var(--line)}.career-timeline li{display:grid;grid-template-columns:92px minmax(0,1fr);gap:18px;padding-block:17px;border-bottom:1px solid var(--line);font-size:.875rem}.career-date{color:#607792;font-variant-numeric:tabular-nums}.career-timeline strong{display:block;font-weight:550;color:#233d5a;line-height:1.5}.career-timeline div>span{display:block;margin-top:4px;color:#64758b}.about-copy>.languages{font-size:.875rem;color:#345677;line-height:1.6;margin-top:20px}.contact h2 span{color:var(--blue)}
@media(max-width:760px){.job-signal{margin-top:22px;padding-top:17px;display:block}.job-signal span{display:block;margin-top:4px}.career-timeline li{grid-template-columns:82px minmax(0,1fr);gap:13px}.contact h2{font-size:clamp(1.65rem,6.5vw,2rem)}}
.m365-feature{border:1px solid #d5e3f4;border-radius:27px;background:linear-gradient(120deg,#f4f8fe,#e8f1fe);margin-top:35px;overflow:hidden}.m365-link{display:grid;grid-template-columns:1.15fr 1fr;gap:40px;padding:40px}.m365-copy .case-kicker{color:#537198;font-size:.8125rem;line-height:1.5}.m365-copy h3{font-size:2.45rem;line-height:1.1;letter-spacing:-.04em;font-weight:600;margin-top:22px}.m365-copy>p:not(.case-kicker){font-size:1.0625rem;line-height:1.65;color:#58708e;margin-top:20px;max-width:440px}.m365-numbers{display:flex;flex-direction:column;justify-content:center;border-left:1px solid #ccddef;padding-left:40px}.m365-numbers p{padding:15px 0}.m365-numbers p+p{border-top:1px solid #ccddef}.m365-numbers strong{display:block;font-size:2.1rem;color:#1e5a9e;font-weight:550;letter-spacing:-.035em}.m365-numbers span{font-size:.875rem;color:#577392;display:block;margin-top:3px}.m365-link:hover .support-cta{text-decoration:underline;text-underline-offset:5px}.about-copy>.earlier-work{font-size:.9375rem;line-height:1.65;color:#69798d}
@media(max-width:760px){.m365-feature{border-radius:23px;margin-top:27px}.m365-link{grid-template-columns:1fr;gap:25px;padding:28px}.m365-copy h3{font-size:2.05rem}.m365-copy>p:not(.case-kicker){font-size:1rem}.m365-numbers{border-left:0;border-top:1px solid #ccddef;padding-left:0;padding-top:6px}.m365-numbers strong{font-size:1.9rem}}
