@font-face{font-family:Inter;src:url('../fonts/InterVariable.woff2') format('woff2');font-style:normal;font-weight:100 900;font-display:swap}
:root{--paper:#f6f6f2;--white:#fff;--ink:#211b27;--plum:#351c46;--rose:#963c68;--muted:#65616b;--line:#d8d4db;--lilac:#d8cbdf;--max:1280px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,system-ui,sans-serif;font-size:1.0625rem;line-height:1.6;-webkit-font-smoothing:antialiased}h1,h2,h3,h4,p{margin-top:0}h1,h2,h3,h4{font-weight:500;line-height:1.13;text-wrap:balance}h1{font-size:clamp(2.7rem,6.1vw,5.375rem);letter-spacing:-.055em}h2{font-size:clamp(2.1rem,4vw,3.5rem);letter-spacing:-.045em}h3{font-size:1.5rem;letter-spacing:-.025em}p{margin-bottom:1.25rem}a{color:inherit;text-decoration-thickness:1px;text-underline-offset:5px}a:hover{text-decoration-thickness:2px}button,summary{font:inherit;cursor:pointer}button{color:inherit}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--rose);outline-offset:6px}img,svg{max-width:100%}::selection{background:var(--lilac);color:var(--plum)}.wrap{max-width:var(--max);margin-inline:auto;padding-inline:48px}.muted{color:var(--muted)}.eyebrow{font-size:.75rem;letter-spacing:.115em;text-transform:uppercase;font-weight:600;line-height:1.6;margin-bottom:22px}.section-number{color:var(--rose);margin-right:16px}.lead{font-size:1.1875rem;line-height:1.55;color:var(--muted);max-width:58ch}.text-link{font-size:.9375rem;font-weight:500;display:inline-flex;align-items:center;gap:12px;min-height:44px}.text-link .arrow{font-weight:400}.actions{display:flex;align-items:center;gap:24px;flex-wrap:wrap;margin-top:28px}.button{display:inline-flex;justify-content:center;align-items:center;gap:20px;background:var(--plum);color:white;border:1px solid var(--plum);padding:12px 24px;border-radius:40px;font-size:.9375rem;font-weight:500;min-height:50px;text-decoration:none;line-height:1.4}.button:hover{background:#4c2b61;border-color:#4c2b61;text-decoration:none}.button.light{background:var(--paper);border-color:var(--paper);color:var(--plum)}.button.light:hover{background:white}.button.secondary{background:transparent;color:var(--plum);border-color:var(--line)}.button.secondary:hover{border-color:var(--plum)}.skip-link{position:absolute;top:8px;left:16px;z-index:20;background:white;padding:12px 20px;transform:translateY(-160%)}.skip-link:focus{transform:translateY(0)}[hidden]{display:none!important}
.site-header{border-bottom:1px solid var(--line)}.header-inner{display:flex;justify-content:space-between;align-items:center;gap:24px;min-height:94px}.brand{display:inline-flex;align-items:center;white-space:nowrap;text-decoration:none;letter-spacing:-.055em;font-size:2rem;font-weight:600;line-height:1;color:var(--plum);flex-shrink:0}.brand svg{width:31px;height:31px;margin-right:-1px;flex-shrink:0}.brand:hover{text-decoration:none}.desktop-nav{display:flex;align-items:center;gap:25px;font-size:.875rem}.desktop-nav>a:not(.button){text-decoration:none;min-height:44px;display:inline-flex;align-items:center;border-bottom:1px solid transparent}.desktop-nav>a:hover,.desktop-nav>a[aria-current=page]{border-bottom-color:var(--rose)}.desktop-nav>a[aria-current=page]{color:var(--rose)}.desktop-nav .button{min-height:44px;padding:10px 20px;font-size:.875rem}.mobile-nav{display:none;position:relative}.mobile-nav summary{list-style:none;border:1px solid var(--line);border-radius:24px;font-size:.875rem;padding:8px 18px;min-height:44px;display:flex;align-items:center;gap:18px}.mobile-nav summary::-webkit-details-marker{display:none}.mobile-nav summary::after{content:'+';font-size:1.125rem}.mobile-nav[open] summary::after{content:'−'}.mobile-nav nav{position:absolute;right:0;top:56px;z-index:10;width:260px;padding:14px;background:var(--paper);border:1px solid var(--line);box-shadow:0 12px 30px #211b2710;border-radius:8px}.mobile-nav nav a{display:block;padding:11px 14px;text-decoration:none;font-size:1rem;border-radius:4px}.mobile-nav nav a:hover{background:#eeebf0}.mobile-nav nav a[aria-current=page]{color:var(--rose)}
.hero{padding-top:80px;padding-bottom:54px;display:grid;grid-template-columns:minmax(0,1.5fr) minmax(280px,1fr);gap:68px;align-items:center}.hero h1{margin-bottom:26px}.hero .lead{max-width:49ch}.hero .eyebrow{max-width:400px}.hero-location{font-size:.8125rem;color:var(--muted);margin:23px 0 0;max-width:48ch}.architecture{padding:28px 30px;background:#eeebf0;border-radius:2px}.architecture .eyebrow{font-size:.6875rem;color:var(--muted);margin-bottom:30px}.architecture ol{list-style:none;margin:0;padding:0}.architecture li{display:grid;grid-template-columns:26px 1fr;column-gap:16px;border-top:1px solid #c9c2d1;padding:21px 0;align-items:start}.architecture li:last-child{border-bottom:1px solid #c9c2d1}.architecture .number{font-size:.75rem;color:var(--rose);padding-top:5px}.architecture strong{font-size:1.35rem;font-weight:500;line-height:1.3;display:block}.architecture small{font-size:.8125rem;color:var(--muted);display:block;margin-top:4px}.architecture>p:last-child{font-size:.8125rem;margin:24px 0 0;color:var(--muted)}.hero-bottom{display:flex;justify-content:space-between;gap:24px;align-items:center;padding-top:24px;padding-bottom:27px;font-size:.8125rem;color:var(--muted)}.hero-bottom span{letter-spacing:.02em}.hero-bottom a{font-size:.8125rem}
.section{padding-block:86px}.border-top{border-top:1px solid var(--line)}.split{display:grid;grid-template-columns:1fr 1.5fr;gap:80px}.section-intro{max-width:380px}.section-intro h2{margin-bottom:24px}.section-intro p:not(.eyebrow){color:var(--muted);font-size:1.0625rem}.service-list{list-style:none;margin:0;padding:0}.service-list li{display:grid;grid-template-columns:26px 1fr;gap:20px;padding:25px 0;border-top:1px solid var(--line)}.service-list li:first-child{padding-top:0;border-top:0}.service-list .number{color:var(--rose);font-size:.75rem;margin-top:6px}.service-list h3{margin-bottom:12px}.service-list h3 a{text-decoration:none}.service-list h3 a:hover{text-decoration:underline}.service-list p{font-size:1rem;color:var(--muted);margin-bottom:0;max-width:56ch}.section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:40px}.section-head h2{margin:0}.dark{background:var(--plum);color:white}.dark .muted,.dark .lead{color:var(--lilac)}.dark .text-link{color:white}.dark a:focus-visible{outline-color:white}.dark .section-number{color:var(--lilac)}.case-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:34px}.case-card{border-top:1px solid #796483;padding-top:26px;display:flex;flex-direction:column}.case-card .category{font-size:.75rem;color:var(--lilac);margin-bottom:18px}.case-card h3{font-size:1.65rem;line-height:1.18;margin:0 0 18px}.case-card p{color:var(--lilac);font-size:1rem}.case-card .tools{font-size:.75rem;margin-top:auto;margin-bottom:18px}.case-card .text-link{font-size:.875rem;align-self:flex-start}.experience-note{font-size:.8125rem;color:var(--lilac);margin-top:30px;margin-bottom:0}.process{list-style:none;padding:0;margin:0}.process li{position:relative;display:grid;grid-template-columns:40px 1fr;gap:18px;padding:0 0 30px}.process li:before{content:'';position:absolute;left:13px;top:32px;bottom:0;width:1px;background:var(--line)}.process li:last-child:before{display:none}.process .number{font-size:.75rem;color:var(--rose);padding-top:4px}.process h3{font-size:1.25rem;margin-bottom:7px}.process p{font-size:1rem;color:var(--muted);margin-bottom:0}.working h3{font-size:1.25rem;margin:28px 0 10px}.working p{color:var(--muted)}.working>p:first-child{font-size:1.1875rem;color:var(--ink)}
.quotes-section{background:#eeebf0}.quote-grid{display:grid;grid-template-columns:1fr 1fr;gap:65px}.quote-grid figure{margin:0;border-top:1px solid #c9c2d1;padding-top:26px}.quote-grid blockquote{margin:0 0 26px;font-size:1.4rem;line-height:1.45;letter-spacing:-.02em;color:var(--plum);text-wrap:pretty}.quote-grid figcaption{font-size:.8125rem;color:var(--muted)}.quote-grid figcaption strong{display:block;color:var(--ink);font-size:.9375rem;font-weight:500;margin-bottom:4px}.quote-grid figcaption span{display:block}.quotes-section .text-link{margin-top:24px}.tools-grid{display:grid;grid-template-columns:1fr 1fr;gap:32px 48px}.tool-group{border-top:1px solid var(--line);padding-top:20px}.tool-group h3{font-size:1.0625rem;margin-bottom:18px}.tool-group ul{list-style:none;display:flex;flex-wrap:wrap;gap:8px 18px;margin:0;padding:0;color:var(--muted);font-size:.9375rem}.tools-intro{max-width:650px;margin-bottom:42px}.contact-band h2{max-width:800px;font-size:clamp(2.5rem,5.1vw,4.3rem)}.contact-band .lead{max-width:610px}.contact-band .actions{margin-top:30px}.contact-band .delivery{font-size:.875rem;color:var(--lilac);margin:30px 0 0}.email-link{overflow-wrap:anywhere}.site-footer{padding-block:36px;font-size:.8125rem}.footer-top{display:flex;justify-content:space-between;gap:30px;margin-bottom:28px}.footer-top p{margin:0;color:var(--muted)}.footer-links{display:flex;align-items:center;gap:22px;flex-wrap:wrap}.footer-bottom{border-top:1px solid var(--line);padding-top:24px;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;color:var(--muted)}.footer-top .brand{font-size:1.625rem;margin-bottom:13px}.footer-top .brand svg{width:25px;height:25px}
.page-hero{padding-block:65px 58px;border-bottom:1px solid var(--line)}.page-hero h1{font-size:clamp(2.55rem,5.3vw,4.7rem);max-width:1020px;margin-bottom:26px}.page-hero .lead{max-width:740px;margin-bottom:0}.breadcrumb{font-size:.8125rem;color:var(--muted);margin-bottom:26px;display:flex;gap:10px;flex-wrap:wrap}.page-body{padding-block:60px 80px}.reading-layout{display:grid;grid-template-columns:220px minmax(0,780px);gap:74px}.page-aside{font-size:.875rem;color:var(--muted)}.page-aside .eyebrow{font-size:.6875rem;margin-bottom:18px}.page-aside ul{list-style:none;padding:0;margin:0 0 32px}.page-aside li{margin-bottom:12px}.page-aside a{display:inline-block;min-height:32px;text-decoration:none}.page-aside a:hover{text-decoration:underline}.page-aside .delivery{font-size:.8125rem;max-width:200px;padding-top:20px;border-top:1px solid var(--line)}.prose{min-width:0}.prose>h2{font-size:2rem;letter-spacing:-.035em;margin:48px 0 20px;padding-top:30px;border-top:1px solid var(--line)}.prose>h2:first-child{margin-top:0}.prose>p{color:var(--muted);max-width:66ch}.prose li{color:var(--muted);margin-bottom:12px}.prose blockquote{margin:26px 0;padding-left:25px;border-left:2px solid var(--rose);font-size:1.6rem;color:var(--plum);line-height:1.5}.prose .attribution{font-size:.875rem;color:var(--ink)}.prose .factline{font-size:.875rem;background:#eeebf0;padding:24px;color:var(--plum);line-height:1.8}.prose .takeaway{color:var(--plum);font-size:.9375rem}.related-link{font-size:.9375rem}.prose .button{color:white}.case-list{display:grid;grid-template-columns:1fr 1fr;gap:50px 48px}.case-list .case-card{border-color:var(--line)}.case-list .case-card .category{color:var(--rose)}.case-list .case-card p{color:var(--muted)}.case-list .case-card h2{font-size:2rem;margin-bottom:20px}.case-list .case-card .tools{margin-top:auto}.case-list .stage{font-size:.8125rem;color:var(--rose);margin-top:10px}.case-list .case-card a{color:var(--plum)}.contact-page{display:grid;grid-template-columns:1.3fr 1fr;gap:90px}.contact-address{font-size:clamp(1.75rem,3vw,2.75rem);font-weight:500;letter-spacing:-.035em;color:var(--plum);display:inline-block;line-height:1.3;margin:10px 0 25px}.contact-page h2{font-size:1.65rem;margin-top:36px}.contact-page ul{padding-left:20px;color:var(--muted)}.contact-page li{margin-bottom:20px}.delivery-panel{background:#eeebf0;padding:36px}.delivery-panel h2{margin-top:0}.delivery-option{border-top:1px solid #c9c2d1;padding-top:20px;margin-top:24px}.delivery-option h3{font-size:1.125rem;margin-bottom:8px}.delivery-option p{font-size:.9375rem;color:var(--muted);margin:0}.not-found{padding-block:100px 120px}.not-found h1{max-width:900px}
.resume-intro{display:grid;grid-template-columns:1.3fr 1fr;gap:50px;align-items:end}.resume-intro h1{margin-bottom:12px}.resume-intro .lead{font-size:1.3rem}.resume-contact{font-size:.9375rem}.resume-contact p{margin:8px 0}.resume-contact .delivery{max-width:350px;color:var(--muted)}.resume-layout{display:grid;grid-template-columns:250px minmax(0,1fr);gap:74px}.resume-sidebar h2{font-size:1.125rem;letter-spacing:-.015em;margin-bottom:18px}.resume-sidebar p{font-size:.875rem;color:var(--muted)}.resume-sidebar ul{font-size:.875rem;list-style:none;padding:0;margin:0 0 35px;color:var(--muted)}.resume-sidebar li{margin-bottom:10px}.resume-main>h2{font-size:2rem;margin-bottom:32px}.resume-profile{font-size:1.125rem;color:var(--muted);max-width:67ch;margin-bottom:48px}.role{border-top:1px solid var(--line);padding-top:28px;margin-top:32px}.role-head{display:flex;justify-content:space-between;gap:20px;align-items:baseline}.role-head h3{font-size:1.625rem;margin:0 0 5px}.role-head .date{font-size:.8125rem;color:var(--muted);text-align:right;flex-shrink:0}.role-title{font-size:.9375rem;color:var(--rose);margin:0 0 20px}.role ul{padding-left:20px;font-size:1rem;color:var(--muted);margin:0 0 16px}.role li{margin-bottom:9px}.role .tools{font-size:.8125rem;color:var(--muted);margin:0}.assignment{padding-left:24px;border-left:1px solid var(--line);margin-top:25px}.assignment h4{font-size:1.1875rem;margin-bottom:6px}.assignment .role-title{margin-bottom:12px;font-size:.875rem}.education{margin-top:48px;border-top:1px solid var(--line);padding-top:32px}.education h3{font-size:1.25rem}.education p{color:var(--muted)}.print-note{font-size:.8125rem;color:var(--muted);margin-top:14px}.resume-updated{font-size:.8125rem;color:var(--muted);margin-top:36px}.print-only{display:none}.resume-break-note{font-size:.8125rem;color:var(--muted)}
@media(min-width:1550px){.hero{padding-top:100px;padding-bottom:80px}.section{padding-block:100px}}
@media(max-width:1100px){.wrap{padding-inline:32px}.desktop-nav{gap:16px}.hero{gap:34px;grid-template-columns:1.4fr 1fr}.hero h1{font-size:4rem}.architecture{padding:24px}.split{gap:44px}.reading-layout{gap:44px;grid-template-columns:190px minmax(0,1fr)}.resume-layout{gap:42px;grid-template-columns:210px minmax(0,1fr)}.case-card h3{font-size:1.5rem}}
@media(max-width:880px){.desktop-nav{display:none}.mobile-nav{display:block}.header-inner{min-height:82px}.hero{grid-template-columns:1fr;padding-top:58px;gap:42px}.hero h1{max-width:800px;font-size:clamp(3rem,7.5vw,4.6rem)}.hero .lead{max-width:57ch}.hero .eyebrow{max-width:none}.architecture{padding:26px}.architecture ol{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.architecture li{grid-template-columns:1fr;gap:9px;padding:16px 0;border-bottom:0}.architecture li:last-child{border-bottom:0}.architecture strong{font-size:1.1rem}.architecture .eyebrow{margin-bottom:14px}.architecture>p:last-child{margin-top:8px}.split{grid-template-columns:1fr;gap:38px}.section-intro{max-width:620px}.case-grid{gap:25px}.case-card h3{font-size:1.3rem}.section{padding-block:64px}.quote-grid{gap:36px}.quote-grid blockquote{font-size:1.2rem}.reading-layout{grid-template-columns:1fr;gap:32px}.page-aside .delivery{max-width:none}.page-aside ul{display:flex;flex-wrap:wrap;gap:8px 22px;margin:0}.page-aside li{margin:0}.page-aside .delivery{margin:18px 0 0;padding-top:18px}.contact-page{gap:42px}.resume-layout{grid-template-columns:1fr;gap:30px}.resume-sidebar{display:grid;grid-template-columns:1fr 1fr;gap:28px;order:1}.resume-main{order:0}.resume-sidebar ul{margin-bottom:0}.resume-intro{grid-template-columns:1fr;gap:20px}.role-head .date{font-size:.75rem}.footer-top{flex-direction:column;gap:14px}}
@media(max-width:600px){body{font-size:1rem}.wrap{padding-inline:22px}.header-inner{min-height:76px}.brand{font-size:1.8rem}.brand svg{width:29px;height:29px}.hero{padding-top:42px;padding-bottom:30px;gap:34px}.hero h1{font-size:2.85rem;letter-spacing:-.05em}.hero .eyebrow{font-size:.6875rem;max-width:285px;margin-bottom:22px}.hero .lead{font-size:1.0625rem}.hero-location{font-size:.8125rem;margin-top:20px}.hero .actions{gap:12px 20px;margin-top:22px}.hero-bottom{align-items:flex-start;flex-direction:column;gap:8px;padding-block:14px 23px}.architecture{padding:24px}.architecture ol{grid-template-columns:1fr 1fr;gap:0 24px}.architecture strong{font-size:1.0625rem}.architecture>p:last-child{margin-top:16px}.section{padding-block:54px}.eyebrow{margin-bottom:18px;font-size:.6875rem}.service-list li{gap:14px;padding:24px 0}.service-list h3{font-size:1.25rem}.service-list p{font-size:.9375rem}.case-grid,.case-list{grid-template-columns:1fr;gap:34px}.case-card h3{font-size:1.65rem}.case-card .tools{margin-top:5px}.section-head{display:block;margin-bottom:30px}.section-head .text-link{margin-top:12px}.process{margin-top:6px}.process li{gap:12px;grid-template-columns:30px 1fr;padding-bottom:27px}.process li:before{left:9px}.process p{font-size:.9375rem}.process h3{font-size:1.125rem}.working>p:first-child{font-size:1.0625rem}.quote-grid{grid-template-columns:1fr;gap:35px}.quote-grid blockquote{font-size:1.3rem}.tools-grid{grid-template-columns:1fr;gap:28px}.tools-intro{margin-bottom:30px}.contact-band h2{font-size:2.55rem}.contact-band .lead{font-size:1.0625rem}.contact-band .actions{gap:16px}.footer-links{gap:15px}.page-hero{padding-block:38px 35px}.page-hero h1{font-size:2.55rem}.page-hero .lead{font-size:1.0625rem}.breadcrumb{font-size:.75rem;margin-bottom:20px}.page-body{padding-block:36px 54px}.prose>h2{font-size:1.65rem;margin-top:34px;padding-top:24px}.prose .factline{padding:20px;font-size:.8125rem}.prose blockquote{font-size:1.3rem;padding-left:20px}.contact-page{grid-template-columns:1fr;gap:34px}.contact-address{font-size:1.85rem}.delivery-panel{padding:26px}.resume-sidebar{grid-template-columns:1fr}.resume-intro .lead{font-size:1.125rem}.resume-main>h2{font-size:1.75rem}.resume-profile{font-size:1rem;margin-bottom:32px}.role-head{display:block}.role-head .date{text-align:left;display:block;margin-bottom:12px}.role-title{font-size:.875rem}.role ul{font-size:.9375rem}.assignment{padding-left:17px}.role-head h3{font-size:1.4rem}.not-found{padding-block:70px}.button{padding:12px 22px}.mobile-nav nav{max-width:calc(100vw - 44px)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
@media print{@page{size:A4;margin:16mm 16mm 18mm}body{background:white!important;color:#111!important;font-size:10pt;line-height:1.45}.site-header,.site-footer,.contact-band,.skip-link,.no-print,.actions,.resume-sidebar,.page-aside{display:none!important}.wrap{padding:0;max-width:none}.page-hero{padding:0 0 20px;border-color:#bbb}.page-hero h1{font-size:30pt;letter-spacing:-1pt}.page-body{padding:22px 0}.resume-intro{display:block}.resume-contact{font-size:10pt;margin-top:12px}.resume-contact p{margin:3px 0}.resume-contact .delivery{max-width:none}.resume-intro .lead{font-size:13pt}.resume-layout{display:block}.resume-main>h2{font-size:19pt}.resume-profile{font-size:10pt;margin-bottom:20px}.role{padding-top:14px;margin-top:20px}.role-head{display:flex}.role-head h3{font-size:14pt}.role-head .date{font-size:9pt}.role-title,.role ul{font-size:10pt}.role .tools{font-size:9pt}.role-title{margin-bottom:10px}.role-head,.role-title,h2,h3,h4{break-after:avoid}.role li{break-inside:avoid;margin-bottom:5px}.assignment{margin-top:14px;padding-left:15px}.assignment h4{font-size:11pt}.education{margin-top:25px;padding-top:16px;break-inside:avoid}.resume-updated{font-size:9pt}.print-only{display:block}.resume-break-note{font-size:9pt}a{color:#111;text-decoration:none}.reading-layout{display:block}.prose{max-width:none}.prose>p,.resume-profile,.role li,.role .tools,.role-title,.resume-contact .delivery{color:#333}.breadcrumb{display:none}}
