/* Extends the established PLASTICZ palette and editorial typography. */










.project-visual .project-preview{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;pointer-events:none;transition:opacity .55s ease,transform .65s ease}
.project-view{z-index:2}
@media(hover:hover) and (pointer:fine){.project-open:hover .project-preview.preview-ready{opacity:1}}
.project-open:focus-visible .project-preview.preview-ready{opacity:1}
.gallery-story{border-top:1px solid #34463c;padding:32px 0 48px;display:grid;grid-template-columns:1.1fr 1fr;gap:60px}
.gallery-summary{font-size:clamp(22px,2.6vw,36px);line-height:1.35;letter-spacing:-.025em;max-width:620px}
.gallery-story dl{margin:0;display:grid;gap:24px}
.gallery-story dt{font:11px/1.6 var(--mono);text-transform:uppercase;letter-spacing:.06em;color:#5be7c3;margin-bottom:8px}
.gallery-story dd{margin:0;color:#bcc8c1;font-size:16px;line-height:1.65}
.reviews-section{background:#e4eee7;color:#10231c;padding:90px 0}
.reviews-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:32px;margin-bottom:52px}
.reviews-heading .eyebrow{color:#52645b;margin-bottom:22px}
.reviews-heading h2{font-size:clamp(40px,5.5vw,80px);line-height:1.02;font-style:italic;font-weight:300;letter-spacing:-.04em}
.google-rating{display:flex;flex-direction:column;gap:9px;min-width:155px;color:#10231c;text-decoration:none}
.rating-value{font-size:64px;font-weight:500;line-height:1;letter-spacing:-.05em}
.rating-value>span{font-size:22px;color:#52645b;letter-spacing:0;margin-left:6px}
.rating-stars{font-size:19px;letter-spacing:3px;color:#1c5f49}
.google-rating>span:last-child{font-size:12px;line-height:1.6}
.reviews-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:38px}
.review{margin:0;border-top:1px solid #acbfb2;display:flex;flex-direction:column;padding-top:25px;min-width:0}
.review-mark{font-size:64px;color:#2d795f;line-height:.85;font-family:Georgia,serif}
.review blockquote{margin:15px 0 28px;flex:1}
.review blockquote p{font-size:clamp(23px,2.1vw,31px);line-height:1.3;letter-spacing:-.025em}
.review figcaption{display:flex;flex-direction:column;gap:8px;font-size:14px;line-height:1.5}
.review figcaption strong{font-weight:500}
.review figcaption a{color:#42594c;font-size:11px;text-decoration:underline;text-underline-offset:4px;min-height:44px;padding-top:4px}
.reviews-note{font-size:11px;color:#52645b;line-height:1.6;margin-top:28px}
@media(max-width:760px){.gallery-story{grid-template-columns:1fr;gap:28px;padding-bottom:32px}.reviews-section{padding:64px 0}.reviews-heading{align-items:flex-start;gap:30px;flex-direction:column;margin-bottom:35px}.google-rating{display:grid;grid-template-columns:auto 1fr;column-gap:18px;align-items:center}.rating-value{grid-row:span 2;font-size:50px}.rating-stars{align-self:end}.reviews-grid{grid-template-columns:1fr;gap:24px}.review{padding-top:23px}.review blockquote{margin-bottom:22px}.review blockquote p{max-width:560px;font-size:26px}}
@media(prefers-reduced-motion:reduce){.project-visual .project-preview{transition:none!important}}
.motion-paused .project-visual .project-preview{transition:none!important}
