:root{--paper:#f6f8fc;--ink:#1b2c45;--muted:#56657b;--blue:#254f85;--ice:#d5e6fc;--line:#d5deea;--serif:Georgia,'Times New Roman',serif;--sans:-apple-system,BlinkMacSystemFont,'Segoe UI',Helvetica,Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:2rem}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.65 var(--sans);-webkit-font-smoothing:antialiased}a{color:inherit;text-underline-offset:5px}a:hover{color:var(--blue)}img{max-width:100%;height:auto;display:block}h1,h2,h3,h4,p,figure{margin:0}h1,h2,h3{font-weight:500}h1,h2{font-family:var(--serif);letter-spacing:-.045em;line-height:1.06}h1{font-size:clamp(3.2rem,5.2vw,5.2rem)}h2{font-size:clamp(2.4rem,3.6vw,3.7rem)}h3{font-size:1.35rem;line-height:1.3;letter-spacing:-.025em}h4{font-size:.72rem;text-transform:uppercase;letter-spacing:.1em}em{color:var(--blue);font-weight:400}p{color:var(--muted)}.wrap{width:min(1200px,calc(100% - 96px));margin-inline:auto}.site-header{min-height:112px;display:flex;align-items:center;justify-content:space-between;gap:2rem;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;font-size:.86rem;font-weight:700;letter-spacing:.12em;white-space:nowrap}.brand-mark{font:700 40px/.9 var(--serif);letter-spacing:-.06em;margin-right:8px;color:var(--blue)}.brand-copy{min-width:0;display:flex;flex-direction:column;gap:6px}.brand-tagline{font-size:.68rem;font-weight:400;letter-spacing:0;text-transform:none;color:var(--muted);white-space:normal;line-height:1.4}.brand-light{font-weight:400}.site-header nav{display:flex;align-items:center;gap:32px}.site-header nav a{font-size:.88rem;text-decoration:none}.site-header nav a[aria-current=page]{text-decoration:underline;text-decoration-thickness:2px}.site-header nav .nav-contact{border:1px solid var(--ink);border-radius:3px;padding:10px 18px}.nav-contact span{margin-left:15px}.eyebrow{font-size:.69rem;letter-spacing:.15em;text-transform:uppercase;font-weight:600;line-height:1.6}.status-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#4e79b2;margin-right:8px;vertical-align:middle}.hero{display:grid;grid-template-columns:1.3fr 1fr;gap:60px;padding-top:66px;padding-bottom:64px;align-items:center}.intro-name{font-size:.95rem;margin:29px 0 16px;color:var(--ink)}.hero-description{max-width:490px;margin-top:26px;font-size:1.05rem;line-height:1.7}.actions{display:flex;flex-wrap:wrap;gap:20px;align-items:center;margin-top:32px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:28px;padding:15px 21px;background:var(--blue);color:white;border-radius:3px;text-decoration:none;font-size:.88rem;font-weight:500;transition:background .18s}.button:hover{background:#193b68;color:white}.text-link{display:inline-block;font-size:.85rem;font-weight:500;text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:3px}.text-link span{margin-left:12px}.hero-portrait{position:relative;margin-left:10px}.hero-portrait:before{content:'';position:absolute;inset:18px -18px -18px 18px;background:#e2eaf6;z-index:-1}.hero-portrait img{aspect-ratio: .79;object-fit:cover;object-position:center 30%;border-radius:3px}.credentials{border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:grid;grid-template-columns:repeat(3,1fr);padding-block:27px}.credentials>div{padding-inline:28px;border-right:1px solid var(--line)}.credentials>div:first-child{padding-left:0}.credentials>div:last-child{border:0}.credentials strong{display:block;font-size:1.12rem;font-weight:500}.credentials span{display:block;color:var(--muted);font-size:.8rem;margin-top:4px}.section{padding-block:88px}.section-heading{display:grid;grid-template-columns:.65fr 1.4fr 1fr;gap:32px;align-items:start;margin-bottom:48px}.section-heading .eyebrow{padding-top:9px}.section-heading>p:last-child{font-size:.95rem;padding-top:8px}.services{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line)}.service{padding:28px 25px 4px 0}.service+.service{padding-left:25px;border-left:1px solid var(--line)}.service-number{font:italic 1.1rem var(--serif);color:var(--muted)}.service h3{margin-top:24px;min-height:3.6em}.service p{font-size:.9rem;margin:18px 0 26px}.service ul{list-style:none;padding:0;font-size:.82rem;color:var(--muted);margin:15px 0 0}.service li{padding:10px 0;border-top:1px solid var(--line)}.experience-section{background:#eaf0f8}.project-list{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;margin-bottom:36px}.tag{color:var(--blue);font-size:.65rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase}.project h3{margin:18px 0}.project p{font-size:.93rem}.approach{display:grid;grid-template-columns:1fr 1fr;gap:80px}.approach h2{margin-top:22px}.approach ol{list-style:none;counter-reset:steps;margin:0;padding:0}.approach li{position:relative;padding:0 0 24px 48px;margin-bottom:24px;border-bottom:1px solid var(--line);counter-increment:steps}.approach li:last-child{margin-bottom:0;padding-bottom:0;border:0}.approach li:before{content:'0' counter(steps);position:absolute;left:0;top:0;color:var(--blue);font-size:.8rem}.approach li p{margin-top:10px;font-size:.94rem}.contact-band{display:grid;grid-template-columns:1.2fr 1fr;gap:80px;background:var(--blue);padding:48px 54px;color:white;border-radius:4px;margin-bottom:72px}.contact-band .eyebrow{color:var(--ice);margin-bottom:18px}.contact-band p{color:#e0e9f7;font-size:.94rem;max-width:360px}.contact-band .button{background:var(--ice);color:var(--ink);margin-top:25px}.contact-band .button:hover{background:white}.site-footer{border-top:1px solid var(--line);padding-top:32px;padding-bottom:32px;display:flex;justify-content:space-between;gap:30px;font-size:.78rem}.site-footer p{margin:6px 0}.site-footer a{text-decoration:none}.footer-name{font-size:1rem;font-weight:500}.page-intro{padding-top:78px;padding-bottom:65px}.page-intro h1{margin-top:24px;max-width:1000px}.lead{font-size:1.15rem;line-height:1.75;max-width:640px;margin-top:28px}.about-intro{display:grid;grid-template-columns:1.6fr .7fr;gap:80px;align-items:center}.about-intro h1{font-size:clamp(3rem,4.4vw,4.5rem)}.about-photo{aspect-ratio:.8;object-fit:cover;border-radius:3px}.editorial{display:grid;grid-template-columns:1fr 1.2fr;gap:100px;border-top:1px solid var(--line)}.editorial h2{margin-top:20px;font-size:2.8rem}.prose p+p{margin-top:22px}.prose h2,.prose h3{margin:32px 0 15px}.prose h2:first-child,.prose h3:first-child{margin-top:0}.prose a{overflow-wrap:anywhere}.achievement-list article+article,.timeline article+article{margin-top:28px;padding-top:28px;border-top:1px solid var(--line)}.achievement-list p,.timeline p{margin-top:12px}.timeline .eyebrow{margin-top:0;margin-bottom:10px}.contact-intro{padding-bottom:80px}.contact-email{display:inline-block;font-family:var(--serif);font-size:clamp(1.3rem,3.2vw,2.8rem);letter-spacing:-.03em;text-decoration:none;margin-top:42px;border-bottom:1px solid var(--ink);overflow-wrap:anywhere}.contact-email span{display:inline-block;margin-left:20px}.contact-details{display:grid;grid-template-columns:1.2fr .9fr 1fr;gap:60px;border-top:1px solid var(--line);padding-top:40px;padding-bottom:90px}.contact-details h2{font-size:2rem;line-height:1.2}.contact-details .eyebrow{margin-bottom:20px}.contact-details p{font-size:.95rem}.blog-list{min-height:250px;padding-bottom:80px}.empty-state{border-block:1px solid var(--line);padding:36px 0;display:flex;align-items:center;gap:10px}.post-preview{border-top:1px solid var(--line);padding:32px 0;max-width:800px}.post-preview time{font-size:.8rem;color:var(--muted)}.post-preview h2{font-size:2.2rem;margin:10px 0 18px}.post-preview h2 a{text-decoration:none}.post-preview .post-subtitle{font-weight:500;color:var(--ink)}.post-excerpt{margin-top:18px}.continue-reading{white-space:nowrap;font-weight:500}.post{max-width:850px}.post .page-intro{padding-bottom:40px}.post .eyebrow{margin-top:35px}.post h1{font-size:clamp(2.8rem,5vw,4.4rem)}.post-content{padding-bottom:80px}.prose pre{overflow:auto;background:#e7edf6;padding:20px;border-radius:3px;font-size:.9rem}.prose code{background:#e7edf6;padding:2px 4px}.prose pre code{padding:0}.prose blockquote{border-left:3px solid var(--blue);margin:24px 0;padding-left:24px}.prose table{display:block;overflow:auto;border-collapse:collapse}.prose th,.prose td{padding:12px;border:1px solid var(--line)}.skip-link{position:fixed;top:10px;left:10px;transform:translateY(-200%);z-index:10;background:var(--ink);color:white;padding:10px 20px}.skip-link:focus{transform:none}:focus-visible{outline:3px solid #4e79b2;outline-offset:5px}::selection{background:var(--ice);color:var(--ink)}
@media(min-width:1450px){.hero{gap:90px}.hero-portrait{margin-left:25px}}
@media(max-width:1000px){.site-header{gap:1rem}.brand-tagline{max-width:230px}.site-header nav{gap:20px}.wrap{width:calc(100% - 64px)}.hero{gap:36px}.hero h1{font-size:4rem}.hero .eyebrow{font-size:.6rem}.hero-portrait{margin:0}.hero-portrait:before{inset:12px -12px -12px 12px}.actions{gap:18px}.section-heading{grid-template-columns:1fr 1.6fr}.section-heading>p:last-child{grid-column:2}.services{grid-template-columns:1fr 1fr}.service{padding:25px!important;border-bottom:1px solid var(--line)}.service:nth-child(odd){padding-left:0!important;border-left:0}.service h3{min-height:0}.project-list{gap:25px}.approach{gap:40px}.editorial{gap:45px}.contact-band{gap:35px;padding:40px}.about-intro{gap:40px}.contact-details{gap:30px}}
@media(max-width:700px){.wrap{width:calc(100% - 40px)}.site-header{min-height:112px;flex-wrap:wrap;justify-content:center;gap:8px;padding-block:16px}.brand{font-size:.76rem;white-space:normal}.brand-tagline{font-size:.62rem;max-width:260px}.brand-mark{font-size:32px}.site-header nav{gap:24px;justify-content:center;width:100%}.site-header nav a{font-size:.8rem}.site-header nav .nav-contact{padding:5px 10px}.nav-contact span{margin-left:5px}.hero{grid-template-columns:1fr;padding-top:38px;padding-bottom:40px;gap:36px}.hero h1{font-size:clamp(3.3rem,12vw,5rem)}.hero .eyebrow{font-size:.6rem}.intro-name{margin-top:24px}.hero-description{font-size:1rem}.hero-portrait{width:calc(100% - 12px)}.hero-portrait img{aspect-ratio:1;object-position:50% 30%}.credentials{grid-template-columns:1fr;padding-block:0}.credentials>div{padding:16px 0;border-right:0;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:10px;align-items:center}.credentials strong{font-size:.95rem}.credentials span{font-size:.7rem;text-align:right;margin:0}.section{padding-block:54px}.section-heading{grid-template-columns:1fr;gap:20px;margin-bottom:30px}.section-heading>p:last-child{grid-column:auto;max-width:400px}.section-heading h2 br{display:none}.services{grid-template-columns:1fr}.service{padding:25px 0!important;border-left:0!important}.service h3{margin-top:14px}.service p{margin:14px 0 20px}.project-list{grid-template-columns:1fr;gap:32px}.project+.project{border-top:1px solid var(--line);padding-top:26px}.project h3{margin:12px 0}.approach{grid-template-columns:1fr;gap:35px}.contact-band{grid-template-columns:1fr;gap:25px;padding:32px 24px;margin-bottom:45px}.contact-band h2{font-size:2.5rem}.site-footer{flex-direction:column;gap:22px}.site-footer p{margin:3px 0}.page-intro{padding-top:45px;padding-bottom:42px}.page-intro h1{font-size:clamp(2.8rem,10.5vw,4rem)}.lead{font-size:1.04rem}.about-intro{grid-template-columns:1fr;gap:30px}.about-photo{max-width:320px;aspect-ratio:1;object-position:50% 28%}.editorial{grid-template-columns:1fr;gap:28px}.editorial h2{font-size:2.3rem}.contact-email{font-size:clamp(1.1rem,4.6vw,2rem)}.contact-email span{margin-left:5px}.contact-details{grid-template-columns:1fr;gap:32px;padding-bottom:60px}.contact-details .eyebrow{margin-bottom:12px}.blog-list{min-height:200px}.empty-state{font-size:.9rem}.post-preview h2{font-size:1.9rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
