.service-projects{margin-top:40px;padding:65px 4.45%;background:var(--mint);color:var(--ink)}
.service-projects>h2,.feedback-contact h2{font-size:clamp(32px,3.5vw,48px);line-height:1.4;font-weight:400;margin:16px 0 20px}
.service-projects>p{font-size:20px;line-height:1.8;max-width:780px;margin:0 0 10px}
.project-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:35px}
.project-card{padding:30px;background:var(--pink);color:var(--ink);border-top:2px solid currentColor;min-width:0;display:flex;flex-direction:column;align-items:flex-start}

.project-duration p{font:14px/1.6 system-ui,sans-serif;letter-spacing:.04em;margin:0 0 18px}
.project-card h3{font-size:30px;line-height:1.5;font-weight:400;margin:0 0 16px}
.project-card>p{font-size:18px;line-height:1.85;margin:0 0 24px}
.project-card .section-link{margin-top:auto;font-size:17px}
.feedback-contact{display:grid;grid-template-columns:minmax(0,2fr) minmax(270px,1fr);gap:6%;padding:75px 4.45%;margin-top:40px;background:var(--blue);color:var(--pink)}
.feedback-area>p,.contact-area>p{font-size:17px;line-height:1.8;margin:0 0 22px}
.feedback-list{border-top:1px solid #fcf2f077}
.feedback-entry{position:relative;padding:20px 0 20px 36px;border-bottom:1px solid #fcf2f077}
.feedback-mark{position:absolute;top:12px;left:0;font:46px/1 Georgia,serif;color:var(--mint)}
.feedback-entry blockquote{font-size:21px;line-height:1.85;margin:0 0 12px}
.feedback-entry .feedback-source{font:14px/1.7 system-ui,sans-serif;margin:0;opacity:.8}
.contact-area{border-left:1px solid #fcf2f077;padding-left:28px}
.contact-area h2{font-size:32px}
.qr-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;width:100%;max-width:370px;align-items:start;margin-top:24px}
.qr-grid figure{margin:0;min-width:0}
.qr-crop{position:relative;width:100%;aspect-ratio:1;overflow:hidden;background:#fff}
/* Exact source-pixel windows; do not redraw, re-encode or alter the QR modules. */
.qr-crop img{display:block;position:absolute;max-width:none;height:auto;object-fit:initial}
.qr-wechat img{width:121.6438356164%;left:-10.8219178082%;top:-33.8356164384%}
.qr-official img{width:151.0431154381%;left:-25.5910987483%;top:-14.3254520167%}
.qr-grid figcaption{font:14px/1.6 system-ui,sans-serif;text-align:center;margin-top:10px;position:static;background:none;color:inherit;padding:0}
@media(max-width:1000px){.feedback-contact{grid-template-columns:minmax(0,1.6fr) minmax(260px,1fr);gap:32px}.contact-area{padding-left:24px}.qr-grid{gap:10px}.qr-grid figcaption{font-size:12px}}
@media(max-width:760px){.service-projects{padding:45px 24px}.project-grid{grid-template-columns:1fr;gap:20px;margin-top:26px}.project-card{padding:24px}.project-card h3{font-size:27px}.feedback-contact{grid-template-columns:1fr;padding:45px 24px;gap:38px}.contact-area{padding:28px 0 0;border-left:0;border-top:1px solid #fcf2f077}.feedback-entry blockquote{font-size:19px}.qr-grid{max-width:340px;gap:20px}.qr-grid figcaption{font-size:14px}}
/* Four service entries retain the existing two-column rhythm. */


.feedback-contact{grid-template-columns:minmax(0,1.5fr) minmax(340px,1fr);gap:clamp(28px,4vw,64px)}
.feedback-area h2{font-size:clamp(29px,2.65vw,40px)}
.contact-area{padding-left:34px}
.contact-area .qr-grid{width:100%;max-width:none;gap:clamp(24px,2.5vw,42px);margin-top:28px}
.contact-area .qr-grid figcaption{font-size:14px;white-space:normal}
@media(max-width:1000px){
 .feedback-contact{grid-template-columns:minmax(0,1.3fr) minmax(300px,1fr);gap:28px}
 .contact-area{padding-left:24px}
 .contact-area .qr-grid{gap:24px}
}
@media(max-width:760px){
 .feedback-contact{grid-template-columns:1fr;gap:36px}
 .contact-area{padding:28px 0 0}
 .contact-area .qr-grid{max-width:none;gap:28px}
}

/* Approved palette: four distinct light panels, without the ochre column. */
.project-card:nth-child(1){background:var(--pink)}
.project-card:nth-child(2){background:#d5f5e8}
.project-card:nth-child(3){background:#eedbfa}
.project-card:nth-child(4){background:#fff8e9}
.project-card{border:1px solid #1108162b;border-top:2px solid var(--ink)}
/* QR codes are supporting contact details, with a consistent modest size. */
.qr-grid,.contact-area .qr-grid{grid-template-columns:repeat(2,minmax(0,140px));max-width:308px;gap:28px;justify-content:space-between;margin-left:auto;margin-right:auto}
@media(max-width:760px){.qr-grid,.contact-area .qr-grid{max-width:308px;gap:28px}}
