@font-face{font-family:bricolage grotesque;src:url(/fonts/bricolage-grotesque.woff2)format("woff2");font-style:normal;font-weight:400 800;font-display:swap}@font-face{font-family:public sans;src:url(/fonts/public-sans.woff2)format("woff2");font-style:normal;font-weight:400 700;font-display:swap}:root{--cream:#F5EBDD;--charcoal:#202B33;--gold:#D99532;--pale-blue:#83C8E2;--blue:#2452BD;--paper:#fffaf3;--line:#d5cbbc;--display:"Bricolage Grotesque",sans-serif;--body:"Public Sans",sans-serif;--radius:10px}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:2rem}body{margin:0;background:var(--cream);color:var(--charcoal);font:1.0625rem/1.65 var(--body)}a{color:var(--blue);text-underline-offset:.2em}a:hover{text-decoration-thickness:2px}a:focus-visible,button:focus-visible,video:focus-visible{outline:3px solid var(--charcoal);outline-offset:5px}button,input,select{font:inherit}.shell{max-width:1240px;width:calc(100% - 80px);margin-inline:auto}.skip-link{position:absolute;top:-100px;left:20px;background:var(--charcoal);color:#fff;padding:12px 18px;z-index:10}.skip-link:focus{top:12px}.site-header{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-block:27px;border-bottom:1px solid var(--line)}.wordmark{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--charcoal);font-family:var(--display);font-size:1.15rem;font-weight:700;line-height:1.15}.brand-mark{display:block;height:48px;width:48px;flex-shrink:0}.wordmark-small{display:block;font-family:var(--body);font-size:.66rem;font-weight:500;letter-spacing:.045em;margin-top:5px}.site-header nav{display:flex;align-items:center;gap:26px;font-size:.9rem}.site-header nav a{color:var(--charcoal);padding:10px 0;text-decoration:none}.site-header nav a[aria-current]{text-decoration:underline;text-decoration-thickness:2px}.nav-contact{border-bottom:2px solid var(--gold)}h1,h2,h3{font-family:var(--display);font-weight:700;line-height:1.05;letter-spacing:-.045em;margin:0 0 24px}h1{font-size:clamp(3.3rem,6.6vw,6.3rem)}h2{font-size:clamp(2.25rem,3.6vw,3.3rem)}h3{font-size:1.85rem;letter-spacing:-.035em}p{margin:0 0 20px}.eyebrow{font-size:.72rem;font-weight:700;letter-spacing:.105em;text-transform:uppercase;margin:0 0 25px;line-height:1.5}.hero{display:grid;grid-template-columns:1.1fr 1fr;align-items:center;gap:54px;padding-block:66px 88px}.hero-copy{padding-block:15px}.title-accent{color:var(--blue)}.hero-intro{font-size:1.18rem;max-width:530px;line-height:1.65;margin-bottom:27px}.actions{display:flex;gap:12px;flex-wrap:wrap}.button{display:inline-flex;gap:20px;align-items:center;justify-content:center;min-height:52px;background:var(--blue);border:2px solid var(--blue);color:#fff;padding:11px 20px;font-weight:700;font-size:.9rem;border-radius:6px;text-decoration:none}.button:hover{background:#173d94;border-color:#173d94;text-decoration:none}.button-outline{background:0 0;color:var(--blue)}.button-outline:hover{color:#fff}.hero-note{margin:28px 0 0;font-size:.94rem;letter-spacing:.015em}.monkey-stage{position:relative;margin:0;background:var(--pale-blue);border:2px solid var(--charcoal);border-radius:36px 36px 36px 5px;box-shadow:12px 12px 0 var(--gold);overflow:hidden}.monkey-stage img{display:block;width:100%;height:auto}.monkey-stage figcaption{position:absolute;bottom:17px;left:17px;right:17px;display:flex;flex-wrap:wrap;gap:2px 15px;justify-content:space-between;background:var(--charcoal);color:var(--cream);border-radius:5px;font:700 .83rem/1.45 var(--display);padding:13px 17px}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:36px;margin-bottom:30px}.section-heading h2{max-width:650px;margin:0}.section-heading>p{max-width:250px;font-size:.9rem;margin:0}.work-section{padding-bottom:70px}.work-row{display:grid;grid-template-columns:180px 1fr 190px;gap:35px;align-items:start;border-top:1px solid var(--charcoal);padding:35px 0}.work-row:last-child{border-bottom:1px solid var(--charcoal)}.work-row h3{margin-bottom:15px}.work-row p{max-width:590px;margin:0}.work-label{font-size:.8rem;font-weight:700;line-height:1.6}.work-label span{display:block;font-size:.73rem;font-weight:400;margin-top:8px}.work-links{display:flex;flex-direction:column;gap:12px;font-size:.83rem}.text-link{font-weight:700;text-decoration:none;display:inline-block;padding-block:8px}.text-link:hover{text-decoration:underline}.tags{list-style:none;display:flex;flex-wrap:wrap;gap:8px;padding:0;margin:20px 0 0;font-size:.7rem}.tags li{border:1px solid var(--line);border-radius:3px;padding:3px 9px}.featured-work .tags li{background:var(--paper)}.approach{padding-block:20px 75px;display:grid;grid-template-columns:1fr 1fr;column-gap:70px}.approach>.eyebrow{grid-column:1/-1}.approach h2{grid-row:2/4}.approach>p:not(.eyebrow){max-width:550px}.contact-band{display:flex;align-items:center;justify-content:space-between;gap:50px;background:var(--charcoal);color:var(--cream);border-radius:12px;padding:45px 50px;margin-bottom:65px}.contact-band h2{font-size:2.9rem}.contact-band p{max-width:650px;margin-bottom:0}.contact-band .eyebrow{color:var(--pale-blue);margin-bottom:20px}.contact-band .button{background:var(--pale-blue);border-color:var(--pale-blue);color:var(--charcoal);flex-shrink:0}.contact-band .button:hover{background:#afe0f1;border-color:#afe0f1}.site-footer{display:grid;grid-template-columns:1fr auto 1fr;gap:55px;border-top:1px solid var(--line);padding-block:30px 45px;font-size:.75rem}.footer-name{color:var(--charcoal);font-weight:700;text-decoration:none;font-size:1rem}.site-footer p{margin:5px 0 0}.footer-links{display:flex;flex-direction:column;gap:7px}.site-footer a{padding-block:4px}.credit{text-align:right;font-size:.7rem}.article{padding-block:65px 80px}.article-header{max-width:900px;margin-bottom:40px}.article-header h1{font-size:clamp(3rem,5vw,4.6rem);max-width:900px}.article-lead{font-size:1.25rem;line-height:1.65;max-width:850px}.prose{max-width:800px}.prose h2{font-size:2rem;margin-top:48px;margin-bottom:20px}.prose h3{font-size:1.4rem;margin-top:32px;margin-bottom:13px}.prose ul,.prose ol{padding-left:24px;margin-block:16px 28px}.prose li{padding-left:5px;margin-block:8px}.prose blockquote{margin:28px 0;padding:15px 25px;border-left:5px solid var(--gold);font-size:1.15rem;font-weight:600;background:var(--paper)}.prose blockquote p{margin:0}.prose code{font-size:.9em;overflow-wrap:anywhere}.prose hr{border:0;border-top:1px solid var(--line);margin-block:35px}.prose a{overflow-wrap:anywhere}.prose table{width:100%;border-collapse:collapse;font-size:.9rem;margin-block:24px}.prose th,.prose td{border-bottom:1px solid var(--line);padding:12px;text-align:left}.prose th{background:var(--paper)}.walkthrough{max-width:900px;margin-top:48px}.walkthrough h2{font-size:2rem}.walkthrough video{width:100%;height:auto;background:var(--charcoal);border:1px solid var(--charcoal);border-radius:8px;aspect-ratio:16/9}.walkthrough p{font-size:.9rem;margin-top:20px;max-width:800px}.resume-link{display:inline-block;margin-top:18px;font-size:.9rem;padding-block:8px}.summit-hero h1{font-size:clamp(3.4rem,6.5vw,6rem)}.summit-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:35px;margin-bottom:65px;border-top:1px solid var(--charcoal);padding-top:35px}.summit-grid h3{font-size:1.6rem;line-height:1.15}.summit-grid .eyebrow{margin-bottom:18px}.summit-grid p{font-size:.94rem}.summit-grid .text-link{font-size:.88rem}.page-list{max-width:800px;margin-top:35px}.page-list article{border-top:1px solid var(--line);padding-block:24px}.page-list h2{font-size:2rem}.page-list p{font-size:.94rem}@media(max-width:1000px){.shell{width:calc(100% - 48px)}.hero{gap:35px}.work-row{grid-template-columns:140px 1fr;gap:25px}.work-links{grid-column:2;flex-direction:row}.site-header nav{gap:18px}.contact-band{padding:35px}.contact-band h2{font-size:2.4rem}.summit-grid{gap:25px}.site-footer{gap:30px}.approach{column-gap:40px}}@media(max-width:760px){body{font-size:1rem}.shell{width:calc(100% - 40px)}.site-header{flex-wrap:wrap;gap:15px;padding-block:19px}.wordmark{font-size:1.06rem}.brand-mark{width:42px;height:42px}.site-header nav{width:100%;justify-content:space-between;gap:10px;font-size:.82rem}.site-header nav a{min-height:44px;display:inline-flex;align-items:center}.hero{grid-template-columns:1fr;gap:35px;padding-block:37px 60px}.hero-copy{padding:0}.hero h1{font-size:3.8rem}.hero-intro{font-size:1.05rem;margin-bottom:22px}.eyebrow{font-size:.67rem;margin-bottom:20px}.monkey-stage{max-width:460px;width:100%;justify-self:center;box-shadow:8px 8px 0 var(--gold)}.monkey-stage figcaption{left:12px;right:12px;bottom:12px;font-size:.78rem;padding:10px 12px}.hero-note{margin-top:22px}.section-heading{display:block}.section-heading h2{font-size:2.35rem;margin-bottom:15px}.section-heading>p{max-width:none}.work-row{grid-template-columns:1fr;gap:18px;padding-block:28px}.work-label span{display:inline;font-size:.72rem;margin-left:8px}.work-links{grid-column:auto;flex-wrap:wrap}.work-row h3{font-size:1.65rem;margin-bottom:15px}.work-section{padding-bottom:45px}.approach{display:block;padding-bottom:45px}.approach h2{font-size:2.4rem}.contact-band{display:block;padding:30px 25px;margin-bottom:40px}.contact-band h2{font-size:2.1rem}.contact-band .button{margin-top:25px}.site-footer{grid-template-columns:1fr auto;gap:25px;padding-block:25px 35px}.credit{grid-column:1/-1;text-align:left}.footer-links{gap:2px}.footer-links a{display:flex;align-items:center;min-height:44px}.article{padding-block:40px 55px}.article-header h1{font-size:2.8rem}.article-lead{font-size:1.1rem}.prose h2{font-size:1.8rem}.prose table{font-size:.8rem}.prose th,.prose td{padding:8px}.summit-grid{grid-template-columns:1fr;gap:28px;margin-bottom:45px}.summit-grid article{border-bottom:1px solid var(--line);padding-bottom:25px}.summit-grid h3{font-size:1.9rem}.resume-link{font-size:.9rem}.summit-hero h1{font-size:3.8rem}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}@media print{.site-header,.site-footer,.contact-band,.actions,.walkthrough{display:none}body{background:#fff;color:#000;font-size:11pt}.shell{width:100%;max-width:none}.article{padding:0}.article-header h1{font-size:28pt}.prose h2{font-size:17pt}.prose a{color:#000}h2,h3{break-after:avoid}p,li{orphans:3;widows:3}}