.hm-google { max-width:1180px; margin:0 auto; padding:56px 40px 100px; color: var(--hm-ink); scroll-margin-top:120px; }
.hm-google__head { display:flex; align-items:center; justify-content:space-between; gap:32px; margin-bottom:36px; }
.hm-google__head h2 { margin:8px 0 12px; font-size:clamp(30px,3.6vw,48px); line-height:1.12; letter-spacing:-.04em; }
.hm-google__head p { margin:0; color:var(--hm-muted); }
.hm-google__rating { flex:0 0 auto; padding:20px 24px; border:1px solid var(--hm-hairline); background:#fff; border-radius:6px; }
.hm-google__rating strong { display:inline-block; font-size:40px; margin-right:12px; line-height:1.3; }
.hm-google__rating a { display:block; color:var(--hm-purple-text); font-size:14px; }
.hm-google__source { display:block; font-size:15px; font-weight:600; margin-bottom:4px; }
.hm-google__stars { color:#b45309; font-size:21px; letter-spacing:2px; white-space:nowrap; }
.hm-hero__reviews { display:flex; align-items:center; flex-wrap:wrap; gap:6px 12px; width:fit-content; min-height:44px; margin-top:12px; color:var(--hm-ink); font-size:16px; text-decoration:none; }
.hm-hero__reviews:hover { text-decoration:underline; text-underline-offset:4px; }
.hm-hero__reviews:focus-visible { outline:3px solid var(--hm-purple-text); outline-offset:4px; border-radius:3px; }
.hm-google__cards { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; min-height:330px; }
.hm-google__card { margin:0; padding:24px; border:1px solid var(--hm-hairline); border-radius:6px; background:#fff; display:flex; flex-direction:column; min-width:0; }
.hm-google [hidden] { display:none!important; }
.hm-google__card blockquote { margin:20px 0 24px; padding:0; border:0; color:var(--hm-ink); font-size:17px; font-style:normal; line-height:1.65; white-space:pre-line; }
.hm-google__by { display:flex; align-items:center; gap:12px; margin-top:auto; }
.hm-google__initials { display:grid; place-items:center; background:var(--hm-lilac); color:var(--hm-purple-text); width:42px; height:42px; border-radius:50%; flex-shrink:0; font-weight:600; }
.hm-google__initials { position:relative; overflow:hidden; }
.hm-google__photo { position:absolute; inset:0; display:block; width:42px; height:42px; object-fit:cover; border-radius:50%; background:var(--hm-lilac); visibility:hidden; }
.hm-google__photo.is-loaded { visibility:visible; }
.hm-google__by a,.hm-google__name { color:var(--hm-ink); font-size:15px; font-weight:600; }
.hm-google__logo { display:block; width:auto; height:auto; max-width:180px; max-height:30px; object-fit:contain; object-position:left center; align-self:flex-start; }
.hm-google__by small { display:block; color:var(--hm-muted); font-size:13px; margin-top:3px; }
.hm-google__controls { display:flex; align-items:center; justify-content:center; flex-wrap:wrap; gap:12px; margin-top:22px; }
.hm-google button { font:inherit; font-size:14px; color:var(--hm-purple-text); background:#fff; border:1px solid var(--hm-hairline); border-radius:5px; padding:10px 14px; min-height:44px; cursor:pointer; }
.hm-google button:hover { background:var(--hm-lilac); }
.hm-google a:focus-visible,.hm-google button:focus-visible { outline:3px solid var(--hm-purple-text); outline-offset:3px; }
.hm-google__dots { display:flex; gap:2px; }
.hm-google__dots button { width:30px; padding:0; border:0; background:transparent; }
.hm-google__dots button::before { content:''; display:block; width:8px; height:8px; margin:auto; background:#b6adc9; border-radius:50%; }
.hm-google__dots button[aria-pressed=true]::before { background:var(--hm-purple-text); width:20px; border-radius:6px; }
.hm-google__status { color:var(--hm-muted); font-size:13px; }
.hm-google__foot { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:18px; margin-top:24px; }
.hm-google__foot a { color:var(--hm-purple-text); font-weight:600; }
.hm-google__write { padding:12px 20px; border:1px solid var(--hm-purple-text); border-radius:5px; text-decoration:none; }
.hm-google__checked { color:var(--hm-muted); font-size:12px; margin:16px 0 0; }
@media(max-width:960px) { .hm-google__cards { grid-template-columns:repeat(2,minmax(0,1fr)); } .hm-google__head { align-items:flex-start; } .hm-google__rating { padding:14px; } }
@media(max-width:640px) { .hm-google { padding:36px 24px 60px; } .hm-google__head { flex-direction:column; gap:20px; } .hm-google__cards { grid-template-columns:1fr; min-height:365px; } .hm-google__rating { width:100%; box-sizing:border-box; } .hm-google__card { padding:22px; } .hm-google__controls { gap:6px; } .hm-google__status { flex-basis:100%; text-align:center; } }

.hm-hero__reviews .hm-google__stars { font-size:24px; }
