*{box-sizing:border-box} :root{--paper:#f5f2ed;--ink:#111;--red:#d93b22;--blue:#1758d5;--pink:#d00059;--yellow:#ffc928;--line:rgba(17,17,17,.22)}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:"DM Sans",sans-serif}a{color:inherit;text-decoration:none}.site-header{height:82px;padding:0 5.5vw;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.wordmark{font-weight:800;font-size:24px;letter-spacing:-2px}.wordmark span{font:10px "DM Mono";vertical-align:top;margin-left:3px}.site-header nav{display:flex;gap:34px;font-size:12px}.site-header nav a,.header-cta{transition:opacity .2s}.site-header nav a:hover,.header-cta:hover{opacity:.55}.header-cta{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.05em}.header-cta span{color:var(--red);font-size:17px;margin-left:8px}
.hero{position:relative;padding:28px 9vw 48px;min-height:760px;overflow:hidden}.hero-meta,.eyebrow,.card-top,.work-footer,.footer-bottom,.photo-note{font:10px "DM Mono",monospace;letter-spacing:.08em}.hero-meta{display:flex;justify-content:space-between;color:#555}.eyebrow{margin:92px 0 18px;text-transform:uppercase}.asterisk{color:var(--red);font-size:18px;vertical-align:-2px;margin-right:9px}.hero h1{font-size:clamp(68px,9.5vw,142px);line-height:.83;letter-spacing:-.09em;margin:0;font-weight:800;max-width:1100px}.hero h1 em,.section-heading h2 em,.approach h2 em,.about-strip h2 em,.footer-top em{font-family:"Playfair Display",serif;font-weight:600;letter-spacing:-.065em}.hero h1 em{color:var(--red)}.hero-bottom{display:grid;grid-template-columns:1fr 1fr;gap:8vw;margin:42px 0 0 37%;position:relative;z-index:1}.hero-tagline{font-size:23px;line-height:1.12;letter-spacing:-.04em;margin:0}.hero-tagline strong{color:var(--blue)}.hero-intro{max-width:340px}.hero-intro p{font-size:15px;line-height:1.55;margin:0 0 22px}.text-link{font:11px "DM Mono";text-transform:uppercase;border-bottom:1px solid var(--ink);padding-bottom:7px}.text-link span{color:var(--red);margin-left:8px}.hero-stamp{position:absolute;right:9%;top:255px;width:116px;height:116px;border:1px solid var(--red);border-radius:50%;transform:rotate(12deg);display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--red);font:9px "DM Mono";line-height:1.45}.hero-stamp b{font:700 17px "DM Sans"}.hero-rule{height:1px;background:var(--line);margin-top:54px}
.work-section{padding:100px 9vw 70px;background:#e9e5de}.section-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:45px}.section-heading .eyebrow,.approach .eyebrow,.about-strip .eyebrow{margin:0 0 22px}.section-heading h2,.approach h2,.about-strip h2{font-size:clamp(42px,6vw,78px);line-height:.94;letter-spacing:-.075em;margin:0}.section-heading h2 em{color:var(--blue)}.section-note{max-width:230px;font-size:13px;line-height:1.5;margin:0 4% 5px 20px}.work-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.work-card{display:flex;flex-direction:column;min-height:550px;padding:19px;transition:transform .25s;overflow:hidden}.work-card:hover{transform:translateY(-6px)}.card-positioning{background:var(--yellow)}.card-operations{background:var(--blue);color:white}.card-adoption{background:var(--pink);color:white}.card-top{display:flex;justify-content:space-between;position:relative;z-index:2}.card-top span:last-child{font-size:18px}.visual{height:275px;position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden;margin:8px -2px 12px}.visual-positioning{display:block;padding:46px 8%}.vp-small{display:block;font:10px "DM Mono";letter-spacing:.12em}.vp-big{display:block;font-size:clamp(38px,4vw,65px);font-weight:800;letter-spacing:-.1em;line-height:1.1;margin-top:10px}.vp-big .period{color:var(--red)}.vp-line{display:block;width:85%;height:2px;background:var(--ink);margin-top:20px;transform:rotate(-7deg);transform-origin:left}.vp-side{position:absolute;right:5%;bottom:28px;font:9px "DM Mono";letter-spacing:.08em;writing-mode:vertical-rl}.vp-orbit{position:absolute;width:140px;height:140px;border:1px solid var(--red);border-radius:50%;right:8%;top:25px;border-left-color:transparent;transform:rotate(28deg)}.visual-operations{justify-content:flex-start;padding-left:10%}.ops-grid{position:absolute;inset:10px 0;background:repeating-linear-gradient(0deg,transparent 0 24px,rgba(255,255,255,.28) 25px 26px),repeating-linear-gradient(90deg,transparent 0 24px,rgba(255,255,255,.28) 25px 26px);transform:rotate(-11deg) scale(1.3)}.ops-word{position:relative;font:800 clamp(38px,4vw,60px)/.82 "DM Sans";letter-spacing:-.09em;background:var(--blue);padding:10px 15px}.ops-word i{font-family:"Playfair Display";color:var(--yellow);font-weight:600}.ops-node{position:absolute;width:17px;height:17px;border-radius:50%;background:var(--yellow);border:2px solid var(--blue)}.node-one{top:34px;right:18%}.node-two{bottom:50px;right:28%;width:25px;height:25px}.node-three{top:45%;right:8%;width:11px;height:11px}.ops-label{position:absolute;bottom:12px;left:8%;font:8px "DM Mono";letter-spacing:.1em}.visual-adoption{justify-content:flex-start;padding-left:12%}.adoption-word{position:relative;font:800 clamp(38px,4vw,58px)/.83 "DM Sans";letter-spacing:-.09em;z-index:1}.adoption-word i{font-family:"Playfair Display";font-weight:600;color:var(--yellow)}.adoption-arc{position:absolute;border:1px solid rgba(255,255,255,.8);border-radius:50%;width:250px;height:250px;right:-25px;top:4px}.arc-two{width:185px;height:185px;right:8px;top:36px;border-color:var(--yellow)}.adoption-spark{position:absolute;right:13%;top:34px;font-size:42px;color:var(--yellow)}.adoption-caption{position:absolute;bottom:18px;right:4%;font:8px "DM Mono";letter-spacing:.1em}.card-copy{margin-top:auto}.card-copy h3{font-size:25px;line-height:1.02;letter-spacing:-.06em;margin:0 0 12px}.card-copy p{font-size:12px;line-height:1.5;max-width:290px;margin:0}.work-footer{display:flex;justify-content:space-between;margin-top:25px;color:#555}.work-footer b{color:var(--red);font-weight:500}
.approach{padding:115px 15vw 105px;position:relative}.approach-mark{position:absolute;right:15%;top:100px;color:var(--red);font-size:52px}.approach .eyebrow{margin-top:0}.approach h2{font-size:clamp(48px,7.2vw,94px)}.approach h2 em{color:var(--red)}.approach-bottom{display:flex;justify-content:space-between;align-items:end;margin:45px 0 0 35%;gap:40px}.approach-bottom p{max-width:390px;font-size:14px;line-height:1.65;margin:0}.approach-bottom span{font:10px "DM Mono";line-height:1.6;white-space:nowrap}
.about-strip{background:var(--red);color:white;padding:72px 9vw;display:grid;grid-template-columns:1fr .78fr;gap:8vw;align-items:center}.about-strip h2{font-size:clamp(42px,5vw,70px)}.about-strip h2 em{color:var(--yellow)}.about-blurb{font-size:14px;line-height:1.65;max-width:440px;margin:26px 0 20px}.about-link{display:inline-block;font:10px "DM Mono";text-transform:uppercase;border-bottom:1px solid white;padding-bottom:8px}.about-link span{color:var(--yellow);margin-left:8px}.about-photo-wrap{position:relative;max-width:430px;justify-self:end;width:100%}.about-photo-wrap img{display:block;width:100%;height:480px;object-fit:cover;object-position:center 34%;filter:grayscale(100%)}.photo-note{position:absolute;right:-18px;bottom:20px;background:var(--yellow);color:var(--ink);padding:12px 14px;line-height:1.5;transform:rotate(-4deg)}
footer{background:var(--ink);color:var(--paper);padding:65px 9vw 25px}.footer-top{display:flex;justify-content:space-between;align-items:end;padding-bottom:65px}.footer-top p{font-size:clamp(45px,7vw,88px);line-height:.9;letter-spacing:-.08em;margin:0}.footer-top em{color:var(--yellow)}.footer-top>a{font-size:22px;line-height:1.15;letter-spacing:-.04em;text-align:right}.footer-top>a:hover{color:var(--yellow)}.footer-bottom{border-top:1px solid #555;padding-top:18px;display:flex;justify-content:space-between;color:#aaa;font-size:9px}.footer-bottom a{color:var(--paper)}
@media(max-width:760px){.site-header{height:70px;padding:0 6vw}.site-header nav{gap:14px;font-size:10px}.site-header nav a:nth-child(2){display:none}.header-cta{font-size:10px}.hero{padding:24px 6vw 40px;min-height:650px}.hero-meta{font-size:8px}.hero-meta span:last-child{max-width:145px;text-align:right}.eyebrow{margin-top:82px}.hero h1{font-size:clamp(58px,14vw,100px)}.hero-stamp{right:7%;top:300px;width:85px;height:85px;font-size:7px}.hero-stamp b{font-size:13px}.hero-bottom{margin:44px 0 0;grid-template-columns:1fr 1fr;gap:20px}.hero-tagline{font-size:19px}.hero-intro p{font-size:13px}.hero-rule{margin-top:45px}.work-section{padding:75px 6vw 55px}.section-heading{display:block}.section-note{margin:20px 0 0;max-width:300px}.work-grid{grid-template-columns:1fr}.work-card{min-height:500px}.visual{height:250px}.work-footer{display:block;line-height:2}.work-footer a{display:block;margin-top:10px}.approach{padding:80px 8vw}.approach-mark{right:8%;top:55px;font-size:36px}.approach h2{font-size:clamp(44px,11vw,72px)}.approach-bottom{margin:35px 0 0;display:block}.approach-bottom span{display:block;margin-top:24px}.about-strip{padding:55px 8vw;grid-template-columns:1fr;gap:34px}.about-photo-wrap{justify-self:start;max-width:100%}.about-photo-wrap img{height:min(115vw,560px)}.photo-note{right:-8px}.footer-top{display:block}.footer-top>a{display:block;text-align:left;margin-top:35px}.footer-bottom{gap:12px;flex-wrap:wrap}.footer-bottom span:nth-child(2){display:none}}

/* Homepage refinement pass */
.hero-stamp{width:132px;height:132px;right:10%;top:238px}
.hero-bottom{margin-top:38px}
.approach{padding-top:122px;padding-bottom:112px}
.approach-mark{right:15%;top:108px;transform:rotate(12deg)}
.approach-signals{margin:44px 0 0 35%;padding-top:17px;border-top:1px solid var(--line);display:flex;align-items:center;gap:13px;flex-wrap:wrap;font:9px "DM Mono";letter-spacing:.09em;color:#666}
.approach-signals i{font-style:normal;color:var(--red);font-size:13px}
.approach-signals b{font-size:15px;color:var(--red);font-weight:400;margin-left:5px}
.approach-signals strong{font:700 11px "DM Sans";letter-spacing:.08em;color:var(--blue)}
@media(max-width:760px){
 .hero-stamp{width:88px;height:88px;right:7%;top:160px;font-size:7px}
 .hero-stamp b{font-size:13px}
 .approach-signals{margin:30px 0 0;gap:9px;font-size:8px}
}

/* Build 27 readability pass */
@media(min-width:761px){
  .hero-copy,.work-card p,.approach-copy,.about-strip p{font-size:16px;line-height:1.65}
  .hero-meta,.eyebrow,.card-top,.work-footer,.footer-bottom{font-size:11px}
}
@media(max-width:760px){
  .hero-copy,.work-card p,.approach-copy,.about-strip p{font-size:15px;line-height:1.6}
  .hero-meta,.eyebrow,.card-top,.work-footer{font-size:10px;line-height:1.5}
  .about-strip p{font-size:15px;line-height:1.6}
}


/* Build 28: readable type, leaner rhythm. Headlines and editorial labels stay distinctive. */
.hero-intro p{font-size:17px;line-height:1.6}
.section-note{font-size:15px;line-height:1.6}
.card-copy p{font-size:15px;line-height:1.55;max-width:310px}
.approach-bottom p{font-size:16px;line-height:1.65}
.about-blurb{font-size:16px;line-height:1.6}
@media(max-width:760px){
  .hero-intro p{font-size:16px;line-height:1.6}
  .section-note,.card-copy p,.approach-bottom p,.about-blurb{font-size:15px;line-height:1.6}
  .work-section{padding-top:62px;padding-bottom:48px}
  .work-card{min-height:460px}
  .approach{padding-top:68px;padding-bottom:68px}
}


/* Build 31: site-wide readability and visual simplification */
.site-header nav{font-size:14px;gap:30px}
.header-cta{font-size:13px}
.hero-meta,.eyebrow,.card-top,.work-footer,.footer-bottom,.photo-note{font-size:11px}
.hero-intro p{font-size:17px;line-height:1.6}
.hero-tagline{font-size:25px}
.section-note{font-size:15px;line-height:1.6;max-width:290px}
.card-copy h3{font-size:28px}
.card-copy p{font-size:16px;line-height:1.55;max-width:330px}
.approach-bottom p{font-size:16px;line-height:1.6}
.about-blurb{font-size:16px;line-height:1.6}
.text-link,.about-link{font-size:12px}
/* Remove decorative micro-copy inside the homepage illustrations. */
.vp-small,.vp-side,.ops-label,.adoption-caption{display:none}
.visual{margin-top:14px;margin-bottom:20px}
.work-card{min-height:560px}
@media(max-width:760px){
 .site-header nav{font-size:12px;gap:12px}
 .hero-intro p{font-size:16px}
 .hero-tagline{font-size:21px}
 .section-note,.approach-bottom p,.about-blurb{font-size:16px}
 .card-copy h3{font-size:27px}
 .card-copy p{font-size:16px;line-height:1.55}
 .work-card{min-height:470px;padding:18px}
}

/* Build 32: site-wide reading-size reset. Informational text is never treated as decoration. */
body{font-size:16px}
.site-header nav{font-size:14px;gap:30px}
.header-cta{font-size:13px}
.hero-meta,.eyebrow,.card-top,.work-footer,.footer-bottom,.photo-note{font-size:12px}
.hero-intro p{font-size:17px;line-height:1.65}
.text-link,.about-link{font-size:12px}
.section-note{font-size:16px;line-height:1.6}
.card-copy h3{font-size:27px}
.card-copy p{font-size:16px;line-height:1.6;max-width:340px}
.vp-small,.vp-side,.ops-label,.adoption-caption{font-size:11px}
.approach-bottom p{font-size:17px;line-height:1.65}
.approach-bottom span{font-size:12px}
.about-blurb{font-size:17px;line-height:1.65}
.footer-bottom{font-size:11px}
@media(max-width:760px){
 .site-header nav{font-size:12px;gap:13px}
 .header-cta{font-size:11px}
 .hero-meta{font-size:10px}
 .hero-intro p{font-size:16px;line-height:1.6}
 .section-note,.card-copy p,.approach-bottom p,.about-blurb{font-size:16px;line-height:1.6}
 .card-copy h3{font-size:26px}
 .eyebrow,.card-top,.work-footer,.photo-note{font-size:11px}
 .footer-bottom{font-size:10px}
}


/* BUILD 33: site-wide readability pass */
:root { --reading-size: 16px; }
body { font-size: 16px; }
p, li, dd, dt { font-size: max(16px, 1rem); line-height: 1.65; }
small, .eyebrow, .hero-meta, .card-top, .work-footer, .footer-bottom,
.photo-note, .text-link, .about-link, .case-kicker, .case-meta,
.system-foot, .stage-num, .layer-num, .application .num,
.board-head, .tool-row span, .metric-proof span {
  font-size: max(12px, .78rem) !important;
  line-height: 1.5;
}
.hero-meta, .eyebrow, .card-top, .work-footer, .footer-bottom,
.photo-note, .text-link, .about-link, .case-kicker, .case-meta,
.system-foot, .stage-num, .layer-num, .application .num,
.board-head { letter-spacing: .045em; }
.site-header nav, .header-cta { font-size: 13px; }
.hero-intro p, .section-note, .approach-bottom p, .about-blurb {
  font-size: 16px; line-height: 1.65;
}
.card-copy p { font-size: 16px; line-height: 1.55; }
.approach-bottom span { font-size: 13px; }
.approach-signals { font-size: 13px; }
.approach-signals strong { font-size: 14px; }
.vp-small, .vp-side, .ops-label, .adoption-caption { font-size: 12px; }
.photo-note { font-size: 12px; }
footer .footer-bottom { font-size: 12px; }

/* Build 36: readable type scale across the homepage and career page */
:root{--type-body:16px;--type-small:13px}
.hero-meta,.eyebrow,.card-top,.work-footer,.footer-bottom,.photo-note{font-size:12px;line-height:1.5}
.site-header nav,.header-cta{font-size:14px}
.wordmark{font-size:26px}
.hero-intro p,.about-blurb,.approach-bottom p{font-size:17px;line-height:1.65}
.hero-tagline{font-size:25px}
.section-note,.card-copy p{font-size:15px;line-height:1.6}
.card-copy h3{font-size:27px}
.approach-bottom span,.approach-signals{font-size:12px}
.text-link,.about-link{font-size:12px}
.footer-bottom{font-size:11px}
@media(max-width:760px){
 .site-header nav{font-size:12px;gap:12px}.header-cta{font-size:12px}
 .hero-meta,.eyebrow,.card-top,.work-footer,.photo-note{font-size:11px}
 .hero-intro p,.about-blurb,.approach-bottom p{font-size:16px;line-height:1.65}
 .section-note,.card-copy p{font-size:16px;line-height:1.6}
 .approach-bottom span,.approach-signals{font-size:12px}
 .footer-bottom{font-size:11px}
}
