/* CMS collections extend the original No Name styles and remain usable without JavaScript. */
.cms-review-grid,.cms-promotion-grid,.cms-article-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.cms-review-card{border:1px solid #dedbd5;background:#fff;padding:28px;overflow-wrap:anywhere}
.cms-review-head,.cms-review-footer{display:flex;align-items:center;justify-content:space-between;gap:16px}
.cms-review-head{margin-bottom:20px}.cms-review-head strong{font-size:20px}.cms-review-card p{line-height:1.65;margin:0 0 16px}.cms-review-rating{color:#e66553;white-space:nowrap;letter-spacing:2px}.cms-review-footer{font-size:13px;color:#686863}.cms-review-card a{text-underline-offset:3px}.cms-reviews-embed{margin-top:32px;max-width:100%;width:760px}.cms-reviews-embed iframe{display:block;width:100%;height:650px;border:1px solid #dedbd5;background:#fff}
.cms-promotion-card{display:flex;flex-direction:column;background:#fff;border:1px solid #dedbd5;min-width:0}.cms-promotion-card figure{margin:0;aspect-ratio:1.5;overflow:hidden}.cms-promotion-card figure img{height:100%;width:100%;object-fit:cover}.cms-promotion-copy{padding:28px;flex:1;display:flex;flex-direction:column;align-items:flex-start;gap:18px;overflow-wrap:anywhere}.cms-promotion-copy h3{font-size:clamp(26px,3vw,36px);line-height:1.1;margin:0}.cms-promotion-copy p{margin:0;line-height:1.6}.cms-promotion-copy .button{margin-top:auto}.cms-promotion-date{font-size:14px;color:#686863}
.cms-article-card{display:flex;flex-direction:column;border-top:1px solid #dedbd5;padding-top:20px;min-width:0}.cms-article-card figure{margin:0 0 20px;aspect-ratio:1.5;overflow:hidden}.cms-article-card figure img{width:100%;height:100%;object-fit:cover}.cms-article-card h3{font-size:28px;line-height:1.15;margin:0 0 16px;overflow-wrap:anywhere}.cms-article-card h3 a{color:inherit;text-decoration:none}.cms-article-card p{line-height:1.6}.cms-article-body{max-width:880px}.cms-article-body>figure{margin-bottom:32px;max-height:700px;overflow:hidden}.cms-article-body>figure img{width:100%;height:auto;max-height:700px;object-fit:contain}.cms-article-body p{font-size:18px;line-height:1.8;margin:0 0 24px;overflow-wrap:anywhere}.cms-empty{padding:32px 0;line-height:1.65;color:#686863}.cms-service-prices{min-width:0}.cms-service-prices .price-group{margin-bottom:30px}.cms-service-prices .price-row{grid-template-columns:minmax(0,1fr) auto}.cms-service-works{margin-top:32px}.master-links-list a{gap:24px}.master-links-list a>span:last-child{white-space:nowrap;font-size:16px}.cms-review-grid+.cms-reviews-embed{margin-top:40px}
@media(max-width:1000px){.cms-review-grid,.cms-promotion-grid,.cms-article-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.cms-review-card,.cms-promotion-copy{padding:22px}}
@media(max-width:640px){.cms-review-grid,.cms-promotion-grid,.cms-article-grid{grid-template-columns:1fr;gap:20px}.cms-review-head{align-items:flex-start}.cms-review-card{padding:20px}.cms-reviews-embed iframe{height:550px}.cms-article-body p{font-size:16px}.master-links-list a{align-items:flex-start;flex-direction:column;gap:8px}.cms-service-prices .price-row{gap:12px}.cms-promotion-copy h3{font-size:28px}}

/* Reviews imported from the map cards: per-source rating and count, then the latest positive reviews. */
.cms-review-total{margin:0;max-width:34ch}
.cms-review-sources{display:flex;flex-wrap:wrap;gap:16px;margin:0 0 32px}
.cms-review-source{display:grid;grid-template-columns:auto auto;align-items:baseline;gap:4px 20px;min-width:220px;padding:18px 22px;border:1px solid #dedbd5;background:#fff;color:inherit;text-decoration:none;transition:border-color .2s}
.cms-review-source:hover,.cms-review-source:focus-visible{border-color:#111214}
.cms-review-source-name{font-size:14px;color:#686863}.cms-review-source-rating{font-size:28px;line-height:1;justify-self:end;grid-row:span 2;align-self:center}.cms-review-source-rating span{color:#e66553}.cms-review-source-count{font-size:16px}
.cms-review-card--imported{display:flex;flex-direction:column}.cms-review-card--imported .cms-review-footer{margin-top:auto}
.cms-review-text{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:9;overflow:hidden}
@media(max-width:640px){.cms-review-sources{flex-direction:column;margin-bottom:24px}.cms-review-source{min-width:0}.cms-review-text{-webkit-line-clamp:12}}

.cms-map-frame{display:block;width:100%;height:480px;border:0;background:#f1f0ed}

main h1,main h2,main h3{overflow-wrap:anywhere;hyphens:auto}

/* Multiple service authors retain the existing card style. */
.service-authors{display:grid;gap:16px;margin-bottom:28px}
.service-authors .service-author{margin-bottom:0}
.certificate-services{padding-bottom:0}

/* Client legal documents and links at the very bottom of every page. */
.footer-legal{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 40px;padding-top:24px;padding-bottom:32px;border-top:1px solid #ffffff30;font-size:14px;line-height:1.6}
.footer-legal a{color:inherit;text-decoration:underline;text-underline-offset:4px;overflow-wrap:anywhere}
.footer-legal a:focus-visible{outline:2px solid currentColor;outline-offset:5px}
.page-intro .legal-title{max-width:1100px;font-size:clamp(28px,4.8vw,60px);line-height:1.15}
.legal-body h2{font-size:clamp(23px,3vw,32px);line-height:1.3;margin:40px 0 20px}
.legal-body h2:first-child{margin-top:0}
.legal-body ul{list-style:disc;padding-left:1.5em;margin:0 0 28px}
.legal-body li{font-size:18px;line-height:1.8;margin:0 0 10px;overflow-wrap:anywhere}
@media(max-width:640px){.footer-legal{grid-template-columns:1fr;gap:16px;padding-bottom:28px}.legal-body li{font-size:16px}}
