.project-gallery-heading{align-items:center;gap:32px}
.project-gallery-heading>p{max-width:340px}
.project-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px;margin-top:32px}
.portfolio-card{min-width:0;position:relative;display:flex;flex-direction:column;background:#fff;border:1px solid #dce6df;border-radius:16px;box-shadow:0 5px 20px #183a2507;transition:border-color .25s,box-shadow .25s,transform .25s}
.portfolio-card:hover{border-color:#a4c5af;box-shadow:0 14px 30px #183a2510;transform:translateY(-3px)}
.portfolio-card:focus-within{outline:3px solid #238658;outline-offset:4px}
.project-open{appearance:none;position:absolute;inset:0;width:100%;padding:0;border:0;color:inherit;background:transparent;cursor:pointer;display:block;border-radius:inherit}
.project-cover{display:block;position:relative;overflow:hidden;aspect-ratio:1024/500;border-radius:15px 15px 0 0;background:#f3f6fa;border-bottom:1px solid #e5ece7}
.project-card-body{display:flex;flex-direction:column;flex:1;padding:25px 26px 22px}
.project-cover>img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease}
.portfolio-card:hover .project-cover>img{transform:scale(1.035)}
.project-open:focus-visible{outline:0}
.project-cover-action{position:absolute;right:18px;bottom:18px;width:40px;height:40px;display:grid;place-items:center;border-radius:50%;background:#fff;color:#173a27;box-shadow:0 3px 12px #0001;transition:transform .25s}
.project-cover-action svg{width:19px;height:19px}
.portfolio-card:hover .project-cover-action{transform:rotate(-35deg)}
.project-card-heading{display:flex;align-items:center;gap:13px;margin:0}
.project-icon{width:42px;height:42px;border-radius:10px;flex-shrink:0;border:1px solid #e3e9e5}
.project-card-heading .subheading{font-size:25px;line-height:1.3;letter-spacing:-.035em;margin:0}
.project-category{display:block;font-size:11px;color:#5b6e62;margin-top:6px;letter-spacing:.01em}
.project-summary{font-size:14px;color:#4b6053;line-height:1.7;margin-top:16px;flex:1}
.project-card-link{display:flex;justify-content:space-between;align-items:center;gap:10px;color:#23754e;font-size:12px;font-weight:600;margin-top:24px;padding-top:17px;border-top:1px solid #e5ece7}
.project-card-link svg{width:18px;height:18px;transition:transform .25s}
.portfolio-card:hover .project-card-link svg{transform:translateX(4px)}
.project-gallery-note{font-size:11px;line-height:1.8;color:#66776c;margin-top:43px;padding-top:22px;border-top:1px solid #e5ece7}
.project-gallery-note svg{width:15px;height:15px;vertical-align:middle;margin-right:5px}
.project-dialog{width:min(1120px,calc(100% - 48px));max-width:1120px;max-height:calc(100dvh - 48px);padding:0;border:1px solid #dce6df;border-radius:14px;background:#fff;color:#203c2b;overflow:auto;box-shadow:0 26px 100px #10321d40}
.project-dialog::backdrop{background:#14291feb;backdrop-filter:blur(5px)}
.project-dialog-layout{display:grid;grid-template-columns:1.28fr 1fr;min-height:550px}
.project-dialog-close{position:sticky;top:12px;z-index:3;display:grid;place-items:center;width:40px;height:40px;margin:12px 12px -52px auto;border:1px solid #dce6df;border-radius:50%;background:#fff;color:#294a35;font-size:26px;line-height:1;cursor:pointer}
.project-dialog-close:hover{background:#f0f5f1}
.project-media{background:#f2f5f6;padding:28px 24px 20px;min-width:0}
.project-media figure{margin:0}
.project-image-stage{position:relative;height:390px;border-radius:6px;overflow:hidden;background:#e7edef}
.project-image-stage img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}
.project-image-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:16px}
.project-image-toolbar figcaption{font-size:12px;color:#42574a;line-height:1.6}
.project-image-pagination{display:flex;align-items:center;gap:9px;flex-shrink:0}
.project-image-pagination button{display:grid;place-items:center;width:34px;height:34px;border:1px solid #d2ddd6;border-radius:50%;background:#fff;color:#27523a;font-size:18px;cursor:pointer}
.project-image-pagination button:hover{background:#e5efe8}
.project-image-count{font-size:11px;color:#53695c;min-width:32px;text-align:center;font-variant-numeric:tabular-nums}
.project-thumbnails{display:flex;gap:9px;margin-top:17px}
.project-thumbnails button{width:68px;height:48px;padding:2px;border:2px solid transparent;background:#fff;border-radius:5px;overflow:hidden;cursor:pointer;opacity:.65;transition:opacity .2s,border-color .2s}
.project-thumbnails button[aria-pressed=true]{border-color:#218155;opacity:1}
.project-thumbnails button:hover{opacity:1}
.project-thumbnails img{width:100%;height:100%;object-fit:cover;object-position:top}
.project-full-image{display:inline-block;font-size:11px;line-height:1.6;color:#306a4b;margin-top:14px;text-decoration:underline;text-underline-offset:4px}
.project-info{padding:65px 34px 36px;align-self:center}
.project-info-kicker{font-size:10px;letter-spacing:.12em;color:#38815b;font-weight:650;margin-bottom:24px}
.project-info h2{font-size:34px;line-height:1.3;letter-spacing:-.045em;margin:0 0 12px}
.project-info-category{font-size:12px;color:#4f6c5b;margin-bottom:23px}
.project-info-description{font-size:14px;color:#425d4c;line-height:1.9}
.project-info h3{font-size:12px;font-weight:650;margin:30px 0 14px}
.project-features{list-style:none;padding:0;margin:0;display:grid;gap:12px}
.project-features li{position:relative;padding-left:16px;font-size:12px;color:#4c6656;line-height:1.8}
.project-features li:before{content:"";position:absolute;left:0;top:.65em;width:5px;height:5px;border-radius:50%;background:#44966a}
.project-media-note{font-size:10px;color:#66776c;margin-top:28px;padding-top:18px;border-top:1px solid #e0e8e2;line-height:1.7}
@media(max-width:850px){.project-gallery{gap:32px 24px;margin-top:35px}.project-card-heading .subheading{font-size:23px}.project-dialog{width:calc(100% - 32px);max-height:calc(100dvh - 32px)}.project-dialog-layout{grid-template-columns:1fr}.project-media{padding:28px 20px 20px}.project-image-stage{height:350px}.project-info{padding:30px}.project-info-kicker{margin-bottom:17px}.project-info h2{font-size:31px}}
@media(max-width:600px){.project-gallery{grid-template-columns:1fr;gap:37px;margin-top:30px}.project-card-heading{margin-top:18px}.project-card-heading .subheading{font-size:25px}.project-summary{font-size:13px;margin-top:13px}.project-card-link{margin-top:14px}.project-cover-action{width:34px;height:34px;right:13px;bottom:13px}.project-gallery-note{margin-top:30px}.project-dialog{width:calc(100% - 24px);max-height:calc(100dvh - 24px);border-radius:9px}.project-dialog-close{right:11px;top:11px;width:35px;height:35px}.project-media{padding:54px 14px 18px}.project-image-stage{height:310px}.project-image-toolbar{gap:8px}.project-image-toolbar figcaption{font-size:10px}.project-image-pagination{gap:6px}.project-image-pagination button{width:31px;height:31px}.project-info{padding:27px 22px}.project-info h2{font-size:29px}.project-info-description{font-size:13px}.project-media-note{margin-top:22px}}
@media(prefers-reduced-motion:reduce){.project-cover>img,.project-cover-action,.project-thumbnails button{transition:none}.portfolio-card:hover .project-cover>img,.portfolio-card:hover .project-cover-action{transform:none}}

@media(max-width:600px){.project-dialog-close{margin:11px 11px -46px auto}}
@media(max-width:600px){.project-gallery{gap:26px}.project-card-body{padding:21px 20px 19px}.project-card-heading{margin-top:0}.project-card-heading .subheading{font-size:23px}.project-card-link{margin-top:21px;padding-top:15px}}
@media(prefers-reduced-motion:reduce){.portfolio-card,.project-card-link svg{transition:none}.portfolio-card:hover,.portfolio-card:hover .project-card-link svg{transform:none}}
