/* Rounded surfaces and a more visible, dated Google rating summary. */
:root{--ms-gold:#f2bb54;--ms-soft-blue:#eef4ff}
.ms-button,.ms-header-call,.ms-menu-toggle,.wp-block-button__link{border-radius:12px}
.ms-button{box-shadow:0 5px 16px #1769e018}
.ms-button-outline{box-shadow:none}
.ms-service{border-radius:20px;background:linear-gradient(145deg,#f4f7fc,#eaf1fc);border-color:#dfe8f5;box-shadow:0 8px 26px #172d5010}
.ms-service-number{background:#dceaff;padding:5px 10px;border-radius:9px;color:#1454af;top:20px}
.ms-service:hover{border-color:var(--blue);box-shadow:0 13px 30px #1769e01c}
.ms-feature-panel,.ms-location,.ms-post-card{border-radius:22px}
.ms-location{background:linear-gradient(135deg,#eef4ff,#f8fbff);border-color:#d8e5f7}
.ms-faq details,.ms-page-content>.wp-block-details{border:1px solid #e1e8f2;border-radius:14px;background:#f6f8fc;padding:20px 24px;margin:12px 0}
.ms-faq summary:hover,.ms-page-content>.wp-block-details summary:hover{color:var(--blue)}
.ms-mobile-contact a{border-radius:10px}
.ms-reviews{background:radial-gradient(ellipse at 95% 15%,#ffeac033,transparent 55%),linear-gradient(135deg,#edf4ff,#f7faff);position:relative}
.ms-review-header{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(300px,.9fr);align-items:center;gap:64px;margin-bottom:40px}
.ms-review-heading h2{max-width:700px;margin-bottom:0}
.ms-review-heading>p:not(.ms-eyebrow){max-width:540px;color:var(--muted);margin-top:22px;margin-bottom:0}
.ms-rating-summary{background:linear-gradient(135deg,#1769e0,#154798);color:#fff;border-radius:24px;padding:28px 30px;box-shadow:0 15px 35px #1769e02b;border:1px solid #ffffff38}
.ms-rating-summary p{margin:0}
.ms-rating-summary .ms-rating-value{font-size:clamp(2.8rem,4.3vw,4.3rem);font-weight:800;letter-spacing:-.06em;line-height:1.05;margin:0 0 14px;white-space:nowrap}
.ms-rating-stars{display:block;width:140px;height:28px;background:url('../images/rating-stars.svg') center/contain no-repeat;margin:0 0 16px}
.ms-rating-summary .ms-rating-count{font-size:1rem;line-height:1.45;margin:0 0 8px}
.ms-rating-summary .ms-rating-date{font-size:.75rem;line-height:1.6;color:#e0ebff}
.ms-rating-summary .ms-rating-link{margin-top:16px;font-size:.82rem;font-weight:700}
.ms-rating-summary a{color:#fff;text-decoration-color:#b6d1fa}
.ms-reviews>.wp-block-columns{gap:24px;align-items:stretch}
.ms-reviews .wp-block-column{display:flex;min-width:0}
.ms-review-card{width:100%;min-height:255px;display:flex;flex-direction:column;position:relative;border:1px solid #dce6f5;border-top:4px solid var(--blue);border-radius:20px;box-shadow:0 10px 28px #1c3d6510;background:#fff;transition:transform .2s,box-shadow .2s}
.ms-review-card:hover{transform:translateY(-3px);box-shadow:0 15px 35px #1c3d651a}
.ms-review-card .ms-review-grade{align-self:flex-start;margin:0;background:#eaf2ff;color:#124b9e;border-radius:999px;padding:6px 11px;font-size:.76rem;font-weight:700;line-height:1.5}
.ms-review-card blockquote{margin:22px 0 26px;padding:0;border:0;font-size:1.12rem;line-height:1.55;color:var(--ink);font-weight:500}
.ms-review-card blockquote p{margin:0}
.ms-review-card .ms-review-author{margin:auto 0 0;font-size:.8rem;color:#59687c;line-height:1.6}
.ms-review-card .ms-review-author strong{font-size:.95rem;color:var(--ink)}
.ms-reviews>.ms-review-source{display:inline-block;background:#fff;border:1px solid #c9daf3;border-radius:12px;padding:11px 18px;margin-top:26px;font-size:.9rem;font-weight:700;box-shadow:0 4px 12px #1769e00b}
.ms-review-source a{color:#154eaa;text-decoration:none}
.ms-reviews>.ms-small{max-width:none;color:#536781;font-size:.76rem;margin-top:18px}
@media(max-width:1000px){.ms-review-header{gap:30px;grid-template-columns:minmax(0,1.1fr) minmax(290px,1fr)}}
@media(max-width:781px){.ms-review-header{grid-template-columns:1fr;gap:28px;margin-bottom:30px}.ms-rating-summary{max-width:480px;padding:26px}.ms-review-card{min-height:220px}.ms-reviews>.wp-block-columns{gap:18px}}
@media(max-width:400px){.ms-rating-summary{padding:23px}.ms-review-card{padding:24px!important}.ms-rating-summary .ms-rating-value{font-size:2.9rem}.ms-faq details,.ms-page-content>.wp-block-details{padding:18px}}
@media(prefers-reduced-motion:reduce){.ms-review-card{transition:none}.ms-review-card:hover{transform:none}}

/* Compact, balanced opening headline. */
.ms-hero-copy{max-width:720px}.ms-hero h1{font-size:clamp(2rem,3.35vw,3.25rem);line-height:1.12;letter-spacing:-.035em;max-width:720px}
@media(max-width:680px){.ms-home .ms-hero{min-height:600px;padding-block:64px}.ms-hero h1{font-size:clamp(1.75rem,6.7vw,2.15rem);line-height:1.16}}

