:root{
  --blue:#4285F4;
  --green:#34A853;
  --yellow:#FBBC05;
  --red:#EA4335;
  --gold:#C9A96E;
  --ink:#202124;
  --muted:#5f6368;
  --line:#dadce0;
  --paper:#f8fafd;
  --serif:'Cormorant Garamond',Georgia,serif;
  --sans:'Inter',-apple-system,BlinkMacSystemFont,sans-serif;
}
*{box-sizing:border-box}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans)}
a{text-decoration:none;color:inherit}
.gbp-page{background:var(--paper);padding-bottom:80px}
.gbp-hero{padding:92px 24px 28px}
.gbp-card{width:min(1180px,100%);margin:0 auto;background:#fff;border:1px solid var(--line);border-radius:18px;padding:28px;display:grid;grid-template-columns:auto 1fr auto;gap:22px;align-items:center;box-shadow:0 18px 48px rgba(60,64,67,.08)}
.gbp-logo,.google-dot{font-weight:800;background:linear-gradient(90deg,var(--blue),var(--green),var(--yellow),var(--red));-webkit-background-clip:text;background-clip:text;color:transparent}
.gbp-logo{width:58px;height:58px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;font-size:34px;background-color:#fff}
.gbp-kicker{margin:0 0 6px;color:var(--muted);font-size:12px;font-weight:600}
.gbp-card h1{margin:0 0 12px;font-family:var(--serif);font-size:42px;font-weight:400;line-height:1.02;letter-spacing:0;color:#111}
.gbp-score{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.gbp-score strong{font-size:22px;font-weight:700;color:#111}
.gbp-score span,.profile-rating span,.review-stars{color:#fbbc04;font-size:14px;letter-spacing:.04em}
.gbp-score em{font-style:normal;color:var(--muted);font-size:13px}
.gbp-card>a,.profile-panel>a{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:0 18px;border-radius:999px;background:#1a73e8;color:#fff;font-size:13px;font-weight:700;white-space:nowrap}
.review-layout{width:min(1180px,calc(100% - 48px));margin:0 auto;display:grid;grid-template-columns:330px 1fr;gap:18px;align-items:start}
.profile-panel{position:sticky;top:100px;background:#fff;border:1px solid var(--line);border-radius:18px;padding:22px;box-shadow:0 12px 34px rgba(60,64,67,.06)}
.profile-top{display:flex;gap:14px;align-items:center;margin-bottom:20px}
.profile-pin{width:48px;height:48px;border-radius:12px;background:#111;color:var(--gold);display:grid;place-items:center;font-family:var(--serif);font-size:27px}
.profile-top h2{margin:0 0 3px;font-size:19px;font-weight:700}
.profile-top p{margin:0;color:var(--muted);font-size:13px}
.profile-rating{display:flex;align-items:center;gap:10px;padding:16px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-bottom:16px}
.profile-rating strong{font-size:34px;line-height:1}
.profile-tags{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:18px}
.profile-tags span{padding:8px 10px;background:#f1f3f4;border-radius:999px;color:#3c4043;font-size:12px;font-weight:600}
.review-list{display:grid;gap:12px}
.google-review{background:#fff;border:1px solid var(--line);border-radius:18px;padding:22px;box-shadow:0 12px 34px rgba(60,64,67,.05)}
.review-head{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;margin-bottom:12px}
.avatar{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:#e8f0fe;color:#1a73e8;font-weight:800}
.google-review:nth-child(2) .avatar{background:#e6f4ea;color:#188038}
.google-review:nth-child(3) .avatar{background:#fef7e0;color:#b06000}
.google-review:nth-child(4) .avatar{background:#fce8e6;color:#c5221f}
.google-review:nth-child(5) .avatar{background:#f1f3f4;color:#3c4043}
.google-review:nth-child(6) .avatar{background:#f3e8fd;color:#8430ce}
.review-head h3{margin:0 0 3px;font-size:15px;font-weight:700;color:#202124}
.review-head p{margin:0;color:var(--muted);font-size:12px}
.google-dot{font-size:20px}
.review-stars{margin-bottom:10px}
.review-stars em{font-style:normal;color:var(--muted);font-size:12px;margin-left:8px;letter-spacing:0}
.review-text{margin:0;color:#3c4043;font-size:15px;line-height:1.62}
@media(max-width:900px){
  .gbp-card{grid-template-columns:1fr}
  .review-layout{grid-template-columns:1fr}
  .profile-panel{position:static}
}
@media(max-width:560px){
  .gbp-hero{padding-top:72px}
  .gbp-card{padding:22px}
  .gbp-card h1{font-size:32px}
  .review-layout{width:calc(100% - 32px)}
}

@media(max-width:768px){
  .gbp-page{padding-bottom:48px}
  .gbp-hero{padding-top:48px !important}
  .review-card{padding:20px 16px}
  .review-text{font-size:13px;line-height:1.6}
}
