:root{--project-paper:#f8f8f5;--project-ink:#202521;--project-olive:#6b705b;--project-line:#d8d9d2;--project-muted:#667061;--project-space:clamp(24px,4vw,72px)}.projects-page *,.featured-projects *{box-sizing:border-box}body.projects-page{margin:0;font-family:Arial,Helvetica,sans-serif;background:var(--project-paper);color:var(--project-ink)}.projects-page button,.projects-page input,.projects-page textarea,.projects-page select{font:inherit}.projects-page button,.projects-page a{-webkit-tap-highlight-color:transparent}.projects-page button{cursor:pointer}.projects-page a,.featured-projects a{color:inherit;text-decoration:none}.projects-page img,.featured-projects img{display:block;max-width:100%;object-fit:cover}[hidden]{display:none!important}.projects-page button:focus-visible,.projects-page a:focus-visible,.featured-projects a:focus-visible{outline:2px solid var(--project-olive);outline-offset:5px}.project-skip{position:absolute;top:-80px;left:24px;background:white;padding:16px;z-index:10}.project-skip:focus{top:8px}.project-header{height:80px;display:flex;align-items:center;gap:36px;padding:0 var(--project-space);border-bottom:1px solid var(--project-line)}.project-brand{font-size:26px;letter-spacing:.2em;white-space:nowrap}.project-brand small{display:block;font-size:8px;letter-spacing:.25em;margin-top:8px}.project-header nav{display:flex;gap:28px;margin-left:auto}.project-header nav a{text-transform:uppercase;font-size:12px;padding:15px 0;letter-spacing:.08em}.project-header nav [aria-current]{border-bottom:1px solid var(--project-olive)}.project-contact{font-size:12px;letter-spacing:.08em;border-bottom:1px solid currentColor;padding-bottom:9px;white-space:nowrap}.project-main{max-width:1584px;padding:0 var(--project-space);margin:auto}.breadcrumbs{font-size:13px;color:var(--project-muted);margin:32px 0 42px}.project-eyebrow{font-size:12px;letter-spacing:.2em;margin:0 0 20px;text-transform:uppercase}.projects-page h1{font-weight:400;font-size:clamp(38px,5.7vw,70px);letter-spacing:-.03em;line-height:1.12;margin:0 0 22px}.projects-page h1 em{font-family:Georgia,serif;font-weight:400}.project-lead{font-size:20px;line-height:1.7;color:var(--project-muted);margin:0 0 34px}.project-filters{display:flex;gap:40px;overflow:auto;border-bottom:1px solid var(--project-line);margin-bottom:44px}.project-filters button{background:none;border:0;border-bottom:3px solid transparent;padding:16px 0;font-size:15px;color:var(--project-muted);white-space:nowrap;min-height:48px}.project-filters [aria-pressed=true]{color:var(--project-ink);border-bottom-color:var(--project-olive)}.project-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:48px 36px}.project-card{display:block}.project-card>img{width:100%;aspect-ratio:3/2;background:#e6e8e0}.card-caption{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:18px 0 8px}.card-caption h2{font-size:clamp(22px,2.1vw,30px);font-weight:400;margin:0;line-height:1.25}.card-caption span{font-size:28px}.project-card>p{font-size:14px;color:var(--project-muted);margin:0}.project-empty{padding:60px 0;font-size:18px;line-height:1.7}.project-facts{display:flex;gap:28px;margin:30px 0 38px;flex-wrap:wrap}.project-facts>div{padding-right:28px;border-right:1px solid var(--project-line)}.project-facts>div:last-child{border:0}.project-facts dt{font-size:13px;color:var(--project-muted);margin-bottom:10px}.project-facts dd{font-size:17px;margin:0}.project-cover{width:100%;aspect-ratio:2.4/1;object-fit:cover}.project-description{display:grid;grid-template-columns:1fr 3fr;gap:35px;margin:40px 0;line-height:1.8}.project-description h2,.project-gallery h2{font-weight:400;font-size:26px;margin:0}.project-description>div{border-left:1px solid var(--project-line);padding-left:35px;white-space:normal}.project-gallery h2{margin:0 0 20px}.gallery-stage{position:relative;touch-action:pan-y}.gallery-dialog>img{touch-action:pan-y}.gallery-open{display:block;border:0;padding:0;width:100%;background:#e6e8e0;cursor:zoom-in}.gallery-open img{width:100%;aspect-ratio:3/1;object-fit:cover}.gallery-arrow{position:absolute;top:50%;transform:translateY(-50%);border:0;border-radius:50%;width:48px;height:48px;font-size:25px;background:#f8f8f5ee;color:var(--project-ink)}.gallery-prev{left:16px}.gallery-next{right:16px}.gallery-thumbs{display:flex;gap:16px;overflow:auto;padding:14px 2px 8px}.gallery-thumbs button{border:2px solid transparent;padding:3px;background:none;min-width:110px;width:calc((100% - 48px)/4);flex-shrink:0}.gallery-thumbs [aria-pressed=true]{border-color:var(--project-olive)}.gallery-thumbs img{width:100%;aspect-ratio:2.2/1;object-fit:cover}.gallery-dialog{border:0;padding:60px 70px 40px;background:#202521;max-width:100vw;width:100vw;height:100dvh;max-height:100dvh;margin:0;color:white}.gallery-dialog::backdrop{background:#202521}.gallery-dialog>img{width:100%;height:100%;object-fit:contain}.gallery-close{position:absolute;right:22px;top:12px;width:44px;height:44px;background:none;border:0;color:white;font-size:32px}.project-cta{margin:55px 0 28px;border-top:1px solid var(--project-line);padding:34px 0;display:flex;align-items:center;justify-content:space-between;gap:30px}.project-cta h2{font-size:32px;font-weight:400;margin:0 0 10px}.project-cta p{margin:0;color:var(--project-muted);line-height:1.7}.projects-page .project-button{display:inline-flex;align-items:center;justify-content:center;gap:22px;min-height:48px;padding:17px 26px;background:var(--project-olive);color:white;font-size:14px;border:0}.project-back{display:inline-block;padding:12px 0;font-size:14px}.project-footer{display:flex;justify-content:space-between;padding:32px var(--project-space);margin-top:45px;border-top:1px solid var(--project-line);font-size:12px}.demo-note{font-size:12px;color:var(--project-muted);margin-top:40px}.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}.featured-projects{padding:85px var(--space);background:#f8f8f5;color:#202521}.featured-projects h2{font-size:clamp(36px,4.2vw,66px)}.featured-projects .project-grid{margin:35px 0}.featured-projects .project-card p{font-size:14px;margin:0}.featured-projects .card-caption h3{font-size:26px;font-weight:400;margin:0}.featured-all{display:inline-block;border-bottom:1px solid currentColor;padding:12px 0;font-size:13px;text-transform:uppercase;letter-spacing:.08em}@media(hover:hover)and(pointer:fine){.project-card:hover .card-caption{color:var(--project-olive)}.project-button:hover{background:#535a45}.gallery-arrow:hover{background:white}}@media(max-width:1050px){.project-header{gap:24px}.project-header nav{gap:16px}.project-contact{display:none}.project-filters{gap:26px}}@media(max-width:700px){.project-header{height:auto;min-height:100px;align-items:start;flex-wrap:wrap;padding-top:22px;padding-bottom:16px;gap:18px}.project-brand{font-size:23px}.project-header nav{margin:0;width:100%;gap:24px;overflow:auto}.project-header nav a{font-size:12px;white-space:nowrap;padding:8px 0}.breadcrumbs{margin:28px 0 35px;font-size:12px}.project-lead{font-size:17px;margin-bottom:25px}.project-filters{gap:25px;margin-bottom:28px}.project-filters button{font-size:14px}.project-grid{grid-template-columns:1fr;gap:32px}.card-caption h2{font-size:25px}.project-facts{gap:20px;margin:24px 0}.project-facts>div{width:calc(50% - 10px);padding:0;border:0}.project-facts dd{font-size:15px}.project-cover{aspect-ratio:4/3}.project-description{display:block;margin:30px 0}.project-description h2{margin-bottom:15px}.project-description>div{border:0;padding:0;font-size:16px}.gallery-open img{aspect-ratio:4/3}.gallery-thumbs{gap:8px}.gallery-thumbs button{width:90px;min-width:90px}.gallery-arrow{width:44px;height:44px}.gallery-prev{left:10px}.gallery-next{right:10px}.gallery-dialog{padding:70px 12px 25px}.gallery-dialog .gallery-arrow{top:auto;bottom:8px}.project-cta{display:block;margin-top:35px}.project-cta h2{font-size:28px}.project-button{margin-top:18px;width:100%}.project-footer{gap:24px;flex-wrap:wrap}.featured-projects{padding:65px var(--space)}}@media(prefers-reduced-motion:no-preference){.project-button{transition:background-color 160ms ease}.gallery-open img{transition:opacity 180ms cubic-bezier(.23,1,.32,1)}}

.projects-page h1,.card-caption h2,.card-caption h3,.project-facts dd,.project-description>div{overflow-wrap:anywhere}.project-facts>div{max-width:100%;min-width:0}.card-caption span{flex-shrink:0}.gallery-thumbs{position:relative}

@media(min-width:701px) and (max-width:1100px){.project-header nav a{font-size:11px}}
