:root{--color-chassis:#0e1a22;--color-bone:#ede6dc;--color-fog:#8fa3ae;--color-gold:#d4a017;--color-water:#3d6b7a;--font-display:"Literata", "Source Serif 4", Georgia, serif;--font-body:"Source Sans 3", "Segoe UI", sans-serif;--space:1rem;--max:72rem}*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-height:100vh;background:var(--color-chassis);color:var(--color-bone);font-family:var(--font-body);font-size:1.0625rem;line-height:1.6}img{max-width:100%;height:auto;display:block}a{color:var(--color-gold);text-decoration:none}a:hover{text-decoration:underline}a:focus-visible,button:focus-visible{outline:2px solid var(--color-gold);outline-offset:3px}h1,h2,h3{font-family:var(--font-display);font-weight:500;line-height:1.2;color:var(--color-bone)}.site-main{min-height:50vh}.container{width:min(100% - 2.5rem,var(--max));margin-inline:auto}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.btn{display:inline-flex;align-items:center;gap:.4rem;font-family:var(--font-body);font-size:.875rem;font-weight:500;letter-spacing:.04em;text-transform:uppercase;text-decoration:none;cursor:pointer;background:0 0;border:none;color:var(--color-gold)}.btn:hover{text-decoration:none;opacity:.85}.btn--outline{border:1px solid var(--color-gold);padding:.55rem 1rem}.btn--text{text-decoration:underline;text-underline-offset:.25em;text-decoration-thickness:1px}.site-header{position:sticky;top:0;z-index:40;background:color-mix(in srgb,var(--color-chassis) 92%,transparent);backdrop-filter:blur(8px);border-bottom:1px solid color-mix(in srgb,var(--color-fog) 25%,transparent)}.site-header__inner{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 0}.site-header__brand{font-family:var(--font-body);font-size:.75rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--color-bone);text-decoration:none;white-space:nowrap}.site-header__brand:hover{color:var(--color-gold);text-decoration:none}.site-header__toggle{display:none;background:0 0;border:1px solid var(--color-fog);color:var(--color-bone);padding:.35rem .55rem;cursor:pointer}.site-header__nav{display:flex;align-items:center;gap:1.75rem}.site-header__links{display:flex;gap:1.25rem;list-style:none;margin:0;padding:0}.site-header__links a{color:var(--color-bone);font-size:.75rem;font-weight:500;letter-spacing:.12em;text-transform:uppercase;text-decoration:none}.site-header__links a:hover,.site-header__links a[aria-current=page]{color:var(--color-gold);text-decoration:none}.site-header__links a[aria-current=page]{box-shadow:inset 0 -1px 0 var(--color-gold)}.site-header__ctas{display:flex;align-items:center;gap:.85rem}.site-header__resume{color:var(--color-bone);font-size:.75rem;font-weight:500;letter-spacing:.12em;text-transform:uppercase;text-decoration:none}.site-header__resume:hover{color:var(--color-gold);text-decoration:none}.site-footer{margin-top:4rem;padding:3rem 0 2.5rem;border-top:1px solid color-mix(in srgb,var(--color-fog) 30%,transparent)}.site-footer__line{font-family:var(--font-display);font-size:1.5rem;margin:0 0 1.25rem}.site-footer__ctas{display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:1.5rem}.site-footer__nav{display:flex;gap:1.25rem;margin-bottom:1.5rem}.site-footer__nav a{color:var(--color-fog);font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;text-decoration:none}.site-footer__nav a:hover{color:var(--color-gold)}.site-footer__meta{display:flex;flex-wrap:wrap;justify-content:space-between;gap:1rem;align-items:center}.site-footer__social{display:flex;gap:1rem}.site-footer__social a,.site-footer__copy{color:var(--color-fog);font-size:.8rem;margin:0}.about-footer{margin-top:4rem;padding:2rem 0;border-top:1px solid color-mix(in srgb,var(--color-fog) 30%,transparent)}.about-footer__inner{display:flex;flex-wrap:wrap;justify-content:space-between;gap:1.5rem;align-items:flex-end}.about-footer__name{font-size:.75rem;letter-spacing:.14em;margin:0 0 .35rem}.about-footer__role{font-family:var(--font-display);margin:0 0 .35rem}.about-footer__places{color:var(--color-fog);font-size:.875rem;margin:0}.about-footer__ctas{display:flex;align-items:center;gap:1rem}.about-footer__divider{width:1px;height:1.25rem;background:var(--color-gold);opacity:.5}.page{padding:3rem 0 4rem}.page__header h1{font-size:clamp(2.25rem,5vw,3.5rem);margin:0 0 1rem}.eyebrow{display:block;color:var(--color-gold);font-size:.75rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;margin-bottom:.75rem}.content a{text-decoration:underline;text-underline-offset:.2em}@media(max-width:800px){.site-header__toggle{display:inline-flex}.site-header__nav{display:none;position:absolute;inset:100% 0 auto;flex-direction:column;align-items:stretch;gap:1rem;padding:1rem 1.25rem 1.25rem;background:var(--color-chassis);border-bottom:1px solid color-mix(in srgb,var(--color-fog) 30%,transparent)}.site-header__nav.is-open{display:flex}.site-header__links{flex-direction:column}.site-header{position:relative}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.work-era{margin:2.5rem 0 3rem}.work-era__label{font-family:var(--font-body);font-size:.75rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--color-gold);margin:0 0 1rem}.work-era__list{list-style:none;margin:0;padding:0}.work-row{display:grid;grid-template-columns:8rem 1.4fr .9fr .9fr;gap:1rem;padding:1.15rem 0;border-top:1px solid color-mix(in srgb,var(--color-fog) 28%,transparent);align-items:start}.work-row__org{display:block;font-weight:600}.work-row__year,.work-row__summary,.work-row__kicker{color:var(--color-fog);font-size:.875rem}.work-row__kicker{display:block;font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--color-gold);margin-bottom:.25rem}.work-row__title{font-family:var(--font-display);font-size:1.25rem;color:var(--color-bone);text-decoration:none;display:inline-flex;flex-wrap:wrap;align-items:center;gap:.5rem}.work-row__title:hover{color:var(--color-gold);text-decoration:none}.work-row__title--plain{color:var(--color-bone)}.work-row__external{color:var(--color-gold);display:inline-flex;flex-shrink:0}.work-row__title--external:hover .work-row__external{opacity:.85}.badge{font-family:var(--font-body);font-size:.65rem;letter-spacing:.1em;text-transform:uppercase;color:var(--color-gold);border:1px solid var(--color-gold);border-radius:999px;padding:.15rem .45rem}.work-row__arrow{color:var(--color-gold)}.work-row__summary{margin:.35rem 0 0}@media(max-width:900px){.work-row{grid-template-columns:1fr;gap:.5rem}}.case-study__hero{display:grid;grid-template-columns:1.1fr .9fr;min-height:70vh}.case-study__media{background:#121c24;min-height:320px}.case-study__media img{width:100%;height:100%;object-fit:cover;min-height:70vh}.case-study__panel{padding:clamp(1.5rem,4vw,3rem);display:flex;flex-direction:column;justify-content:center}.case-study__back,.case-study__meta{color:var(--color-fog);font-size:.85rem}.case-study__meta{text-transform:uppercase;letter-spacing:.08em;color:var(--color-gold)}.case-study__panel h1{font-size:clamp(2rem,4vw,3rem);margin:.35rem 0 .75rem}.case-study__role{color:var(--color-fog);margin:0 0 1.5rem}.case-study__metric-value{font-family:var(--font-display);font-size:clamp(2.5rem,6vw,4rem);margin:0;line-height:1}.case-study__metric-caption,.case-study__metric-from{color:var(--color-fog);margin:.35rem 0 0}.case-study__body{padding:3rem 0}.case-study__columns{display:grid;grid-template-columns:repeat(3,1fr);gap:1.75rem}.case-study__columns p{color:var(--color-fog);margin:0}.case-study__stack{margin-top:2rem;padding-top:1.25rem;border-top:1px solid color-mix(in srgb,var(--color-fog) 28%,transparent);color:var(--color-bone);letter-spacing:.02em}.case-study__pager{display:flex;justify-content:space-between;gap:1rem;padding-bottom:2rem;font-family:var(--font-display)}@media(max-width:900px){.case-study__hero{grid-template-columns:1fr}.case-study__media img{min-height:40vh}.case-study__columns{grid-template-columns:1fr}}.home-hero{position:relative;isolation:isolate;min-height:78vh;display:flex;align-items:flex-end;padding:5rem 0 4rem;background-color:var(--color-chassis);background-image:var(--hero-image);background-position:50%;background-size:cover;background-repeat:no-repeat}.home-hero__scrim{position:absolute;inset:0;z-index:0;background:linear-gradient(90deg,rgba(14,26,34,.92) 0%,rgba(14,26,34,.72) 42%,rgba(14,26,34,.35) 100%),linear-gradient(0deg,rgba(14,26,34,.75) 0%,transparent 45%);pointer-events:none}.icon{display:inline-block;vertical-align:-.15em;flex-shrink:0}.selected-work__media{overflow:hidden;border:1px solid color-mix(in srgb,var(--color-fog) 25%,transparent);margin-bottom:.85rem;aspect-ratio:16/10;background:#121c24}.selected-work__media img{width:100%;height:100%;object-fit:cover;margin:0;transition:transform .35s ease}.selected-work__card a:hover .selected-work__media img{transform:scale(1.03)}.selected-work__controls{color:var(--color-gold)}.about-page__cta-link{display:inline-flex;align-items:center;gap:.75rem}.contact-action{display:grid;grid-template-columns:auto 1fr auto;gap:.85rem;align-items:center}.contact-action__icon{color:var(--color-gold);display:inline-flex}.contact-action__text{display:flex;flex-direction:column;gap:.15rem}.contact-action__value{grid-column:auto}.contact-action__arrow{color:var(--color-gold)}.home-hero__content{position:relative;z-index:1;width:min(100% - 2.5rem,var(--max));margin-inline:auto;padding-bottom:1rem}.home-hero__copy{max-width:36rem}.home-hero__title{font-size:clamp(2.5rem,6vw,4rem);margin:0 0 1rem}.home-hero__lede{color:var(--color-fog);font-size:1.1rem;margin:0 0 1.5rem}.home-hero__ctas{display:flex;flex-wrap:wrap;gap:1.25rem}.home-hero__secondary{color:var(--color-bone)}.selected-work{padding:2.5rem 0 1rem}.selected-work__head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:1.25rem}.selected-work__head h2{margin:0;font-size:1.75rem}.selected-work__track{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem}.selected-work__card a{color:inherit;text-decoration:none;display:block}.selected-work__card img{width:100%;aspect-ratio:16/10;object-fit:cover;margin-bottom:.75rem;border:1px solid color-mix(in srgb,var(--color-fog) 25%,transparent)}.selected-work__card h3{font-size:1.15rem;margin:0 0 .35rem}.selected-work__card p{margin:0;color:var(--color-fog);font-size:.95rem}.home-cases{padding:2rem 0 4rem}.home-cases h2{margin:0 0 1.25rem;font-size:1.75rem}.home-cases__list{list-style:none;margin:0;padding:0}.home-cases__row{display:grid;grid-template-columns:8rem 1.5fr 1fr 1fr auto;gap:1rem;padding:1.15rem 0;border-top:1px solid color-mix(in srgb,var(--color-fog) 28%,transparent);align-items:start}.home-cases__when{color:var(--color-gold);font-size:.8rem}.home-cases__main a{color:inherit;text-decoration:none}.home-cases__title{display:block;font-family:var(--font-display);font-size:1.2rem}.home-cases__summary{display:block;color:var(--color-fog);font-size:.9rem;margin-top:.25rem}.home-cases__arrow{color:var(--color-gold);text-decoration:none}.home-cases__more{margin-top:1.5rem}@media(max-width:900px){.selected-work__track{grid-template-columns:1fr}.home-cases__row{grid-template-columns:1fr}.home-hero{min-height:70vh;align-items:center}}.about-page__intro{display:grid;grid-template-columns:1fr 1.2fr;gap:2rem;align-items:start;margin-bottom:2.5rem}.about-page__intro h1{font-size:clamp(2.5rem,6vw,4rem);margin:0}.about-chapters{position:relative;width:100vw;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw)}.about-chapters__track{display:flex;gap:0;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;-ms-overflow-style:none}.about-chapters__track::-webkit-scrollbar{display:none}.about-chapter{position:relative;isolation:isolate;flex:0 0 25%;min-width:min(100%,17.5rem);display:flex;flex-direction:column;min-height:34rem;scroll-snap-align:start;border-right:1px solid color-mix(in srgb,var(--color-fog) 22%,transparent);background-color:color-mix(in srgb,var(--color-fog) 10%,var(--color-chassis));background-image:var(--chapter-image);background-size:cover;background-position:50%}.about-chapter::before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background:linear-gradient( 180deg,rgba(14,26,34,.38) 0%,rgba(14,26,34,.22) 36%,rgba(14,26,34,.7) 64%,rgba(14,26,34,.86) 100% ),color-mix(in srgb,var(--color-chassis) 28%,transparent)}.about-chapter:last-child{border-right:none}.about-chapter__media{position:relative;z-index:1;flex:1 1 55%;min-height:16rem;display:flex;align-items:center;justify-content:center;padding:1.25rem}.about-chapter__index{position:absolute;top:1rem;left:1rem;z-index:1;margin:0;color:var(--color-gold);font-family:var(--font-display);font-size:.85rem;letter-spacing:.12em}.about-chapter__place{position:relative;z-index:1;margin:0;font-size:clamp(1.65rem,2.4vw,2.35rem);text-transform:uppercase;letter-spacing:.08em;text-align:center;color:var(--color-bone)}.about-chapter__body{position:relative;z-index:1;flex:none;padding:1.35rem 1.25rem 2.75rem;min-height:11.5rem}.about-chapter__dates{color:var(--color-gold);font-size:.75rem;letter-spacing:.1em;text-transform:uppercase;margin:0 0 .45rem}.about-chapter__role{font-family:var(--font-display);font-size:1.15rem;margin:0 0 .65rem}.about-chapter__blurb{color:var(--color-fog);font-size:.95rem;line-height:1.45;margin:0;padding-right:1.5rem}.about-chapter__arrow{position:absolute;right:1rem;bottom:1rem;color:var(--color-gold);display:inline-flex}.about-chapters__nav{position:absolute;top:50%;z-index:3;transform:translateY(-50%);width:3rem;height:3rem;border-radius:50%;border:1px solid var(--color-gold);background:color-mix(in srgb,var(--color-chassis) 88%,transparent);color:var(--color-gold);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;padding:0}.about-chapters__nav:hover{background:var(--color-chassis)}.about-chapters__nav:disabled,.about-chapters__nav[hidden]{display:none}.about-chapters__nav--prev{left:1.25rem}.about-chapters__nav--next{right:1.25rem}.about-page__cta{margin-top:2.5rem;text-align:center}.about-portrait{display:grid;grid-template-columns:minmax(12rem,1fr)minmax(0,2fr);gap:2.5rem;align-items:start;margin-top:3.5rem;margin-bottom:1rem;padding-top:2.5rem;border-top:1px solid color-mix(in srgb,var(--color-fog) 22%,transparent)}.about-portrait__media{margin:0;max-width:22rem}.about-portrait__media img{width:100%;height:auto;aspect-ratio:1;object-fit:cover;border:1px solid color-mix(in srgb,var(--color-fog) 25%,transparent);border-radius:.5rem}.about-portrait__copy .eyebrow{margin-bottom:.85rem}.about-portrait__bio{color:var(--color-fog);max-width:40rem}.about-portrait__bio p{margin:0 0 1rem}.about-portrait__bio p:last-child{margin-bottom:0}.contact-page{min-height:70vh;display:flex;align-items:center;padding:3rem 0;background:linear-gradient(rgba(14,26,34,.82),rgba(14,26,34,.92)),var(--hero-image)50%/cover no-repeat}.contact-page__inner{display:grid;grid-template-columns:1fr 1fr;gap:2.5rem;width:min(100% - 2.5rem,var(--max))}.contact-page__left h1{font-size:clamp(2.5rem,5vw,3.75rem);margin:0 0 1rem}.contact-page__lede{color:var(--color-fog);margin:0 0 1.5rem}.contact-action{display:grid;grid-template-columns:auto 1fr auto;gap:.85rem;align-items:center;padding:1rem 1.1rem;margin-bottom:.85rem;border:1px solid var(--color-gold);color:var(--color-bone);text-decoration:none}.contact-action:hover{background:color-mix(in srgb,var(--color-gold) 12%,transparent);text-decoration:none}.contact-action__label{font-weight:600}.contact-action__value{color:var(--color-fog);font-size:.9rem}.contact-action__arrow{color:var(--color-gold);display:inline-flex}.writing-index__grid{display:grid;grid-template-columns:.9fr 1.3fr;gap:2.5rem}.writing-index__list{list-style:none;margin:0;padding:0}.writing-index__item{border-top:1px solid color-mix(in srgb,var(--color-fog) 28%,transparent)}.writing-index__item a{display:grid;grid-template-columns:7rem 1fr auto;gap:.35rem 1rem;padding:1.1rem 0;color:inherit;text-decoration:none}.writing-index__item time{color:var(--color-gold);font-size:.75rem;letter-spacing:.06em}.writing-index__title{font-family:var(--font-display);font-size:1.2rem;grid-column:2}.writing-index__deck{grid-column:2;color:var(--color-fog);font-size:.9rem}.writing-index__arrow{grid-column:3;grid-row:1/span 2;color:var(--color-gold);align-self:center}.writing-archive__list{list-style:none;margin:1.5rem 0 0;padding:0}.writing-archive__list li{display:flex;gap:1rem;padding:.65rem 0;border-top:1px solid color-mix(in srgb,var(--color-fog) 28%,transparent)}.writing-archive__list time{color:var(--color-fog);min-width:7rem}.article__grid{display:grid;grid-template-columns:.9fr 1.3fr;gap:2.5rem;align-items:start}.article__header{position:sticky;top:5.5rem}.article__title{font-size:clamp(2rem,4vw,3rem);margin:0 0 .85rem}.article__rider{color:var(--color-fog);font-size:1.05rem;line-height:1.5;margin:0 0 1.25rem}.article__date{display:block;color:var(--color-gold);font-size:.75rem;letter-spacing:.06em;margin:0}.article__linkedin{margin:1rem 0 0;font-size:.9rem}.article__header time,.article__date{color:var(--color-gold)}.article__body{max-width:none;margin-top:0}.article__end{display:flex;flex-wrap:wrap;gap:1.25rem;margin-top:2.5rem;padding-top:1.5rem;border-top:1px solid color-mix(in srgb,var(--color-fog) 22%,transparent)}.article__body img,.article-figure img{display:block;width:auto;max-width:100%;max-height:min(70vh,40rem);height:auto;margin-inline:auto;border:1px solid color-mix(in srgb,var(--color-fog) 25%,transparent)}.article-figure{margin:1.75rem 0}.article-figure figcaption{color:var(--color-fog);font-size:.875rem;margin-top:.5rem}.article-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem 1.25rem;margin:1.75rem 0;align-items:start}.article-gallery .article-figure{margin:0}.article-gallery .article-figure img{width:100%;max-height:min(65vh,32rem);object-fit:contain;object-position:top}.article-gallery .article-figure p{margin:0}@media(min-width:901px){.article-gallery--cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.article-gallery--cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(max-width:600px){.article-gallery{grid-template-columns:1fr 1fr;gap:.75rem}}.not-found h1{margin-bottom:1rem}.not-found__body{max-width:36rem}@media(max-width:900px){.about-page__intro,.contact-page__inner,.writing-index__grid,.article__grid,.about-portrait{grid-template-columns:1fr}.article__header{position:static}.about-portrait__media{max-width:18rem}.about-chapter{flex-basis:78vw;min-height:30rem}.about-chapters__nav--prev{left:.75rem}.about-chapters__nav--next{right:.75rem}.writing-index__item a{grid-template-columns:1fr auto}.writing-index__item time{grid-column:1}}