/* Shared budget cards; keep complete copy readable at every width. */
.rc-zone-page .rz-factor-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-flow:row;grid-auto-columns:auto;gap:18px;margin-inline:0;padding:0;overflow:visible;scroll-snap-type:none;scroll-padding:0}
.rc-zone-page .rz-factor-grid:has(>div:nth-child(4):last-child){grid-template-columns:repeat(2,minmax(0,1fr))}
.rc-zone-page .rz-factor-grid>div{display:grid;grid-template-columns:48px minmax(0,1fr);align-items:start;gap:18px;padding:26px;border:1px solid #e3e3e7;border-radius:22px;background:#fff;min-width:0;scroll-snap-align:none;transition:box-shadow .22s ease,transform .22s ease,border-color .22s ease}
.rc-zone-page .rz-factor-grid>div>svg.rq{width:48px;height:48px;--rq:48px;margin:0}
.rc-zone-page .rz-factor-grid>div>div{min-width:0}
.rc-zone-page .rz-factor-grid h3{margin:0 0 9px;font-size:clamp(18px,1.5vw,22px);line-height:1.25;text-wrap:balance}
.rc-zone-page .rz-factor-grid p{margin:0;font-size:16px;line-height:1.65;overflow-wrap:break-word}
.rc-zone-page .rz-factor-grid+.rz-dots{display:none!important}
@media(hover:hover){.rc-zone-page .rz-factor-grid>div:hover{transform:translateY(-3px);border-color:#d7b6a3;box-shadow:0 14px 30px #21150c09}}
@media(max-width:1100px){.rc-zone-page .rz-factor-grid{grid-template-columns:1fr}.rc-zone-page .rz-factor-grid:has(>div:nth-child(4):last-child){grid-template-columns:repeat(2,minmax(0,1fr))}.rc-zone-page .rz-factor-grid>div{padding:22px;gap:14px}}
@media(max-width:700px){.rc-zone-page .rz-factor-grid,.rc-zone-page .rz-factor-grid:has(>div:nth-child(4):last-child){grid-template-columns:1fr;gap:12px}.rc-zone-page .rz-factor-grid>div{grid-template-columns:38px minmax(0,1fr);padding:20px 18px;gap:13px;border-radius:18px}.rc-zone-page .rz-factor-grid>div>svg.rq{width:38px;height:38px;--rq:38px}.rc-zone-page .rz-factor-grid p{font-size:15px;line-height:1.6}.rc-zone-page .rz-budget .rz-heading{margin-bottom:22px}}

/* Public customer opinions, in the visual rhythm of the supplied reference. */
.rc-zone-page .cc-reviews{padding-block:48px;scroll-margin-top:130px}
.cc-reviews-head{display:flex;align-items:center;justify-content:space-between;gap:28px;margin-bottom:30px}
.rc-zone-page .cc-reviews-head h2{font-size:clamp(30px,3.6vw,46px);line-height:1.12;letter-spacing:-.035em;margin:0;max-width:24ch}
.cc-review-rating{display:flex;align-items:center;gap:12px;flex:none;padding:12px 16px;border:1px solid #e5e7eb;border-radius:16px;background:#fff;color:#12151c!important;text-decoration:none!important;transition:box-shadow .2s ease,transform .2s ease,border-color .2s ease}
.cc-review-rating>svg{width:24px;height:24px;flex:none}
.cc-review-score{font:800 28px/1 'RC40 Barlow',sans-serif}
.cc-review-rating-detail{display:flex;flex-direction:column;gap:4px}
.cc-review-rating small{font:12px/1.3 'RC40 Noto',sans-serif;color:#62636b}
.cc-review-stars{color:#f3b900;font:17px/1 'RC40 Noto',sans-serif;letter-spacing:1px}
.cc-review-rating .cc-review-stars{font-size:13px;letter-spacing:0}
.cc-review-track{display:block;overflow:hidden;scroll-snap-type:none;padding:42px 4px 20px;scrollbar-width:none;overscroll-behavior:auto}
.cc-review-track::-webkit-scrollbar{display:none}
.cc-review-track:not(.is-loop){display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.cc-review-runner{display:flex;width:max-content;animation:cc-opinions-loop 56s linear infinite;animation-play-state:paused;will-change:transform}
.cc-review-track[data-running="true"] .cc-review-runner{animation-play-state:running}
.cc-review-group{display:flex;gap:20px;padding-right:20px;padding-top:2px}
.rc-zone-page .cc-review-card{position:relative;flex:0 0 284px;width:284px;min-width:0;box-sizing:border-box;margin:0;border:1px solid #e5e7eb;border-radius:14px;background:#fff;transition:transform .24s ease,box-shadow .24s ease,border-color .24s ease}
.rc-zone-page .cc-review-group .cc-review-card{flex:0 0 284px;width:284px}
.cc-review-card .cc-review-link{display:flex;flex-direction:column;align-items:center;height:100%;min-height:244px;box-sizing:border-box;padding:45px 24px 25px;color:#12151c!important;text-decoration:none!important;text-align:center;border-radius:inherit}
.cc-review-author{display:flex;flex-direction:column;align-items:center;gap:0;margin:0 0 17px;width:100%}
.cc-review-avatar{position:absolute;top:-34px;left:50%;transform:translateX(-50%);width:64px;height:64px;transition:transform .24s ease}
.cc-review-initials{display:grid;place-items:center;width:64px;height:64px;box-sizing:border-box;border:3px solid #fff;outline:1px solid #e3e5ea;border-radius:50%;background:#efede7;color:#5a3826;font:700 20px/1 'RC40 Noto',sans-serif;box-shadow:0 4px 9px #1619220d}
.cc-review-card:nth-child(2) .cc-review-initials{background:#e7ece8;color:#354d3e}
.cc-review-card:nth-child(3) .cc-review-initials{background:#eee7e2;color:#5e4038}
.cc-review-card:nth-child(4) .cc-review-initials{background:#f5ebd5;color:#655016}
.cc-review-google{position:absolute;right:-1px;bottom:-1px;display:grid;place-items:center;width:24px;height:24px;border:2px solid #fff;border-radius:50%;background:white;box-shadow:0 1px 4px #12151c24}
.cc-review-google svg{width:16px;height:16px}
.cc-review-author strong{display:block;font:800 18px/1.25 'RC40 Barlow',sans-serif;color:#12151c}
.cc-review-card .cc-review-stars{margin:0 0 20px}
.rc-zone-page .cc-review-card blockquote{border:0;padding:0;margin:0;font:500 16px/1.55 'RC40 Noto',sans-serif;color:#333740}
.rc-zone-page .cc-review-card p{font:400 14px/1.55 'RC40 Noto',sans-serif;color:#6b6f78;margin:12px 0 0}
.cc-reviews a:focus-visible{outline:3px solid #a13e19;outline-offset:4px}
.cc-review-card:focus-within{border-color:#d2a536;box-shadow:0 8px 24px #23201910}
.cc-review-track:focus-within .cc-review-runner{animation:none;transform:none;display:block;width:100%;will-change:auto}
.cc-review-track:focus-within .cc-review-group{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));padding:0;row-gap:58px}
.rc-zone-page .cc-review-track:focus-within .cc-review-card{width:auto}
.cc-review-track:focus-within .cc-review-copy{display:none}
.cc-review-controls{display:none!important}
@media(hover:hover) and (pointer:fine){.cc-review-card:hover{transform:translateY(-6px);border-color:#dbcaa3;box-shadow:0 12px 26px #26211112}.cc-review-card:hover .cc-review-avatar{transform:translateX(-50%) scale(1.06)}.cc-review-rating:hover{transform:translateY(-2px);border-color:#dbcaa3;box-shadow:0 6px 18px #2621110c}}
@keyframes cc-opinions-loop{to{transform:translateX(-50%)}}
@media(max-width:1100px){.cc-review-track:not(.is-loop),.cc-review-track:focus-within .cc-review-group{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:58px}}
@media(max-width:800px){.cc-reviews-head{align-items:flex-start;flex-direction:column;gap:20px;margin-bottom:22px}.rc-zone-page .cc-reviews{padding-block:38px}.rc-zone-page .cc-reviews-head h2{font-size:34px}.cc-review-rating{padding:10px 14px}.cc-review-card .cc-review-link{padding-inline:22px}}
@media(max-width:700px){.rc-zone-page .cc-review-group .cc-review-card{flex-basis:270px;width:270px}.cc-review-group{gap:18px;padding-right:18px}.cc-review-track:not(.is-loop),.cc-review-track:focus-within .cc-review-group{grid-template-columns:1fr;row-gap:58px}.rc-zone-page .cc-review-track:focus-within .cc-review-card{width:auto}}
@media(prefers-reduced-motion:reduce){.cc-review-runner{animation:none;transform:none;display:block;width:100%;will-change:auto}.cc-review-group{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));padding:0;row-gap:58px}.cc-review-copy{display:none}.rc-zone-page .cc-review-group .cc-review-card{width:auto}.cc-review-card,.cc-review-avatar,.cc-review-rating{transition:none!important;transform:none!important}.cc-review-card .cc-review-avatar{transform:translateX(-50%)!important}}
@media(prefers-reduced-motion:reduce) and (max-width:700px){.cc-review-group{grid-template-columns:1fr}}
