/* 1.3.4: wide part/service layouts and reference-card refresh. */
.page-content.layout-parts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px 24px;width:100%;max-width:1376px;min-width:0;margin-inline:auto;align-items:stretch}
.page-content.layout-parts>.content-block{min-width:0;margin:0}
.page-content.layout-parts>.role-intro,.page-content.layout-parts>.block-button,.page-content.layout-parts>.block-feature,.page-content.layout-parts>.block-heading{grid-column:1/-1;width:100%;max-width:none!important}
.page-content.layout-parts>.role-intro{padding:18px 0 20px;border-bottom:1px solid #dde4ec}
.page-content.layout-parts>.role-intro h2{font-size:clamp(36px,4.1vw,58px);max-width:none;letter-spacing:-.05em}
.page-content.layout-parts>.role-intro p{max-width:1100px;line-height:1.9;font-size:clamp(15px,1.25vw,18px)}
.page-content.layout-parts .part-card{height:100%;display:flex;flex-direction:column;border-radius:20px;box-shadow:0 14px 45px #1423370d;overflow:hidden}
.page-content.layout-parts .part-card img{aspect-ratio:4/3;object-fit:cover;width:100%}
.page-content.layout-parts .part-card>div{padding:25px 28px;flex:1}
.page-content.layout-parts .part-card small,.service-caption{font-size:10px;font-weight:750;letter-spacing:.08em;text-transform:uppercase;color:#687687}
.page-content.layout-parts .part-card h2{font-size:clamp(21px,2vw,29px);line-height:1.2}
.page-content.layout-parts .part-card p{font-size:14px;line-height:1.85}
.page-content.service-detail-page .service-landing .service-grid-cell>.block-text,.page-content.service-detail-page .service-landing .service-grid-cell>.block-feature{padding:clamp(27px,3.5vw,50px)}
.page-content.service-detail-page .service-landing .service-grid-cell.is-wide{grid-column:1/-1}
/* Review cards: neutral independent surfaces on any brand background. */
.google-reviews.manual-reviews,.section-reviews .google-reviews.manual-reviews{background:transparent;color:var(--ink,#18202c);padding:0;max-width:100%;border:0;border-radius:0}
.section-reviews:has(.manual-reviews){background:transparent;padding-top:30px;padding-bottom:30px;color:var(--ink,#18202c)}
.manual-reviews .review-heading{gap:20px;margin:0 0 25px}
.manual-reviews .review-heading :is(h2,p){color:inherit}
.manual-reviews .review-heading p{color:#637083}
.manual-reviews .review-heading>a{font-weight:700;color:var(--accent,#cf2835);border-bottom-color:currentColor;font-size:13px}
.manual-reviews .google-review-grid{gap:16px 17px;align-items:stretch}
.manual-reviews .manual-review{position:relative;display:flex;flex-direction:column;min-width:0;min-height:245px;padding:21px 22px 19px;border:1px solid #e2e7ee;border-radius:17px;background-color:#fff;background-image:repeating-radial-gradient(circle at 115% -28%,transparent 0,transparent 11px,rgba(46,70,97,.039) 12px,transparent 13px);box-shadow:0 10px 30px #1423370a;color:#151923;overflow:hidden}
.manual-review header{gap:12px;min-height:43px;display:flex;align-items:center}
.manual-review .reviewer-initial{width:40px;height:40px;font-weight:700;font-size:18px;background:#3e89dc;color:#fff}
.manual-review .reviewer-initial.avatar-purple{background:#9b39b7}.manual-review .reviewer-initial.avatar-green{background:#64913c}.manual-review .reviewer-initial.avatar-blue{background:#1685c7}.manual-review .reviewer-initial.avatar-teal{background:#0097a7}.manual-review .reviewer-initial.avatar-dark{background:#17181a}.manual-review .reviewer-initial.avatar-brown{background:#907568}
.manual-review .reviewer-name{min-width:0;flex:1;overflow:hidden}.manual-review .reviewer-name strong{font-size:14px;color:#12161a;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.manual-review .reviewer-name time{color:#73777e;font-size:12px;margin-top:3px}
.manual-review .google-attribution{flex:none;margin-left:auto;font:bold 24px/1 Arial,sans-serif;letter-spacing:-.07em;color:transparent;background:conic-gradient(from -50deg,#4285f4 0 28%,#34a853 28% 49%,#fbbc05 49% 66%,#ea4335 66% 84%,#4285f4 84% 100%);background-clip:text;-webkit-background-clip:text}
.manual-review .review-stars{margin:12px 0 9px;color:#f6b100;letter-spacing:1px;font-size:21px;line-height:1}
.manual-review .review-text{font-size:14px;line-height:1.55;font-weight:450;color:#20262c;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:4;overflow:hidden;margin:0 0 11px}
.manual-review .review-text.expanded{display:block}
.manual-review .review-more{font-size:12px;text-align:left;color:#657381;text-decoration:none;margin-top:auto}
.manual-review .review-reply{border:0;border-top:1px solid #e1e8ee;background:transparent;padding:8px 0 0;margin-top:10px;color:#263242}
.manual-review .review-reply>summary{font-size:12px;font-weight:800}.manual-review .review-reply p{font-size:12px;line-height:1.6;margin:6px 0;color:#3b4553}
.manual-review .review-source{color:#566779;font-size:11px;display:inline-flex;align-items:center;margin-top:8px;text-decoration:underline;text-underline-offset:2px;align-self:flex-start}
.manual-reviews .reviews-empty{border:1px dashed #d4dce5;border-radius:14px;background:#fff;padding:30px;max-width:650px}
.manual-reviews .reviews-empty p{font-size:14px}.manual-reviews .reviews-empty a{font-weight:700;color:var(--accent,#cf2835)}
@media(max-width:1000px){.page-content.layout-parts{grid-template-columns:repeat(2,minmax(0,1fr))}.manual-reviews .google-review-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.page-content.layout-parts{grid-template-columns:1fr;padding-inline:18px}.page-content.layout-parts>.role-intro h2{font-size:clamp(31px,8vw,46px)}.page-content.layout-parts>.role-intro p{font-size:14px}.manual-reviews .google-review-grid{grid-template-columns:1fr}.manual-review{min-height:0}.manual-reviews .review-heading h2{font-size:clamp(25px,6vw,38px)}}

.manual-review .reviewer-avatar{width:40px;height:40px;border-radius:50%;object-fit:cover;flex:none}
