:root {
	--ink: #030712;
	--blue: #1d4ed8;
	--orange: #f97316;
	--paper: #f5f7fb;
	--muted: #64748b;
	--line: rgba(3, 7, 18, .12);
	--display: 'Outfit', sans-serif;
	--body: 'Inter', sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; overflow-x: hidden; }
body { margin: 0; color: var(--ink); background: var(--paper); font-family: var(--body); font-size: 15px; line-height: 1.55; }
a { color: inherit; text-decoration: none; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.section-shell { width: min(1180px, calc(100% - 64px)); margin: 0 auto; }
.site-header { width: min(1180px, calc(100% - 64px)); height: 72px; margin: auto; display: flex; align-items: center; justify-content: space-between; position: sticky; top: 0; z-index: 100; background: rgba(245,247,251,.94); backdrop-filter: blur(14px); }
.brand { display: inline-flex; align-items: center; gap: 0; font: 700 21px var(--display); letter-spacing: .02em; }
.brand-dot { color: var(--orange); }
.brand-mark { display: none; }
.brand-mark i { width: 6px; display: block; background: var(--blue); border-radius: 2px 2px 0 0; transform: skew(-20deg); }
.brand-mark i:nth-child(1) { height: 11px; }.brand-mark i:nth-child(2) { height: 18px; background: var(--orange); }.brand-mark i:nth-child(3) { height: 24px; }
.main-nav { display: flex; align-items: center; gap: 36px; font-size: 13px; font-weight: 600; }
.main-nav > a { color: #64748b; transition: color .2s ease; }.main-nav > a:hover, .main-nav > a.active { color: var(--ink); }.main-nav .nav-cta { color: white; background: var(--ink); padding: 13px 18px; border-radius: 2px; }.nav-cta span { color: var(--orange); margin-left: 8px; font-size: 17px; }
.menu-toggle { display: none; border: 0; background: transparent; padding: 10px; }
.hero { min-height: 625px; display: grid; grid-template-columns: .93fr 1.07fr; align-items: center; gap: 40px; padding: 68px 0 90px; }
.eyebrow { text-transform: uppercase; letter-spacing: .18em; font-size: 10px; font-weight: 700; color: var(--blue); display: flex; align-items: center; gap: 10px; margin: 0 0 24px; }.eyebrow span { width: 28px; height: 2px; display: inline-block; background: var(--orange); }
h1, h2, h3, p { margin-top: 0; }.hero h1 { max-width: 580px; font: 700 clamp(48px, 6vw, 78px)/.98 var(--display); letter-spacing: -.055em; margin-bottom: 27px; }.hero h1 em, h2 em { color: var(--blue); font-style: normal; }.hero-text { max-width: 470px; color: #536174; font-size: 16px; line-height: 1.75; margin-bottom: 33px; }
.hero-actions { display: flex; align-items: center; gap: 27px; }.button { display: inline-flex; align-items: center; gap: 25px; padding: 15px 19px; font-size: 12px; font-weight: 700; border: 1px solid transparent; transition: transform .2s ease, background .2s ease; }.button:hover { transform: translateY(-3px); }.button-primary { color: #fff; background: var(--blue); box-shadow: 7px 7px 0 rgba(249,115,22,.2); }.button span { font-size: 17px; color: var(--orange); }.button-outline { color: var(--ink); border-color: rgba(255,255,255,.35); margin-top: 25px; }.button-light { color: var(--ink); background: #fff; }.text-link { font-size: 12px; font-weight: 700; color: var(--ink); }.text-link span { margin-left: 8px; color: var(--orange); font-size: 16px; }
.hero-proof { display: flex; align-items: center; gap: 14px; margin-top: 58px; }.hero-proof p { margin: 0; color: #7b8798; font-size: 10px; line-height: 1.5; }.hero-proof strong { color: var(--ink); font-size: 11px; }.avatar-stack { display: flex; align-items: center; }.avatar-stack span, .avatar-stack b { display: grid; place-items: center; width: 28px; height: 28px; border: 2px solid var(--paper); border-radius: 50%; color: white; background: #97a7bd; font-size: 8px; font-weight: 700; margin-left: -7px; }.avatar-stack span:first-child { margin-left: 0; background: var(--orange); }.avatar-stack span:nth-child(2) { background: #597194; }.avatar-stack b { background: var(--ink); font-size: 14px; font-weight: 400; }
.hero-visual { min-height: 445px; position: relative; display: flex; align-items: center; justify-content: center; }.visual-glow { position: absolute; width: 360px; height: 360px; background: radial-gradient(circle, rgba(29,78,216,.3), rgba(29,78,216,0) 68%); }.orbit { position: absolute; border: 1px solid rgba(29,78,216,.2); border-radius: 50%; transform: rotate(-28deg); }.orbit-one { width: 460px; height: 210px; }.orbit-two { width: 540px; height: 300px; transform: rotate(28deg); border-color: rgba(249,115,22,.14); }.visual-card { background: rgba(255,255,255,.96); box-shadow: 0 25px 60px rgba(3,7,18,.16); }.visual-card-main { width: 340px; padding: 27px 27px 22px; position: relative; z-index: 2; }.card-topline, .chart-labels { display: flex; justify-content: space-between; color: #8793a3; font-size: 9px; text-transform: uppercase; letter-spacing: .09em; }.trend { color: #16a34a; font-weight: 700; }.trend b { font-size: 14px; }.metric { font: 700 59px var(--display); letter-spacing: -.06em; margin: 23px 0 22px; }.metric span { color: #a8b3c4; font: 500 16px var(--body); letter-spacing: 0; }.chart { height: 110px; display: flex; align-items: flex-end; gap: 10px; border-bottom: 1px solid #e7ebf2; position: relative; }.chart i { width: 19px; background: #dce4f5; height: 32%; }.chart i:nth-child(2) { height: 43%; }.chart i:nth-child(3) { height: 39%; }.chart i:nth-child(4) { height: 57%; }.chart i:nth-child(5) { height: 48%; }.chart i:nth-child(6) { height: 64%; }.chart i:nth-child(7) { height: 72%; }.chart i:nth-child(8) { height: 84%; background: #8caaf1; }.chart i:nth-child(9) { height: 100%; background: var(--orange); }.chart strong { height: 78px; width: 185px; border-top: 2px solid var(--blue); position: absolute; left: 6px; bottom: 4px; transform: skewY(-18deg) rotate(-1deg); border-radius: 50%; clip-path: polygon(0 0, 100% 0, 100% 15%, 0 100%); opacity: .85; }.chart-labels { margin-top: 10px; font-size: 8px; }.floating-card { position: absolute; z-index: 3; display: flex; align-items: center; gap: 12px; padding: 13px 16px; }.floating-card-one { top: 57px; right: 1px; }.floating-card-two { bottom: 57px; left: 10px; }.floating-card small { display: block; color: #8290a3; font-size: 9px; margin-bottom: 2px; }.floating-card strong { font: 600 12px var(--display); }.mini-icon { width: 27px; height: 27px; display: grid; place-items: center; color: white; background: var(--blue); font-size: 17px; }.pulse-dot { display: block; width: 9px; height: 9px; background: #22c55e; border-radius: 50%; box-shadow: 0 0 0 5px #dcfce7; margin: 0 5px; }.visual-caption { position: absolute; right: -7px; bottom: 6px; transform: rotate(-90deg); transform-origin: right bottom; color: #8d98a8; font-size: 9px; }.visual-caption span { color: var(--orange); margin-right: 8px; }
.marquee { overflow: hidden; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); padding: 20px 0; background: #fff; }.marquee-track { display: flex; min-width: max-content; align-items: center; gap: 47px; animation: ticker 30s linear infinite; font: 600 12px var(--display); text-transform: uppercase; letter-spacing: .18em; color: #78869a; }.marquee b { color: var(--orange); font-size: 18px; }
.intro-section { padding: 143px 0 123px; display: grid; grid-template-columns: .82fr 1.18fr; gap: 80px; }.section-heading h2, .method-intro h2 { font: 600 clamp(43px, 5vw, 66px)/1.03 var(--display); letter-spacing: -.055em; margin: 0; }.intro-content { display: flex; align-items: flex-end; justify-content: space-between; gap: 30px; padding-top: 48px; }.large-copy { max-width: 580px; font: 400 clamp(21px, 2.5vw, 30px)/1.35 var(--display); letter-spacing: -.025em; color: #7f8da0; }.large-copy strong { color: var(--ink); font-weight: 500; }.circle-link { flex: 0 0 auto; width: 68px; height: 68px; border: 1px solid var(--blue); display: grid; place-items: center; border-radius: 50%; color: var(--blue); font-size: 27px; transition: all .2s ease; }.circle-link:hover { color: #fff; background: var(--blue); transform: rotate(45deg); }
.services-section { padding-bottom: 140px; }.section-bar { display: flex; justify-content: space-between; align-items: center; margin-bottom: 30px; }.section-bar .eyebrow { margin: 0; }.service-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 13px; }.service-card { min-height: 335px; background: white; padding: 28px; position: relative; border-top: 2px solid transparent; transition: transform .25s ease, border-color .25s ease; }.service-card:hover { transform: translateY(-7px); border-color: var(--blue); }.service-card-featured { background: var(--blue); color: white; }.service-number { font-size: 10px; color: #8d9bb0; }.service-card-featured .service-number { color: #a9c0ff; }.service-icon { font-size: 35px; color: var(--orange); margin: 36px 0 23px; }.service-card h3 { font: 600 27px/1.05 var(--display); letter-spacing: -.04em; margin-bottom: 18px; }.service-card p { color: #7c899c; font-size: 12px; max-width: 220px; line-height: 1.6; }.service-card-featured p { color: #cfdbfb; }.service-card > a { position: absolute; right: 28px; bottom: 27px; width: 33px; height: 33px; border: 1px solid #d8dfeb; display: grid; place-items: center; color: var(--blue); font-size: 18px; }.service-card-featured > a { color: white; border-color: rgba(255,255,255,.4); }
.method-section { background: var(--ink); color: white; max-width: none; width: 100%; padding: 125px max(32px, calc((100% - 1180px)/2)) 135px; display: grid; grid-template-columns: 1fr 1fr; gap: 130px; }.method-intro .eyebrow { color: #94b3ff; }.method-intro h2 { margin-bottom: 27px; }.method-intro > p:not(.eyebrow) { color: #9da9bb; max-width: 340px; font-size: 13px; line-height: 1.8; }.method-steps { padding-top: 45px; }.step { border-top: 1px solid rgba(255,255,255,.2); padding: 18px 0 25px; display: grid; grid-template-columns: 52px 1fr; column-gap: 20px; }.step span { color: var(--orange); font: 600 12px var(--display); }.step h3 { font: 600 22px var(--display); margin: 0 0 7px; }.step p { grid-column: 2; color: #8e9aac; margin: 0; font-size: 12px; max-width: 290px; }.closing-cta { min-height: 360px; padding: 105px 80px; background: var(--blue); color: white; display: flex; align-items: center; justify-content: space-between; gap: 40px; }.closing-cta .eyebrow { color: #b7caff; }.closing-cta h2 { font: 600 clamp(40px, 5vw, 61px)/1 var(--display); letter-spacing: -.05em; margin: 0; }.site-footer { min-height: 190px; display: grid; grid-template-columns: 1.5fr 1fr 1.2fr auto; align-items: center; gap: 40px; }.site-footer p { color: #768498; font-size: 11px; line-height: 1.55; margin: 0; }.footer-links { display: flex; gap: 22px; font-size: 11px; color: #768498; }.footer-links a:hover { color: var(--blue); }.site-footer small { color: #a3aebd; font-size: 10px; white-space: nowrap; }
.reveal { opacity: 0; transform: translateY(18px); animation: reveal .8s cubic-bezier(.2,.7,.2,1) forwards; }.reveal-delay { animation-delay: .15s; }.reveal-delay-2 { animation-delay: .3s; }
@keyframes reveal { to { opacity: 1; transform: translateY(0); } } @keyframes ticker { to { transform: translateX(-25%); } }
@media (max-width: 800px) { .section-shell, .site-header { width: min(100% - 36px, 600px); }.site-header { height: 76px; }.menu-toggle { display: flex; flex-direction: column; gap: 5px; }.menu-toggle > span:not(.sr-only) { display: block; width: 24px; height: 2px; background: var(--ink); }.main-nav { display: none; position: absolute; top: 64px; left: 0; right: 0; padding: 18px; background: white; box-shadow: 0 12px 30px rgba(3,7,18,.13); flex-direction: column; align-items: stretch; gap: 0; }.main-nav.open { display: flex; }.main-nav > a { padding: 11px 4px; }.main-nav .nav-cta { text-align: center; margin-top: 8px; }.hero { display: block; padding: 66px 0 55px; }.hero h1 { font-size: clamp(47px, 14vw, 70px); }.hero-visual { min-height: 400px; margin-top: 25px; overflow: hidden; }.visual-card-main { width: min(340px, 82vw); }.floating-card-one { right: -1px; top: 43px; }.floating-card-two { left: -4px; bottom: 28px; }.intro-section { display: block; padding: 90px 0; }.intro-content { padding-top: 35px; }.services-section { padding-bottom: 90px; }.service-grid { grid-template-columns: 1fr; }.service-card { min-height: 290px; }.method-section { display: block; padding: 88px 18px; }.method-steps { padding-top: 55px; }.closing-cta { display: block; padding: 70px 24px; margin: 0; }.closing-cta .button { margin-top: 35px; }.site-footer { display: flex; flex-wrap: wrap; padding: 50px 0; gap: 22px; }.site-footer p { width: 100%; }.footer-links { order: 4; width: 100%; }.site-footer small { margin-left: auto; }.visual-caption { display: none; } }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; } }

.site-footer { min-height: 125px; }

.method-hero { min-height: 565px; display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: 60px; padding: 80px 0 95px; }.method-hero h1 { font: 700 clamp(68px, 9vw, 118px)/.82 var(--display); letter-spacing: -.08em; margin: 0 0 32px; }.method-hero h1 em { color: var(--blue); font-style: normal; }.method-hero-copy > p:not(.eyebrow) { max-width: 450px; color: #64748b; font-size: 16px; line-height: 1.75; margin-bottom: 28px; }.method-hero-art { min-height: 390px; position: relative; display: grid; place-items: center; }.precision-ring { position: absolute; border: 1px solid rgba(29,78,216,.25); border-radius: 50%; transform: rotate(-23deg); }.ring-large { width: 430px; height: 245px; }.ring-small { width: 280px; height: 430px; border-color: rgba(249,115,22,.35); transform: rotate(36deg); }.precision-core { width: 180px; height: 180px; display: flex; flex-direction: column; align-items: center; justify-content: center; background: var(--ink); color: white; border-radius: 50%; box-shadow: 0 0 0 14px rgba(29,78,216,.08), 0 22px 55px rgba(3,7,18,.25); z-index: 2; }.precision-core strong { color: var(--orange); font: 700 56px/.9 var(--display); letter-spacing: -.08em; }.precision-core span { color: #9ba8bb; font-size: 10px; text-transform: uppercase; letter-spacing: .17em; margin-top: 12px; }.axis { position: absolute; width: 500px; height: 1px; background: linear-gradient(90deg, transparent, rgba(29,78,216,.4), transparent); transform: rotate(32deg); }.axis-two { transform: rotate(-32deg); background: linear-gradient(90deg, transparent, rgba(249,115,22,.3), transparent); }.art-label { position: absolute; color: #8793a4; font-size: 9px; letter-spacing: .2em; }.label-top { top: 12px; left: 32%; }.label-right { right: 3%; top: 48%; color: var(--orange); }.label-bottom { bottom: 17px; left: 27%; color: var(--blue); }
.method-statement { padding: 105px 0 110px; background: white; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }.method-statement h2 { font: 600 clamp(37px, 5vw, 62px)/1.04 var(--display); letter-spacing: -.055em; margin: 0 0 25px; }.method-statement h2 em { color: var(--blue); font-style: normal; }.method-statement .section-shell > p:last-child { max-width: 620px; color: #718096; font-size: 14px; line-height: 1.8; margin: 0; }
.phases-section { padding: 120px 0 135px; }.phase-note { color: #95a1b2; font: 600 10px var(--display); letter-spacing: .15em; }.phase-list { border-top: 1px solid var(--line); }.phase-item { display: grid; grid-template-columns: 80px 1fr 100px; gap: 30px; align-items: start; padding: 34px 0 37px; border-bottom: 1px solid var(--line); }.phase-index { color: var(--orange); font: 600 12px var(--display); padding-top: 7px; }.phase-content h3 { font: 600 clamp(27px, 3vw, 39px)/1 var(--display); letter-spacing: -.045em; margin: 0 0 14px; }.phase-content h3 em { color: var(--blue); font-style: normal; }.phase-content > p { color: #718096; max-width: 530px; font-size: 13px; line-height: 1.7; margin-bottom: 19px; }.phase-content ul { display: flex; flex-wrap: wrap; gap: 8px 21px; padding: 0; margin: 0; list-style: none; color: #435067; font-size: 11px; }.phase-content li::before { content: '→'; color: var(--orange); margin-right: 7px; }.phase-symbol { justify-self: end; width: 63px; height: 63px; display: grid; place-items: center; border: 1px solid #dbe2ec; color: var(--blue); font: 33px var(--display); transition: all .2s ease; }.phase-item:hover .phase-symbol { color: white; background: var(--blue); transform: rotate(12deg); }
.pillars-section { background: var(--ink); color: white; padding: 120px 0 130px; }.pillars-heading h2 { font: 600 clamp(43px, 5vw, 66px)/1.03 var(--display); letter-spacing: -.055em; margin: 0 0 70px; }.pillars-heading h2 em { color: #9bb6ff; font-style: normal; }.pillars-heading .eyebrow { color: #9bb6ff; }.pillar-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 45px; }.pillar-grid article { border-top: 1px solid rgba(255,255,255,.25); padding-top: 18px; }.pillar-grid article > span { color: var(--orange); font: 600 12px var(--display); }.pillar-grid h3 { font: 600 24px var(--display); margin: 33px 0 13px; }.pillar-grid p { max-width: 290px; color: #98a5b8; font-size: 12px; line-height: 1.75; }
.outcomes-section { display: grid; grid-template-columns: .85fr 1.15fr; gap: 100px; padding: 135px 0 125px; }.outcomes-copy h2 { font: 600 clamp(40px, 4.7vw, 61px)/1.03 var(--display); letter-spacing: -.055em; margin: 0 0 24px; }.outcomes-copy h2 em { color: var(--blue); font-style: normal; }.outcomes-copy > p:last-child { color: #718096; font-size: 13px; line-height: 1.75; max-width: 290px; }.outcome-list { display: grid; grid-template-columns: 1fr 1fr; border-top: 1px solid var(--line); }.outcome-list > div { min-height: 145px; padding: 20px 22px 17px 0; border-bottom: 1px solid var(--line); }.outcome-list > div:nth-child(odd) { border-right: 1px solid var(--line); padding-right: 28px; }.outcome-list > div:nth-child(even) { padding-left: 28px; }.outcome-list strong { color: var(--orange); font: 600 11px var(--display); }.outcome-list h3 { font: 600 19px var(--display); margin: 18px 0 4px; }.outcome-list p { color: #718096; font-size: 11px; margin: 0; }.values-section { padding: 0 0 140px; }.values-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 13px; }.values-grid article { min-height: 240px; background: white; padding: 27px; }.value-icon { display: block; color: var(--orange); font-size: 31px; margin-bottom: 28px; }.values-grid h3 { font: 600 22px var(--display); margin-bottom: 10px; }.values-grid p { color: #718096; font-size: 12px; line-height: 1.7; max-width: 245px; }
@media (max-width: 800px) { .method-hero { display: block; padding: 66px 0 60px; }.method-hero h1 { font-size: clamp(75px, 22vw, 110px); }.method-hero-art { min-height: 330px; margin-top: 38px; overflow: hidden; }.ring-large { width: 390px; }.ring-small { height: 380px; }.method-statement { padding: 80px 0; }.method-statement h2 { font-size: 43px; }.phases-section { padding: 85px 0 90px; }.phase-item { grid-template-columns: 42px 1fr 45px; gap: 12px; padding: 27px 0; }.phase-content h3 { font-size: 28px; }.phase-content ul { display: block; line-height: 1.9; }.phase-symbol { width: 42px; height: 42px; font-size: 23px; }.pillars-section { padding: 82px 0 90px; }.pillars-heading h2 { margin-bottom: 55px; }.pillar-grid { display: block; }.pillar-grid article { margin-top: 30px; }.pillar-grid h3 { margin-top: 18px; }.outcomes-section { display: block; padding: 90px 0; }.outcome-list { margin-top: 50px; }.outcome-list > div { min-height: 160px; }.outcome-list > div:nth-child(odd) { padding-right: 16px; }.outcome-list > div:nth-child(even) { padding-left: 16px; }.outcome-list h3 { font-size: 17px; }.values-section { padding-bottom: 90px; }.values-grid { display: block; }.values-grid article { min-height: 0; margin-bottom: 12px; }.value-icon { margin-bottom: 16px; } }

.clients-hero { min-height: 535px; display: flex; align-items: center; justify-content: space-between; gap: 50px; padding: 78px 0 95px; }.clients-hero h1 { font: 700 clamp(54px, 7vw, 91px)/.92 var(--display); letter-spacing: -.07em; margin: 0 0 30px; }.clients-hero h1 em { color: var(--blue); font-style: normal; }.clients-hero-copy > p:not(.eyebrow) { max-width: 475px; color: #66758a; font-size: 16px; line-height: 1.75; }.client-count { width: 220px; height: 220px; border: 1px solid #cdd7e6; border-radius: 50%; display: flex; flex-direction: column; justify-content: center; padding-left: 45px; position: relative; transform: rotate(-8deg); }.client-count::after { content: ''; position: absolute; inset: 9px; border: 1px dashed #dae2ee; border-radius: 50%; }.client-count strong { color: var(--blue); font: 700 67px/.85 var(--display); letter-spacing: -.08em; z-index: 1; }.client-count span { color: #758398; font-size: 11px; line-height: 1.45; margin-top: 12px; z-index: 1; }.client-count b { position: absolute; right: 28px; top: 32px; color: var(--orange); font: 28px var(--display); transform: rotate(8deg); z-index: 1; }.client-wall { padding-bottom: 125px; }.client-wall-head { display: grid; grid-template-columns: 1fr 1fr; align-items: end; gap: 70px; margin-bottom: 55px; }.client-wall h2 { font: 600 clamp(42px, 5vw, 65px)/1.03 var(--display); letter-spacing: -.055em; margin: 0; }.client-wall h2 em { color: var(--blue); font-style: normal; }.client-wall-intro { color: #718096; max-width: 350px; font-size: 13px; line-height: 1.8; margin: 0 0 5px; }.client-filters { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 23px; }.filter-button { appearance: none; border: 1px solid #d5deeb; color: #718096; background: transparent; padding: 10px 15px; cursor: pointer; font: 600 10px var(--body); transition: all .2s ease; }.filter-button:hover, .filter-button.is-active { color: white; border-color: var(--ink); background: var(--ink); }.client-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 13px; }.client-card { min-height: 190px; background: white; display: flex; flex-direction: column; justify-content: space-between; padding: 17px; animation: client-in .45s both; animation-delay: var(--delay); }.client-logo { height: 95px; display: grid; place-items: center; padding: 10px; }.client-logo img { max-width: 100%; max-height: 72px; width: auto; object-fit: contain; mix-blend-mode: multiply; }.client-logo span { display: none; color: var(--ink); font: 600 20px var(--display); text-align: center; line-height: 1; }.client-logo.logo-fallback span { display: block; }.client-meta { display: grid; grid-template-columns: 21px 1fr 20px; gap: 8px; align-items: end; border-top: 1px solid #e6ebf2; padding-top: 12px; }.client-meta > span { color: var(--orange); font: 600 9px var(--display); }.client-meta p { color: #8995a5; font-size: 9px; line-height: 1.25; margin: 0; }.client-meta b { color: var(--blue); font: 18px var(--display); text-align: right; }.client-quote { padding: 105px 8% 125px; text-align: center; }.quote-mark { color: var(--orange); font: 700 90px/.5 var(--display); height: 42px; }.client-quote blockquote { max-width: 790px; margin: 0 auto 25px; font: 500 clamp(25px, 3.2vw, 40px)/1.25 var(--display); letter-spacing: -.035em; }.client-quote cite { color: var(--blue); font: 600 11px var(--body); font-style: normal; letter-spacing: .12em; text-transform: uppercase; }.client-sector-band { color: white; background: var(--ink); padding: 55px 0 63px; overflow: hidden; }.client-sector-band .eyebrow { color: #9bb6ff; }.sector-ticker { display: flex; min-width: max-content; align-items: center; gap: 42px; font: 600 21px var(--display); letter-spacing: .05em; color: #d8e2ff; animation: ticker 30s linear infinite; }.sector-ticker b { color: var(--orange); }.clients-page .closing-cta { margin-top: 0; }.clients-page .site-footer { background: var(--paper); }.logo-fallback { background: #f3f6fb; }
@keyframes client-in { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } }
@media (max-width: 800px) { .clients-hero { display: block; padding: 65px 0 70px; }.clients-hero h1 { font-size: clamp(55px, 15vw, 78px); }.client-count { width: 165px; height: 165px; padding-left: 31px; margin: 55px auto 0; }.client-count strong { font-size: 52px; }.client-count b { right: 20px; top: 23px; }.client-wall { padding-bottom: 85px; }.client-wall-head { display: block; margin-bottom: 38px; }.client-wall-intro { margin-top: 28px; }.client-filters { gap: 6px; }.filter-button { padding: 9px 11px; }.client-grid { grid-template-columns: repeat(2, 1fr); gap: 9px; }.client-card { min-height: 175px; padding: 12px; }.client-logo { height: 86px; }.client-meta { grid-template-columns: 18px 1fr; }.client-meta b { display: none; }.client-quote { padding: 75px 5% 90px; }.client-sector-band { padding: 48px 0 55px; }.sector-ticker { font-size: 17px; gap: 27px; }.clients-page .closing-cta { margin: 0; } }

.services-hero { min-height: 535px; display: flex; align-items: center; justify-content: space-between; gap: 60px; padding: 80px 0 100px; }.services-hero h1 { font: 700 clamp(52px, 7vw, 88px)/.94 var(--display); letter-spacing: -.07em; margin: 0 0 28px; }.services-hero h1 em, .pain-heading h2 em, .services-method h2 em { color: var(--blue); font-style: normal; }.services-hero-copy > p:not(.eyebrow) { max-width: 510px; color: #66758a; font-size: 16px; line-height: 1.75; }.services-hero-stamp { width: 230px; height: 230px; display: flex; flex-direction: column; justify-content: center; padding-left: 43px; border: 1px solid #cbd6e5; border-radius: 50%; transform: rotate(9deg); position: relative; }.services-hero-stamp::after { content: ''; position: absolute; inset: 10px; border: 1px dashed #dbe3ee; border-radius: 50%; }.services-hero-stamp span, .services-hero-stamp small, .services-hero-stamp strong { position: relative; z-index: 1; }.services-hero-stamp span { color: var(--orange); font: 700 11px var(--display); letter-spacing: .2em; }.services-hero-stamp strong { color: var(--blue); font: 700 72px/.9 var(--display); letter-spacing: -.1em; }.services-hero-stamp small { color: #7a889c; font-size: 10px; line-height: 1.35; margin-top: 7px; }.pain-section { padding: 105px 0 115px; background: var(--ink); color: white; }.pain-heading h2 { font: 600 clamp(39px, 5vw, 62px)/1.04 var(--display); letter-spacing: -.055em; margin: 0 0 70px; }.pain-heading h2 em { color: #9bb6ff; }.pain-heading .eyebrow { color: #9bb6ff; }.pain-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 45px; }.pain-grid article { border-top: 1px solid rgba(255,255,255,.25); padding-top: 17px; }.pain-grid article > span { color: var(--orange); font: 600 12px var(--display); }.pain-grid h3 { font: 600 23px var(--display); margin: 30px 0 12px; }.pain-grid p { color: #97a4b7; max-width: 280px; font-size: 12px; line-height: 1.75; }.solutions-section { padding: 125px 0 135px; }.services-note { color: #8b98aa; font: 600 10px var(--display); letter-spacing: .15em; text-transform: uppercase; }.solution-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 13px; }.solution-card { min-height: 315px; padding: 27px; background: white; color: var(--ink); display: flex; flex-direction: column; position: relative; transition: transform .25s ease, background .25s ease; }.solution-card:hover { transform: translateY(-7px); }.solution-card-main { background: var(--blue); color: white; }.solution-number { color: #8a98aa; font: 600 11px var(--display); }.solution-card-main .solution-number { color: #bbceff; }.solution-symbol { color: var(--orange); font: 39px var(--display); margin: 30px 0 25px; }.solution-card h3 { font: 600 29px/1.03 var(--display); letter-spacing: -.045em; margin: 0 0 15px; }.solution-card h3 em { color: var(--blue); font-style: normal; }.solution-card-main h3 em { color: #c3d3ff; }.solution-card p { max-width: 285px; color: #718096; font-size: 12px; line-height: 1.7; margin: 0; }.solution-card-main p { color: #d6e0ff; }.solution-card > b { position: absolute; right: 26px; bottom: 25px; width: 35px; height: 35px; display: grid; place-items: center; border: 1px solid #d7e0ec; color: var(--blue); font: 20px var(--display); }.solution-card-main > b { color: white; border-color: rgba(255,255,255,.4); }.services-method { display: grid; grid-template-columns: 1fr 1fr; gap: 100px; padding: 0 0 135px; }.services-method h2 { font: 600 clamp(42px, 5vw, 64px)/1.03 var(--display); letter-spacing: -.055em; margin: 0; }.services-method > div:last-child { padding-top: 42px; }.services-method > div:last-child > p { color: #718096; max-width: 430px; font-size: 14px; line-height: 1.8; margin-bottom: 25px; }.services-page .closing-cta { margin-top: 0; }
@media (max-width: 800px) { .services-hero { display: block; padding: 67px 0 75px; }.services-hero h1 { font-size: clamp(52px, 14vw, 76px); }.services-hero-stamp { width: 180px; height: 180px; padding-left: 32px; margin: 52px auto 0; }.services-hero-stamp strong { font-size: 56px; }.pain-section { padding: 82px 0 85px; }.pain-heading h2 { margin-bottom: 52px; }.pain-grid { display: block; }.pain-grid article { margin-top: 30px; }.pain-grid h3 { margin-top: 18px; }.solutions-section { padding: 88px 0 90px; }.solution-grid { grid-template-columns: 1fr; }.solution-card { min-height: 275px; }.services-method { display: block; padding-bottom: 90px; }.services-method > div:last-child { padding-top: 35px; } }

.detail-hero { min-height: 535px; display: flex; align-items: center; justify-content: space-between; gap: 50px; padding: 80px 0 100px; }.detail-hero h1 { font: 700 clamp(57px, 8vw, 102px)/.88 var(--display); letter-spacing: -.075em; margin: 0 0 30px; }.detail-hero h1 em, .detail-lead h2 em { color: var(--blue); font-style: normal; }.detail-hero > div:first-child > p:not(.eyebrow) { max-width: 500px; color: #66758a; font-size: 16px; line-height: 1.75; margin-bottom: 28px; }.detail-index { width: 235px; height: 235px; display: flex; flex-direction: column; justify-content: center; align-items: center; border: 1px solid #cbd6e5; border-radius: 50%; color: var(--blue); font: 700 82px/.8 var(--display); letter-spacing: -.1em; transform: rotate(-8deg); }.detail-index span { color: #8795a7; font: 500 13px var(--body); letter-spacing: .1em; margin-top: 15px; }.detail-body { display: grid; grid-template-columns: .9fr 1.1fr; gap: 100px; padding: 115px 0 130px; border-top: 1px solid var(--line); }.detail-lead h2 { font: 600 clamp(40px, 5vw, 63px)/1.03 var(--display); letter-spacing: -.055em; margin: 0; }.detail-copy > p { color: #718096; font-size: 14px; line-height: 1.8; max-width: 470px; margin: 42px 0 45px; }.detail-list { border-top: 1px solid var(--line); }.detail-list > div { display: grid; grid-template-columns: 40px 1fr; column-gap: 16px; padding: 19px 0; border-bottom: 1px solid var(--line); }.detail-list strong { color: var(--orange); font: 600 11px var(--display); }.detail-list h3 { font: 600 20px var(--display); margin: 0 0 3px; }.detail-list p { grid-column: 2; color: #718096; font-size: 11px; margin: 0; }.detail-cta { border-top: 1px solid var(--line); padding: 65px 0 115px; display: flex; justify-content: space-between; align-items: center; gap: 30px; }.detail-cta p { font: 500 25px var(--display); letter-spacing: -.02em; margin: 0; }.service-detail-page .site-footer { border-top: 1px solid var(--line); }.service-detail-page .site-footer .footer-links { display: none; }
@media (max-width: 800px) { .detail-hero { display: block; padding: 67px 0 75px; }.detail-hero h1 { font-size: clamp(59px, 16vw, 88px); }.detail-index { width: 165px; height: 165px; font-size: 58px; margin: 55px auto 0; }.detail-index span { font-size: 11px; margin-top: 10px; }.detail-body { display: block; padding: 85px 0 90px; }.detail-copy > p { margin-top: 35px; }.detail-cta { display: block; padding: 48px 0 85px; }.detail-cta p { font-size: 23px; margin-bottom: 28px; } }

.contact-hero { min-height: 540px; display: flex; align-items: center; justify-content: space-between; gap: 60px; padding: 80px 0 95px; }.contact-hero h1 { font: 700 clamp(57px, 8vw, 101px)/.88 var(--display); letter-spacing: -.075em; margin: 0 0 28px; }.contact-hero h1 em, .contact-bottom h2 em { color: var(--blue); font-style: normal; }.contact-hero-copy > p:not(.eyebrow) { max-width: 500px; color: #66758a; font-size: 16px; line-height: 1.75; }.contact-direct { display: flex; align-items: center; gap: 13px; margin-top: 38px; }.contact-direct-icon { width: 33px; height: 33px; display: grid; place-items: center; color: white; background: var(--orange); font-size: 17px; }.contact-direct small, .contact-direct a { display: block; }.contact-direct small { color: #8b98aa; font-size: 9px; margin-bottom: 3px; }.contact-direct a { color: var(--blue); font: 600 13px var(--display); }.contact-signal { width: 285px; height: 285px; display: flex; flex-direction: column; justify-content: center; padding-left: 44px; color: white; background: var(--ink); border-radius: 50%; position: relative; transform: rotate(8deg); overflow: hidden; }.contact-signal::after { content: ''; position: absolute; width: 180px; height: 180px; right: -55px; top: -40px; border: 1px solid rgba(249,115,22,.5); border-radius: 50%; }.contact-signal span { color: var(--orange); font: 700 10px var(--display); letter-spacing: .22em; z-index: 1; }.contact-signal strong { font: 600 28px/.92 var(--display); letter-spacing: -.04em; margin-top: 25px; z-index: 1; }.contact-signal i { position: absolute; right: 42px; bottom: 43px; color: #99b4ff; font: 27px var(--display); font-style: normal; z-index: 1; }.signal-ring { position: absolute; border: 1px solid rgba(29,78,216,.55); border-radius: 50%; }.signal-ring-one { width: 240px; height: 110px; right: -40px; bottom: 32px; transform: rotate(-27deg); }.signal-ring-two { width: 330px; height: 170px; left: -120px; top: 45px; border-color: rgba(255,255,255,.16); transform: rotate(24deg); }
.contact-form-section { display: grid; grid-template-columns: .76fr 1.24fr; gap: 100px; padding: 120px 0 135px; border-top: 1px solid var(--line); }.contact-info h2 { max-width: 340px; font: 600 clamp(37px, 4vw, 51px)/1.04 var(--display); letter-spacing: -.05em; margin: 0 0 52px; }.info-block { border-top: 1px solid var(--line); padding: 16px 0 14px; max-width: 300px; }.info-block small { color: var(--blue); text-transform: uppercase; font-size: 9px; font-weight: 700; letter-spacing: .13em; }.info-block p { color: #718096; font-size: 12px; line-height: 1.65; margin: 10px 0 0; }.info-block strong { color: var(--ink); font-weight: 600; }.social-links { display: flex; gap: 18px; margin-top: 32px; }.social-links a { color: #77869a; font-size: 11px; font-weight: 600; }.social-links a span { color: var(--orange); margin-left: 4px; }.social-links a:hover { color: var(--blue); }.contact-form { background: white; padding: 29px; }.form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }.contact-form label { display: block; color: #6d7b8e; font-size: 10px; font-weight: 700; margin-bottom: 22px; }.contact-form input, .contact-form select, .contact-form textarea { width: 100%; display: block; appearance: none; border: 0; border-bottom: 1px solid #d8e0eb; border-radius: 0; background: transparent; color: var(--ink); font: 400 13px var(--body); padding: 11px 0 12px; outline: 0; }.contact-form input:focus, .contact-form select:focus, .contact-form textarea:focus { border-color: var(--blue); }.contact-form textarea { resize: vertical; min-height: 108px; }.contact-form select { cursor: pointer; }.form-submit { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin-top: 9px; }.form-submit .button { cursor: pointer; }.form-submit p { color: #91a0b2; font-size: 10px; margin: 0; }.contact-bottom { background: var(--blue); color: white; padding: 100px 0 115px; }.contact-bottom .eyebrow { color: #bed0ff; }.contact-bottom h2 { font: 600 clamp(43px, 5vw, 64px)/1.03 var(--display); letter-spacing: -.055em; margin: 0 0 32px; }.contact-bottom .button { margin-top: 5px; }.contact-page .site-footer { border-top: 1px solid var(--line); }
@media (max-width: 800px) { .contact-hero { display: block; padding: 67px 0 75px; }.contact-hero h1 { font-size: clamp(59px, 16vw, 88px); }.contact-signal { width: 205px; height: 205px; padding-left: 31px; margin: 52px auto 0; }.contact-signal strong { font-size: 21px; margin-top: 17px; }.contact-signal i { right: 30px; bottom: 30px; }.contact-form-section { display: block; padding: 85px 0 90px; }.contact-info h2 { margin-bottom: 42px; }.contact-form { margin-top: 55px; padding: 22px 18px; }.form-row { display: block; }.form-submit { display: block; }.form-submit .button { margin-bottom: 18px; }.contact-bottom { padding: 78px 0 85px; } }

.people-hero { min-height: 555px; display: flex; align-items: center; justify-content: space-between; gap: 60px; padding: 80px 0 100px; }.people-hero h1 { font: 700 clamp(58px, 8vw, 102px)/.87 var(--display); letter-spacing: -.075em; margin: 0 0 30px; }.people-hero h1 em, .people-bottom h2 em { color: var(--blue); font-style: normal; }.people-hero-copy > p:not(.eyebrow) { max-width: 485px; color: #66758a; font-size: 16px; line-height: 1.75; margin-bottom: 29px; }.people-hero-art { width: 335px; height: 295px; color: var(--ink); position: relative; overflow: hidden; }.people-word { color: var(--blue); font: 700 62px/.8 var(--display); letter-spacing: -.1em; position: absolute; left: 15px; top: 108px; z-index: 2; transform: rotate(-8deg); }.people-hero-art > span { position: absolute; right: 6px; top: 10px; color: #8b98aa; font: 600 9px var(--display); letter-spacing: .16em; }.people-orbit { position: absolute; border: 1px solid #cdd8e7; border-radius: 50%; }.people-orbit-one { width: 390px; height: 142px; left: -32px; top: 80px; transform: rotate(25deg); }.people-orbit-two { width: 250px; height: 370px; left: 57px; top: -41px; border-color: rgba(249,115,22,.45); transform: rotate(38deg); }.people-dot { position: absolute; width: 13px; height: 13px; background: var(--orange); border-radius: 50%; z-index: 3; }.people-dot-one { top: 53px; right: 60px; }.people-dot-two { bottom: 47px; left: 67px; width: 8px; height: 8px; background: var(--blue); }.people-values { color: white; background: var(--ink); padding: 120px 0 130px; }.people-values .eyebrow { color: #9bb6ff; }.people-values-heading h2 { font: 600 clamp(43px, 5vw, 65px)/1.03 var(--display); letter-spacing: -.055em; margin: 0 0 72px; }.people-values-heading h2 em { color: #9bb6ff; font-style: normal; }.people-value-list { display: grid; grid-template-columns: repeat(3, 1fr); gap: 45px; }.people-value-list article { border-top: 1px solid rgba(255,255,255,.25); padding-top: 17px; }.people-value-list article > span { color: var(--orange); font: 600 12px var(--display); }.people-value-list h3 { font: 600 23px var(--display); margin: 30px 0 12px; }.people-value-list p { max-width: 280px; color: #98a5b8; font-size: 12px; line-height: 1.75; }.openings-section { display: grid; grid-template-columns: .9fr 1.1fr; gap: 100px; padding: 130px 0 125px; }.openings-heading h2 { font: 600 clamp(45px, 5vw, 65px)/1.01 var(--display); letter-spacing: -.06em; margin: 0; }.openings-heading h2 em { color: var(--blue); font-style: normal; }.openings-state { border-top: 1px solid var(--line); padding-top: 20px; position: relative; }.status-dot { display: inline-block; width: 9px; height: 9px; margin-right: 9px; border-radius: 50%; background: #f59e0b; box-shadow: 0 0 0 5px #fef3c7; }.openings-state strong { font: 600 16px var(--display); }.openings-state p { max-width: 375px; color: #718096; font-size: 13px; line-height: 1.75; margin: 34px 0 22px; }.application-section { display: grid; grid-template-columns: .9fr 1.1fr; gap: 100px; padding: 115px 0 135px; border-top: 1px solid var(--line); }.application-copy h2 { font: 600 clamp(42px, 5vw, 63px)/1.02 var(--display); letter-spacing: -.055em; margin: 0 0 25px; }.application-copy > p:not(.eyebrow) { max-width: 370px; color: #718096; font-size: 13px; line-height: 1.8; }.portfolio-note { display: flex; gap: 13px; align-items: flex-start; margin-top: 32px; max-width: 300px; }.portfolio-note > span { width: 26px; height: 26px; display: grid; place-items: center; color: white; background: var(--orange); font-size: 15px; }.portfolio-note p { color: #758398; font-size: 11px; line-height: 1.5; margin: 0; }.portfolio-note strong { color: var(--ink); }.people-form { padding: 29px; background: white; }.people-form label { display: block; color: #6d7b8e; font-size: 10px; font-weight: 700; margin-bottom: 22px; }.people-form input, .people-form select, .people-form textarea { width: 100%; display: block; appearance: none; border: 0; border-bottom: 1px solid #d8e0eb; background: transparent; color: var(--ink); font: 400 13px var(--body); padding: 11px 0 12px; outline: 0; }.people-form input:focus, .people-form select:focus, .people-form textarea:focus { border-color: var(--blue); }.people-form textarea { resize: vertical; min-height: 92px; }.people-form select { cursor: pointer; }.people-form .form-submit { margin-top: 8px; }.people-bottom { color: white; background: var(--blue); padding: 100px 0 115px; }.people-bottom .eyebrow { color: #bed0ff; }.people-bottom h2 { font: 600 clamp(42px, 5vw, 62px)/1.03 var(--display); letter-spacing: -.055em; margin: 0 0 32px; }.people-page .site-footer { border-top: 1px solid var(--line); }
@media (max-width: 800px) { .people-hero { display: block; padding: 67px 0 75px; }.people-hero h1 { font-size: clamp(60px, 17vw, 90px); }.people-hero-art { width: 100%; height: 255px; margin-top: 45px; }.people-word { font-size: 51px; left: calc(50% - 140px); top: 95px; }.people-orbit-one { left: calc(50% - 190px); top: 70px; }.people-orbit-two { left: calc(50% - 125px); top: -53px; }.people-values { padding: 84px 0 90px; }.people-values-heading h2 { margin-bottom: 52px; }.people-value-list { display: block; }.people-value-list article { margin-top: 30px; }.people-value-list h3 { margin-top: 18px; }.openings-section { display: block; padding: 90px 0; }.openings-state { margin-top: 50px; }.application-section { display: block; padding: 85px 0 90px; }.application-copy > p:not(.eyebrow) { max-width: none; }.people-form { margin-top: 52px; padding: 22px 18px; }.people-bottom { padding: 78px 0 85px; } }

.service-benefits { margin-top: 42px; padding-top: 23px; border-top: 1px solid var(--line); }.service-benefits h3 { font: 600 20px var(--display); margin: 0 0 17px; }.service-benefits ul { list-style: none; padding: 0; margin: 0; }.service-benefits li { color: #718096; font-size: 12px; line-height: 1.55; padding: 8px 0 8px 19px; position: relative; }.service-benefits li::before { content: '✦'; color: var(--orange); position: absolute; left: 0; }.contact-extra-fields { grid-template-columns: 1.2fr 1fr 1fr; }.contact-extra-fields label { margin-bottom: 22px; }
@media (max-width: 800px) { .site-header { height: 64px; }.site-footer { min-height: 0; padding: 32px 0; }.service-benefits { margin-top: 35px; }.contact-extra-fields { display: block; } }

/* Use the orange accent for emphasis text on blue surfaces. */
.method-section .method-intro h2 em,
.closing-cta h2 em,
.contact-bottom h2 em,
.people-bottom h2 em,
.solution-card-main h3 em { color: var(--orange); }

/* CTA accents stay orange on blue or dark surfaces. */
.button-primary span,
.nav-cta span,
.closing-cta .button span,
.contact-bottom .button span,
.people-bottom .button span,
.solution-card-main > b { color: var(--orange); }
.method-section .button-outline { color: var(--orange); border-color: var(--orange); }
