@font-face{font-family:Instrument Sans;src:url('fonts/InstrumentSans.ttf') format('truetype');font-weight:400 700;font-display:swap}
@font-face{font-family:IBM Plex Mono;src:url('fonts/IBMPlexMono-Regular.ttf') format('truetype');font-display:swap}
:root{--paper:#f5f2e9;--ink:#202b2a;--dark:#172222;--muted:#5f6963;--rust:#983d28;--line:#d0d3c8;--sans:'Instrument Sans',sans-serif;--mono:'IBM Plex Mono',monospace;color-scheme:light}
[hidden]{display:none!important}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.6 var(--sans);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}a:hover{text-decoration:underline;text-underline-offset:5px}button,input,select,textarea{font:inherit}button{cursor:pointer}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,video:focus-visible{outline:2px solid #b15e37;outline-offset:5px}img{display:block;max-width:100%;height:auto}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-weight:450;line-height:1.12;letter-spacing:-.04em}h2{font-size:clamp(32px,3.1vw,48px)}h3{font-size:25px}p{max-width:70ch}.shell{width:calc(100% - 112px);max-width:1328px;margin-inline:auto}.eyebrow{font:11px/1.6 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--rust)}.skip{position:absolute;top:-100px;left:20px;z-index:20;background:var(--paper);color:var(--ink);padding:12px}.skip:focus{top:10px}
.header{display:flex;align-items:center;justify-content:space-between;gap:35px;padding-block:30px;border-bottom:1px solid var(--line);position:relative;z-index:5}.brand{width:178px;flex-shrink:0}.header nav{display:flex;gap:30px;align-items:center;font-size:14px}.header nav a[aria-current]{text-decoration:underline;text-underline-offset:7px;text-decoration-color:var(--rust)}.menu-toggle{display:none}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:35px;padding:15px 21px;font-size:14px;border:1px solid transparent;border-radius:0}.button.light{background:var(--paper);color:var(--ink)}.button.dark{background:var(--dark);color:var(--paper)}.button:hover{background:var(--rust);color:#fff;text-decoration:none}.text-link{display:inline-block;color:var(--rust);margin-top:20px;font-size:14px}.section{padding-block:72px}.section-heading{display:grid;grid-template-columns:1.15fr 1fr;gap:64px;align-items:end;margin-bottom:36px}.section-heading>p,.section-heading>div>p:not(.eyebrow){color:var(--muted);max-width:490px}.section-heading .eyebrow{margin-bottom:15px}.small-note{font-size:13px;color:var(--muted);line-height:1.6}.two-columns,.three-columns{display:grid;gap:60px}.two-columns{grid-template-columns:1fr 1fr}.three-columns{grid-template-columns:repeat(3,1fr)}.two-columns h3,.three-columns h3{margin-bottom:18px}.two-columns p,.three-columns p{color:var(--muted)}
.opening{position:relative;isolation:isolate;color:var(--paper);background:#182b34;min-height:850px;overflow:hidden;display:flex;flex-direction:column}.landscape{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;z-index:-2}.opening:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#061719b8,#0b1d2040 80%),linear-gradient(0deg,#091410bb,transparent 40%);z-index:-1}.opening .header{border-color:#e8eade40}.opening .header nav a[aria-current]{text-decoration-color:#e3c2a5}.hero{padding-block:73px 60px}.hero>.eyebrow{color:#e3c2a5;margin-bottom:26px}.hero h1{font-size:clamp(58px,5.8vw,87px);line-height:1.04;letter-spacing:-.05em;max-width:1000px;text-wrap:balance}.hero h1 span{color:#e3c2a5}.hero-description{max-width:660px;font-size:18px;line-height:1.65;margin-top:30px;color:#f4f0e7}.hero .button{margin-top:28px}.location{margin-top:auto;padding-bottom:26px;font-size:12px;color:#eee8dc;max-width:none}.audience{display:grid;grid-template-columns:1fr 3fr;gap:40px;padding-block:33px;border-bottom:1px solid var(--line);align-items:center}.audience>p:last-child{font-size:14px;color:var(--muted);max-width:none}.services-grid{display:grid;grid-template-columns:1fr 1fr;column-gap:56px}.service-summary{position:relative;display:block;border-top:1px solid var(--line);padding:24px 48px 26px 0}.service-summary h3{font-size:26px}.service-summary p{font-size:15px;color:var(--muted);margin-top:15px;max-width:450px}.service-summary>span{position:absolute;top:23px;right:4px;color:var(--rust);font-size:23px}.service-summary:hover{text-decoration:none}.service-summary:hover h3{text-decoration:underline;text-underline-offset:5px}.approach{background:var(--dark);color:var(--paper);padding-block:85px}.approach-layout{display:grid;grid-template-columns:1.15fr 1fr;gap:85px}.approach .eyebrow,.approach .text-link{color:#dfb08a}.approach h2{margin-top:23px}.method article+article{border-top:1px solid #b6c1b533;margin-top:26px;padding-top:25px}.method h3{font-size:23px;margin-bottom:12px}.method p{font-size:15px;color:#c7cec5}.engage{display:grid;grid-template-columns:1.15fr 1fr;gap:85px;padding-block:80px 90px}.engage h2{margin-top:20px}.engage>div:last-child{align-self:end}.engage>div:last-child p{color:var(--muted);max-width:475px}.engage .button{margin-top:25px}
.page-intro{padding-block:64px 56px}.page-intro h1{font-size:clamp(45px,5.5vw,78px);max-width:970px;margin-top:25px;text-wrap:balance}.lede{font-size:20px;line-height:1.6;color:var(--muted);max-width:760px;margin-top:22px}.service-detail{display:grid;grid-template-columns:1.15fr 1fr;gap:85px;padding-block:44px 50px;border-top:1px solid var(--line);scroll-margin-top:40px}.service-detail h2{font-size:35px;max-width:440px}.service-detail>div:first-child p{margin-top:22px;max-width:430px;color:var(--muted)}.service-detail>div:last-child>p{color:var(--muted)}.service-detail h3{font-size:17px;margin-top:26px;letter-spacing:0}.service-detail ul{padding-left:18px;margin:14px 0 0;color:var(--muted)}.service-detail li+li{margin-top:10px}.engagement-options{padding-block:65px 75px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.engagement-options .eyebrow{color:var(--rust);margin-bottom:20px}.industry-row{display:grid;grid-template-columns:1.15fr 1fr;gap:85px;border-top:1px solid var(--line);padding-block:40px 50px}.industry-row h2{font-size:35px}.industry-row p{color:var(--muted)}.industry-row .question{color:var(--ink);font-size:20px;line-height:1.55;margin-top:23px}.industry-list{border-bottom:1px solid var(--line)}.about-approach{border-block:1px solid var(--line);padding-block:60px 70px}.leadership{display:grid;grid-template-columns:1.15fr 1fr;gap:85px;padding-block:75px;border-bottom:1px solid var(--line)}.leadership h2{margin-top:25px}.role{margin-top:16px;color:var(--rust)}.leadership>div:last-child>p+p{margin-top:20px}.leadership>div:last-child>p{color:var(--muted)}.secondary-link{display:block;margin-top:12px}
.demo-section{background:var(--dark);color:var(--paper);padding-block:56px}.demo-section .eyebrow,.demo-section .text-link{color:#dfb08a}.demo-section .section-heading>div>p:not(.eyebrow),.demo-section .small-note{color:#c7cec5}.demo-marquee{overflow:hidden;margin-top:32px}.demo-track{display:flex;gap:20px;width:max-content;padding-left:0;will-change:transform}.demo-track figure{flex:0 0 560px}.demo-track video{display:block;width:100%;aspect-ratio:16/9;background:#0d1c1e;object-fit:cover}.demo-track figcaption{font-size:14px;margin-top:14px;color:#c7cec5}.demo-marquee.is-static{overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:18px;scrollbar-color:#869285 #263632}.demo-marquee.is-static .demo-track{padding-right:0}.demo-marquee.is-static figure{scroll-snap-align:start}.findings{counter-reset:f}.findings article{display:grid;grid-template-columns:72px 1fr;gap:28px;padding-block:26px;border-top:1px solid var(--line)}.findings article::before{counter-increment:f;content:counter(f,decimal-leading-zero);font:13px/1.6 var(--mono);color:var(--rust);padding-top:9px}.findings h3{font-size:clamp(24px,2.3vw,33px);line-height:1.15;letter-spacing:-.035em;max-width:860px}.findings p{margin-top:12px;font-size:15px;color:var(--muted);max-width:720px}.findings p a{color:var(--rust)}.tools{padding-bottom:72px}.tools-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0 36px;border-top:1px solid var(--line)}.tools-grid article{padding:22px 0 26px;border-bottom:1px solid var(--line)}.tools-grid .role{display:block;font-size:13px;color:var(--rust);margin-bottom:10px}.tools-grid h3{font-size:22px;line-height:1.2}.tools-grid p{margin-top:10px;font-size:15px;color:var(--muted)}.tools-grid .text-link{margin-top:12px}.elsewhere{border-top:1px solid var(--line);padding-block:52px 72px}.elsewhere h2{font-size:clamp(28px,2.6vw,40px)}.elsewhere-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:36px;margin-top:32px}.elsewhere-grid a{display:block;border-top:1px solid var(--line);padding-top:18px}.elsewhere-grid a:hover{text-decoration:none}.elsewhere-grid a:hover strong{text-decoration:underline;text-underline-offset:5px}.elsewhere-grid strong{display:block;font-size:22px;font-weight:450;letter-spacing:-.03em;line-height:1.2}.elsewhere-grid span{display:block;margin-top:10px;font-size:14px;color:var(--muted)}
footer{background:var(--dark);color:var(--paper)}
@media(max-width:1050px){.shell{width:calc(100% - 64px)}.demo-track{padding-left:0}.demo-track figure{flex-basis:480px}.header nav{gap:20px;font-size:13px}.brand{width:155px}.section-heading,.approach-layout,.engage,.service-detail,.industry-row,.leadership,.software{gap:45px}.tools-grid{grid-template-columns:1fr 1fr;gap:0 30px}.elsewhere-grid{grid-template-columns:1fr 1fr;gap:30px}.services-grid{column-gap:45px}.opening{min-height:800px}.hero h1{font-size:70px}.three-columns{gap:28px}}
@media(max-width:760px){.shell{width:calc(100% - 40px)}.header{padding-block:22px;gap:20px;flex-wrap:wrap}.brand{width:145px}.header nav{width:100%;flex-wrap:wrap;gap:15px 24px;padding-top:12px}.js .menu-toggle{display:flex;align-items:center;gap:28px;border:1px solid currentColor;padding:7px 12px;background:none;color:inherit;font-size:13px}.js .header nav{display:none;position:absolute;top:100%;left:-20px;width:calc(100% + 40px);padding:20px;background:var(--paper);color:var(--ink);border-bottom:1px solid var(--line)}.js .header nav.is-open{display:grid;grid-template-columns:1fr 1fr;gap:5px 20px}.header nav a{padding:10px}.opening .header nav a[aria-current]{text-decoration-color:var(--rust)}.opening{min-height:0}.hero{padding-block:55px 50px}.hero h1{font-size:clamp(41px,9.7vw,65px);line-height:1.08}.hero>.eyebrow{font-size:10px;max-width:290px;margin-bottom:25px}.hero-description{font-size:16px;margin-top:26px}.hero .button{margin-top:27px}.location{font-size:11px;max-width:none;padding-bottom:24px}.landscape{object-position:58% center}.audience{display:block;padding-block:26px}.audience>p:last-child{margin-top:12px;line-height:1.8;font-size:13px}.section{padding-block:48px}.section-heading{display:block;margin-bottom:30px}.section-heading>p,.section-heading>div+div{margin-top:22px}.services-grid,.approach-layout,.engage,.two-columns,.three-columns,.service-detail,.industry-row,.leadership,.software,.contact-layout{grid-template-columns:1fr;gap:30px}.service-summary{padding-block:24px}.service-summary h3{font-size:25px}.service-summary p{font-size:15px}.approach{padding-block:50px}.approach-layout{gap:38px}.engage{padding-block:50px 60px}.page-intro{padding-block:44px 38px}.page-intro h1{font-size:clamp(36px,10vw,45px)}.lede{font-size:18px;margin-top:24px}.service-detail{padding-block:32px 38px;gap:23px}.service-detail h2,.industry-row h2{font-size:30px}.service-detail>div:first-child p{margin-top:16px}.engagement-options{padding-block:40px 50px}.engagement-options .two-columns{gap:36px}.industry-row{padding-block:32px 38px;gap:20px}.industry-row .question{font-size:18px}.about-approach{padding-block:40px 45px}.leadership{padding-block:45px}.demo-section{padding-block:40px}.demo-marquee{margin-top:28px}.demo-track{gap:16px;padding-left:0}.demo-track figure{flex-basis:78vw}.demo-marquee.is-static .demo-track{padding-right:0}.findings article{grid-template-columns:1fr;gap:10px;padding-block:24px}.findings article::before{padding-top:0}.findings h3{font-size:23px}.tools{padding-bottom:55px}.tools-grid{grid-template-columns:1fr;gap:0}.tools-grid article{padding:22px 0 24px}.elsewhere{padding-block:45px 55px}.elsewhere-grid{grid-template-columns:1fr;gap:26px;margin-top:28px}.software{padding-block:40px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
/* Compact advisory site: three destinations, one contact section. */
.nav-engage{border-bottom:1px solid currentColor}.client-strip{padding-block:26px 30px;border-bottom:1px solid var(--line)}.client-strip>p{display:flex;justify-content:space-between;max-width:none;font-size:12px;color:var(--muted)}.client-marquee{overflow:hidden;margin-top:18px;margin-inline:0}.client-logos{display:flex;align-items:center;gap:44px;width:max-content;padding-left:0;will-change:transform}.client-marquee.is-static .client-logos{flex-wrap:wrap;width:auto;padding-right:0;gap:30px 40px}.client-logo{display:flex;height:56px;flex:0 0 auto;align-items:center;justify-content:center;position:relative}.client-logo img{width:auto;height:auto;max-width:155px;max-height:44px;object-fit:contain;filter:grayscale(1);opacity:.67;mix-blend-mode:multiply}.client-logo:hover img{opacity:1}.client-logo.chandler img{max-width:125px;max-height:53px}.client-logo.slb img{max-width:70px;max-height:40px}.client-logo.spruce img{max-height:50px}.client-logo>span{position:absolute;top:100%;font-size:9px;color:var(--muted);white-space:nowrap}.contact-close{padding-block:56px}.contact-close>.shell{display:grid;grid-template-columns:1.15fr 1fr;gap:64px;align-items:end}.contact-close .eyebrow{color:#dfb08a;margin-bottom:19px}.contact-close h2{font-size:40px}.contact-close p:not(.eyebrow){color:#c7cec5;max-width:420px}.contact-close .button{margin-top:24px}.concise-intro{padding-block:65px 50px}.concise-intro h1{font-size:64px}.concise-intro .lede{font-size:20px;max-width:660px}.concise-services article{display:grid;grid-template-columns:1.15fr 1fr;gap:85px;padding-block:28px;border-top:1px solid var(--line)}.concise-services h2{font-size:27px}.concise-services article>div>p{margin-top:12px;font-size:15px;color:var(--muted)}.concise-services ul{padding-left:18px;margin:0;color:var(--muted);font-size:15px}.concise-services li+li{margin-top:10px}.engagement-brief{display:grid;grid-template-columns:1.15fr 1fr;gap:85px;border-top:1px solid var(--line);padding-block:45px}.engagement-brief h2{font-size:25px;margin-bottom:20px}.engagement-brief p{font-size:15px;color:var(--muted)}.engagement-brief p+p{margin-top:15px}.engagement-brief strong{font-weight:550;color:var(--ink)}.principal-brief{border-top:1px solid var(--line);padding-block:26px 34px;display:grid;grid-template-columns:180px 1fr auto;gap:35px;align-items:start}.principal-brief>p:not(.eyebrow){font-size:14px;color:var(--muted);max-width:680px}.principal-brief strong{color:var(--ink);font-weight:550}.principal-brief .text-link{margin:0;font-size:13px}
@media(max-width:1050px){.client-logos{gap:36px;padding-left:0}.contact-close>.shell,.concise-services article,.engagement-brief{gap:45px}.principal-brief{grid-template-columns:130px 1fr auto;gap:25px}}
@media(max-width:760px){.header nav a.nav-engage{grid-column:1/-1;border:0;color:var(--rust)}.client-strip{padding-block:24px 30px}.client-strip>p{display:block}.client-marquee{margin-top:14px}.client-logos{gap:26px;padding-left:0}.client-marquee.is-static .client-logos{padding-right:0;gap:20px 26px}.client-logo{height:46px}.client-logo img{max-height:25px}.client-logo.chandler img{max-height:34px}.client-logo.slb img{max-height:32px;max-width:58px}.client-logo.spruce img{max-height:35px}.client-logo>span{top:85%;font-size:8px}.contact-close{padding-block:40px 45px}.contact-close>.shell,.concise-services article,.engagement-brief{grid-template-columns:1fr;gap:24px}.contact-close h2{font-size:34px}.concise-intro{padding-block:45px 35px}.concise-intro h1{font-size:42px}.concise-intro .lede{font-size:18px}.concise-services article{padding-block:25px;gap:18px}.concise-services h2{font-size:25px}.engagement-brief{padding-block:32px;gap:30px}.principal-brief{grid-template-columns:1fr;gap:14px;padding-block:25px 35px}}
.client-logo.zeitview img,.client-logo.echo img,.client-logo.slb img,.client-logo.noble img,.client-logo.gammaedge img{filter:brightness(0)}.client-logo.gammaedge img{max-width:160px;max-height:32px}.client-name.northeton{font-size:17px;font-weight:600;letter-spacing:.14em;text-transform:uppercase}.spruce-lockup{display:flex;align-items:center;gap:7px;color:#656862;font-size:27px;letter-spacing:-.04em}.client-logo.spruce .spruce-lockup img{width:30px;height:42px;max-height:none;object-fit:cover;filter:brightness(0)}
@media(max-width:760px){.spruce-lockup{font-size:20px;gap:4px}.client-logo.spruce .spruce-lockup img{width:21px;height:32px}}
.home .principal-brief{border-top:0;border-bottom:1px solid var(--line)}.client-logo>.client-name{position:static;font-size:26px;letter-spacing:-.04em;color:#656862;white-space:nowrap}.contact-close{padding-bottom:27px}.site-footer>.shell{display:flex;align-items:center;flex-wrap:wrap;gap:14px 28px;border-top:1px solid #b6c1b533;margin-top:44px;padding-top:22px;font-size:12px}.site-footer img{width:135px}.contact-close .site-footer p{color:#b3bcb2;max-width:none}.site-footer p:last-child{margin-left:auto}.site-footer a:hover{color:var(--paper)}
@media(max-width:760px){.client-logo>.client-name{font-size:19px}.client-name.northeton{font-size:13px}.client-logo.gammaedge img{max-height:24px;max-width:118px}.site-footer>.shell{gap:10px 18px;margin-top:40px}.site-footer p:last-child{margin-left:0}}
.home .opening{min-height:0}.home .hero{padding-bottom:26px}.hero .location{margin-top:36px;padding-bottom:0}

/* Fade moving content at the edges of its section-width window. */
.client-marquee, .publication-carousel, .demo-marquee {
  --edge-fade: clamp(16px, 2vw, 32px);
  --edge-mask: linear-gradient(to right, transparent, #000 var(--edge-fade), #000 calc(100% - var(--edge-fade)), transparent);
  -webkit-mask-image: var(--edge-mask);
  mask-image: var(--edge-mask);
}
.client-marquee.is-static, .demo-marquee.is-static {
  -webkit-mask-image: none;
  mask-image: none;
}
