:root{--black:#0a0a0a;--white:#fff;--muted:color-mix(in srgb,var(--black) 58%,var(--white));--line:color-mix(in srgb,var(--black) 28%,var(--white));--gray:color-mix(in srgb,var(--black) 8%,var(--white));--overlay:color-mix(in srgb,var(--black) 85%,transparent);--max:1500px;--pad:clamp(1.1rem,3vw,3.5rem)}
button,.button,.public-form button{border-color:var(--black);background:var(--black);color:var(--white)}button:hover,.button:hover,.public-form button:hover{background:var(--white);color:var(--black)}.skip-link{background:var(--black);color:var(--white)}.form-field input:not([type=checkbox]),.form-field textarea,.form-field select{background:var(--white);color:var(--black);border-color:var(--black)}
button,.button,.public-form button,.form-field input:not([type=checkbox]),.form-field textarea,.form-field select,.form-notice,.external-media,.pdf-heading,.block--pdf object{border-color:var(--black)!important}
.field-help,figcaption,.form-honeypot,.project-card p{color:var(--black);opacity:.68}
body,body *{border-color:var(--black)}body,.site-header,.site-footer,.project-card__image,.form-notice,.external-media{background:var(--white);color:var(--black)}body .form-notice--success{background:var(--black);color:var(--white)}body .form-notice--success *{color:var(--white)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--white);color:var(--black);font-family:"Inconsolata",monospace;font-size:18px;line-height:1.45}a{color:inherit;text-underline-offset:.22em}img,video{display:block;max-width:100%;height:auto}audio{width:100%}.skip-link{position:fixed;left:1rem;top:-5rem;background:var(--black);color:var(--white);padding:.7rem;z-index:99}.skip-link:focus{top:1rem}.site-header{position:relative;display:flex;align-items:center;justify-content:space-between;gap:2rem;padding:1.4rem var(--pad);border-bottom:1px solid var(--black);max-width:var(--max);margin:auto}.wordmark{font-size:clamp(1.2rem,2vw,1.65rem);font-weight:700;text-decoration:none}.site-header nav{display:flex;gap:clamp(.8rem,2vw,2rem);align-items:center}.site-header nav a{text-decoration:none}.site-header nav a:hover,.site-header nav a.active{text-decoration:underline}.language-link{border-left:1px solid;padding-left:clamp(.8rem,2vw,2rem)}.menu-toggle{display:none;border:0;background:none;font:inherit;padding:0;text-decoration:none}main{max-width:var(--max);margin:auto;padding:0 var(--pad) 10vw}.page,.project-detail{padding-top:clamp(3rem,10vw,10rem)}.content-header{display:grid;grid-template-columns:minmax(5rem,1fr) minmax(0,3fr);column-gap:var(--pad);align-items:start;margin-bottom:clamp(3rem,8vw,8rem)}.content-header .eyebrow,.content-header .back-link{grid-column:1}.content-header h1,.content-header .lede,.content-header .button{grid-column:2}.content-header h1{margin:0;font-size:clamp(3.2rem,9vw,10rem);font-weight:500;line-height:.82;letter-spacing:-.065em;overflow-wrap:anywhere}.content-header .lede{max-width:55rem;margin:2rem 0 0;font-size:clamp(1.25rem,2.6vw,2.25rem);line-height:1.15}.eyebrow{margin:.6rem 0;text-transform:uppercase;letter-spacing:.08em;font-size:.85rem}.button{display:inline-block;width:max-content;border:1px solid;padding:.75rem 1rem;margin-top:2rem;text-decoration:none}.button:hover{background:var(--black);color:var(--white)}.content-blocks{display:flow-root;max-width:1100px;margin-left:auto}.block{margin:0 0 clamp(2.5rem,7vw,7rem)}.block--text{max-width:760px;font-size:clamp(1.05rem,1.6vw,1.35rem)}.block--text h2{font-size:clamp(2rem,5vw,4rem);line-height:1;margin:2em 0 .6em}.block--text h3{font-size:1.45em}.block--text blockquote{border-left:1px solid;margin-left:0;padding-left:1.5rem;font-size:1.25em}.block--image img{width:100%}.block--image.align-left{float:left;width:min(48%,520px);margin-right:var(--pad)}.block--image.align-right{float:right;width:min(48%,520px);margin-left:var(--pad)}figcaption{font-size:.86rem;margin-top:.65rem;color:var(--muted)}.block--gallery{display:grid;gap:var(--pad);clear:both}.gallery--grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr))}.gallery--two-column{grid-template-columns:repeat(2,1fr)}.gallery--masonry{columns:2;display:block}.gallery--masonry .gallery__item{break-inside:avoid;margin-bottom:var(--pad)}.gallery__item{margin:0}.gallery__item img{width:100%}.embed--video{position:relative;aspect-ratio:16/9}.embed--video iframe{position:absolute;inset:0;width:100%;height:100%;border:0}.external-media{border-block:1px solid;padding:1.25rem 0;font-size:1.3rem}.external-media span{font-size:.85rem;color:var(--muted)}.hero-media{margin:0 0 clamp(3rem,8vw,8rem)}.hero-media img{width:100%;max-height:85vh;object-fit:cover}.filters{display:flex;flex-wrap:wrap;gap:.7rem 1.8rem;padding:2rem 0;border-block:1px solid;margin-bottom:var(--pad)}.filters a{text-decoration:none}.filters a.active,.filters a:hover{text-decoration:underline}.project-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:clamp(2rem,5vw,6rem) var(--pad)}.project-card{grid-column:span 4;text-decoration:none}.project-card:nth-child(5n+1),.project-card:nth-child(5n+4){grid-column:span 7}.project-card:nth-child(5n+2),.project-card:nth-child(5n+5){grid-column:span 5}.project-card__image{background:var(--gray);overflow:hidden;aspect-ratio:4/3}.project-card__image img{width:100%;height:100%;object-fit:cover;filter:none;transition:transform .5s}.project-card:hover img{transform:scale(1.025);filter:none}.project-card__copy{display:flex;justify-content:space-between;gap:1rem;align-items:baseline}.project-card h2{font-size:clamp(1.25rem,2vw,2rem);line-height:1;margin:.85rem 0 0}.project-card p{text-align:right;color:var(--muted);font-size:.9rem}.site-footer{max-width:var(--max);margin:auto;padding:2rem var(--pad);border-top:1px solid;display:flex;justify-content:space-between;gap:1rem}.site-footer p{margin:0}.page--not-found{min-height:65vh}
@media(max-width:760px){body{font-size:16px}.menu-toggle{display:block}.site-header{align-items:flex-start}.site-header nav{display:none;position:absolute;left:0;right:0;top:100%;z-index:10;background:var(--white);color:var(--black);border-bottom:1px solid;padding:1.2rem var(--pad);flex-direction:column;align-items:flex-start}.site-header nav.open{display:flex}.language-link{border-left:0;padding-left:0;border-top:1px solid;width:100%;padding-top:1rem}.content-header{display:block}.content-header h1{margin-top:2rem}.project-grid{display:block}.project-card{display:block;margin-bottom:3rem}.project-card__copy{display:block}.project-card p{text-align:left}.block--image.align-left,.block--image.align-right{float:none;width:100%;margin-left:0;margin-right:0}.gallery--two-column{grid-template-columns:1fr}.gallery--masonry{columns:1}.site-footer{display:block}.site-footer p+ p{margin-top:.5rem}}
.embed--audio iframe{width:100%;min-height:166px;border:0}
.block--pdf{clear:both}.pdf-heading{display:flex;justify-content:space-between;gap:1rem;align-items:baseline;border-top:1px solid;padding-top:1rem;margin-bottom:1rem}.pdf-heading h2{margin:0;font-size:clamp(1.3rem,2.4vw,2rem)}.block--pdf object{display:block;width:100%;border:1px solid var(--black);background:var(--gray)}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.project-card__image img{transition:none}}
.content-blocks{max-width:1300px}.gallery--grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,440px),1fr))}.project-card__image img{filter:none}.project-card:hover img{filter:none}.block--form{clear:both;max-width:850px;border-top:1px solid;padding-top:clamp(1.5rem,4vw,3rem)}.block--form h2{font-size:clamp(2rem,5vw,4rem);line-height:1;margin:0 0 1rem}.form-intro{max-width:650px;font-size:1.15rem}.public-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem var(--pad);margin-top:2rem}.form-field{font-weight:600}.form-field:has(textarea),.form-field:has(select),.form-field:has(input[type=checkbox]){grid-column:1/-1}.form-field span{display:block;margin-bottom:.4rem}.form-field input:not([type=checkbox]),.form-field textarea,.form-field select{display:block;width:100%;border:1px solid var(--black);border-radius:0;padding:.85rem;background:var(--white);color:var(--black);font:inherit}.form-field input[type=checkbox]{width:1.2rem;height:1.2rem;accent-color:var(--black)}.form-field input::file-selector-button{border:1px solid var(--black);background:var(--black);color:var(--white);font:inherit;padding:.45rem .7rem;margin-right:.7rem;cursor:pointer}.public-form button{grid-column:1/-1;width:max-content;border:1px solid var(--black);background:var(--black);color:var(--white);padding:.85rem 1.35rem;font:inherit;cursor:pointer}.public-form button:hover{background:var(--white);color:var(--black)}.form-honeypot{position:absolute;left:-10000px}.form-notice{border:1px solid;padding:1rem;margin:1.5rem 0}.form-notice--success{background:var(--black);color:var(--white)}.form-notice--error,.field-error{color:var(--black)}.has-error input,.has-error textarea,.has-error select{border-width:2px;border-color:var(--black)}.field-error{display:block;margin-top:.35rem}
@media(max-width:760px){.public-form{grid-template-columns:1fr}.form-field{grid-column:1!important}}
.block--text:has(+ .block--text){margin-bottom:1.25rem}
.project-card__image img,.project-card:hover img{filter:none}
/* Tighter editorial rhythm */
.block{margin-bottom:clamp(1.25rem,3.5vw,3.5rem)}
.block--image{display:block;overflow:visible;margin-inline:0}
.form-field input:not([type=checkbox]),.form-field textarea,.form-field select{background:var(--white)!important;color:var(--black)!important;border-color:var(--black)!important}.public-form button{background:var(--black)!important;color:var(--white)!important;border-color:var(--black)!important}.public-form button:hover{background:var(--white)!important;color:var(--black)!important}.form-notice--success{background:var(--black)!important;color:var(--white)!important}
.block--image img{display:block;width:100%;height:auto!important;min-height:0;max-height:none;aspect-ratio:auto;object-fit:initial}
.block--image picture{display:block}
.block--image.align-left{margin-right:var(--pad)}
.block--image.align-right{margin-left:var(--pad)}
.block--image.align-left,.block--image.align-right{position:relative;z-index:1}
.block--image.align-left,.block--image.align-right{margin-bottom:clamp(1.25rem,3.5vw,3.5rem)}
@media(max-width:760px){.block--image.align-left,.block--image.align-right{float:none;width:100%;margin-left:0;margin-right:0}}
.content-blocks img:not(.lightbox-excluded),.hero-media img:not(.lightbox-excluded){cursor:zoom-in}.lightbox{width:min(96vw,1200px);max-width:96vw;max-height:96vh;padding:clamp(1rem,3vw,2rem);background:var(--white);color:var(--black);border:1px solid var(--black)}.lightbox::backdrop{background:var(--overlay)}.lightbox figure{margin:0;display:grid;place-items:center;gap:.7rem}.lightbox figure img{max-width:90vw;max-height:82vh;width:auto;height:auto;object-fit:contain}.lightbox button{position:absolute;display:grid;place-items:center;width:3.1rem;height:3.1rem;background:color-mix(in srgb,var(--white) 84%,transparent)!important;color:var(--black);border:0!important;border-radius:50%;padding:.5rem;cursor:pointer;opacity:.9;backdrop-filter:blur(5px);transition:background .15s,color .15s,opacity .15s,transform .15s}.lightbox button .fa-solid{font-size:1.55rem}.lightbox button:hover,.lightbox button:focus-visible{background:var(--black)!important;color:var(--white);opacity:1;outline:0}.lightbox-close{right:.7rem;top:.7rem;width:2.35rem!important;height:2.35rem!important;padding:.25rem!important}.lightbox-close .fa-solid{font-size:1.35rem!important}.lightbox-close:hover,.lightbox-close:focus-visible{transform:scale(1.08)}.lightbox-prev{left:.7rem;top:50%;transform:translateY(-50%)}.lightbox-next{right:.7rem;top:50%;transform:translateY(-50%)}.lightbox-prev:hover,.lightbox-prev:focus-visible,.lightbox-next:hover,.lightbox-next:focus-visible{transform:translateY(-50%) scale(1.08)}.lightbox figcaption{color:var(--black);text-align:center}.lightbox button[hidden]{display:none}

::selection{background:var(--black);color:var(--white)}
::placeholder{color:var(--muted);opacity:1}
:focus-visible{outline:2px solid var(--black);outline-offset:2px}
.field-help,figcaption,.project-card p,.external-media span{color:var(--muted);opacity:1}
body{--muted:color-mix(in srgb,var(--black) 58%,var(--white));--line:color-mix(in srgb,var(--black) 28%,var(--white));--gray:color-mix(in srgb,var(--black) 8%,var(--white));--overlay:color-mix(in srgb,var(--black) 85%,transparent)}

/* Home is a persistent editorial frame: only its work area scrolls. */
.home-page{height:100dvh;min-height:100dvh;display:grid;grid-template-rows:auto auto minmax(0,1fr) auto;overflow:hidden}.home-page .site-header,.home-page .home-intro,.home-page .site-footer{width:100%;max-width:var(--max);margin:0 auto}.home-page .home-intro{padding:.55rem var(--pad);border-bottom:1px solid var(--line)}.home-page .home-intro p{max-width:62rem;margin:0;font-size:clamp(.78rem,1.15vw,.98rem);line-height:1.25}.home-page main{width:100%;max-width:var(--max);min-height:0;margin:0 auto;padding:clamp(.8rem,2vw,1.5rem) var(--pad);overflow-y:auto;overscroll-behavior:contain;scrollbar-color:var(--muted) transparent}.home-page .page--home{padding-top:0}.home-page .project-grid{display:block;columns:3 14rem;column-gap:clamp(.7rem,1.6vw,1.4rem);margin:0}.home-page .project-card{display:block;width:100%;break-inside:avoid;margin:0 0 clamp(.9rem,2vw,1.5rem)}.home-page .project-card__image{aspect-ratio:auto}.home-page .project-card__image img{height:auto;object-fit:initial}.home-page .project-card__copy{display:block;margin-top:.45rem}.home-page .project-card h2{font-size:clamp(1rem,1.35vw,1.3rem);margin:.2rem 0 0}.home-page .project-card p{margin:.1rem 0 0;text-align:left;font-size:.78rem}.home-page .site-footer{padding:.7rem var(--pad);font-size:.82rem}
@media(max-width:760px){.home-page .project-grid{columns:2 10rem;column-gap:.7rem}.home-page .home-intro{padding:.45rem var(--pad)}.home-page main{padding-top:.7rem}.home-page .site-footer{padding:.6rem var(--pad)}}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:760px){.menu-toggle{display:inline-grid;place-items:center;width:2.5rem;height:2.5rem;padding:.35rem;background:transparent!important;color:var(--black)!important;border:0!important;flex:0 0 auto}.menu-toggle .icon{font-size:1.35rem}.menu-toggle[aria-expanded="true"]{background:var(--black)!important;color:var(--white)!important}}

/* Project labels sit on their image with a palette-aware legibility gradient. */
.project-card__image{position:relative}.project-card__image .project-card__copy{position:absolute;z-index:1;inset:auto 0 0;margin:0;padding:clamp(1.4rem,4vw,3.5rem) clamp(.7rem,1.4vw,1.15rem) clamp(.65rem,1.4vw,1.1rem);background:linear-gradient(to top,color-mix(in srgb,var(--black) 94%,transparent),color-mix(in srgb,var(--black) 65%,transparent) 42%,transparent 100%);color:var(--white)}.project-card__image .project-card__copy h2{margin:0;color:inherit}.project-card__image .project-card__copy p{margin:.18rem 0 0;color:var(--white);opacity:.86;text-align:left}.home-page .project-card__copy{margin:0}
.site-shell{height:100dvh;min-height:100dvh;display:grid;grid-template-rows:auto minmax(0,1fr) auto;overflow:hidden}.site-shell .site-header,.site-shell .site-footer{width:100%;max-width:var(--max);margin:0 auto}.site-shell main{width:100%;max-width:var(--max);min-height:0;margin:0 auto;padding:clamp(.9rem,2vw,1.6rem) var(--pad);overflow-y:auto;overscroll-behavior:contain;scrollbar-color:var(--muted) transparent}.site-shell .page,.site-shell .project-detail{padding-top:clamp(1.5rem,5vw,4rem)}.site-shell.home-page{grid-template-rows:auto auto minmax(0,1fr) auto}.site-shell.home-page main{padding-top:clamp(.65rem,1.1vw,.95rem)}.site-shell.home-page .page--home{padding-top:0}
.site-shell .project-grid{display:block;columns:3 14rem;column-gap:clamp(.7rem,1.6vw,1.4rem);margin:0}.site-shell .project-card{display:block;width:100%;break-inside:avoid;margin:0 0 clamp(.9rem,2vw,1.5rem)}.site-shell .project-card__image{aspect-ratio:auto}.site-shell .project-card__image img{height:auto;object-fit:initial}.site-shell .project-card__copy{margin:0}.site-shell .project-card h2{font-size:clamp(1rem,1.35vw,1.3rem);margin:.2rem 0 0}.site-shell .project-card p{margin:.1rem 0 0;text-align:left;font-size:.78rem}.site-shell .site-footer{padding:.7rem var(--pad);font-size:.82rem}
@media(max-width:760px){.site-shell main{padding-top:.7rem}.site-shell .project-grid{columns:2 10rem;column-gap:.7rem}.site-shell .site-footer{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.6rem var(--pad);font-size:clamp(.65rem,2.8vw,.82rem);white-space:nowrap}.site-shell .site-footer p+p{margin-top:0}.site-shell .site-footer a{white-space:nowrap}}
.responsive-image{position:relative;display:block;overflow:hidden;background:color-mix(in srgb,var(--black) 9%,var(--white));isolation:isolate}.responsive-image img{position:relative;z-index:1;transition:opacity .2s ease}.responsive-image.is-loading img{opacity:.01}.responsive-image.is-loading::after{position:absolute;z-index:0;inset:0;content:"";background:linear-gradient(105deg,transparent 20%,color-mix(in srgb,var(--black) 7%,var(--white)) 45%,transparent 70%);transform:translateX(-100%);animation:image-placeholder 1.2s ease-in-out infinite}.responsive-image.is-loaded::after{display:none}@keyframes image-placeholder{to{transform:translateX(100%)}}@media(prefers-reduced-motion:reduce){.responsive-image.is-loading::after{animation:none}}
.footnote-reference{font-size:.68em;line-height:0;vertical-align:super}.footnote-reference a{text-decoration:none}.footnote-reference a:hover,.footnote-reference a:focus-visible{text-decoration:underline}.block--footnotes{clear:both;max-width:760px;margin-top:clamp(2rem,5vw,4rem);padding-top:1rem;border-top:1px solid var(--line);font-size:.86rem;line-height:1.4}.block--footnotes h2{margin:0 0 .7rem;font-size:1em;text-transform:uppercase;letter-spacing:.08em}.block--footnotes ol{margin:0;padding-left:1.6rem}.block--footnotes li+li{margin-top:.65rem}.block--footnotes p{display:inline;margin:0}.footnote-backlink{margin-left:.25rem;text-decoration:none;font-weight:700}.footnote-backlink:hover,.footnote-backlink:focus-visible{text-decoration:underline}
.icon+span{margin-inline-start:.45rem}
@media(min-width:761px){.site-shell .content--portfolio-detail{padding:0}.site-shell .content--portfolio-detail .project-detail{height:100%;min-height:100%;padding-top:0}.site-shell .content--portfolio-detail .project-detail>.content-blocks{position:relative;isolation:isolate;padding:clamp(1rem,2vw,1.5rem) var(--pad) clamp(2rem,5vw,6rem);margin-left:auto;margin-right:0;background:var(--white)}.site-shell .content--portfolio-detail .project-detail>.content-blocks::before{position:absolute;z-index:-1;inset:0 -100vw;content:"";background:var(--white)}.site-shell .content--portfolio-detail .project-detail>.content-blocks>.block--text:first-child>:first-child{margin-top:.3em}.project-hero{position:relative;display:grid;align-items:end;height:100%;min-height:100%;overflow:hidden;isolation:isolate}.project-hero::after{position:absolute;z-index:1;inset:0;content:"";background:linear-gradient(to bottom,color-mix(in srgb,var(--black) 55%,transparent),transparent 45%,color-mix(in srgb,var(--black) 88%,transparent))}.project-hero__media{position:absolute;z-index:0;inset:0}.project-hero__media,.project-hero__media .responsive-image,.project-hero__media picture,.project-hero__media img{width:100%;height:100%}.project-hero__media img{object-fit:cover;object-position:top center}.project-hero .content-header{position:relative;z-index:2;display:grid;align-content:end;height:100%;min-height:100%;width:100%;margin:0;padding:clamp(2rem,6vw,7rem) var(--pad) clamp(.8rem,2vw,2rem);color:var(--white)}.project-hero .content-header h1,.project-hero .content-header .lede,.project-hero .content-header .eyebrow,.project-hero .content-header .back-link{color:inherit}.project-hero .content-header .lede{margin-top:.8rem;font-size:clamp(1rem,1.55vw,1.35rem);line-height:1.25}.project-hero figcaption{position:absolute;z-index:2;right:var(--pad);bottom:1rem;max-width:min(45vw,38rem);color:var(--white);text-align:right}.project-hero .footnote-reference{color:inherit}}
@media(min-width:761px){.portfolio-opening-backdrop{position:fixed;z-index:0;inset:0;background-position:top center;background-size:cover;background-repeat:no-repeat;pointer-events:none;transform:translateY(calc(-1 * var(--portfolio-scroll-offset,0px)))}.portfolio-opening-backdrop::after{position:absolute;inset:0;content:"";background:linear-gradient(to bottom,color-mix(in srgb,var(--black) 55%,transparent),transparent 45%,color-mix(in srgb,var(--black) 88%,transparent))}.portfolio-opening .site-header,.portfolio-opening main,.portfolio-opening .site-footer{position:relative;z-index:1}.portfolio-opening.is-portfolio-opening-ready .project-hero__media{opacity:0}.portfolio-opening.is-portfolio-opening-ready .project-hero::after{display:none}.portfolio-opening .site-header,.portfolio-opening .site-footer{transition:background-color .28s ease,color .28s ease,border-color .28s ease}.portfolio-opening:not(.is-portfolio-scrolled) .site-header{background:transparent!important;color:var(--portfolio-header-ink,var(--white));border-color:color-mix(in srgb,var(--portfolio-header-ink,var(--white)) 62%,transparent)}.portfolio-opening:not(.is-portfolio-scrolled) .site-footer{background:transparent!important;color:var(--portfolio-footer-ink,var(--white));border-color:color-mix(in srgb,var(--portfolio-footer-ink,var(--white)) 62%,transparent)}.portfolio-opening:not(.is-portfolio-scrolled) .site-header nav a,.portfolio-opening:not(.is-portfolio-scrolled) .site-header .wordmark,.portfolio-opening:not(.is-portfolio-scrolled) .site-footer a{color:inherit}.portfolio-opening:not(.is-portfolio-scrolled) .site-header nav a:hover,.portfolio-opening:not(.is-portfolio-scrolled) .site-header nav a:focus-visible{background:var(--portfolio-header-ink,var(--white));color:var(--portfolio-header-contrast,var(--black));text-decoration:none}.portfolio-opening:not(.is-portfolio-scrolled) .site-footer a:hover,.portfolio-opening:not(.is-portfolio-scrolled) .site-footer a:focus-visible{color:var(--portfolio-footer-contrast,var(--black));background:var(--portfolio-footer-ink,var(--white));text-decoration:none}.portfolio-opening.is-portfolio-scrolled .site-header,.portfolio-opening.is-portfolio-scrolled .site-footer{background:var(--white)!important;color:var(--black);border-color:var(--black)}.portfolio-opening:not(.is-portfolio-scrolled) .project-hero .content-header{color:var(--portfolio-hero-ink,var(--white))}.project-hero__scroll{grid-column:1/-1;justify-self:center;align-self:end;display:grid;place-items:center;width:2.65rem;height:2.65rem;margin-top:clamp(.75rem,1.5vw,1.15rem);padding:0;border:1px solid currentColor;border-radius:50%;background:color-mix(in srgb,currentColor 10%,transparent);color:inherit;cursor:pointer;animation:project-scroll-prompt 1.7s ease-in-out infinite}.project-hero__scroll:hover,.project-hero__scroll:focus-visible{background:var(--white);border-color:var(--white);color:var(--black);outline:0;animation:none}.project-hero__scroll .fa-solid{font-size:1rem}@keyframes project-scroll-prompt{50%{transform:translateY(.45rem)}}}
@media(prefers-reduced-motion:reduce){.project-hero__scroll{animation:none}}
@media(max-width:760px){.portfolio-mobile-backdrop{position:fixed;z-index:0;top:0;right:0;left:0;height:min(40dvh,28rem);background-position:top center;background-size:cover;background-repeat:no-repeat;pointer-events:none;transform:translateY(calc(-1 * var(--portfolio-mobile-scroll-offset,0px)))}.portfolio-mobile-backdrop::after{position:absolute;inset:0;content:"";background:linear-gradient(to bottom,color-mix(in srgb,var(--black) 58%,transparent),transparent 38%)}.portfolio-opening .site-header{position:relative;z-index:2;background:transparent!important;color:var(--white);border-color:color-mix(in srgb,var(--white) 62%,transparent);transition:background-color .24s ease,color .24s ease,border-color .24s ease}.portfolio-opening .site-header .wordmark,.portfolio-opening .site-header .menu-toggle{color:inherit!important}.portfolio-opening.is-portfolio-scrolled .site-header{background:var(--white)!important;color:var(--black);border-color:var(--black)}.portfolio-opening .content--portfolio-detail{position:relative;z-index:1;padding:0!important}.portfolio-opening .project-detail>.content-blocks{padding:1rem var(--pad) clamp(2rem,8vw,4rem);background:var(--white)}.project-hero{display:flex;flex-direction:column}.project-hero__media{order:-2;flex:0 0 auto;height:calc(min(40dvh,28rem) - var(--portfolio-mobile-header-height,0px));margin:0 0 clamp(1.5rem,6vw,2.5rem);overflow:hidden}.portfolio-opening.is-mobile-portfolio-opening-ready .project-hero__media{opacity:0}.project-hero__media .responsive-image,.project-hero__media picture,.project-hero__media img{width:100%;height:100%}.project-hero__media img{object-fit:cover}.project-hero:has(figcaption) .project-hero__media{margin-bottom:0}.project-hero figcaption{order:-1;margin:.65rem var(--pad) clamp(1.5rem,6vw,2.5rem)}.project-hero .content-header{order:0;display:grid;grid-template-columns:max-content minmax(0,1fr);column-gap:.75rem;row-gap:.3rem;margin:0 var(--pad) .5rem}.project-hero .content-header .back-link{grid-column:1;align-self:baseline;white-space:nowrap}.project-hero .content-header .eyebrow{grid-column:2;align-self:baseline;min-width:0;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-hero .content-header h1,.project-hero .content-header .lede{grid-column:1/-1}.project-hero .content-header h1{margin-top:.65rem}.project-hero .content-header .lede{margin-top:.5rem}.project-detail>.content-blocks>.block--text:first-child h2:first-child{margin-top:.7em}.project-hero__scroll{display:none}}
@media(max-width:760px){.site-header{align-items:center;gap:1rem;padding:.6rem var(--pad)}.site-header .wordmark{font-size:1.1rem}.site-header .menu-toggle{width:2.15rem;height:2.15rem}.portfolio-mobile-backdrop{position:fixed;z-index:0;top:0;right:0;left:0;height:min(40dvh,28rem);background-position:top center;background-size:cover;background-repeat:no-repeat;pointer-events:none;transform:translateY(calc(-1 * var(--portfolio-mobile-scroll-offset,0px)))}.portfolio-mobile-backdrop::after{position:absolute;inset:0;content:"";background:linear-gradient(to bottom,color-mix(in srgb,var(--black) 58%,transparent),transparent 38%)}.portfolio-opening .site-header{position:relative;z-index:2;background:transparent!important;color:var(--white);border-color:color-mix(in srgb,var(--white) 62%,transparent);transition:background-color .24s ease,color .24s ease,border-color .24s ease}.portfolio-opening .site-header .wordmark,.portfolio-opening .site-header .menu-toggle{color:inherit!important}.portfolio-opening.is-portfolio-scrolled .site-header{background:var(--white)!important;color:var(--black);border-color:var(--black)}.portfolio-opening .content--portfolio-detail{position:relative;z-index:1;padding:0!important}.portfolio-opening .project-detail>.content-blocks{padding:1rem var(--pad) clamp(2rem,8vw,4rem);background:var(--white)}.project-hero{display:flex;flex-direction:column}.project-hero__media{order:-2;flex:0 0 auto;height:calc(min(40dvh,28rem) - var(--portfolio-mobile-header-height,0px));margin:0 0 clamp(1.5rem,6vw,2.5rem);overflow:hidden}.portfolio-opening.is-mobile-portfolio-opening-ready .project-hero__media{opacity:0}.project-hero__media .responsive-image,.project-hero__media picture,.project-hero__media img{width:100%;height:100%}.project-hero__media img{object-fit:cover}.project-hero:has(figcaption) .project-hero__media{margin-bottom:0}.project-hero figcaption{order:-1;margin:.65rem var(--pad) clamp(1.5rem,6vw,2.5rem)}.project-hero .content-header{order:0;display:grid;grid-template-columns:max-content minmax(0,1fr);column-gap:.75rem;row-gap:.3rem;margin:0 var(--pad) .5rem}.project-hero .content-header .back-link{grid-column:1;align-self:baseline;white-space:nowrap}.project-hero .content-header .eyebrow{grid-column:2;align-self:baseline;min-width:0;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-hero .content-header h1,.project-hero .content-header .lede{grid-column:1/-1}.project-hero .content-header h1{margin-top:.65rem}.project-hero .content-header .lede{margin-top:.5rem}.project-detail>.content-blocks>.block--text:first-child h2:first-child{margin-top:.7em}.project-hero__scroll{display:none}}
@media(max-width:760px){.site-header{align-items:center;gap:1rem;padding:.6rem var(--pad)}.site-header .wordmark{font-size:1.1rem}.site-header .menu-toggle{width:2.15rem;height:2.15rem}.portfolio-mobile-backdrop{position:fixed;z-index:0;top:0;right:0;left:0;height:min(40dvh,28rem);background-position:top center;background-size:cover;background-repeat:no-repeat;pointer-events:none;transform:translateY(calc(-1 * var(--portfolio-mobile-scroll-offset,0px)))}.portfolio-mobile-backdrop::after{position:absolute;inset:0;content:"";background:linear-gradient(to bottom,color-mix(in srgb,var(--black) 58%,transparent),transparent 38%)}.portfolio-opening .site-header{position:relative;z-index:2;background:transparent!important;color:var(--white);border-color:color-mix(in srgb,var(--white) 62%,transparent);transition:background-color .24s ease,color .24s ease,border-color .24s ease}.portfolio-opening .site-header .wordmark,.portfolio-opening .site-header .menu-toggle{color:inherit!important}.portfolio-opening.is-portfolio-scrolled .site-header{background:var(--white)!important;color:var(--black);border-color:var(--black)}.portfolio-opening .content--portfolio-detail{position:relative;z-index:1;padding:0!important}.portfolio-opening .project-detail>.content-blocks{padding:1rem var(--pad) clamp(2rem,8vw,4rem);background:var(--white)}.project-hero{display:flex;flex-direction:column}.project-hero__media{order:-2;flex:0 0 auto;height:calc(min(40dvh,28rem) - var(--portfolio-mobile-header-height,0px));margin:0 0 clamp(.65rem,3vw,1rem);overflow:hidden}.portfolio-opening.is-mobile-portfolio-opening-ready .project-hero__media{opacity:0}.project-hero__media .responsive-image,.project-hero__media picture,.project-hero__media img{width:100%;height:100%}.project-hero__media img{object-fit:cover}.project-hero:has(figcaption) .project-hero__media{margin-bottom:0}.project-hero figcaption{order:-1;margin:.65rem var(--pad) clamp(.65rem,3vw,1rem)}.project-hero .content-header{order:0;display:grid;grid-template-columns:max-content minmax(0,1fr);column-gap:.75rem;row-gap:.3rem;margin:0 var(--pad) .5rem}.project-hero .content-header .back-link{grid-column:1;align-self:baseline;white-space:nowrap}.project-hero .content-header .eyebrow{grid-column:2;align-self:baseline;min-width:0;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-hero .content-header h1,.project-hero .content-header .lede{grid-column:1/-1}.project-hero .content-header h1{margin-top:.65rem}.project-hero .content-header .lede{margin-top:.5rem}.project-detail>.content-blocks>.block--text:first-child h2:first-child{margin-top:.7em}.project-hero__scroll{display:none}}
html,body{height:100%;overflow:hidden}.site-shell main,.home-page main{overflow-x:hidden;scrollbar-width:none;-ms-overflow-style:none}.site-shell main::-webkit-scrollbar,.home-page main::-webkit-scrollbar{display:none;width:0;height:0}
