.portfolio-section{background:#eef4ed;border-top:1px solid var(--line);padding:90px 0}.portfolio-section .section-heading{grid-template-columns:1.05fr .95fr;gap:70px}.portfolio-section .section-heading>p{max-width:395px}.portfolio-toolbar{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:0 0 28px}.portfolio-filters{display:flex;flex-wrap:wrap;gap:9px;min-width:0}.portfolio-filter{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 22px;border:1px solid #c7d7ca;border-radius:100px;font-size:12px;font-weight:650;line-height:1.5;color:var(--ink);background:#ffffff80;transition:background .18s,border-color .18s;overflow-wrap:anywhere}.portfolio-filter:hover{background:#dcebdd;border-color:#90b39c}.portfolio-filter[aria-current]{background:var(--ink);border-color:var(--ink);color:#fff}.portfolio-filter:focus-visible{outline:3px solid #07845c;outline-offset:3px}.portfolio-status{font-size:11px;line-height:1.6;white-space:nowrap;color:#506b5d}.portfolio-grid[aria-busy=true]{opacity:.55}.portfolio-no-results{grid-column:1/-1;padding:30px 0}.portfolio-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px}.portfolio-card{min-width:0;background:#fff;border:1px solid #d6e1d5;border-radius:16px;overflow:hidden;display:flex;flex-direction:column;transition:box-shadow .2s}.portfolio-card:hover{box-shadow:0 12px 32px #143d3210}.portfolio-cover{display:block;position:relative;overflow:hidden;background:#dce9dd;aspect-ratio:4/3;border-bottom:1px solid #dce5da}.portfolio-cover>img{height:100%;width:100%;object-fit:cover;object-position:top;transition:transform .35s}a.portfolio-cover:hover>img{transform:scale(1.035)}.portfolio-cover-arrow{position:absolute;right:16px;bottom:16px;display:grid;place-items:center;width:36px;height:36px;border-radius:50%;color:var(--ink);background:#ffffffed;box-shadow:0 4px 12px #143d3215}.portfolio-cover-arrow .icon{width:17px;height:17px}.portfolio-card-body{padding:25px;display:flex;flex-direction:column;align-items:flex-start;flex:1}.portfolio-card-body>.eyebrow{font-size:9px;letter-spacing:.14em;margin-bottom:10px}.portfolio-card h2,.portfolio-card h3{font-size:25px;line-height:1.2;overflow-wrap:anywhere}.portfolio-card h2 a:hover,.portfolio-card h3 a:hover{text-decoration:underline;text-underline-offset:4px}.portfolio-summary{font-size:12px;line-height:1.8;margin-top:12px}.portfolio-card-body>.text-link{font-size:11px;padding-top:22px;margin-top:auto}.portfolio-placeholder{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:15px;background:linear-gradient(135deg,#e7f2e3,#c2e4d4);color:#39745b}.portfolio-placeholder>.icon{height:70px;width:70px;flex-basis:70px;stroke-width:.8}.portfolio-placeholder>span{font-size:9px;letter-spacing:.25em;font-weight:750}.portfolio-footer{display:flex;justify-content:space-between;align-items:center;gap:30px;margin-top:36px}.portfolio-footer>p{font-size:12px;line-height:1.8}.portfolio-footer strong{color:var(--ink);font-weight:650}.portfolio-footer .button{font-size:12px}.portfolio-back{margin-bottom:42px}.portfolio-archive h1{font-size:clamp(36px,4.5vw,56px)}.portfolio-pagination{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin-top:40px}.portfolio-pagination .page-numbers{display:grid;place-items:center;min-width:40px;min-height:40px;padding:6px 12px;border:1px solid var(--line);border-radius:6px;font-size:13px}.portfolio-pagination .current{background:var(--ink);color:#fff}.portfolio-empty{padding:40px 0}.portfolio-empty .button{margin-top:25px}.project-detail-heading{margin-bottom:42px}.project-detail-heading>div{max-width:760px;min-width:0}.project-detail-heading h1{font-size:clamp(36px,4.5vw,62px);margin-top:16px;overflow-wrap:anywhere}.project-detail-intro{font-size:16px;line-height:1.8;margin-top:22px}.project-detail-activity{font-size:14px;line-height:1.7;margin-top:18px;overflow-wrap:anywhere}.project-detail-activity strong{color:var(--ink);font-weight:650}.project-detail-activity+.project-website-link{margin-top:4px}.project-website-link{display:inline-flex;align-items:center;gap:10px;max-width:100%;min-height:44px;margin-top:16px;padding:6px 0;color:var(--ink);font-size:14px;font-weight:650;line-height:1.5}.project-website-link>.icon{width:20px;height:20px;flex:0 0 20px}.project-website-link>.icon:last-of-type{width:16px;height:16px;flex-basis:16px}.project-website-address{min-width:0;overflow-wrap:anywhere}.project-website-link:hover .project-website-address{text-decoration:underline;text-underline-offset:4px}.project-website-link:focus-visible{outline:3px solid #07845c;outline-offset:5px;border-radius:3px}.project-detail-cover{border:1px solid var(--line);border-radius:16px;overflow:hidden;background:var(--pale);margin-bottom:50px}.project-detail-cover img{width:100%;height:auto}.project-detail-content{margin-inline:auto}.project-detail-content:empty{display:none}.project-detail-content figure{margin:30px 0}.project-detail-content img{border-radius:10px}.project-detail-cta{display:flex;justify-content:space-between;align-items:center;gap:35px;padding:36px;margin-top:60px;border-radius:16px;background:#e2f3e7}.project-detail-cta h2{font-size:30px;margin-top:12px}.project-detail-cta>.button{flex-shrink:0}@media(max-width:1100px){.primary-nav{gap:24px}.nav-links{gap:18px}.header-inner{gap:20px}}@media(max-width:1000px){.portfolio-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.portfolio-section .section-heading{gap:35px}.project-detail-cta{align-items:flex-start;flex-direction:column}}@media(max-width:760px){.portfolio-section{padding:65px 0}.portfolio-grid{grid-template-columns:1fr;gap:24px}.portfolio-section .section-heading{grid-template-columns:1fr;gap:20px}.portfolio-section .section-heading>p{max-width:none}.portfolio-card-body{padding:24px}.portfolio-card h2,.portfolio-card h3{font-size:26px}.portfolio-summary{font-size:13px}.portfolio-footer{align-items:flex-start;flex-direction:column;gap:22px}.portfolio-back{margin-bottom:30px}.project-detail-intro{font-size:14px}.project-detail-cta{padding:26px}.project-detail-cta h2{font-size:28px}}@media(prefers-reduced-motion:reduce){.portfolio-cover>img,.portfolio-card{transition:none}}@media(max-width:760px){.portfolio-toolbar{align-items:flex-start;flex-direction:column;gap:14px}.portfolio-filter{padding:10px 18px}.portfolio-filters{gap:8px}}@media(prefers-reduced-motion:reduce){.portfolio-filter{transition:none}}