:root{--paper: #f8f7f2;--ink: #142f36;--muted: #566660;--rust: #a94f2c;--orange: #eea278;--line: #dce0d6;color-scheme:light}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--paper);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;line-height:1.6;-webkit-font-smoothing:antialiased}a{color:inherit}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:3px solid #b85b32;outline-offset:5px}::selection{background:#f4c5a8;color:#142f36}p{margin-top:0}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}app-root{display:block}.section-wrap{width:min(1180px,calc(100% - 96px));margin-inline:auto}.section-space{padding-block:100px}.site-header{height:106px;display:flex;align-items:center;justify-content:space-between;width:min(1320px,calc(100% - 80px));margin:auto;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;font-size:23px;font-weight:800;letter-spacing:-.6px;line-height:1.2}.brand-light{font-weight:400}.brand small{display:block;font-size:10px;letter-spacing:2px;margin-top:6px}.brand-mark{background:var(--ink);color:var(--paper);width:44px;height:44px;padding:8px;font-size:26px;position:relative}.brand-mark span{position:absolute;right:4px;top:1px;font-size:24px;color:var(--orange)}:where(.site-header) nav{display:flex;align-items:center;gap:34px;font-size:1rem;font-weight:600}:where(.site-header) nav a{text-decoration:none;display:inline-flex;align-items:center;min-height:44px}:where(.site-header) nav a:not(.nav-cta):hover,:where(.site-header) nav a:not(.nav-cta):focus-visible{color:var(--rust);text-decoration:underline;text-underline-offset:8px}.nav-cta{border:1px solid var(--ink);padding:13px 19px}.nav-cta span{margin-left:20px}.menu-toggle{display:none}.hero{display:grid;grid-template-columns:1.15fr 1fr;gap:64px;align-items:center;padding-block:80px 70px}.eyebrow{font-size:.875rem;font-weight:700;letter-spacing:1.2px;line-height:1.8;text-transform:uppercase;color:var(--rust);margin:0 0 20px}.status-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--rust);margin-right:9px;vertical-align:middle}h1{font-size:clamp(44px,4.7vw,66px);font-weight:500;letter-spacing:-1.5px;line-height:1.1;margin:0 0 26px}h1>span{color:var(--rust)}.hero-description{font-size:1.125rem;max-width:500px;line-height:1.8;color:var(--muted)}.hero-actions{display:flex;align-items:center;gap:27px;margin-top:30px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:25px;padding:17px 22px;text-decoration:none;font-size:1rem;font-weight:600;transition:background .2s,transform .2s}.button:hover{transform:translateY(-2px)}.button-dark{background:var(--ink);color:#fff}.button-dark:hover{background:#285760}.text-link{font-size:1rem;font-weight:600;text-underline-offset:5px;text-decoration-thickness:1px}.text-link span{display:inline-block;margin-left:9px}.location{font-size:.875rem;color:var(--muted);margin-top:28px}.location>span:first-child{font-size:1rem;margin-right:4px}.divider{margin-inline:10px;color:#87948f}.architecture{position:relative;background:#edf0e9;align-self:stretch;min-height:410px;border:1px solid #dce2d8;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden}.architecture svg{display:block;width:100%;max-height:365px}.diagram-top{display:flex;justify-content:space-between;padding:24px 24px 0;font-size:.875rem;letter-spacing:1.7px}.diagram-top>span:last-child{font-size:20px}.diagram-bottom{padding:18px 24px;border-top:1px solid #d2dcd1;font-size:.875rem;color:#40594f}.diagram-label{position:absolute;font-size:.875rem;letter-spacing:1px;background:#f7f8f1;padding:6px 9px;border:1px solid #cad4c9}.label-cloud{right:17px;top:25%}.label-app{left:15px;top:43%}.label-data{right:14px;bottom:25%}.proof-strip{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding-block:27px}.proof-strip>div{display:flex;align-items:center;gap:20px;padding-left:32px;border-left:1px solid var(--line)}.proof-strip>div:first-child{padding-left:0;border:0}.proof-strip strong{font-size:26px;font-weight:500;letter-spacing:-1px}.proof-strip span{font-size:.875rem;color:var(--muted);line-height:1.6}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:65px;margin-bottom:44px}.section-heading>p{max-width:350px;font-size:1.125rem;color:var(--muted);line-height:1.8;margin:0 0 4px}h2{font-size:40px;line-height:1.15;font-weight:500;letter-spacing:-.8px;margin:0}h3{font-size:18px;line-height:1.4;font-weight:600;letter-spacing:-.4px;margin:0 0 12px}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.service-card{padding:30px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);position:relative;display:flex;flex-direction:column;align-items:flex-start;transition:background .2s}.service-card:hover{background:#f0f0e8}.service-card h3 a{text-decoration-thickness:1px;text-underline-offset:4px}.service-icon{font-size:29px;color:var(--rust);margin-bottom:24px;line-height:1}.service-number{position:absolute;right:28px;top:33px;font-size:.875rem;color:#75817c}.service-card p{color:var(--muted);font-size:1.125rem;line-height:1.85;margin:0 0 25px}.tags{display:flex;gap:6px;flex-wrap:wrap;margin-top:auto}.tags span{font-size:.875rem;padding:5px 7px;border:1px solid var(--line);color:var(--muted)}.service-featured,.service-featured:hover{background:var(--ink);color:#fff}.service-featured p{color:#c4cfcd}.service-featured .text-link{margin-top:auto}.service-featured .service-icon{color:var(--orange)}.experience{background:#eaece5}.experience-row{display:grid;grid-template-columns:1fr 2fr;gap:40px;border-top:1px solid #cbd3c9;padding-block:32px}.experience-meta{display:flex;align-items:flex-start;flex-direction:column;gap:20px}.pill{font-size:.875rem;letter-spacing:1px;border:1px solid #bcc9bb;border-radius:30px;padding:6px 10px}.experience-meta>span:last-child{font-size:.875rem;color:var(--muted)}.experience-row h3{font-size:20px}.experience-row p{font-size:1.125rem;color:var(--muted);line-height:1.8;max-width:630px;margin-bottom:15px}.experience-tech{font-size:.875rem;color:#52665d}.experience-note{font-size:.875rem;line-height:1.8;color:var(--muted);border-top:1px solid #cbd3c9;padding-top:24px;margin:0;max-width:100%}.about{display:grid;grid-template-columns:.8fr 1.25fr;gap:100px;align-items:center}.profile-panel{background:#e4e9e0;padding:40px;position:relative}.profile-monogram{font-size:88px;font-weight:400;letter-spacing:-6px;border-bottom:1px solid #c2ccbf;padding:0 0 30px;margin-bottom:30px;line-height:1.1}.profile-monogram>span{float:right;font-size:60px;color:var(--rust);font-weight:300}.profile-panel .eyebrow{font-size:.875rem;margin-bottom:10px}.profile-panel h3{font-size:25px;margin-bottom:8px}.profile-panel>p:not(.eyebrow){font-size:1.125rem;line-height:1.7;color:var(--muted);margin-bottom:25px}.profile-location{font-size:.875rem;letter-spacing:1px;border-top:1px solid #c2ccbf;padding-top:24px;margin-top:35px}.about-copy h2{margin-bottom:26px}.about-copy>p:not(.eyebrow){color:var(--muted);font-size:1.125rem;line-height:1.85}.about-points{margin-top:28px}.about-points>div{display:flex;gap:18px;margin-top:18px}.about-points>div>span{color:var(--rust)}.about-points p{font-size:1.125rem;color:var(--muted);line-height:1.7;margin:0}.about-points strong{display:block;color:var(--ink);font-size:1.125rem;margin-bottom:4px}.process{padding-top:0}.process-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:40px}.process-grid article{border-top:1px solid var(--line);padding-top:25px}.process-grid article>span{font-size:.875rem;letter-spacing:1px;color:var(--rust);display:block;margin-bottom:22px}.process-grid p{font-size:1.125rem;line-height:1.85;color:var(--muted);max-width:310px}.help-grid p{max-width:520px}.contact{background:var(--ink);color:#f7f6ef;padding-block:80px}.contact-layout{display:grid;grid-template-columns:1.4fr 1fr;gap:100px;align-items:center}.contact .eyebrow{color:var(--orange)}.contact h2{font-size:47px}.contact p{max-width:430px;font-size:1.125rem;line-height:1.8;color:#c4cfcd;margin:22px 0}.button-orange{background:var(--orange);color:var(--ink)}.button-orange:hover{background:#f5b790}.contact .contact-hint{font-size:.875rem;margin:14px 0 0;color:#aabeb9}.contact-form{display:grid;gap:18px;margin-top:28px;max-width:560px}.contact-form .form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}.contact-form .form-field{display:grid;gap:8px;margin:0;min-width:0}.contact-form label,.contact-form legend{font-size:.9375rem;font-weight:600;color:#f7f6ef}.contact-form legend{padding:0;margin-bottom:8px}.contact-form legend span{font-weight:400;color:#aabeb9}.contact-form input[type=text],.contact-form input[type=email],.contact-form textarea{width:100%;font:inherit;font-size:1rem;color:var(--ink);background:#f7f6ef;border:2px solid transparent;border-radius:4px;padding:11px 13px}.contact-form textarea{resize:vertical;min-height:118px}.contact-form input:focus-visible,.contact-form textarea:focus-visible{outline:3px solid var(--orange);outline-offset:2px}.contact-form [aria-invalid=true]{border-color:#ffb4a2}.contact .contact-form .field-hint,.contact .contact-form .field-error{font-size:.875rem;line-height:1.5;margin:0;max-width:none}.contact .contact-form .field-error{color:#ffc9b8;font-weight:600}.contact-form .form-choices{border:0;padding:0;display:flex;flex-wrap:wrap;gap:10px 22px}.contact-form .choice{display:inline-flex;align-items:center;gap:8px;font-weight:400;cursor:pointer;min-height:32px}.contact-form .choice input{width:18px;height:18px;accent-color:var(--orange)}.contact-form .form-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.contact-form button{justify-self:start;border:0;cursor:pointer;font:inherit}.contact-form button[aria-disabled=true]{opacity:.7;cursor:wait}.contact .contact-form .form-status p{margin:0;max-width:none;font-size:1rem;padding:12px 14px;border-radius:4px;color:#f7f6ef}.contact .contact-form .form-success{background:#1f4a3f;border-left:4px solid #7fd1b0}.contact .contact-form .form-failure{background:#4a2a22;border-left:4px solid #ffb4a2}.contact-form .form-failure a,.contact .contact-hint a{color:var(--orange)}@media(max-width:560px){.contact-form .form-row{grid-template-columns:1fr}.contact-form button{justify-self:stretch;justify-content:center}}.contact-details>div{border-bottom:1px solid #365057;padding-block:22px}.contact-details>div>span{display:block;font-size:.875rem;letter-spacing:1.3px;color:#aabeb9;margin-bottom:10px}.contact-details a{font-size:19px;text-decoration:none;display:flex;justify-content:space-between;gap:12px}.contact-details a>span{color:var(--orange)}.contact-details p{font-size:17px;margin:0;color:#f7f6ef}.contact-details small{font-size:.875rem;color:#aabeb9}.site-footer{display:flex;align-items:center;gap:26px;justify-content:space-between;padding-block:35px;font-size:.875rem;color:var(--muted)}.footer-brand{font-size:1rem;font-weight:700;text-decoration:none;color:var(--ink)}.footer-brand span{display:block;font-size:.875rem;font-weight:400;color:var(--muted);margin-top:8px}.site-footer p{margin:0}.site-footer>a:not(.footer-brand){text-decoration:none}.skip-link{position:fixed;top:-100px;left:20px;z-index:100;background:var(--ink);color:#fff;padding:15px}.skip-link:focus{top:10px}a:hover{text-decoration:underline;text-underline-offset:5px}@media(min-width:1500px){.hero{padding-block:100px}.architecture{min-height:445px}}@media(max-width:1050px){.section-wrap,.site-header{width:calc(100% - 64px)}.hero{gap:30px}h1{font-size:49px}.hero-actions{flex-wrap:wrap;gap:20px}.proof-strip>div{gap:12px;padding-left:20px}.proof-strip strong{font-size:22px}.about{gap:55px}.service-card{padding:25px}.contact-layout{gap:50px}.contact-details a{font-size:1rem}}@media(max-width:1050px){.site-header{width:calc(100% - 40px);height:84px;position:relative}.brand{font-size:19px}.brand small{font-size:9px}.brand-mark{width:38px;height:38px;font-size:23px}.menu-toggle{display:flex;align-items:center;gap:14px;background:none;border:1px solid var(--line);padding:10px 14px;font:inherit;font-size:1rem;color:var(--ink)}.menu-toggle span{font-size:19px}:where(.site-header) nav{display:none;position:absolute;top:83px;left:-20px;right:-20px;background:var(--paper);padding:20px;border-bottom:1px solid var(--line);z-index:10;gap:0}:where(.site-header) nav.is-open{display:flex;flex-direction:column;align-items:stretch}:where(.site-header) nav a{padding:15px}.nav-cta{margin-top:8px}}@media(max-width:760px){.section-wrap{width:calc(100% - 40px)}.hero{grid-template-columns:1fr;padding-block:50px 40px;gap:38px}.hero .eyebrow{font-size:.875rem;letter-spacing:1.3px}h1{font-size:clamp(40px,9.6vw,65px);letter-spacing:-2px}.hero-description{font-size:1.125rem}.hero-actions{gap:24px}.architecture{min-height:370px;max-width:520px;width:100%;justify-self:center}.architecture svg{max-height:330px}.proof-strip{gap:16px;padding-block:23px}.proof-strip>div{display:block;padding-left:15px}.proof-strip strong{display:block;font-size:20px;margin-bottom:8px}.proof-strip span{font-size:.875rem}.section-space{padding-block:65px}.section-heading{display:block;margin-bottom:30px}.section-heading>p{margin-top:22px;max-width:500px;font-size:1.125rem}h2{font-size:34px}.eyebrow{font-size:.875rem;margin-bottom:18px}.service-grid{grid-template-columns:repeat(2,1fr)}.service-card{padding:23px}.service-card h3{font-size:17px}.experience-row{grid-template-columns:1fr;gap:20px;position:relative;padding-block:27px}.experience-meta{gap:12px}.experience-row h3{font-size:19px;padding-right:20px}.about{grid-template-columns:1fr;gap:38px}.profile-panel{max-width:450px;width:100%;padding:30px}.about-copy{max-width:600px}.process{padding-top:0}.process-grid{gap:20px}.process-grid h3{font-size:1rem}.contact{padding-block:60px}.contact-layout{grid-template-columns:1fr;gap:20px}.contact h2{font-size:38px}.contact-details a{font-size:19px}.site-footer{flex-wrap:wrap;gap:22px}.site-footer .footer-brand,.site-footer p{width:100%}}@media(max-width:420px){.service-grid,.process-grid{grid-template-columns:1fr}.process-grid p{max-width:none}.proof-strip strong{font-size:17px;letter-spacing:-.5px}.proof-strip>div{padding-left:10px}.proof-strip{gap:10px}.hero-actions{align-items:flex-start;flex-direction:column}.architecture{min-height:330px}.label-data{font-size:.875rem}.contact-details a{font-size:17px}}.hero-actions{flex-wrap:wrap}.proof-strip>div{flex-wrap:wrap}.site-footer{flex-wrap:wrap}@media(max-width:1050px){:where(.site-header) nav{gap:18px}.service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:900px)and (min-width:761px){.site-header{height:auto;min-height:106px;flex-wrap:wrap;gap:20px;padding-block:20px}}@media(max-width:600px){.service-grid,.process-grid{grid-template-columns:1fr}.proof-strip{grid-template-columns:1fr;gap:20px}.proof-strip>div{display:flex;align-items:center;gap:20px;padding-left:0;border-left:0}.proof-strip strong{min-width:135px}.diagram-label{font-size:.75rem}.diagram-top{letter-spacing:1px}}.service-card h3 a{text-decoration:none}.service-card>.text-link{margin-top:22px}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.service-hero{padding-block:56px 40px}.service-hero h1{max-width:900px}.breadcrumb{display:flex;flex-wrap:wrap;gap:10px;font-size:.875rem;font-weight:600;color:var(--muted);margin-bottom:36px}.breadcrumb a{text-decoration:none}.service-hero .hero-description{max-width:720px}.service-detail{padding-block:56px;border-top:1px solid var(--line)}.fit-list{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.fit-list li{font-size:1.125rem;line-height:1.7;padding-top:20px;border-top:2px solid var(--rust)}.help-grid{grid-template-columns:repeat(2,1fr)}.service-tech{margin-top:36px}.other-title{margin-bottom:32px}.other-services{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));border-top:1px solid var(--line)}.other-services a{display:block;padding:20px 0;border-bottom:1px solid var(--line);font-size:1.125rem;font-weight:600;text-decoration:none}@media(max-width:760px){.service-hero{padding-block:32px}.fit-list,.help-grid{grid-template-columns:1fr}}.consulting-services{grid-template-columns:repeat(2,minmax(0,1fr))}.related-expertise{margin-top:28px;color:var(--muted)}.related-expertise p{font-weight:600}.related-expertise ul{display:flex;flex-wrap:wrap;gap:8px 28px;list-style:none;padding:0}.related-expertise a{display:inline-block;padding-block:10px}.service-availability{max-width:720px;color:var(--rust);font-size:1rem;line-height:1.7}.engage-card{display:flex;flex-direction:column}.engage-card>.engage-label,.engage-card>.text-link{align-self:flex-start}.engage-grid .engage-card .engage-fit{margin-top:auto}.engage-card>.text-link{display:inline-block;margin-top:22px}@media(max-width:600px){.consulting-services{grid-template-columns:1fr}}.engage-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}.engage-card{background:#fff;border:1px solid var(--line);border-top:3px solid var(--rust);padding:36px}.engage-card h3{font-size:24px;margin:0 0 14px}.engage-card>p,.engage-card li{font-size:1.125rem;line-height:1.7;color:var(--muted)}.engage-card ul{margin:0 0 20px;padding-left:20px}.engage-card li{margin-bottom:6px}.engage-card li::marker{color:var(--rust)}.engage-label{display:inline-block;font-size:.875rem;font-weight:700;letter-spacing:1px;text-transform:uppercase;border:1px solid #bcc9bb;border-radius:30px;padding:4px 12px;margin-bottom:18px}.engage-card .engage-fit{color:var(--ink);font-weight:600;border-top:1px solid var(--line);padding-top:18px;margin:0}.engage-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;list-style:none;padding:0;margin:32px 0 0;font-size:1rem;line-height:1.6;color:var(--muted)}.engage-facts strong{display:block;color:var(--ink)}@media(max-width:760px){.engage-grid,.engage-facts{grid-template-columns:1fr}.engage-card{padding:26px 22px}}.hero-copy{min-width:0}.hero h1{font-size:clamp(2.5rem,4.4vw,4rem);text-wrap:balance}.hero-actions .button{white-space:normal}@media(max-width:420px){.hero h1{font-size:clamp(2.1rem,9vw,2.5rem);letter-spacing:-1px}}
