.portfolio-card{margin-top:32px}.portfolio-card a{display:block}.portfolio-card a:hover{text-decoration:none}.portfolio-cover{overflow:hidden;background:#eceeea}.portfolio-cover img{display:block;width:100%;height:auto;aspect-ratio:16/9}.portfolio-card-top{display:flex;justify-content:space-between;gap:20px;align-items:baseline;margin-top:22px}.portfolio-card-top h3{font:400 2rem/1.2 var(--serif);letter-spacing:-.025em}.portfolio-card-top>span{font-size:.875rem;color:var(--muted)}.project-category .portfolio-location{margin-top:10px;max-width:none;font-size:.875rem}.project-category .portfolio-summary{max-width:500px;margin-top:16px}.portfolio-open{display:inline-block;margin-top:20px;padding-block:8px;font-size:.9rem;border-bottom:1px solid var(--line)}.portfolio-open>span{margin-left:24px}.portfolio-card a:hover .portfolio-open{border-color:var(--burgundy)}
.project-detail{padding-top:34px}.project-back{display:inline-flex;align-items:center;gap:10px;min-height:44px;font-size:.875rem;color:var(--muted)}.project-title{display:flex;justify-content:space-between;gap:32px;align-items:flex-end;margin-block:34px 40px}.project-title .eyebrow{color:var(--burgundy);font-size:.875rem;letter-spacing:.08em}.project-title h1{font:400 clamp(3.5rem,6.2vw,6.2rem)/1.05 var(--serif);letter-spacing:-.045em;margin-top:18px}.project-title>p{text-align:right;font-size:1rem;color:var(--muted);padding-bottom:8px}.project-title>p span{display:block;margin-top:8px;font-size:.875rem}.project-hero img,.project-gallery img{width:100%;height:auto;display:block;aspect-ratio:16/9;background:#eceeea}.project-hero figcaption,.project-gallery figcaption{margin-top:12px;font-size:.875rem;color:var(--muted);line-height:1.6}.project-hero figcaption{text-align:right}.project-story{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.35fr);gap:8%;padding-block:72px}.project-facts{display:grid;grid-template-columns:1fr 1fr;gap:26px 24px;align-content:start;margin:0}.project-facts>div{border-top:1px solid var(--line);padding-top:15px}.project-facts dt{font-size:.875rem;color:var(--muted);line-height:1.5}.project-facts dd{font-size:1rem;line-height:1.7;margin:8px 0 0}.project-scope{grid-column:1/-1}.project-scope ul{list-style:none;padding:0;margin:0}.project-narrative h2{font-size:clamp(2rem,2.7vw,2.9rem);line-height:1.2;margin-bottom:24px}.project-narrative p{font-size:1rem;line-height:1.85;color:var(--muted)}.project-narrative p+p{margin-top:20px}.project-gallery{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:34px 28px}.project-gallery-wide{grid-column:1/-1}.project-gallery figure{min-width:0}.project-visual-note{margin-top:30px;font-size:.875rem;color:var(--muted)}.project-end{display:flex;align-items:center;justify-content:space-between;gap:24px;border-top:1px solid var(--line);margin-top:54px;padding-top:20px}.project-end .text-link{margin:0}
@media(max-width:760px){.portfolio-card{margin-top:26px}.project-detail{padding-top:22px}.project-title{display:block;margin-block:24px 28px}.project-title h1{font-size:clamp(3rem,12vw,4.5rem);overflow-wrap:break-word}.project-title .eyebrow{font-size:.875rem}.project-title>p{text-align:left;margin-top:22px;padding:0}.project-title>p span{margin-top:4px}.project-story{grid-template-columns:1fr;gap:38px;padding-block:38px}.project-facts{gap:22px 18px}.project-gallery{grid-template-columns:1fr;gap:26px}.project-gallery-wide{grid-column:auto}.project-hero figcaption{text-align:left}.project-end{align-items:flex-start;flex-direction:column;gap:12px;margin-top:36px}.project-visual-note{margin-top:24px}}
.portfolio-card+.portfolio-card{margin-top:44px;padding-top:38px;border-top:1px solid var(--line)}
.portfolio-card-top h3{min-width:0;overflow-wrap:break-word}.portfolio-card-top>span{flex-shrink:0;white-space:nowrap}
.project-title-long{display:block}.project-title-long h1{max-width:1150px;font-size:clamp(2.8rem,4.7vw,4.8rem);line-height:1.08;overflow-wrap:break-word}.project-title-long>p{margin-top:26px;text-align:left;padding:0}.project-title-long>p span{line-height:1.6}
@media(max-width:760px){.project-title-long h1{font-size:clamp(1.75rem,7.2vw,3.4rem);line-height:1.12}.portfolio-card-top h3{font-size:1.8rem}.portfolio-card+.portfolio-card{margin-top:32px;padding-top:30px}.project-title-long>p{margin-top:20px}}
/* Compact project catalogue; project detail pages retain their existing layout. */
.projects-overview{padding-block:32px 44px;min-height:calc(100svh - 214px)}
.projects-overview .page-heading{margin-bottom:24px}.projects-overview .page-heading h1{font-size:clamp(2.6rem,3.5vw,3.5rem);margin-top:10px}
.projects-overview .project-categories{display:block}
.projects-overview .project-category{padding:24px 0 30px;scroll-margin-top:20px}
.projects-overview .project-category+.project-category{padding:24px 0 14px;border-left:0;border-top:1px solid var(--line)}
.projects-overview .portfolio-category-heading{display:flex;align-items:baseline;gap:14px;margin-bottom:22px}
.projects-overview .category-number{margin:0;flex:none;font-size:.8rem}
.projects-overview .project-category h2{font-size:clamp(1.65rem,2.2vw,2rem);max-width:none}
.projects-overview .portfolio-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px 24px}
.projects-overview .portfolio-card,.projects-overview .portfolio-card+.portfolio-card{min-width:0;margin:0;padding:0;border:0}
.projects-overview .portfolio-card[hidden]{display:none}
.projects-overview .portfolio-card a{height:100%}
.projects-overview .portfolio-card-copy{min-width:0;padding-top:14px}
.projects-overview .portfolio-card-copy p{max-width:none;margin:0;line-height:1.5}
.projects-overview .portfolio-card-copy .portfolio-year{font-size:.75rem;letter-spacing:.07em;color:var(--burgundy);margin-bottom:6px}
.projects-overview .portfolio-title{font:400 clamp(1.35rem,1.7vw,1.65rem)/1.2 var(--serif);letter-spacing:-.02em;overflow-wrap:break-word}
.projects-overview .portfolio-card a:hover .portfolio-title{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px;text-decoration-color:var(--burgundy)}
.projects-overview .portfolio-card-copy .portfolio-location{font-size:.82rem;margin-top:8px}
.projects-overview .portfolio-card-copy .portfolio-type{font-size:.75rem;margin-top:3px}
.projects-overview .portfolio-empty{grid-column:1/-1;max-width:none;margin:0;font-size:.9rem}
.projects-overview .portfolio-pagination{display:flex;justify-content:center;align-items:center;gap:18px;margin:26px 0 0;font-size:.85rem}
.projects-overview .portfolio-pagination[hidden]{display:none}
.projects-overview .portfolio-pagination button{min-height:44px;padding:10px 17px;font:inherit;border:1px solid var(--line);background:white;color:var(--ink);cursor:pointer}
.projects-overview .portfolio-pagination button:hover:not(:disabled){border-color:var(--burgundy);color:var(--burgundy)}
.projects-overview .portfolio-pagination button:disabled{opacity:.4;cursor:default}
.projects-overview .portfolio-pagination button:focus-visible{outline:2px solid var(--burgundy);outline-offset:3px}
@media(max-width:1100px){.projects-overview .portfolio-grid{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:20px}}
@media(max-width:760px){.projects-overview{padding-block:24px 32px}.projects-overview .page-heading{margin-bottom:20px}.projects-overview .project-category{padding-block:20px 24px}.projects-overview .portfolio-category-heading{margin-bottom:18px}.projects-overview .project-category h2{font-size:1.65rem}}
@media(max-width:600px){.projects-overview .portfolio-grid{grid-template-columns:minmax(0,1fr);gap:0}.projects-overview .portfolio-card a{display:grid;grid-template-columns:120px minmax(0,1fr);gap:14px;align-items:start;padding-block:16px}.projects-overview .portfolio-card:first-child a{padding-top:0}.projects-overview .portfolio-card+.portfolio-card{border-top:1px solid var(--line)}.projects-overview .portfolio-card-copy{padding:0}.projects-overview .portfolio-title{font-size:1.14rem;line-height:1.25}.projects-overview .portfolio-card-copy .portfolio-year{font-size:.7rem;margin-bottom:4px}.projects-overview .portfolio-card-copy .portfolio-location{font-size:.76rem;margin-top:6px}.projects-overview .portfolio-card-copy .portfolio-type{font-size:.72rem}.projects-overview .project-category h2{font-size:1.5rem}.projects-overview .portfolio-pagination{gap:10px}.projects-overview .portfolio-pagination button{padding-inline:12px}}
@media(max-width:360px){.projects-overview .portfolio-card a{grid-template-columns:96px minmax(0,1fr)}}
