body { background: #EDEAE1; margin: 0; }
.site-header {
  background: var(--ink); padding: 16px 32px; display: flex; align-items: center;
  justify-content: space-between; flex-wrap: wrap; gap: 10px;
}
.site-header nav a { color: #CFD6E4; text-decoration: none; font-size: 13.5px; font-weight: 600; margin-left: 22px; }
.site-header nav a:hover { color: var(--white); }
.site-header nav a.cta { background: var(--gold); color: var(--ink); padding: 8px 16px; border-radius: 8px; }
.site-header{background:#fff;border-bottom:1px solid #dce5ef;box-shadow:0 3px 18px #15324d06;padding:18px max(24px,calc((100vw - 1240px)/2));gap:22px;position:relative;z-index:10;}
.site-brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:#153650;flex-shrink:0;}
.site-brand img{max-width:160px;object-fit:contain;border-radius:8px;}.site-brand>span{font-size:21px;font-weight:700;letter-spacing:-.6px;}.site-brand small{display:block;font-size:10px;font-weight:500;letter-spacing:.03em;color:#62778d;margin-top:3px;}
.site-header nav{display:flex;align-items:center;gap:5px;flex-wrap:wrap;}.site-header nav a{margin:0;padding:10px 12px;border-radius:8px;color:#415a72;font-size:13px;}.site-header nav a:hover,.site-header nav a[aria-current=page]{color:#145b9b;background:#edf4fc;}.site-header nav a.cta{background:#153c60;color:white;padding:11px 16px;box-shadow:0 2px 5px #163d6020;}.site-header nav a.cta:hover{background:#1b527f;color:white;}
.menu-toggle{display:none;border:1px solid #c4d4e2;border-radius:8px;background:#fff;color:#183850;padding:10px 12px;font:inherit;}.site-header :focus-visible{outline:3px solid #3287d8;outline-offset:3px;}
@media(max-width:1000px){.site-header{padding:15px 20px;}.site-brand>span{display:none;}.site-header nav a{padding:9px;font-size:12px;}}
@media(max-width:740px){.menu-toggle{display:block;}.site-header nav{display:none;width:100%;align-items:stretch;flex-direction:column;}.site-header nav.is-open{display:flex;}.site-header nav a{font-size:14px;padding:12px;}.site-header nav a.cta{text-align:center;}.site-brand>span{display:block;font-size:18px;}.site-brand img{max-width:110px;}}
.public-wrap { max-width: 880px; margin: 0 auto; padding: 50px 24px; }
.public-wrap.narrow { max-width: 680px; }
.public-header { text-align: center; margin-bottom: 36px; }
.public-header h1 { font-family: 'Space Grotesk', sans-serif; font-size: 30px; color: var(--ink); margin: 0 0 8px; }
.public-header p { color: var(--slate-soft); font-size: 14px; }
.back-link { font-size: 13px; color: var(--slate-soft); text-decoration: none; }

.search-bar {
  display: flex; gap: 10px; margin-bottom: 24px; flex-wrap: wrap;
}
.search-bar input[type="text"], .search-bar input[list] {
  flex: 1; min-width: 180px; padding: 10px 12px; border: 1px solid var(--paper-line);
  border-radius: 8px; font-family: 'Inter', sans-serif; font-size: 13.5px;
}

.agency-card {
  background: var(--white); border: 1px solid var(--paper-line); border-radius: 12px;
  padding: 18px 24px; margin-bottom: 14px; display: flex; justify-content: space-between; align-items: center; gap: 16px;
}
.agency-card .agency-main { display: flex; gap: 14px; align-items: flex-start; }
.agency-card .agency-logo { width: 52px; height: 52px; border-radius: 10px; object-fit: cover; border: 1px solid var(--paper-line); flex-shrink: 0; }
.agency-card .agency-logo-placeholder {
  width: 52px; height: 52px; border-radius: 10px; background: var(--ink); color: var(--gold);
  display: flex; align-items: center; justify-content: center; font-family: 'Space Grotesk', sans-serif;
  font-weight: 700; font-size: 18px; flex-shrink: 0;
}
.agency-card h3 { font-family: 'Space Grotesk', sans-serif; font-size: 16px; margin: 0 0 4px; color: var(--ink); }
.agency-card p { font-size: 13px; color: var(--slate-soft); margin: 0; max-width: 440px; }
.stars { color: var(--gold); font-size: 15px; letter-spacing: 1px; }
.rating-block { text-align: right; flex-shrink: 0; }
.rating-block .count { font-size: 11.5px; color: var(--slate-soft); }

.pagination { display: flex; justify-content: center; gap: 8px; margin-top: 24px; }
.pagination a, .pagination span {
  padding: 7px 13px; border-radius: 7px; font-size: 13px; text-decoration: none;
  border: 1px solid var(--paper-line); color: var(--ink); background: var(--white);
}
.pagination a:hover { background: #F7F5EF; }
.pagination .current { background: var(--ink); color: var(--white); border-color: var(--ink); }

.agency-header { text-align: center; margin: 20px 0 30px; }
.agency-header h1 { font-family: 'Space Grotesk', sans-serif; font-size: 26px; color: var(--ink); margin: 0 0 6px; }
.agency-header .stars { color: var(--gold); font-size: 20px; letter-spacing: 2px; }
.agency-header .count { font-size: 12.5px; color: var(--slate-soft); }
.agency-header .agency-logo-lg { width: 72px; height: 72px; border-radius: 14px; object-fit: cover; margin: 0 auto 14px; display: block; border: 1px solid var(--paper-line); }

.review { background: var(--white); border: 1px solid var(--paper-line); border-radius: 10px; padding: 16px 18px; margin-bottom: 12px; }
.review .stars-sm { color: var(--gold); font-size: 13px; }
.review .name { font-weight: 600; font-size: 13.5px; color: var(--ink); }
.review .comment { font-size: 13px; color: var(--slate); margin-top: 6px; }
.review .date { font-size: 11px; color: var(--slate-soft); margin-top: 4px; }

.star-select { display: flex; flex-direction: row-reverse; justify-content: flex-end; gap: 6px; font-size: 28px; margin-bottom: 14px; }
.star-select label { cursor: pointer; color: #DDD8C8; }
.star-select input { display: none; }
.star-select input:checked ~ label, .star-select label:hover, .star-select label:hover ~ label { color: var(--gold); }

.cms-content { background: var(--white); border: 1px solid var(--paper-line); border-radius: 12px; padding: 32px 36px; font-size: 14px; line-height: 1.8; color: var(--slate); }
.cms-content h1 { font-family: 'Space Grotesk', sans-serif; color: var(--ink); font-size: 24px; margin-top: 0; }

.site-footer {
  background: var(--ink); color: #8B96AD; padding: 30px 32px; margin-top: 50px;
  display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 14px;
}
.site-footer .foot-links a { color: #CFD6E4; text-decoration: none; font-size: 12.5px; margin-right: 18px; }
.site-footer .foot-links a:hover { color: var(--white); }
.site-footer .foot-copy { font-size: 12px; }
