*{box-sizing:border-box}html{scroll-padding-top:28px}body{margin:0;-webkit-font-smoothing:antialiased}body,input,button{font-family:Arial,Helvetica,sans-serif}h1,h2,h3,p,figure{margin:0}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}button,a,summary{-webkit-tap-highlight-color:transparent}button{font:inherit}button,summary{cursor:pointer}::selection{background:var(--accent);color:var(--bg)}:focus-visible{outline:2px solid var(--accent);outline-offset:6px}.skip{position:absolute;left:16px;top:-100px;padding:12px 18px;background:var(--ink);color:var(--bg);z-index:10}.skip:focus{top:12px}.wrap{max-width:1100px;margin:auto;padding-inline:44px}.top{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-block:16px;border-bottom:1px solid var(--line)}.brand{font-size:15px;font-weight:700;letter-spacing:-.3px}.nav{display:flex;align-items:center;gap:30px;font-size:13px}.nav a{padding-block:13px}.nav a:hover,.text-link:hover{text-decoration:underline;text-underline-offset:5px}.eyebrow{font-size:11px;line-height:1.5;letter-spacing:1.5px;text-transform:uppercase;font-weight:600}.muted{color:var(--muted)}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:22px;min-height:44px;padding:11px 18px;background:var(--ink);color:var(--bg);font-size:13px;font-weight:600;border:1px solid transparent;transition:background .18s,color .18s}.button:hover{background:var(--accent);color:var(--on-accent)}.button span{font-size:18px;line-height:1}.text-link{display:inline-flex;align-items:center;gap:20px;min-height:44px;font-size:13px}.actions{display:flex;align-items:center;flex-wrap:wrap;gap:16px 30px}.section-label{display:flex;justify-content:space-between;align-items:baseline;gap:20px}.foot{padding-block:24px;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:14px;font-size:11px;color:var(--muted)}.foot a{display:inline-block;padding-block:10px}.foot nav{display:flex;flex-wrap:wrap;gap:0 24px;max-width:100%}details>summary{list-style:none}details>summary::-webkit-details-marker{display:none}.result-context{font-size:12px;line-height:1.7;color:var(--muted)}.result-context summary{display:inline-flex;align-items:center;gap:12px;min-height:44px}.result-context summary:after{content:'+';font-size:16px}.result-context[open] summary:after{content:'−'}.result-context p{max-width:760px;padding-bottom:18px}.project-row{display:grid;align-items:center;grid-template-columns:50px 1fr 180px 28px;gap:18px;padding-block:18px;border-top:1px solid var(--line)}.project-row:last-child{border-bottom:1px solid var(--line)}.project-row h3{font-size:18px;line-height:1.25;letter-spacing:-.6px;font-weight:500}.project-row p{font-size:13px;line-height:1.6;color:var(--muted);margin-top:7px}.project-row .project-type{font-size:11px;color:var(--muted)}.project-row .arrow{font-size:20px;transition:transform .18s}.project-row:hover .arrow{transform:translate(3px,-3px)}.project-row:hover h3{color:var(--accent)}.number{font-size:11px;color:var(--muted);font-variant-numeric:tabular-nums}.mini-services{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.mini-services h3{font-size:16px;font-weight:500;margin-bottom:12px}.mini-services p{font-size:13px;line-height:1.7;color:var(--muted)}.mini-services .number{display:block;margin-bottom:14px}.contact-line{font-size:13px;line-height:1.8;color:var(--muted)}
@media(max-width:800px){.wrap{padding-inline:28px}.nav{gap:21px}.project-row{grid-template-columns:30px 1fr 22px;gap:12px}.project-type{display:none}.mini-services{gap:24px}.foot{flex-wrap:wrap}.project-row h3{font-size:17px}}
@media(max-width:520px){.wrap{padding-inline:22px}.top{padding-block:16px;gap:12px}.brand{font-size:13px}.nav{gap:15px;font-size:12px}.nav .secondary{display:none}.eyebrow{font-size:10px;letter-spacing:1.2px}.button{min-height:44px;padding-inline:18px}.mini-services{grid-template-columns:1fr;gap:24px}.mini-services article{display:grid;grid-template-columns:22px minmax(0,1fr);gap:0 14px}.mini-services .number{grid-row:span 2;margin:3px 0 0}.mini-services h3{margin-bottom:7px}.section-label{gap:12px}.foot{font-size:10px;padding-bottom:24px}.foot nav{gap:0 18px}.project-row{grid-template-columns:22px minmax(0,1fr) 22px;gap:14px;padding-block:16px}.project-row h3{font-size:17px}.project-row p{font-size:12px}.result-context{font-size:11px}}
.foot{padding-bottom:24px}.sample-label{display:block;margin-bottom:9px;font-size:10px;color:var(--muted)}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}

:root{--bg:#101813;--ink:#f0f1e8;--muted:#aab4a8;--line:#344238;--accent:#c7d0ac;--on-accent:#101813}body{background:var(--bg);color:var(--ink)}.brand-dot{color:var(--accent);font-size:24px}.hero{padding-block:18px}.hero-top{display:flex;justify-content:space-between;gap:20px}.hero h1{font-size:clamp(44px,5vw,64px);font-weight:500;line-height:1.04;letter-spacing:-3px;margin-top:16px}.hero h1 span{color:var(--accent)}.hero-bottom{display:flex;justify-content:space-between;align-items:flex-end;margin-top:16px;gap:25px}.intro{font-size:16px;line-height:1.6;letter-spacing:-.2px;margin-bottom:12px}.profile{display:flex;align-items:center;gap:17px;padding-bottom:8px}.profile img{width:56px;height:56px;border-radius:50%;object-fit:cover}.profile p{font-size:11px;line-height:1.6;color:var(--muted)}.proof{display:grid;grid-template-columns:repeat(3,1fr);border-block:1px solid var(--line);padding:12px 0}.proof>div+div{padding-left:38px;border-left:1px solid var(--line)}.proof strong{font-size:32px;line-height:1.1;letter-spacing:-1px;font-weight:500}.proof strong span{font-size:23px}.proof p{font-size:12px;color:var(--muted);margin-top:4px}.result-context{padding-top:2px}.work{padding-block:8px 34px}.project-list{margin-top:6px}.expertise{padding-top:7px;padding-bottom:34px}.mini-services{margin-top:20px}.contact{border-top:1px solid var(--line);padding-block:28px 34px}.contact .eyebrow{color:var(--accent)}.contact-grid{display:grid;grid-template-columns:1fr 1fr;align-items:end;gap:30px;margin-top:18px}.contact h2{font-size:38px;font-weight:500;letter-spacing:-1.4px;line-height:1.08}.contact .contact-line{margin-top:18px}.contact-line a{text-decoration:underline;text-underline-offset:4px}

@media(max-width:800px){.hero h1{font-size:52px;letter-spacing:-2px}.hero-top>.muted{font-size:9px}.profile{display:none}.proof>div+div{padding-left:20px}.contact h2{font-size:34px}.hero{padding-top:18px}}
@media(max-width:520px){.hero{padding-block:14px 16px}.hero-top{display:block}.hero-top>.muted{margin-top:9px;font-size:10px}.hero h1{font-size:clamp(34px,10vw,42px);letter-spacing:-1.6px;margin-top:12px;line-height:1.08}.hero-bottom{margin-top:12px}.intro{font-size:15px;line-height:1.6}.desktop-break{display:none}.actions{gap:8px 20px}.proof{padding-block:11px;gap:12px}.proof>div+div{padding-left:13px}.proof strong{font-size:28px;letter-spacing:-.7px}.proof strong span{font-size:20px}.proof p{font-size:10px;line-height:1.5;max-width:90px}.work{padding-block:8px 28px}.section-label>.text-link{font-size:11px;gap:7px}.project-list{margin-top:6px}.project-row h3{max-width:240px}.expertise{padding-bottom:28px}.mini-services{margin-top:20px}.contact{padding-block:24px 28px}.contact-grid{grid-template-columns:1fr;gap:20px;margin-top:16px}.contact h2{font-size:34px}.contact h2 br{display:none}.contact .contact-line{font-size:12px}}


@media (min-width: 1000px) {
  .hero { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); align-items: center; gap: 14px 32px; }
  .hero-top { grid-column: 1 / -1; }
  .hero h1 { margin-top: 0; }
  .hero-bottom { margin-top: 0; align-items: center; gap: 20px; }
  .hero-bottom > div:first-child { flex: 1; min-width: 0; }
  .hero .profile { padding-bottom: 0; }
  .hero .profile img { width: 48px; height: 48px; }
  .hero .profile p { display: none; }
}

/* Shared rules for the full case studies, career history, and error page. */
:root { color-scheme: dark; }
html { -webkit-text-size-adjust: 100%; }
body { line-height: 1.6; }
h2 { font-size: 30px; font-weight: 500; line-height: 1.12; letter-spacing: -1.7px; }
ul, ol, dl, dd { margin: 0; }
#main:focus { outline: none; }
.brand { white-space: nowrap; }
.brand-dot { line-height: 1; }
.nav [aria-current] { text-decoration: underline; text-underline-offset: 5px; }
.button { line-height: 1.4; }
.anchor { display: block; scroll-margin-top: 28px; }
.scope-link { margin-top: 18px; font-size: 12px; color: var(--muted); }
.expertise { padding-bottom: 34px; }
.contact-line a { text-decoration: underline; text-underline-offset: 4px; }
.foot a:hover { text-decoration: underline; text-underline-offset: 5px; }
.pagehead { padding-block: 18px 16px; }
.pagehead .lead { margin-top: 12px; }
.pagehead h1, .error-page h1 { margin-top: 18px; font-size: clamp(36px, 4vw, 48px); font-weight: 500; line-height: 1.08; letter-spacing: -1.8px; }
.pagehead h1 { margin-top: 12px; }
.lead { margin-top: 17px; max-width: 62ch; color: var(--muted); font-size: 16px; line-height: 1.7; }
.pagehead .text-link { margin-top: 4px; color: var(--muted); }
.pagehead .hiring-contact { grid-column: 2; display: flex; flex-wrap: wrap; align-items: center; gap: 0 16px; font-size: 13px; }
.study-links { display: flex; flex-wrap: wrap; gap: 0 20px; }
.study-links a { display: inline-block; min-height: 44px; padding-block: 12px; font-size: 12px; color: var(--muted); text-decoration: underline; text-underline-offset: 5px; }
.study-links a:hover { color: var(--accent); }
.study-contents { margin-top: 8px; }
.detail-main > section:not(#contact), .study { padding-block: 20px; border-top: 1px solid var(--line); }
.detail-main > section:first-child:not(#contact), .study:first-child { border-top: 0; padding-top: 10px; }
.detail-main h2 { max-width: 32ch; }
.detail-main .eyebrow + h2 { margin-top: 10px; }
.sub, .study-intro, .case-summary { max-width: 75ch; margin-top: 10px; font-size: 15px; line-height: 1.65; color: var(--muted); }
.sub { margin-bottom: 16px; }
.services { margin-top: 12px; }
.service { border-top: 1px solid var(--line); }
.service:last-child { border-bottom: 1px solid var(--line); }
.service > summary { position: relative; padding: 12px 36px 12px 0; }
.service > summary::after { content: '+'; position: absolute; right: 0; top: 9px; font-size: 21px; color: var(--accent); }
.service[open] > summary::after { content: '−'; }
.service-title { display: block; font-size: 16px; font-weight: 500; line-height: 1.4; }
.service-overview { display: block; margin-top: 4px; font-size: 13px; line-height: 1.65; color: var(--muted); }
.service-details { padding-block: 14px; border-top: 1px solid var(--line); color: var(--muted); font-size: 14px; line-height: 1.65; }
.service-details > ul, .study-steps { display: grid; gap: 7px; padding-left: 21px; }
.service-details > p + p, .service-details > ul + p, .service-details > ol + p, .service-details > p + ol { margin-top: 12px; }
.study-detail { margin-top: 16px; }
.case-out { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; margin-block: 14px; padding: 12px 0; border-block: 1px solid var(--line); list-style: none; }
.case-out li { font-size: 13px; line-height: 1.7; color: var(--muted); }
.case-out strong { display: block; margin-bottom: 4px; color: var(--accent); font-size: 23px; font-weight: 500; line-height: 1.2; letter-spacing: -1px; }
.case { display: grid; grid-template-columns: 1.1fr 1fr; gap: 24px; }
.case-body { display: grid; align-content: start; gap: 12px; }
.case-facts > div { padding-block: 7px; border-bottom: 1px solid var(--line); }
.case-facts > div:first-child { padding-top: 0; }
.case-facts dt, .study-facts dt { margin-bottom: 6px; color: var(--accent); font-size: 11px; letter-spacing: 1px; text-transform: uppercase; }
.case-facts dd { font-size: 13px; }
.case-note, .study-note { max-width: 85ch; margin-top: 16px; padding-left: 15px; border-left: 2px solid var(--accent); font-size: 13px; line-height: 1.7; color: var(--muted); }
.study-facts { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; padding-block: 12px; margin-block: 14px; border-block: 1px solid var(--line); }
.study-facts dd { font-size: 14px; line-height: 1.65; color: var(--muted); }
.study-figures { display: grid; gap: 20px; }
.study-figure { min-width: 0; }
.study-figure figcaption { margin-top: 9px; font-size: 12px; line-height: 1.8; color: var(--muted); }
.study-figure figcaption a, .study-download a { color: var(--accent); text-decoration: underline; text-underline-offset: 4px; }
.figure-stage { margin-bottom: 11px; font-size: 12px; color: var(--accent); }
.study-diagram { overflow-x: auto; background: #0e181a; border-radius: 3px; }
.study-diagram img { width: 100%; height: auto; }
.study-mobile-flow { display: none; }
.study-screenshot { display: block; overflow: hidden; border: 1px solid var(--line); border-radius: 3px; }
.study-screenshot img { width: 100%; height: auto; }
.study-download, .study-discover { margin-top: 14px; font-size: 13px; }
.study-discover a { display: inline-block; padding-block: 12px; color: var(--accent); text-decoration: underline; text-underline-offset: 4px; }
.study-detail .study-figure { margin-top: 16px; }
.vantage { margin-top: 12px; }
.vp { display: grid; grid-template-columns: 210px 1fr; gap: 6px 24px; padding-block: 14px; border-top: 1px solid var(--line); }
.vp .when { grid-row: span 2; padding-top: 4px; font-size: 12px; color: var(--accent); }
.vp h3 { font-size: 20px; line-height: 1.3; letter-spacing: -.5px; }
.vp .txt { max-width: 74ch; font-size: 14px; line-height: 1.65; color: var(--muted); }
.inds { padding: 0; }
.ind { display: grid; grid-template-columns: 190px 1fr; gap: 20px; padding-block: 10px; border-bottom: 1px solid var(--line); }
.ind:last-child { border-bottom: 0; }
.ind dt { color: var(--ink); }
.domains { padding: 0; list-style: none; }
.dom { display: grid; grid-template-columns: 28px 1fr auto; gap: 6px 16px; padding-block: 12px; border-bottom: 1px solid var(--line); }
.dom:last-child { border-bottom: 0; }
.dom .rank, .dom .mods { font-size: 11px; color: var(--accent); }
.dom h3 { color: var(--ink); font-size: 16px; line-height: 1.5; }
.dom p { grid-column: 2 / -1; font-size: 14px; }
.error-page { padding-block: 42px 55px; }
.error-page .actions { margin-top: 30px; }

@media (min-width: 1000px) {
  .pagehead > .wrap { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); align-items: center; gap: 10px 32px; }
  .pagehead .eyebrow { grid-column: 1 / -1; }
  .pagehead h1 { grid-column: 1; grid-row: 2 / span 2; margin-top: 0; }
  .pagehead .lead { grid-column: 2; margin-top: 0; }
  .pagehead .study-contents, .pagehead .text-link { grid-column: 2; margin-top: 0; }
}

@media (max-width: 900px) {
  .study-diagram { display: none; }
  .study-mobile-flow { display: grid; gap: 10px; padding-left: 23px; list-style: decimal; }
  .study-mobile-flow li { padding: 10px 12px; border-left: 1px solid var(--line); }
  .study-mobile-flow strong { display: block; font-size: 14px; color: var(--accent); }
  .study-mobile-flow span { display: block; margin-top: 4px; font-size: 13px; line-height: 1.7; color: var(--muted); }
  .case { grid-template-columns: 1fr; gap: 18px; }
  .study-facts { grid-template-columns: 1fr; gap: 14px; }
}
@media (max-width: 800px) {
  .vp { grid-template-columns: 170px 1fr; gap: 6px 20px; }
  .case-out { gap: 20px; }
  .case-out strong { font-size: 24px; }
  .ind { grid-template-columns: 150px 1fr; }
}
@media (max-width: 46rem) {
  .expense-preview { height: 20rem; background: #1d252c; }
  /* shortcut: crop targets this screenshot's FI/HCM columns; update if the screenshot changes. */
  .expense-preview img { position: relative; width: 160rem; max-width: none; left: calc(50% - 88rem); top: -39rem; }
}
@media (max-width: 520px) {
  .brand { font-size: 13px; }
  .proof p { font-size: 11px; }
  .result-context { font-size: 12px; }
  .expertise { padding-bottom: 28px; }
  .foot { padding-block: 20px; font-size: 11px; }
  .pagehead { padding-block: 14px 16px; }
  .pagehead .lead { margin-top: 10px; }
  .pagehead h1, .error-page h1 { font-size: clamp(32px, 9vw, 38px); letter-spacing: -1.2px; }
  .lead { margin-top: 16px; font-size: 15px; }
  .pagehead .text-link { font-size: 12px; }
  h2 { font-size: 25px; letter-spacing: -1px; }
  .detail-main > section:not(#contact), .study { padding-block: 18px; }
  .study-links { gap: 0 20px; }
  .study-links a { font-size: 12px; }
  .study-intro, .case-summary, .sub { font-size: 14px; }
  .case-out { grid-template-columns: 1fr; gap: 14px; padding-block: 12px; }
  .case-out strong { font-size: 24px; }
  .service-title { font-size: 15px; }
  .service-overview { font-size: 12px; }
  .service-details, .study-facts dd { font-size: 13px; }
  .vp { grid-template-columns: 1fr; gap: 6px; padding-block: 14px; }
  .vp .when { grid-row: auto; padding: 0; font-size: 11px; }
  .vp h3 { font-size: 18px; }
  .vp .txt { font-size: 13px; }
  .ind { grid-template-columns: 1fr; gap: 7px; }
  .dom { grid-template-columns: 22px minmax(0, 1fr); gap: 7px 14px; }
  .dom .mods { grid-column: 2; }
  .dom p { font-size: 13px; }
  .error-page { padding-block: 32px 42px; }
}

/* Shared dark editorial typography for the supporting pages. */
.pagehead h1, .error-page h1, .detail-main h2, .contact h2 { font-family: Georgia, "Times New Roman", serif; font-weight: 400; letter-spacing: -1px; }
