:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--background:#f5f3ee;--surface:#ebe7df;--text:#1d2529;--muted:#5a666b;--accent:#006b5f;--border:#c9c5bc;font-family:Arial,Helvetica,sans-serif}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--background:#13191b;--surface:#1a2225;--text:#edf0ee;--muted:#abb6b6;--accent:#67cdbd;--border:#344044}*{box-sizing:border-box}html{background:var(--background)}body{background:var(--background);color:var(--text);margin:0;line-height:1.6}img{max-width:100%;height:auto;display:block}a{color:inherit;text-underline-offset:.25em;text-decoration-thickness:.08em}a:hover{color:var(--accent)}:focus-visible{outline:.2rem solid var(--accent);outline-offset:.2rem}.skip-link{z-index:100;border:.15rem solid var(--accent);background:var(--background);color:var(--text);border-radius:.25rem;padding:.65rem 1rem;font-weight:700;position:fixed;top:1rem;left:1rem;transform:translateY(calc(-100% - 1.25rem))}.skip-link:focus-visible{color:var(--text);transform:translateY(0)}.site-shell{flex-direction:column;min-height:100vh;display:flex}.site-header{border-bottom:1px solid var(--border)}.site-header__inner,.site-footer__inner,.site-main{width:min(100% - 3rem,72rem);margin:0 auto}.site-header__inner{justify-content:space-between;align-items:center;gap:2rem;min-height:5rem;display:flex}.wordmark{letter-spacing:.02em;flex:none;font-size:1.05rem;font-weight:400;text-decoration:none}.wordmark span{font-weight:700}.navigation-list{flex-wrap:wrap;gap:.75rem 1.5rem;margin:0;padding:0;list-style:none;display:flex}.navigation-list a{font-size:.9rem;font-weight:600;text-decoration:none}.site-header__actions{align-items:center;gap:1.5rem;display:flex}.theme-toggle{border:1px solid var(--border);background:var(--surface);min-height:2.5rem;color:var(--text);cursor:pointer;font:inherit;border-radius:999px;align-items:center;gap:.4rem;padding:.4rem .75rem;font-size:.85rem;font-weight:600;display:inline-flex}.theme-toggle:hover{border-color:var(--accent);color:var(--accent)}.site-main{flex:1;padding-block:clamp(3rem,8vw,7rem)}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.hero{grid-template-columns:minmax(0,1.5fr) minmax(15rem,.65fr);align-items:center;gap:clamp(2rem,7vw,6rem);min-height:min(42rem,75vh);display:grid}.hero h1{letter-spacing:-.06em;margin:0;font-size:clamp(3rem,9vw,6.5rem);line-height:.95}.hero__headline{color:var(--muted);margin-block:1.5rem 0;font-size:clamp(1.25rem,3vw,1.75rem)}.hero__summary{max-width:45rem;margin-block:1rem 0;font-size:1.1rem}.hero__image{border:1px solid var(--border);background:var(--surface);border-radius:50%;width:100%}.eyebrow{color:var(--accent);letter-spacing:.12em;text-transform:uppercase;margin-block:0 1.25rem;font-size:.75rem;font-weight:700}.button-group,.contact-links{flex-wrap:wrap;gap:.75rem;margin-top:2rem;display:flex}.button{border:1px solid var(--border);justify-content:center;align-items:center;min-height:3rem;padding:.65rem 1rem;font-weight:700;text-decoration:none;display:inline-flex}.button--primary{border-color:var(--accent);background:var(--accent);color:var(--background)}.button--primary:hover{background:var(--text);color:var(--background)}.proof-strip{border-block:1px solid var(--border);margin-top:clamp(3rem,7vw,6rem)}.proof-strip ul{grid-template-columns:repeat(3,1fr);margin:0;padding:0;list-style:none;display:grid}.proof-strip li{padding:1.5rem}.proof-strip li+li{border-left:1px solid var(--border)}.proof-strip strong,.proof-strip span{display:block}.proof-strip strong{color:var(--accent);margin-bottom:.35rem;font-size:1.1rem}.proof-strip span{color:var(--muted);font-size:.9rem}.home-section,.experience-preview,.contact-section{margin-top:clamp(5rem,11vw,9rem)}.section-heading{justify-content:space-between;align-items:end;gap:2rem;margin-bottom:2rem;display:flex}.section-heading h2,.experience-preview h2,.contact-section h2{letter-spacing:-.04em;max-width:48rem;margin:0;font-size:clamp(2rem,5vw,3.75rem);line-height:1.05}.card-grid{grid-template-columns:repeat(3,1fr);gap:1rem;display:grid}.project-card,.article-card,.capability-grid article{border:1px solid var(--border);background:var(--surface)}.project-card{flex-direction:column;display:flex}.project-card>img{aspect-ratio:1200/630;border-bottom:1px solid var(--border);object-fit:cover}.card-content,.article-card,.capability-grid article{padding:1.5rem}.card-content{flex-direction:column;align-items:flex-start;height:100%;display:flex}.card-content>a{margin-top:auto}.project-card h3,.article-card h3,.capability-grid h3{margin-block:.65rem;font-size:1.35rem;line-height:1.25}.card-meta{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;flex-wrap:wrap;justify-content:space-between;gap:.5rem;margin:0;font-size:.75rem;font-weight:700;display:flex}.card-outcome{border-top:1px solid var(--border);color:var(--muted);padding-top:1rem;font-size:.9rem}.capability-grid{grid-template-columns:repeat(3,1fr);gap:1rem;display:grid}.article-card{flex-direction:column;display:flex}.article-card>a{margin-top:auto}.experience-preview{border-block:1px solid var(--border);grid-template-columns:1.25fr 1fr;gap:clamp(2rem,7vw,7rem);padding-block:clamp(2.5rem,6vw,5rem);display:grid}.experience-preview>div:last-child{align-self:end;font-size:1.1rem}.contact-section{max-width:52rem}.contact-section>p:not(.eyebrow){color:var(--muted);font-size:1.1rem}.contact-links a{border:1px solid var(--border);padding:.5rem .75rem;font-weight:700;text-decoration:none}.page-introduction{max-width:52rem;margin-bottom:clamp(2.5rem,7vw,5rem)}.page-introduction h1{letter-spacing:-.06em;margin:0;font-size:clamp(3rem,9vw,6rem);line-height:.95}.page-introduction>p:last-child{color:var(--muted);margin-top:1.5rem;font-size:clamp(1.05rem,2vw,1.3rem)}.experience-introduction{max-width:58rem}.experience-introduction h1{letter-spacing:-.06em;margin:0;font-size:clamp(3rem,9vw,6rem);line-height:.95}.experience-introduction>p:not(.eyebrow){max-width:50rem;color:var(--muted);margin-top:1.5rem;font-size:clamp(1.05rem,2vw,1.3rem)}.experience-history,.experience-capabilities,.experience-contact{margin-top:clamp(5rem,11vw,9rem)}.experience-history{border-block:1px solid var(--border);grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(2rem,7vw,7rem);padding-block:clamp(2.5rem,6vw,5rem);display:grid}.experience-history h2,.experience-capabilities h2,.experience-contact h2{letter-spacing:-.04em;max-width:48rem;margin:0;font-size:clamp(2rem,5vw,3.75rem);line-height:1.05}.experience-history>div:last-child{align-self:end}.experience-history>div:last-child p:first-child,.experience-contact>p:not(.eyebrow){color:var(--muted);font-size:1.1rem}.experience-capability-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.experience-capability-grid article{border:1px solid var(--border);background:var(--surface);flex-direction:column;align-items:flex-start;padding:clamp(1.5rem,4vw,2.5rem);display:flex}.experience-capability-grid h3{margin:0;font-size:clamp(1.4rem,3vw,2rem);line-height:1.2}.experience-capability-grid article>a{margin-top:auto;font-weight:700}.experience-contact{max-width:52rem}.resume-introduction{border-bottom:1px solid var(--border);grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:clamp(2rem,7vw,6rem);padding-bottom:clamp(2.5rem,7vw,5rem);display:grid}.resume-introduction h1{letter-spacing:-.06em;margin:0;font-size:clamp(3rem,9vw,6rem);line-height:.95}.resume-introduction>div:first-child>p:last-child{max-width:44rem;color:var(--muted);margin-top:1.5rem;font-size:clamp(1.05rem,2vw,1.3rem)}.resume-actions{flex-wrap:wrap;gap:.75rem;display:flex}.resume-viewer,.resume-contact{margin-top:clamp(4rem,9vw,7rem)}.resume-viewer{border:1px solid var(--border);background:var(--surface)}.resume-viewer__heading{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:1rem;min-height:4rem;padding:1rem 1.25rem;display:flex}.resume-viewer__heading h2,.resume-viewer__heading p{margin:0}.resume-viewer__heading h2{font-size:1rem}.resume-viewer__heading p{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:.8rem;font-weight:700}.resume-document{background:#fff;border:0;width:100%;height:min(75rem,80vh);display:block}.resume-fallback{color:#1d2529;padding:clamp(2rem,7vw,5rem)}.resume-contact{border-block:1px solid var(--border);grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);align-items:end;gap:clamp(2rem,7vw,7rem);padding-block:clamp(2.5rem,6vw,5rem);display:grid}.resume-contact h2{letter-spacing:-.04em;margin:0;font-size:clamp(2rem,5vw,3.75rem);line-height:1.05}.resume-contact>div:first-child>p:last-child{color:var(--muted);font-size:1.1rem}.not-found{grid-template-columns:minmax(0,1.2fr) minmax(18rem,.8fr);align-items:center;gap:clamp(3rem,9vw,8rem);min-height:min(38rem,70vh);display:grid}.not-found__message h1{letter-spacing:-.06em;max-width:48rem;margin:0;font-size:clamp(3rem,8vw,6rem);line-height:.95}.not-found__message>p:not(.eyebrow){max-width:42rem;color:var(--muted);margin-block:1.5rem 2rem;font-size:clamp(1.05rem,2vw,1.3rem)}.not-found__routes ul{border-top:1px solid var(--border);margin:0;padding:0;list-style:none}.not-found__routes li{border-bottom:1px solid var(--border);padding-block:1.25rem}.not-found__routes a{font-size:1.1rem;font-weight:700}.not-found__routes p{color:var(--muted);margin-block:.4rem 0;font-size:.9rem}.project-filters,.writing-filters{border-block:1px solid var(--border);padding-block:1.25rem}.project-filters>p,.writing-filters>p,.project-results,.writing-results{color:var(--muted);margin-block:0 .75rem;font-size:.85rem;font-weight:700}.filter-list,.tag-list,.project-card-actions{flex-wrap:wrap;gap:.65rem;display:flex}.filter-button{border:1px solid var(--border);min-height:2.75rem;color:var(--text);cursor:pointer;font:inherit;background:0 0;border-radius:999px;padding:.45rem .85rem}.filter-button:hover,.filter-button[aria-pressed=true]{border-color:var(--accent);background:var(--accent);color:var(--background)}.project-results,.writing-results{margin-block:1.25rem}.project-index-grid{gap:1.25rem;display:grid}.project-index-card{border:1px solid var(--border);background:var(--surface);grid-template-columns:minmax(15rem,.8fr) minmax(0,1.2fr);display:grid;overflow:hidden}.project-index-card>img{border-right:1px solid var(--border);object-fit:cover;width:100%;height:100%}.project-index-card__content{padding:clamp(1.5rem,4vw,2.5rem)}.project-index-card h2{margin-block:.75rem;font-size:clamp(1.5rem,3vw,2.25rem);line-height:1.15}.tag-list{margin-block:1.5rem;padding:0;list-style:none}.tag-list li{border:1px solid var(--border);color:var(--muted);padding:.25rem .6rem;font-size:.8rem}.project-card-actions{border-top:1px solid var(--border);gap:.75rem 1.5rem;padding-top:1.25rem}.project-card-actions a{font-weight:700}.writing-index-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem;display:grid}.writing-index-card{border:1px solid var(--border);background:var(--surface);flex-direction:column;display:flex;overflow:hidden}.writing-index-card>img{aspect-ratio:1200/630;border-bottom:1px solid var(--border);object-fit:cover;width:100%}.writing-index-card__content{flex-direction:column;align-items:flex-start;height:100%;padding:clamp(1.5rem,4vw,2.5rem);display:flex}.writing-index-card h2{margin-block:.75rem;font-size:clamp(1.4rem,3vw,2rem);line-height:1.2}.writing-card-link{margin-top:auto;font-weight:700}.back-link{color:var(--muted);margin-bottom:2rem;font-weight:700;display:inline-block}.case-study__header{border-bottom:1px solid var(--border);grid-template-columns:minmax(0,1.1fr) minmax(18rem,.9fr);align-items:center;gap:clamp(2rem,6vw,5rem);padding-bottom:clamp(3rem,8vw,6rem);display:grid}.case-study__header h1{letter-spacing:-.06em;margin:0;font-size:clamp(3rem,8vw,6rem);line-height:.95}.case-study__header .eyebrow{text-transform:uppercase}.case-study__summary{color:var(--muted);margin-block:1.5rem;font-size:clamp(1.1rem,2vw,1.35rem)}.case-study__hero,.architecture-figure img,.case-study__gallery img{border:1px solid var(--border);background:var(--surface);width:100%}.case-study__body{width:min(100%,54rem);margin-inline:auto}.case-study__body>section{border-bottom:1px solid var(--border);padding-block:clamp(3rem,8vw,6rem)}.case-study__body h2{letter-spacing:-.04em;margin-block:0 1.5rem;font-size:clamp(2rem,5vw,3.5rem);line-height:1.05}.case-study__body h3{letter-spacing:.04em;text-transform:uppercase;margin-block:2rem .75rem;font-size:1rem}.case-study__body ul:not(.tag-list){padding-left:1.25rem}.case-study__body li+li{margin-top:.65rem}.section-number{color:var(--accent);letter-spacing:.12em;margin-block:0 .75rem;font-size:.75rem;font-weight:700}.architecture-figure{margin:2rem 0 0}.architecture-figure figcaption,.case-study__gallery figcaption{color:var(--muted);margin-top:.75rem;font-size:.9rem}.decision-list{background:var(--border);grid-template-columns:repeat(2,1fr);gap:1px;margin:0;display:grid}.decision-list>div{background:var(--surface);padding:1.5rem}.decision-list dt{color:var(--accent);font-weight:700}.decision-list dd{margin:.5rem 0 0}.maturity-label{border-left:.25rem solid var(--accent);background:var(--surface);text-transform:capitalize;padding:1rem}.case-study__gallery{grid-template-columns:repeat(2,1fr);gap:1.5rem;display:grid}.case-study__gallery figure{margin:0}.site-footer{border-top:1px solid var(--border);background:var(--surface)}.site-footer__inner{grid-template-columns:1fr auto;align-items:start;gap:2rem;padding-block:2.5rem;display:grid}.site-footer p{margin:0}.site-footer__name{font-weight:700}.site-footer__summary,.site-footer__legal{color:var(--muted);font-size:.875rem}.site-footer__legal{grid-column:1/-1}@media (prefers-color-scheme:dark){:root:not([data-theme]){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--background:#13191b;--surface:#1a2225;--text:#edf0ee;--muted:#abb6b6;--accent:#67cdbd;--border:#344044}}@media (max-width:48rem){.site-header__inner{flex-direction:column;align-items:flex-start;gap:1rem;padding-block:1.25rem}.navigation-list{gap:.65rem 1.1rem}.site-header__actions{flex-direction:column;align-items:flex-start;gap:1rem;width:100%}.site-footer__inner{grid-template-columns:1fr}.site-footer__legal{grid-column:auto}.hero,.experience-preview,.experience-history,.experience-capability-grid,.resume-introduction,.resume-contact,.not-found,.case-study__header{grid-template-columns:1fr}.resume-document{height:70vh}.hero__image{grid-row:1;width:min(70vw,18rem)}.proof-strip ul,.card-grid,.capability-grid,.project-index-card,.writing-index-grid,.decision-list,.case-study__gallery{grid-template-columns:1fr}.project-index-card>img{border-right:0;border-bottom:1px solid var(--border);height:auto}.proof-strip li+li{border-top:1px solid var(--border);border-left:0}.section-heading{flex-direction:column;align-items:flex-start;gap:.75rem}}
