
  * { box-sizing:border-box; }
  body { margin:0; background:#f5f8fc; }
  [hidden] { display:none !important; }
  a { text-decoration:none; }
  a:hover { color:#0f63bd; }
  .pp .col{ max-width:820px; margin:0 auto; padding:0 clamp(16px,4vw,28px); }
  .pp .card{ background:#fff; border:1px solid #e8eef5; border-radius:16px; padding:28px 30px; }
  .pp .card + .card{ margin-top:20px; }
  @media (max-width:560px){ .pp .card{ padding:22px 20px; } }
  .pp .sec-head{ margin-bottom:22px; }
  .pp .sec-head > span:first-child{ display:block; font-size:11.5px; font-weight:800; letter-spacing:.1em; text-transform:uppercase; color:#1277e1; margin-bottom:6px; }
  .pp .sec-head h2{ font-size:21px; font-weight:800; letter-spacing:-.02em; color:#0b2e4e; margin:0; }
  .pp .stars{ color:#f5a623; font-size:13px; letter-spacing:1px; }
  .pp .icon-box{ width:44px; height:44px; flex:none; border-radius:11px; display:flex; align-items:center; justify-content:center; background:#eaf2fd; color:#1277e1; font-size:17px; }
  .pp .btn-primary{ display:inline-flex; align-items:center; justify-content:center; gap:9px; height:50px; padding:0 26px; background:#1277e1; color:#fff; border-radius:10px; font-size:15px; font-weight:700; border:none; cursor:pointer; transition:background .15s; }
  .pp .btn-primary:hover{ background:#0f63bd; color:#fff; }
  .pp .btn-secondary{ display:inline-flex; align-items:center; justify-content:center; gap:8px; height:50px; padding:0 24px; background:#fff; color:#0b2e4e; border:1.5px solid #d3e0ee; border-radius:10px; font-size:15px; font-weight:700; transition:border-color .15s, color .15s; }
  .pp .btn-secondary:hover{ border-color:#1277e1; color:#1277e1; }
  .pp .info-grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:16px; }
  @media (max-width:560px){ .pp .info-grid{ grid-template-columns:1fr; } }
  .pp .info-row{ display:flex; align-items:flex-start; gap:12px; }
  .pp .info-ico{ width:38px; height:38px; flex:none; border-radius:10px; background:#f2f6fb; color:#5a7fa3; display:flex; align-items:center; justify-content:center; font-size:15px; }
  .pp .info-row small{ display:block; font-size:12px; color:#8a929c; font-weight:600; text-transform:uppercase; letter-spacing:.04em; }
  .pp .info-row strong{ display:block; font-size:15px; color:#1a1a22; font-weight:700; margin-top:2px; }
  .pp .chip{ display:inline-flex; align-items:center; gap:6px; font-size:12.5px; font-weight:700; color:#1277e1; background:#eef4fc; border:1px solid #dbe9fa; border-radius:8px; padding:5px 11px; }
  .pp .chip i{ font-size:11px; }
  .pp .svc-item{ display:flex; align-items:flex-start; gap:10px; padding:9px 0; }
  .pp .svc-item i{ color:#1f9d57; font-size:14px; margin-top:3px; }
  .pp .svc-item strong{ display:block; font-size:14.5px; color:#1a1a22; font-weight:700; }
  .pp .svc-item span{ display:block; font-size:13px; color:#6e7a8a; margin-top:2px; }
  .pp .svc-tile{ display:flex; align-items:center; gap:12px; background:#f7fafd; border:1px solid #e6eef7; border-radius:12px; padding:14px 16px; transition:border-color .14s, box-shadow .14s; }
  .pp .svc-tile:hover{ border-color:#bcd4ee; box-shadow:0 6px 16px rgba(18,119,225,.08); }
  .pp .svc-tile-ico{ width:38px; height:38px; flex:none; border-radius:10px; background:#eaf2fd; color:#1277e1; display:flex; align-items:center; justify-content:center; font-size:15px; }
  .pp .svc-tile strong{ font-size:14.5px; font-weight:700; color:#0b2e4e; }
  .pp .rate-row{ display:grid; grid-template-columns:1fr auto 56px; align-items:center; gap:12px; padding:12px 0; border-top:1px solid #eef0f4; font-size:14px; }
  .pp .rate-row.head{ font-size:12px; font-weight:800; text-transform:uppercase; letter-spacing:.05em; color:#8a929c; border-top:none; }
  .pp .rate-row .src{ font-weight:700; color:#1a1a22; }
  .pp .rate-row .rating-value{ display:flex; align-items:center; gap:7px; justify-self:end; }
  .pp .rate-row .rating-value b{ font-size:13.5px; color:#1a1a22; }
  .pp .review-read-link{ justify-self:end; font-size:13px; font-weight:700; color:#1277e1; }
  .pp .rate-row.unavailable{ opacity:.38; }
  .pp .review-read-link.disabled{ color:#7f8995; cursor:not-allowed; pointer-events:none; }
  .pp .review-summary-unavailable{ opacity:.42; }
  .pp .project-history-grid{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
  .pp .btn-primary:disabled{ background:#a9bdd2; color:#edf3f8; cursor:not-allowed; }
  .review-modal[hidden]{ display:none; }
  .review-modal{ position:fixed; inset:0; z-index:3000; display:flex; align-items:center; justify-content:center; padding:20px; background:rgba(11,46,78,.66); }
  .review-modal-dialog{ position:relative; width:min(100%,440px); padding:30px; border:1px solid #d9e5f1; border-radius:8px; background:#fff; box-shadow:0 28px 70px rgba(11,46,78,.3); font-family:"Public Sans",system-ui,sans-serif; }
  .review-modal-dialog h2{ margin:0 38px 8px 0; color:#0b2e4e; font-size:24px; font-weight:800; letter-spacing:0; }
  .review-modal-dialog p{ margin:0 0 22px; color:#5a6472; font-size:14px; line-height:1.6; }
  .review-modal-dialog label{ display:block; margin-bottom:7px; color:#0b2e4e; font-size:12.5px; font-weight:700; }
  .review-modal-dialog select{ width:100%; height:48px; padding:0 42px 0 14px; border:1px solid #d4dce6; border-radius:8px; background:#fff; color:#1a1a22; font:500 15px "Public Sans",system-ui,sans-serif; }
  .review-modal-dialog select:focus{ border-color:#1277e1; outline:2px solid rgba(18,119,225,.16); }
  .review-modal-close{ position:absolute; top:18px; right:18px; width:36px; height:36px; border:0; border-radius:7px; background:#f1f4f7; color:#6e7a8a; cursor:pointer; }
  .review-modal-go{ display:inline-flex; align-items:center; justify-content:center; gap:9px; width:100%; height:50px; margin-top:20px; padding:0 24px; border:0; border-radius:8px; background:#1277e1; color:#fff; font:700 15px "Public Sans",system-ui,sans-serif; cursor:pointer; }
  .review-modal-go:hover{ background:#0f63bd; }
  .review-modal-go:disabled{ background:#a9bdd2; color:#edf3f8; cursor:not-allowed; }
  body.review-modal-open{ overflow:hidden; }
  .pp .muted{ color:#b7c2cf; }






