/* Portfolio and social proof share HALMI's sage/forest palette. */
.reviews-controls{justify-content:flex-end}
.reviews-controls .reviews-hint{margin-right:auto;font-size:14px;color:#42624a}
.reviews-controls .review-meter{display:block;flex:1;max-width:145px;height:3px;border-radius:4px;background:#c3d7c8;overflow:hidden}
.review-meter i{display:block;width:30%;height:100%;background:#175944;border-radius:4px;transform:translateX(var(--review-progress,0%));transition:transform 150ms linear}
.reviews-track{padding-bottom:16px}
.reviews-track .review-card{transition:border-color 300ms,box-shadow 400ms}
.reviews-track .review-card:hover{border-color:#8da98f;box-shadow:0 10px 25px #153a1d12}
.portfolio{position:relative;overflow:hidden;background:#e8ede6}
.portfolio-heading{margin-bottom:34px}
.portfolio-ribbon{overflow:hidden;margin:0 0 48px;padding-block:17px;border-block:1px solid #bfd0bf;user-select:none;pointer-events:none}
.portfolio-ribbon-track{display:flex;align-items:center;gap:32px;width:max-content;transform:translate3d(calc(-70px + var(--gallery-drift,0px)),0,0);font-size:clamp(37px,5.3vw,78px);font-weight:600;line-height:1.1;letter-spacing:-.055em;white-space:nowrap;color:#416e52}
.portfolio-ribbon-track .ribbon-outline{color:transparent;-webkit-text-stroke:1px #698a6e}.ribbon-star{font-size:.7em;color:#819f7d;font-weight:400}
.projects-grid{gap:38px 26px;align-items:start}
.project-card{padding:12px;background:#f5f7f0;border:1px solid #cddbc9;border-radius:23px;box-shadow:0 4px 8px #1b3a2510;transition:border-color 350ms,box-shadow 450ms}
.project-card .project-image{aspect-ratio:1.08;background:#e1e8db;border-radius:14px}
.project-info{padding:20px 10px 5px}
.project-info .small-label{color:#5a745b;letter-spacing:.1em}
.project-info h3{font-size:29px}
.project-info p{font-size:16px;min-height:3.2em;line-height:1.6}
.project-info .text-link{display:flex;width:100%;justify-content:space-between;padding-block:15px 8px;margin-top:5px;border-top:1px solid #ccd9c7;font-size:16px;color:#175944}
.project-info .text-link>span{display:grid;place-items:center;width:29px;height:29px;border-radius:50%;background:#e0ebdc;transition:transform 300ms var(--ease),background-color 250ms,color 250ms}
.project-info .text-link:is(:hover,:focus-visible)>span{background:#175944;color:white;transform:translate(2px,-2px)}
.project-open-label{font-size:13px;max-width:0;opacity:0;overflow:hidden;white-space:nowrap;transition:max-width 450ms var(--ease),opacity 250ms;margin-right:0}
.project-image .image-expand{width:auto;min-width:37px;height:37px;gap:0;padding:0 11px;display:flex;align-items:center;justify-content:center;border-radius:100px;background:#f7f9f3f5;color:#175944}
.more-projects>summary{padding:17px 25px;border:1px solid #6f9678;background:#f7faf3;border-radius:100px;box-shadow:0 5px 14px #21432d0a;font-size:16px;transition:background-color 250ms,box-shadow 250ms,transform 300ms var(--ease)}
.more-projects>summary:is(:hover,:focus-visible){background:#175944;color:#fff;box-shadow:0 10px 22px #21432d20;transform:translateY(-2px)}
.more-projects>summary>span:last-child{display:inline-block;transition:transform 350ms var(--ease)}
.more-projects[open]>summary>span:last-child{transform:rotate(45deg)}
.custom-design{padding:38px;border-radius:24px;border:1px solid #b8cdb6;background:#d9e7d6;margin-top:48px}
@media(min-width:1101px){.projects-grid--featured>.project-card:nth-child(3n+2){margin-top:52px}}
@media(hover:hover) and (pointer:fine){.project-card:hover{border-color:#8eae8a;box-shadow:0 18px 40px #18392518}.project-image:is(:hover,:focus-visible) .project-open-label{max-width:110px;opacity:1;margin-right:8px}}
@media(max-width:1100px) and (min-width:761px){.projects-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 24px}.project-info p{min-height:1.6em}}
@media(max-width:760px){
  .portfolio-ribbon{margin-bottom:28px;padding-block:15px}.portfolio-ribbon-track{gap:23px;font-size:42px}
  .projects-grid{gap:22px 14px}.project-card{padding:7px;border-radius:16px}.project-card .project-image{border-radius:10px;aspect-ratio:1}
  .project-info{padding:13px 5px 3px}.project-info .small-label{font-size:11px}.project-info h3{font-size:22px;margin-top:6px}.project-info p{display:block;font-size:13px;line-height:1.45;min-height:3em;margin-block:9px 12px}
  .project-info .text-link{font-size:13px;gap:3px;padding-block:10px 4px}.project-info .text-link>span{width:23px;height:23px;flex-shrink:0;font-size:17px}
  .project-image .image-expand{min-width:29px;height:29px;font-size:19px;padding-inline:8px;right:6px;bottom:6px}
  .more-projects>summary{font-size:14px;gap:16px;padding:15px 19px}.custom-design{padding:27px 22px;margin-top:34px}
  .reviews-controls .reviews-hint{font-size:13px}.reviews-controls .review-meter{display:none}
}
@media(max-width:380px){.projects-grid{gap:18px 10px}.project-card{padding:6px}.project-info{padding-inline:3px}.project-info h3{font-size:20px}.project-info .text-link{font-size:12px}.reviews-controls{gap:12px}.reviews-controls .reviews-hint{max-width:12ch}}
@media(prefers-reduced-motion:reduce){.portfolio-ribbon-track{transform:translateX(-70px)}.review-meter i{transition:none}}
