:root{
  color-scheme:light;
  --paper:oklch(98% .008 98);--hero:oklch(94.5% .013 108);--nav:oklch(90.5% .014 108);
  --ink:oklch(27% .018 127);--muted:oklch(44% .014 127);--rule:oklch(27% .018 127 / .2);
  --sage:oklch(88% .025 116);--sand:oklch(91% .027 75);--selection:oklch(82% .04 113);
  --font-display:'Instrument Serif',Georgia,serif;--font-body:'Roboto',Arial,sans-serif;
  --text-xs:clamp(.75rem,.71rem + .15vw,.8125rem);--text-sm:clamp(.875rem,.82rem + .15vw,.9375rem);
  --text-base:clamp(1rem,.94rem + .15vw,1.125rem);--text-lg:clamp(1.4rem,1.1rem + 1vw,2rem);
  --text-xl:clamp(2rem,1.4rem + 2.3vw,3.5rem);--text-hero:clamp(6.25rem,3.5rem + 7vw,10rem);
  --space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;
  --space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;--space-20:5rem;--space-24:6rem;--space-32:8rem;
  --radius-sm:4px;--radius-full:999px;
}
[data-theme=dark]{color-scheme:dark;--paper:oklch(22% .013 127);--hero:oklch(25% .014 127);--nav:oklch(31% .016 127);--ink:oklch(94% .011 100);--muted:oklch(76% .018 110);--rule:oklch(94% .011 100 / .23);--sage:oklch(32% .023 116);--sand:oklch(32% .026 75);--selection:oklch(44% .032 113)}
body{font-family:var(--font-body);font-size:var(--text-base);line-height:1.6;background:var(--paper);color:var(--ink);font-weight:400}
p:not(.label),.portfolio-summary{text-align:justify;text-align-last:left;hyphens:auto}
[hidden]{display:none!important}
main:focus{outline:none}
main{overflow-wrap:anywhere}
.hero-bottom>*,.section-intro>*,.featured-work>*,.feature>*,.portfolio-list article>*,.about-grid>*,.article-row>*,.article-meta>*,.contact-grid>*,.section-rule>*{min-width:0}
.container{width:calc(100% - var(--space-16));max-width:1120px;margin-inline:auto}
.label{font-family:var(--font-body);font-size:var(--text-xs);font-weight:400;letter-spacing:.075em;line-height:1.55;text-transform:uppercase;color:var(--muted)}
.top-surface{background:var(--hero)}
html:is([data-page="home"],[data-page="archive"]){scroll-padding-top:calc(var(--header-height,84px) + var(--space-6))}
html:is([data-page="home"],[data-page="archive"]) #top{position:sticky;top:0;z-index:40;padding-bottom:var(--space-3)}
.site-header{padding-top:var(--space-8)}
.nav-bar{background:var(--nav);border-radius:var(--radius-full);display:flex;align-items:center;justify-content:space-between;padding:var(--space-1) var(--space-8);gap:var(--space-6)}
.nav-bar>a:not(.monogram),.nav-bar>.nav-link{font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase;min-height:44px;display:flex;align-items:center}
.nav-link{border:0;background:transparent;padding:0;text-align:left}
.nav-bar a,.nav-bar>.nav-link{transition:opacity .18s}.nav-bar a:hover,.nav-bar>.nav-link:hover{opacity:.6}
.monogram{width:44px;height:44px;display:flex;align-items:center}.monogram svg{width:22px;height:22px}
.theme-toggle{border:0;background:transparent;padding:0;width:44px;height:44px;display:grid;place-items:center;border-radius:var(--radius-full)}
.theme-toggle:hover{background:var(--rule)}
.theme-symbol{width:16px;height:16px;border:1px solid currentColor;border-radius:50%;background:linear-gradient(90deg,currentColor 50%,transparent 50%)}
.hero{--hero-name-gap:var(--space-16);padding-top:clamp(var(--space-16),7vw,var(--space-24));padding-bottom:clamp(var(--space-16),7vw,var(--space-24))}
.hero-heading{display:flex;align-items:flex-end;justify-content:space-between;position:relative;margin-top:calc(var(--hero-name-gap) - var(--space-5))}
.hero-kicker{position:absolute;left:0;bottom:calc(100% + var(--hero-name-gap));font-size:calc(var(--text-xs) * 1.3225)}
h1{font-family:var(--font-display);font-size:var(--text-hero);font-weight:400;letter-spacing:-.045em;line-height:.84}
.hero-first-line{display:block;white-space:nowrap;font-size:.9em}
.hero-last-name{display:block;font-size:.75em;margin-top:5px}
.familiar-name{font:inherit;letter-spacing:inherit}
.hero-location{align-self:flex-end;text-align:right;padding-bottom:var(--space-2)}
.hero-bottom{display:grid;grid-template-columns:1.18fr .82fr;gap:var(--space-24);padding-top:var(--hero-name-gap);align-items:start}
.hero-intro{font-family:var(--font-display);font-size:32px;line-height:1.3;max-width:31ch}
p.hero-intro{text-align:justify;text-align-last:left;-webkit-hyphens:none;hyphens:none}
.section-intro p.work-quote{font-family:var(--font-display);font-size:24px;font-weight:400;font-style:italic;line-height:1.4;text-align:left;hyphens:none}
@media(max-width:600px){.section-intro p.work-quote{font-size:22px;text-align:justify;text-align-last:left}#perspectives.perspectives .perspectives-quote{text-align:justify;text-align-last:left}}
.hero-intro-second{display:block;font-size:25px;border-top:1px solid var(--rule);margin-top:var(--space-3);padding-top:var(--space-3)}
.identity{display:inline-flex;align-items:flex-start;gap:var(--space-4);margin-top:64px;min-height:52px;max-width:100%;position:relative;top:0}
.identity img{width:97.175px;height:97.175px;flex-shrink:0;object-fit:cover;object-position:center 26%;border-radius:var(--radius-sm)}
.identity:hover .label{color:var(--ink)}
.start-here>.label{margin-bottom:var(--space-3)}
.start-here a{display:flex;align-items:center;gap:var(--space-4);min-height:44px;font-size:var(--text-base);border-bottom:1px solid transparent}
.link-number{font-size:var(--text-xs);color:var(--muted);font-variant-numeric:tabular-nums}
.arrow{margin-left:auto;transition:transform .2s}.start-here a:hover{border-color:var(--rule)}.start-here a:hover .arrow{transform:translate(2px,-2px)}
.section{padding-block:var(--space-24)}
.section-rule{display:flex;align-items:center;gap:var(--space-6)}
.section-rule>span{flex:1;border-top:1px solid var(--rule)}
.section-intro{display:grid;grid-template-columns:1fr 1fr;align-items:end;gap:var(--space-24);margin:var(--space-12) 0 var(--space-12)}
h2{font-family:var(--font-display);font-size:var(--text-xl);font-weight:400;line-height:1.02;letter-spacing:-.02em}
.section-intro>p{max-width:43ch;color:var(--muted)}
.work-section .work-intro-with-photo{grid-template-columns:196px minmax(0,1fr);gap:var(--space-8);align-items:start}
.work-intro-photo-frame{position:relative;align-self:stretch}
.work-intro-photo-frame .work-intro-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}
.work-intro-photo{display:block;width:100%;height:auto}
.work-intro-copy{min-width:0}
.work-intro-copy p.work-quote{margin-top:var(--space-4);max-width:50ch;color:var(--muted)}
@media(max-width:600px){.work-section .work-intro-with-photo{grid-template-columns:120px minmax(0,1fr);gap:var(--space-4) var(--space-5);align-items:start}.work-intro-photo-frame{align-self:start;width:120px;height:120px}.work-intro-photo-frame .work-intro-photo{position:static;height:120px;object-fit:cover}.work-intro-copy{display:contents}.work-intro-copy p.work-quote{grid-column:1/-1;margin-top:0}}
.featured-work{display:block}
.feature{padding:var(--space-8);display:block}
.feature-invest{background:var(--sage)}
.feature-top{display:flex;justify-content:space-between;gap:var(--space-4)}
.feature h3{font-family:var(--font-display);font-size:clamp(3.5rem,3rem + 2vw,5rem);font-weight:400;line-height:.95;letter-spacing:-.025em;margin-top:var(--space-6);margin-bottom:var(--space-6)}
.feature-copy{margin-top:0;display:flex;flex-direction:column}.feature-copy>p:not(.label){max-width:75ch;text-align:left}
.feature-copy>p:not(.feature-footer-note){line-height:1.7}
.feature-copy>p+p{margin-top:var(--space-5)}
@media(max-width:600px){.feature-invest .feature-copy>p:not(.label){text-align:justify;text-align-last:left}}
.feature-footer-note{font-size:var(--text-sm);display:flex;align-items:center;align-self:flex-start;gap:var(--space-4);margin-top:var(--space-5)}
.feature-note-text{text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1px}
.feature-note-arrow{flex-shrink:0;font-size:1.2em}
.rebuild-underline{text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}
.text-link{display:inline-flex;align-items:center;gap:var(--space-6);font-size:var(--text-sm);min-height:44px;border-bottom:1px solid var(--rule);line-height:1.4}
.link-arrow{display:inline-block;width:14px;height:14px;flex-shrink:0;vertical-align:-.12em;fill:none;stroke:currentColor}
.text-link:hover{border-color:var(--ink)}.feature .text-link{margin-top:var(--space-5);align-self:flex-start}
.portfolio-list{margin-top:var(--space-10)}
.portfolio-list-label{padding-bottom:var(--space-4);border-bottom:1px solid var(--rule)}
.portfolio-item{border-bottom:1px solid var(--rule)}
.portfolio-item summary{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr) 24px;gap:var(--space-8);padding-block:var(--space-8);align-items:center;cursor:pointer;list-style:none}
.portfolio-item summary::-webkit-details-marker{display:none}
.portfolio-identity{display:flex;flex-direction:column;gap:var(--space-2)}
.portfolio-name{font-family:var(--font-display);font-weight:400;font-size:var(--text-lg);line-height:1.15}
.portfolio-toggle{font-size:var(--text-lg);font-weight:400;line-height:1;text-align:center}
.portfolio-toggle::before{content:"+"}
.portfolio-item[open] .portfolio-toggle::before{content:"−"}
.portfolio-item summary:hover .portfolio-name{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:6px}
.portfolio-detail{padding:0 0 var(--space-8);max-width:65ch;color:var(--muted);font-size:var(--text-base)}
.portfolio-detail p+p{margin-top:var(--space-4)}
.portfolio-inline-link{text-decoration:underline;text-underline-offset:3px}
.portfolio-detail .text-link{margin-top:var(--space-4);color:var(--ink)}
.portfolio-summary{font-size:var(--text-sm);line-height:1.6;color:var(--muted);max-width:55ch}
.about-section{background:var(--hero);padding-top:var(--space-8);padding-bottom:var(--space-20)}
[data-theme=light] .about-section{background:#EEE4D0}
.about-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:var(--space-8) var(--space-24);align-items:start}
.about-section-label{grid-column:1/-1;grid-row:1;justify-self:start;text-align:left}
.about-heading{grid-column:2;grid-row:2}
.about-copy{grid-column:2;grid-row:3}
.portrait{grid-column:1;grid-row:3;position:relative}
.portrait img{width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;object-position:50% 20%;filter:saturate(.65)}
.portrait figcaption{margin-top:var(--space-4)}
.about-heading h2{margin:0;font-size:clamp(2rem,1.3rem + 2vw,3.25rem)}
.about-copy>p:not(.label){margin-bottom:var(--space-5);color:var(--muted)}
.about-copy strong{font-weight:700}
.about-copy .text-link{margin-top:var(--space-2)}
.about-actions{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-2) var(--space-8)}
.about-actions .text-link{font-weight:700}
.about-inline-link{text-decoration:underline;text-underline-offset:3px}
.americans-elect-close{flex-shrink:0;min-height:44px;border:0;background:transparent;padding:var(--space-2);font-size:var(--text-sm)}
.americans-elect-role{margin-top:var(--space-3)}
.americans-elect-report{margin-top:var(--space-5);font-size:var(--text-sm)}
.americans-elect-report a{text-decoration:underline;text-underline-offset:3px}
.americans-elect-item-summary{font-size:var(--text-sm);line-height:1.5;color:var(--muted)}
.americans-elect-narrative{margin-top:var(--space-6)}
.americans-elect-dialog .americans-elect-narrative p,.shur-dialog .americans-elect-narrative p{color:var(--muted);text-align:left;line-height:1.6}
.americans-elect-narrative p+p{margin-top:var(--space-5)}
.americans-elect-menu{margin-top:var(--space-8)}
.americans-elect-menu>a{display:flex;flex-direction:column;gap:var(--space-2);padding-block:var(--space-5);border-top:1px solid var(--rule);text-decoration:none}
.americans-elect-item-title{font-family:var(--font-display);font-size:var(--text-lg);line-height:1.2}
.americans-elect-action{font-size:var(--text-sm);font-weight:700;text-decoration:underline;text-underline-offset:3px}
.americans-elect-menu>a:hover .americans-elect-item-title{text-decoration:underline}
.shur-media-list{margin-top:var(--space-8)}
@media(max-width:600px){.shur-dialog .media-kit-header,.americans-elect-dialog .media-kit-header{margin-bottom:calc(var(--space-6) + 9px)}}
.shur-primary-links{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:var(--space-3) var(--space-6);margin-top:calc(var(--space-5) * .65);font-size:var(--text-sm)}
.shur-primary-links+.americans-elect-narrative{margin-top:calc(var(--space-6) * .65)}
.shur-primary-links a{display:inline-flex;align-items:center;min-height:44px;text-decoration:underline;text-underline-offset:3px}
.shur-media-item{display:flex;flex-direction:column;gap:var(--space-2);padding-block:var(--space-5);border-top:1px solid var(--rule)}
.shur-media-item .americans-elect-item-title{margin:0;font-weight:400;font-size:var(--text-lg)}
.shur-media-item .americans-elect-item-summary{text-align:left}
.shur-media-links{font-size:var(--text-sm)}
.shur-media-links a{text-decoration:underline;text-underline-offset:3px}
.about-media-link{background:transparent;border:0;border-bottom:1px solid var(--rule);padding:0;text-align:left}
.perspectives-heading{display:flex;justify-content:space-between;gap:var(--space-8);align-items:end;margin-top:var(--space-12);margin-bottom:var(--space-12)}
.perspectives-title-group{display:flex;align-items:flex-start;gap:var(--space-6);min-width:0}
.perspectives-title-copy{min-width:0}
#perspectives .perspectives-quote{margin-top:var(--space-4);max-width:48ch;font-family:var(--font-display);font-size:24px;font-weight:400;font-style:italic;line-height:1.4;text-align:left;hyphens:none;color:var(--muted)}
[data-theme=dark] .work-intro-copy p.work-quote,[data-theme=dark] #perspectives .perspectives-quote{color:var(--ink)}
.perspectives-photo{width:180px;height:128px;flex-shrink:0;object-fit:cover;object-position:center}
.perspectives-photo-frame{position:relative;width:190px;min-height:128px;align-self:stretch;flex-shrink:0}
.perspectives-photo-frame .perspectives-photo{position:absolute;inset:0;width:100%;height:100%}
@media(max-width:600px){.perspectives-photo-frame{width:96px;height:96px;min-height:0;align-self:start}}
.perspectives-heading>.text-link{flex-shrink:0;font-weight:700}
.perspectives-archive-link{margin-top:var(--space-8)}
.perspectives-archive-link>.text-link{font-weight:700}
@media(max-width:600px){.perspectives-photo{width:96px;height:96px}.perspectives-title-group{display:grid;grid-template-columns:96px minmax(0,1fr);gap:var(--space-4) var(--space-5)}.perspectives-title-copy{display:contents}#perspectives .perspectives-quote{grid-column:1/-1;margin-top:0;font-size:22px}}
.article-row{display:grid;grid-template-columns:.75fr 1.7fr 44px;gap:var(--space-8);align-items:center;border-top:1px solid var(--rule);padding-block:var(--space-8);transition:opacity .2s}
.article-row:has(+ .perspectives-archive-link){border-bottom:1px solid var(--rule)}
.article-meta{display:flex;flex-direction:column;gap:var(--space-2)}
.article-meta time{white-space:nowrap}
.article-row h3{font-family:var(--font-display);font-size:26px;font-weight:400;line-height:1.15;max-width:35ch}
.article-copy p{margin-top:var(--space-3);font-size:var(--text-sm);color:var(--muted)}
.article-featured{padding-block:var(--space-10)}
.article-arrow{font-size:calc(var(--text-lg) * .5);text-align:right}.article-row:hover{opacity:.62}
.contact-section{background:#45482B;--ink:#FAF9F3;--muted:#D7E0E4;--rule:rgba(250,249,243,.35);color:var(--ink);padding-block:var(--space-20)}
.contact-grid{display:grid;grid-template-columns:1.3fr .7fr;gap:var(--space-24);align-items:end}
.contact-grid h2{margin-top:var(--space-6)}
.contact-links a{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--rule);min-height:56px;font-size:var(--text-base);gap:var(--space-4)}
.contact-links a:hover{border-color:var(--ink)}
.site-footer{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-6);padding-block:var(--space-8)}
.footer-name{font-size:var(--text-xs);min-height:44px;display:flex;align-items:flex-start;line-height:1.55;text-transform:uppercase;color:var(--muted)}
.site-footer>a:last-child{min-height:44px;display:flex;align-items:flex-start;gap:.45em}
.site-footer>a:last-child .link-arrow{margin-top:.2em}
.media-kit{width:min(800px,calc(100% - var(--space-8)));max-height:calc(100dvh - var(--space-8));margin:auto;padding:var(--space-10);border:1px solid var(--rule);background:var(--paper);color:var(--ink);overflow:auto;overflow-wrap:anywhere;scroll-padding-top:var(--space-24)}
.media-kit::backdrop{background:oklch(15% .01 120 / .55)}
body:has(.media-kit[open]),body:has(.contact-dialog[open]){overflow:hidden}
.media-kit-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-6);margin-bottom:var(--space-6);position:sticky;top:0;z-index:2;background:var(--paper);box-shadow:0 calc(-1 * var(--space-10)) 0 var(--paper)}
.media-kit-close{flex-shrink:0;min-height:44px;border:0;background:transparent;padding:var(--space-2);font-size:var(--text-sm)}
.media-kit-title-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);flex-wrap:wrap}
.media-kit-copy{background:transparent;border:0;border-bottom:1px solid var(--rule);padding:0;font-weight:700;color:var(--ink)}
.media-kit-copy-status{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.media-kit-copy-fallback{margin-top:var(--space-4);font-size:var(--text-sm)}
.media-kit-copy-fallback input{display:block;width:100%;margin-top:var(--space-2);padding:var(--space-3);background:var(--paper);color:var(--ink);border:1px solid var(--rule)}
.media-kit-grid{display:grid;grid-template-columns:180px minmax(0,1fr);gap:var(--space-8);margin-top:var(--space-8)}
.media-kit-grid img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:center 20%}
.media-kit h3{font-size:var(--text-base);font-weight:500;margin-bottom:var(--space-3)}
.media-kit-grid p{font-size:var(--text-base);line-height:1.65;color:var(--muted)}
.media-kit-grid .text-link{margin-top:var(--space-4)}
.media-kit-resources{display:flex;flex-wrap:wrap;gap:0 var(--space-6);margin-top:var(--space-2)}
.media-kit-resources .text-link{font-weight:700}
.images-toggle{background:transparent;border:0;border-bottom:1px solid var(--rule);padding:0;text-align:left;color:var(--ink)}
.media-kit-images{margin-top:var(--space-8);padding-top:var(--space-6);border-top:1px solid var(--rule)}
.media-image-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-6);margin-top:var(--space-5)}
.media-image-grid img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:center top}
.media-image-grid figcaption{margin-top:var(--space-4)}
.media-image-grid .text-link{margin-top:var(--space-2)}
.media-kit-inquiries{display:flex;align-items:center;justify-content:space-between;gap:var(--space-6);border-top:1px solid var(--rule);margin-top:var(--space-8);padding-top:var(--space-6)}
.media-kit-inquiries p{font-size:var(--text-sm);color:var(--muted)}
.media-kit-inquiries a{flex-shrink:0}
.archive-intro{background:var(--hero);padding-top:var(--space-10);padding-bottom:var(--space-16)}
.archive-back{border-bottom:0}
.archive-hero-image{margin-top:var(--space-8);margin-bottom:0}
.archive-photo-link{display:block}
.archive-hero-image img{width:100%;aspect-ratio:2.4;object-fit:cover;object-position:center 80%}
.archive-hero-image figcaption{margin-top:var(--space-3);font-size:1.125rem;line-height:1.5;color:var(--muted);text-align:center}
.archive-caption-credits{display:block;margin-top:var(--space-2);font-size:calc(.9em - 2px);font-style:italic}
.archive-caption-credits a{text-decoration:underline;text-underline-offset:3px}
.archive-caption-links{white-space:nowrap;font:inherit;font-style:normal}
.archive-caption-links a{text-decoration:none;font-style:normal}
.registered-mark{font-size:.45em;line-height:0;vertical-align:super}
.archive-panel-links{display:flex;justify-content:center;align-items:center;gap:var(--space-8);margin-top:var(--space-5)}
.archive-panel-links .text-link,.publication-links .text-link{font-weight:700;text-decoration:underline;text-underline-offset:3px;border-bottom:0}
.publication-links{display:flex;align-items:flex-start;gap:var(--space-8);padding:var(--space-4) 0 var(--space-6)}
.publication-inline-links{font-size:inherit;font-weight:400;font-style:normal;white-space:nowrap}
.publication-inline-links a{text-decoration:none;font-style:normal}
.article-row-multi:hover{opacity:1}
.archive-pullquote{max-width:58ch;margin:var(--space-8) auto 0;text-align:center}
.archive-pullquote p{font-family:var(--font-display);font-size:30px;font-style:italic;font-weight:400;line-height:1.4;text-align:center;text-align-last:center;hyphens:none}
.archive-pullquote footer{margin-top:var(--space-3);font-size:var(--text-xs);color:var(--muted);letter-spacing:.075em;text-transform:uppercase}
@media(min-width:901px){.archive-pullquote{max-width:100%}.archive-pullquote p{white-space:nowrap}}
@media(max-width:600px){.archive-pullquote p{font-size:21px}}
.archive-eyebrow h1:focus{outline:none}
@media(max-width:640px){.archive-hero-image img{aspect-ratio:4/3;object-position:center}}
.archive-eyebrow{margin-top:var(--space-12);margin-bottom:var(--space-5)}
.archive-intro-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:var(--space-16);align-items:end}
.archive-title{font-size:var(--text-xl);line-height:1.06;letter-spacing:-.025em}
.archive-title:focus{outline:none}
.archive-intro-grid p{max-width:44ch;color:var(--muted)}
.archive-collection{padding-top:var(--space-10);padding-bottom:var(--space-16)}
.archive-tools{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--space-8);padding-bottom:var(--space-8)}
.archive-filters{display:flex;flex-wrap:wrap;gap:var(--space-2)}
.archive-filters button{min-height:44px;border:1px solid transparent;border-radius:var(--radius-full);padding:var(--space-2) var(--space-4);background:transparent;font-size:var(--text-sm);white-space:nowrap}
.archive-filters button[aria-pressed=true]{background:var(--nav);border-color:var(--rule)}
.archive-filters button:hover{border-color:var(--rule)}
.filter-count{margin-left:var(--space-2);font-size:var(--text-xs);color:var(--muted);font-variant-numeric:tabular-nums}
.archive-search{flex:0 1 260px;min-width:210px}
.archive-search label{display:block;margin-bottom:var(--space-2)}
.archive-search input{width:100%;min-height:44px;padding:var(--space-2) var(--space-3);color:var(--ink);background:transparent;border:0;border-bottom:1px solid var(--rule);border-radius:0;font-size:var(--text-base)}
.archive-search input::placeholder{color:var(--muted);opacity:1}
.archive-status{display:flex;justify-content:space-between;gap:var(--space-6);padding-bottom:var(--space-5)}
.archive-item{display:grid;grid-template-columns:minmax(0,.75fr) minmax(0,1.7fr) 32px;gap:var(--space-8);align-items:start;border-top:1px solid var(--rule);padding-block:var(--space-8)}
.archive-item:last-child{border-bottom:1px solid var(--rule)}
.archive-item-meta{display:flex;flex-direction:column;gap:var(--space-2)}
.archive-item-meta time{white-space:nowrap}
.archive-item-copy h2{font-size:26px;line-height:1.18;letter-spacing:-.01em}
.archive-item-copy p{margin-top:var(--space-3);font-size:var(--text-sm);color:var(--muted);max-width:64ch}
.archive-item-arrow{font-size:var(--text-lg);line-height:1.2;text-align:right}
.archive-item:hover h2{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:5px}
.archive-item-multi h2,.archive-item-multi:hover h2,.archive-item-multi h2 a,.article-row-multi h3 a{text-decoration:none}
.archive-empty{border-block:1px solid var(--rule);padding-block:var(--space-16)}
.archive-empty h2{margin-bottom:var(--space-4)}
.archive-empty p{max-width:55ch;color:var(--muted)}
.archive-reset{margin-top:var(--space-5);padding:0;background:transparent;border:0;border-bottom:1px solid var(--rule)}
.archive-bottom{display:flex;justify-content:space-between;gap:var(--space-6);margin-top:var(--space-10)}
.archive-bottom .text-link{font-weight:700}
.contact-page-intro{background:var(--hero);padding-top:var(--space-10);padding-bottom:var(--space-12)}
.contact-back{border-bottom:0}
.contact-eyebrow{margin-top:var(--space-10);margin-bottom:var(--space-5)}
.contact-page-title{font-size:var(--text-xl);line-height:1.06;letter-spacing:-.025em}
.contact-page-title:focus,#contact-review-title:focus{outline:none}
.contact-page-lede{margin-top:var(--space-5);color:var(--muted)}
.contact-page-grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:var(--space-24);padding-block:var(--space-16)}
.contact-sidebar{min-width:0}
.contact-page-portrait{width:224px;max-width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;object-position:center 18%}
.contact-sidebar-name{margin-top:var(--space-4)}
.contact-sidebar>p:not(.label){color:var(--muted);max-width:33ch;margin-top:var(--space-6)}
.contact-sidebar-links{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-3);margin-top:var(--space-6)}
.contact-media-link,.contact-edit{padding:0;border:0;border-bottom:1px solid var(--rule);background:transparent;text-align:left}
.contact-compose{min-width:0}
.contact-form-heading{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-4);margin-bottom:var(--space-8)}
.contact-form-heading h2{font-size:calc(var(--text-lg) * 1.3 + 3px)}
.contact-form-heading>.label{flex-shrink:0}
.contact-form-external{margin-top:var(--space-3);margin-bottom:var(--space-6)}
.contact-form-embed{width:100%;min-width:0;border-radius:var(--radius-sm);overflow:hidden;background:#fff;color-scheme:light}
.contact-form-embed iframe{display:block;width:100%;height:1750px;border:0}
@media(max-width:600px){.contact-form-embed iframe{height:2000px}}
.contact-dialog{width:min(800px,calc(100% - var(--space-8)));max-height:calc(100dvh - var(--space-8));margin:auto;padding:var(--space-10);border:1px solid var(--rule);background:var(--paper);color:var(--ink);overflow:auto;overflow-wrap:anywhere;scroll-padding-top:var(--space-24)}
.contact-dialog::backdrop{background:oklch(15% .01 120 / .55)}
.contact-dialog-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-6);margin-bottom:var(--space-6);position:sticky;top:0;z-index:2;background:var(--paper);box-shadow:0 calc(-1 * var(--space-10)) 0 var(--paper)}
.contact-dialog-close{flex-shrink:0;min-height:44px;border:0;background:transparent;padding:var(--space-2);font-size:var(--text-sm)}
.contact-dialog .container{width:100%}
.contact-dialog .contact-page-intro{background:transparent;padding:0}
.contact-dialog .contact-page-grid{display:block;padding-top:0;padding-bottom:0}
.contact-dialog .contact-sidebar{display:grid;grid-template-columns:80px minmax(0,1fr);column-gap:var(--space-5);row-gap:var(--space-2);padding-bottom:var(--space-8);border-bottom:1px solid var(--rule)}
.contact-dialog .contact-page-portrait{width:80px;grid-row:1/4}
.contact-dialog .contact-sidebar-name{margin-top:0}
.contact-dialog .contact-sidebar>p:not(.label){max-width:none;margin-top:0;font-size:var(--text-sm);text-align:left}
.contact-dialog .contact-sidebar-links{grid-column:2;flex-direction:row;flex-wrap:wrap;gap:var(--space-3) var(--space-6);margin-top:0}
.contact-dialog .contact-compose{margin-top:0}
#contact-compose-title:focus{outline:none}
@media(max-width:600px){
  /* Keep words intact on mobile, including iPhone Safari. */
  *{-webkit-hyphens:none!important;hyphens:none!important}
  .contact-dialog{width:calc(100% - var(--space-4));max-height:calc(100dvh - var(--space-4));padding:var(--space-4)}
  .contact-dialog-header{gap:var(--space-3);box-shadow:0 calc(-1 * var(--space-4)) 0 var(--paper)}
  .contact-dialog .contact-sidebar-links{grid-column:1/-1}
}
.contact-field-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-6)}
.contact-field{display:flex;flex-direction:column;gap:var(--space-2);margin-bottom:var(--space-6);min-width:0}
.contact-field label{font-size:var(--text-sm);display:flex;gap:var(--space-2);align-items:baseline}
.field-optional{font-size:var(--text-xs);color:var(--muted);margin-left:auto}
.contact-field input,.contact-field textarea{width:100%;min-width:0;min-height:48px;border:1px solid var(--rule);border-radius:var(--radius-sm);padding:var(--space-3);font-size:var(--text-base);color:var(--ink);background:transparent}
.contact-field input::placeholder,.contact-field textarea::placeholder{color:var(--muted);opacity:1}
.contact-field textarea{min-height:180px;resize:vertical}
.contact-field input:user-invalid,.contact-field textarea:user-invalid{border-style:dashed;border-width:2px}
p.contact-form-note{font-size:var(--text-xs);line-height:1.6;color:var(--muted);text-align:left;max-width:65ch}
.contact-form-note a{text-decoration:underline;text-underline-offset:3px}
.contact-submit{display:inline-flex;align-items:center;justify-content:space-between;gap:var(--space-8);min-height:48px;background:var(--ink);color:var(--paper);border:1px solid var(--ink);border-radius:var(--radius-sm);padding:var(--space-3) var(--space-6);font-size:var(--text-sm);margin-top:var(--space-6)}
.contact-submit:hover{opacity:.85}
.contact-review>h2{margin-top:var(--space-4)}
.contact-review-status{margin-top:var(--space-4);color:var(--muted);font-size:var(--text-sm)}
.contact-review-details{margin:var(--space-8) 0;padding:0;border-top:1px solid var(--rule)}
.contact-review-details>div{display:grid;grid-template-columns:90px minmax(0,1fr);gap:var(--space-4);padding-block:var(--space-3);border-bottom:1px solid var(--rule)}
.contact-review-details dt{font-size:var(--text-sm);color:var(--muted)}
.contact-review-details dd{margin:0;font-size:var(--text-base);overflow-wrap:anywhere}
.contact-review h3{font-size:var(--text-base);font-weight:500}
p.contact-review-message{white-space:pre-wrap;text-align:left;margin-top:var(--space-3);margin-bottom:var(--space-8);overflow-wrap:anywhere}
.contact-review-actions{display:flex;flex-wrap:wrap;gap:var(--space-4) var(--space-6);margin-top:var(--space-6)}
@media(max-width:1100px){.archive-tools{align-items:stretch;flex-direction:column}.archive-search{flex:auto;max-width:400px}}
@media(min-width:1600px){.container{max-width:1200px}.hero{padding-top:var(--space-32);padding-bottom:var(--space-24)}}
@media(max-width:900px){.container{width:calc(100% - var(--space-12))}.hero-bottom{gap:var(--space-12)}.hero-location{display:none}.section-intro,.about-grid,.contact-grid{gap:var(--space-12)}.about-grid{row-gap:var(--space-8)}.portfolio-list article{grid-template-columns:1fr 1.3fr}.portfolio-category{display:none}.article-row{grid-template-columns:.8fr 1.5fr 24px;gap:var(--space-6)}.site-footer{flex-wrap:wrap}.site-footer .label{font-size:var(--text-xs)}}
@media(max-width:600px){
  .container{width:calc(100% - var(--space-10))}
  .site-header{padding-top:var(--space-5)}
  .nav-bar{display:grid;grid-template-columns:32px repeat(3,minmax(0,1fr));padding:var(--space-2) var(--space-3);gap:0 var(--space-2);border-radius:28px}
  .nav-bar>a:not(.monogram),.nav-bar>.nav-link{font-size:.75rem;letter-spacing:0;text-transform:uppercase;justify-content:center;min-width:0;overflow-wrap:anywhere}
  .monogram{width:32px;grid-row:span 2;height:100%}.monogram svg{width:22px}
  .theme-toggle{width:44px;justify-self:center}
  .hero{--hero-name-gap:var(--space-10);padding-top:calc(var(--space-16) + var(--space-6));padding-bottom:var(--space-12)}
  h1{font-size:clamp(2rem,20vw,6rem)}
  .hero-bottom{grid-template-columns:1fr;gap:var(--space-10);padding-top:calc(var(--hero-name-gap) + 10px)}
  .introduction{display:flex;flex-direction:column;gap:calc(var(--space-8) + 10px)}
  .hero-intro{font-size:30.1px;line-height:1.23;max-width:25ch}
  .hero-intro-second{font-size:21px}
  .identity{order:-1;align-self:flex-start;margin-top:0;top:0}
  .start-here{border-top:1px solid var(--rule);padding-top:var(--space-6)}
  .start-here a{min-height:48px}
  .section{padding-block:var(--space-16)}
  .section-rule{gap:var(--space-3)}.section-rule .label{font-size:.75rem;letter-spacing:.03em}
  .section-rule .label:last-child{text-align:right;max-width:140px}
  .section-intro{grid-template-columns:1fr;gap:var(--space-6);margin:var(--space-8) 0}
  h2{font-size:2.6rem}
  .feature{padding:var(--space-6)}
  .feature h3{font-size:4rem}
  .portfolio-list{margin-top:var(--space-6)}
  .portfolio-item summary{grid-template-columns:minmax(0,1fr) 24px;gap:var(--space-4);padding-block:var(--space-6)}
  .portfolio-summary{grid-column:1/-1;grid-row:2;font-size:var(--text-base)}
  .portfolio-toggle{grid-column:2;grid-row:1}
  .portfolio-name{font-size:1.8rem}
  .portfolio-detail{padding-bottom:var(--space-6)}
  .about-section{padding-top:var(--space-8);padding-bottom:var(--space-12)}
  .about-grid{grid-template-columns:1fr;gap:var(--space-10)}
  .about-section-label,.about-heading,.about-copy,.portrait{grid-column:auto;grid-row:auto}
  .about-heading{margin-top:calc(-1 * var(--space-5));margin-bottom:calc(-1 * var(--space-2));padding-top:0}
  .portrait img{aspect-ratio:1/1;object-position:50% 24%}
  .about-heading h2{font-size:2.4rem}
  .perspectives-heading{display:block;margin:var(--space-8) 0}.perspectives-heading .text-link{margin-top:var(--space-4)}
  .article-row{grid-template-columns:1fr 24px;gap:var(--space-4)}
  .article-meta{grid-column:1/-1;flex-direction:column;align-items:flex-start;gap:var(--space-2);font-size:.75rem}
  .article-meta span:last-child{text-align:left}
  .article-row h3{font-size:26px}
  .contact-section{padding-block:var(--space-12)}
  .contact-grid{grid-template-columns:1fr;gap:var(--space-8)}
  .site-footer{gap:var(--space-2) var(--space-4);padding-block:var(--space-6)}
  /* Retain 45% of the original gap: 40% reduction, then another 25%. */
  .site-footer p{order:3;width:100%;margin-top:calc(var(--space-2) - (44px + var(--space-2) * 2 - var(--text-xs) * 1.55) * .55);text-align:center}
  .media-kit{padding:var(--space-6)}
  .media-kit-header{gap:var(--space-3)}
  .media-kit-header .label{max-width:20ch}
  .media-kit-grid{grid-template-columns:1fr;gap:var(--space-6)}
  .media-kit-grid figure{max-width:180px}
  .media-kit-inquiries{display:block}
  .media-kit-inquiries .text-link{margin-top:var(--space-3)}
  .media-image-grid{grid-template-columns:1fr}
  .archive-intro{padding-top:var(--space-6);padding-bottom:var(--space-10)}
  .archive-hero-image figcaption{font-size:1.0625rem;margin-inline:3px}
  .archive-eyebrow{margin-top:var(--space-8)}
  .archive-intro-grid{grid-template-columns:1fr;gap:var(--space-5)}
  .archive-title{font-size:2.6rem}
  .archive-tools{gap:var(--space-6)}
  .archive-filters{gap:var(--space-1)}
  .archive-filters button{padding-inline:var(--space-3)}
  .archive-search{min-width:0;max-width:none}
  .archive-status .label:last-child{text-align:right}
  .archive-item{grid-template-columns:minmax(0,1fr) 24px;gap:var(--space-4);padding-block:var(--space-6)}
  .archive-item-meta{grid-column:1/-1;display:flex;flex-direction:column;align-items:flex-start;flex-wrap:nowrap;gap:var(--space-2)}
  .archive-item-copy h2{font-size:26px}
  .archive-bottom{flex-direction:row;align-items:center;justify-content:space-between;gap:var(--space-3)}
  .archive-bottom .text-link{gap:var(--space-3);white-space:nowrap}
  .contact-page-intro{padding-top:var(--space-6);padding-bottom:var(--space-10)}
  .contact-eyebrow{margin-top:var(--space-8)}
  .contact-page-title{font-size:2.6rem}
  .contact-page-grid{grid-template-columns:1fr;gap:var(--space-12);padding-block:var(--space-10)}
  .contact-sidebar{display:grid;grid-template-columns:96px minmax(0,1fr);column-gap:var(--space-5)}
  .contact-page-portrait{width:96px;grid-row:span 2}
  .contact-sidebar-name{margin-top:0}
  .contact-sidebar>p:not(.label){margin-top:var(--space-2);font-size:var(--text-sm)}
  .contact-sidebar-links{grid-column:1/-1;margin-top:var(--space-5)}
  .contact-field-row{grid-template-columns:1fr;gap:0}
  .contact-form-heading{align-items:center}
}
