/* Project albums: generous photographs, quiet captions and a clear sequence. */
.project-stage-controls{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}.project-stage-controls a{display:flex;align-items:center;justify-content:center;gap:9px;flex:1;min-height:44px;padding:10px 12px;border:1px solid #a79c8b;background:transparent;font-size:.78rem;white-space:nowrap;transition:background .2s,color .2s}.project-stage-controls a:hover{background:var(--ink);color:var(--paper);border-color:var(--ink)}.project-stage-controls a:focus-visible{outline:3px solid var(--brick);outline-offset:3px}.project-stage-controls a[aria-busy=true]{cursor:progress;background:#ded4c3}.project-stage-controls a>span{font-size:.67rem;opacity:.8}.home-project-note .project-stage-controls{margin:22px 0}.home-project-note .text-link{font-size:.8rem}.project-card .project-card-link{height:auto;flex:1}.project-card{display:flex;flex-direction:column}.portfolio-home .home-project-feature{margin-bottom:0}.portfolio-home .portfolio-home-footer{margin-top:30px}.portfolio-home-footer>p{max-width:620px}.portfolio-home-footer>.button{flex-shrink:0}
.project-directory-intro{grid-template-columns:1.15fr 1fr;padding-block:55px;align-items:end}.project-directory-intro>div>p:first-child:not(.eyebrow){margin-top:0}.project-directory-intro>div>p:not(.eyebrow){max-width:460px;margin-bottom:18px}.directory-location{font-size:.73rem;color:var(--muted);line-height:1.7;display:block}.directory-heading{display:flex;justify-content:space-between;gap:30px;align-items:end}.directory-heading h2{font-size:2rem}.directory-heading p{font-size:.86rem;color:var(--text);margin:0}.portfolio-directory{scroll-margin-top:105px}.project-pagination{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:28px;border-top:1px solid var(--line);padding-top:28px;margin-top:40px}.project-pagination button{justify-self:start;border:1px solid var(--ink);font-size:.82rem}.project-pagination button:last-child{justify-self:end}.project-pagination button:disabled{opacity:.4;cursor:default}.project-pagination>span{font-size:.8rem;color:var(--muted)}.album-dialog #album-project{font-size:.75rem;color:var(--muted);margin:7px 0 0}.album-dialog #album-project:empty{display:none}
@media(max-width:780px){.project-directory-intro{grid-template-columns:1fr;gap:25px;padding-block:40px}.directory-heading{display:block}.directory-heading p{margin-top:15px}.portfolio-home-footer>p{max-width:100%}}
@media(max-width:480px){.project-pagination{grid-template-columns:1fr 1fr;gap:16px}.project-pagination>span{grid-column:1/-1;grid-row:1;text-align:center}.project-pagination button{font-size:.76rem;padding:12px 13px;gap:9px;width:100%;justify-content:center}.project-stage-controls a{padding-inline:10px}}
@media(prefers-reduced-motion:reduce){.project-stage-controls a{transition:none}}
.project-cover img,.album-photo img{height:auto}
.album-dialog-bottom>div{grid-column:2}
.portfolio-home{border-top:1px solid var(--line)}
.portfolio-section-heading{display:grid;grid-template-columns:1.1fr 1fr;gap:70px;align-items:end;margin-bottom:42px}.portfolio-section-heading>p,.portfolio-section-heading>div>p:not(.eyebrow){max-width:455px;color:var(--text)}.portfolio-section-heading .text-link{margin-top:5px}
.project-comparison{display:grid;grid-template-columns:1fr 1fr;gap:22px;min-width:0}.comparison-label{display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding-bottom:10px;margin-bottom:12px;font-size:.77rem;font-weight:600;letter-spacing:1px;text-transform:uppercase}.comparison-label>span:last-child{font-size:.7rem;color:var(--muted);font-weight:400}.comparison-half:last-child .comparison-label{color:var(--brick)}.comparison-half figure>a{display:block;overflow:hidden;background:#dedacf}.comparison-half img{width:100%;height:100%;aspect-ratio:4/5;object-fit:cover;display:block;transition:transform .5s}.comparison-half a:hover img{transform:scale(1.025)}
.home-project-feature{display:grid;grid-template-columns:.72fr 1.6fr;gap:55px;align-items:center;background:#e8e1d5;padding:36px;margin-bottom:55px}.home-project-note h3{font-family:var(--heading);font-size:2.2rem;line-height:1.15;font-weight:400;margin:16px 0 20px}.home-project-note p{font-size:.93rem;color:var(--text)}.home-project-feature .comparison-half img{aspect-ratio:4/4.5}.project-category{display:block;color:var(--muted);font-size:.67rem;text-transform:uppercase;letter-spacing:1.35px;margin:0 0 12px}.portfolio-home-footer{border-top:1px solid var(--line);margin-top:45px;padding-top:26px;display:flex;justify-content:space-between;align-items:center;gap:30px}.portfolio-home-footer p{font-size:.92rem;color:var(--text);margin:0}
.project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:44px 30px}.project-card{min-width:0}.project-card>a{display:block;height:100%}.project-cover{overflow:hidden;position:relative;background:#e2ddcf}.project-cover img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;transition:transform .5s ease}.project-card a:hover img{transform:scale(1.035)}.project-open{position:absolute;right:12px;bottom:12px;display:grid;place-items:center;background:var(--paper);width:36px;height:36px;font-size:1.3rem;transition:background .2s}.project-card a:hover .project-open{background:var(--ink);color:var(--paper)}.project-card-copy{padding-top:20px}.project-card h3{font-family:var(--heading);font-size:1.65rem;font-weight:400;line-height:1.17;letter-spacing:-.5px}.project-card a:hover h3{text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:1px}.project-meta{display:flex;gap:12px;justify-content:space-between;border-top:1px solid var(--line);padding-top:13px;margin:19px 0 0;font-size:.72rem;color:var(--muted)}.project-meta>span:first-child{color:var(--brick)}
.portfolio-intro{display:grid;grid-template-columns:.85fr 1.15fr;gap:70px;padding-top:65px;padding-bottom:70px;align-items:center;border-bottom:1px solid var(--line)}.portfolio-intro h1{font-size:clamp(3rem,5vw,4.85rem)}.portfolio-intro h1 em{color:var(--brick)}.portfolio-intro>div>p:not(.eyebrow){margin:27px 0;color:var(--text)}.portfolio-intro .comparison-half img{aspect-ratio:3/4}.portfolio-intro .comparison-label{font-size:.68rem}.portfolio-directory{padding-bottom:65px}.project-filters{display:flex;flex-wrap:wrap;gap:9px;border-top:1px solid var(--line);padding-top:24px;margin:32px 0 15px}.project-filters button{border:1px solid var(--line);background:transparent;border-radius:2px;padding:11px 17px;font-size:.82rem;min-height:45px;transition:background .2s}.project-filters button:hover{background:#e9e3d8}.project-filters button[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:var(--white)}.project-count{font-size:.78rem;color:var(--muted);margin:0 0 28px}.load-projects{display:flex;margin:40px auto 0;border:1px solid var(--ink);background:transparent;min-width:250px}.load-projects:hover{background:#e7e1d5}
.work-details-section{padding-bottom:80px}.work-details-section>details{border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.work-details-section>details>summary{list-style:none;padding:30px 0;display:flex;align-items:center;justify-content:space-between;gap:20px}.work-details-section summary::-webkit-details-marker{display:none}.work-details-section summary .eyebrow{display:block;font-size:.65rem;margin-bottom:12px}.work-details-section summary strong{font-family:var(--heading);font-size:2rem;line-height:1.15;display:block;font-weight:400}.details-description{display:block;font-size:.85rem;color:var(--muted);margin-top:12px}.details-plus{font-size:2rem}.work-details-section details[open] .details-plus{transform:rotate(45deg)}.details-intro{color:var(--text);max-width:650px;margin:5px 0 30px}.detail-grid{padding-bottom:35px}.detail-grid .project-card h3{font-size:1.3rem}.detail-grid .project-cover img{aspect-ratio:3/2}
.album-wrap{padding-top:30px}.album-back{display:inline-flex;gap:14px;align-items:center;font-size:.83rem;padding-block:10px}.album-back:hover{text-decoration:underline}.album-heading{display:grid;grid-template-columns:1.2fr .8fr;gap:80px;align-items:end;padding-block:32px 45px}.album-heading h1{font-size:clamp(2.8rem,4.5vw,4.2rem);line-height:1.07;max-width:700px}.album-heading .eyebrow{font-size:.66rem;margin-bottom:20px}.album-heading>div>p:not(.eyebrow){color:var(--text);font-size:1rem}.album-heading .album-photo-count{font-size:.73rem!important;color:var(--muted)!important;margin:20px 0 0}.album-photo{min-width:0}.album-photo>a{display:block;position:relative;background:#e4ded3;overflow:hidden}.album-photo img{width:100%;display:block;object-fit:cover;transition:transform .4s}.album-photo a:hover img{transform:scale(1.02)}.album-photo figcaption{font-size:.74rem;line-height:1.45;color:var(--muted);padding-top:12px}.enlarge-mark{position:absolute;right:12px;bottom:12px;width:35px;height:35px;background:var(--paper);display:grid;place-items:center;font-size:1.15rem}.album-wrap>.project-comparison{gap:28px}.album-wrap>.project-comparison img{aspect-ratio:4/3.5}.album-lead-photo{max-width:100%;background:#e5dfd3}.album-lead-photo img{max-height:580px;object-fit:contain;aspect-ratio:16/8}.album-lead-photo figcaption{background:var(--paper)}.album-note{margin:24px 0 0;padding:17px 20px;background:#eae3d8;border-left:2px solid var(--brick);color:var(--text);font-size:.88rem}.stage-navigation{display:flex;gap:32px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding-block:20px;margin-top:38px;flex-wrap:wrap}.stage-navigation a{display:flex;align-items:center;gap:12px;font-size:.88rem;padding:5px 0}.stage-navigation a:hover{text-decoration:underline;text-underline-offset:5px}.stage-navigation span{font-size:.7rem;background:#e4ded3;min-width:24px;text-align:center;border-radius:50%;padding:2px}.album-section{padding-top:65px;scroll-margin-top:110px}.album-section-title{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:28px}.album-section-title .eyebrow{font-size:.62rem;margin-bottom:15px}.album-section-title h2{font-size:2.6rem}.album-section-title>p{font-size:.86rem;color:var(--text);max-width:300px;margin:0}.album-section-title>p>span{display:block;color:var(--muted);font-size:.72rem;margin-top:6px}.album-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}.album-grid img{aspect-ratio:4/4.3;object-fit:contain;background:#e7e1d7}.more-photos{margin-top:26px;border-bottom:1px solid var(--line)}.more-photos>summary{font-size:.87rem;padding:16px 0;display:flex;justify-content:space-between;border-top:1px solid var(--line);list-style:none;min-height:52px}.more-photos>summary::-webkit-details-marker{display:none}.more-photos[open]>summary{margin-bottom:20px}.more-photos[open]>summary span{transform:rotate(45deg)}.more-photos>.album-grid{padding-bottom:30px}.next-project{margin-top:65px;border-top:1px solid var(--line);padding-block:30px 60px;display:flex;justify-content:space-between;gap:30px;align-items:center}.next-project>a:first-child{font-size:.8rem}.next-project>a:last-child{text-align:right;max-width:65%}.next-project>a>span{display:block;font-size:.65rem;letter-spacing:1px;text-transform:uppercase;color:var(--muted);margin-bottom:10px}.next-project strong{font-weight:400;font-family:var(--heading);font-size:1.6rem;line-height:1.3}.next-project a:hover{text-decoration:underline;text-underline-offset:6px}.project-contact{background:#e4d6c4;padding-block:65px}.project-contact>.wrap{display:flex;justify-content:space-between;align-items:center;gap:45px}.project-contact h2{font-size:3rem}.project-contact p:not(.eyebrow){font-size:.87rem;margin:22px 0 0;color:var(--text)}.project-phone{display:block;margin-top:21px;font-size:1.65rem;text-align:center}.project-phone:hover{text-decoration:underline}.project-contact .eyebrow{font-size:.67rem}
.album-dialog{width:min(1100px,calc(100% - 30px));max-height:calc(100dvh - 30px);padding:18px 22px 20px;background:var(--paper);color:var(--ink);border:0;overflow:auto}.album-dialog::backdrop{background:#14231eee;backdrop-filter:blur(4px)}.album-dialog-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;gap:20px;font-size:.78rem}.album-dialog button{border:1px solid var(--line);background:transparent;min-width:46px;min-height:44px;padding:8px 15px;font-size:1.15rem}.album-dialog button:hover{background:#e1d8c8}.album-dialog #album-close{font-size:.83rem}.album-dialog #album-close span{font-size:1.2rem;margin-left:10px}.album-image-wrap{display:grid;place-items:center;background:#e0dacd;min-height:160px}.album-image-wrap img{display:block;max-width:100%;max-height:calc(100dvh - 215px);width:auto;height:auto;object-fit:contain}.album-dialog-bottom{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:20px;padding-top:16px}.album-dialog-bottom>div{text-align:center}.album-dialog h2{font-family:var(--font);font-size:.95rem;letter-spacing:0;line-height:1.35}.album-dialog #album-stage{font-size:.65rem;text-transform:uppercase;letter-spacing:1.5px;margin-bottom:6px;color:var(--brick)}body.album-open{overflow:hidden}
@media(min-width:1100px){.portfolio-home .home-project-grid{gap:38px}}
@media(max-width:1000px){.portfolio-intro{gap:35px;grid-template-columns:.85fr 1.15fr}.portfolio-section-heading{gap:40px}.home-project-feature{gap:30px;padding:25px}.home-project-note h3{font-size:1.85rem}.project-grid{gap:32px 22px}.project-card h3{font-size:1.45rem}.album-heading{gap:35px}.project-meta{font-size:.66rem}.album-grid{gap:20px}}
@media(max-width:780px){.portfolio-intro{grid-template-columns:1fr;gap:30px;padding-top:38px;padding-bottom:45px}.portfolio-intro h1{font-size:3.6rem}.portfolio-intro>div>p:not(.eyebrow){margin:20px 0}.portfolio-intro .project-comparison img{aspect-ratio:4/3.8}.portfolio-section-heading{grid-template-columns:1fr;gap:22px;margin-bottom:28px}.portfolio-section-heading>p{margin:0}.home-project-feature{grid-template-columns:1fr;gap:25px}.home-project-note h3 br{display:none}.home-project-note h3{font-size:2rem}.home-project-note p{margin-bottom:12px}.project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.home-project-grid .project-card:last-child{display:none}.portfolio-home-footer{align-items:flex-start;flex-direction:column;gap:20px}.project-filters{gap:7px}.project-filters button{padding:10px 13px;font-size:.78rem}.album-heading{grid-template-columns:1fr;gap:22px;padding-top:22px}.album-heading h1{font-size:3.2rem;max-width:520px}.album-heading>div>p:not(.eyebrow){font-size:.95rem}.album-heading .album-photo-count{margin-top:12px}.album-wrap>.project-comparison{gap:16px}.album-wrap>.project-comparison img{aspect-ratio:3/4}.album-section-title{align-items:start;flex-direction:column;gap:16px}.album-section-title>p{max-width:100%}.album-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.album-section{padding-top:45px}.stage-navigation{gap:24px}.album-lead-photo img{aspect-ratio:4/3;max-height:500px}.project-contact>.wrap{flex-direction:column;align-items:flex-start;gap:28px}.project-contact h2{font-size:2.75rem}.project-phone{text-align:left}.next-project strong{font-size:1.35rem}}
@media(max-width:480px){.project-comparison{gap:12px}.comparison-label{font-size:.68rem;letter-spacing:.6px}.comparison-label>span:last-child{display:none}.home-project-feature{padding:20px 16px;margin-inline:-4px}.home-project-note h3{font-size:1.85rem}.portfolio-intro h1{font-size:3.3rem}.project-grid{grid-template-columns:1fr;gap:32px}.project-card h3{font-size:1.65rem}.project-meta{font-size:.75rem}.home-project-grid .project-card:last-child{display:block}.home-project-grid .project-card:not(:first-child){display:none}.portfolio-home-footer .button{width:100%}.album-heading h1{font-size:2.75rem}.album-wrap>.project-comparison .album-photo figcaption{font-size:.67rem}.stage-navigation{gap:14px;justify-content:space-between;padding-block:14px}.stage-navigation a{font-size:.76rem;gap:6px}.album-section-title h2{font-size:2.25rem}.album-grid{gap:24px;grid-template-columns:1fr}.album-grid img{aspect-ratio:4/4.2;max-height:480px}.work-details-section summary strong{font-size:1.65rem}.next-project{gap:22px}.next-project>a:first-child{font-size:.73rem}.next-project strong{font-size:1.2rem}.project-contact{padding-block:45px}.project-contact .button{gap:18px}.album-dialog{padding:12px;max-height:calc(100dvh - 16px);width:calc(100% - 16px)}.album-dialog-bottom{gap:10px}.album-dialog h2{font-size:.8rem}.album-dialog-bottom button{padding:7px 12px}.album-image-wrap img{max-height:calc(100dvh - 205px)}}
@media(prefers-reduced-motion:reduce){.project-cover img,.comparison-half img,.album-photo img,.project-open,.project-filters button{transition:none!important}.project-card a:hover img,.comparison-half a:hover img,.album-photo a:hover img{transform:none!important}}
