/* ============ Veteran Brothers Roofing & Restoration — site styles ============
   Design direction: Trust & Authority — steel navy + brass gold from the brand
   logo, Lexend/Source Sans 3 type, sharp 2px corners, dark credential-forward
   header, photo hero. Brand tokens in :root. */
:root{--pp-primary:#2E5F78;--pp-deep:#1B3A4C;--pp-deeper:#122837;--pp-ice:#EEF3F6;
  --pp-frost:#D4E0E7;--pp-ink:#15242D;--pp-mut:#4C6472;--pp-white:#FFFFFF;
  --pp-primary-dark:#254D62;  /* pressed/hover shade of primary */
  --pp-gold:#C29B6C;--pp-gold-dark:#A87F4F;  /* brass accent from the logo */
  --pp-on-dark:#B9CEDA;--pp-on-dark-dim:#8CA6B5;--pp-on-dark-bright:#DCE8EF;
  --pp-disp:'Lexend',Arial,sans-serif;--pp-body:'Source Sans 3',Arial,sans-serif}
html{scroll-behavior:smooth}
body{margin:0;background:var(--pp-white);color:var(--pp-ink);font-family:var(--pp-body);
  font-size:17px;line-height:1.55;-webkit-font-smoothing:antialiased}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
img{max-width:100%;height:auto;display:block;border:0}
[hidden]{display:none !important}
a{color:inherit;text-decoration:none}
a:focus-visible,button:focus-visible{outline:3px solid var(--pp-gold);outline-offset:2px}
.pp-wrap{max-width:1180px;margin:0 auto;padding:0 24px}
h1,h2,h3{font-family:var(--pp-disp);line-height:1.12;color:var(--pp-deep)}
.pp-eyebrow{font:700 12.5px/1 var(--pp-disp);letter-spacing:.18em;text-transform:uppercase;
  color:var(--pp-gold-dark);display:inline-flex;align-items:center;gap:9px;margin-bottom:14px}
.pp-eyebrow::before{content:"★";font-size:11px;color:var(--pp-gold)}
.pp-phico{width:18px;height:18px;flex:none}
.pp-ck{width:16px;height:16px;color:var(--pp-gold-dark);flex:none;margin-top:5px}
.pp-star{width:20px;height:20px;color:var(--pp-gold);flex:none}

/* ---- top bar ---- */
.pp-topbar{background:var(--pp-deeper);color:var(--pp-on-dark-bright);
  border-bottom:1px solid color-mix(in srgb,var(--pp-gold) 28%,transparent)}
.pp-topbar .pp-wrap{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;
  gap:6px 16px;min-height:40px;padding-top:7px;padding-bottom:7px;font:500 13.5px/1.3 var(--pp-body)}
.pp-live{display:inline-flex;align-items:center;gap:8px;font-weight:600;
  letter-spacing:.04em;text-transform:uppercase;font-size:12.5px}
.pp-dot{width:8px;height:8px;border-radius:50%;background:var(--pp-gold);flex:none}
@media (prefers-reduced-motion:no-preference){
  .pp-dot{animation:ppPulse 1.8s ease-in-out infinite}
  @keyframes ppPulse{0%,100%{box-shadow:0 0 0 0 rgba(194,155,108,.55)}50%{box-shadow:0 0 0 6px rgba(194,155,108,0)}}}
.pp-topbar a{font-weight:700;white-space:nowrap;display:inline-flex;align-items:center;gap:7px;color:#fff}
.pp-topbar a:hover{color:var(--pp-gold);text-decoration:underline}

/* ---- header (dark — the brand logo carries light lettering) ---- */
.pp-head{background:var(--pp-deep);border-bottom:3px solid var(--pp-gold);position:relative}
.pp-head .pp-wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;
  padding-top:12px;padding-bottom:12px}
.pp-brand{display:flex;align-items:center;flex:none}
.pp-logo{height:58px;width:auto;max-width:none}
.pp-footlogo{display:inline-block;margin-bottom:14px}
.pp-footlogo img{height:56px;width:auto;max-width:none}
/* main nav — primary-website mode. Desktop: inline links. ≤1120px: links
   collapse behind the hamburger toggle, which opens .pp-mobilemenu. */
.pp-nav{display:flex;align-items:center;gap:20px;margin-left:auto;margin-right:16px;
  font:600 14.5px/1 var(--pp-disp)}
.pp-nav a{color:var(--pp-on-dark-bright);white-space:nowrap;padding:6px 0;
  border-bottom:2px solid transparent}
.pp-nav a:hover{color:var(--pp-gold);border-bottom-color:var(--pp-gold)}
.pp-navtoggle{display:none;align-items:center;justify-content:center;margin-left:auto;
  width:46px;min-height:46px;border:1px solid color-mix(in srgb,var(--pp-on-dark) 45%,transparent);
  border-radius:2px;background:transparent;color:var(--pp-on-dark-bright);cursor:pointer;padding:0}
.pp-navtoggle svg{width:24px;height:24px}
.pp-navtoggle .pp-nt-close{display:none}
.pp-navtoggle.open .pp-nt-open{display:none}
.pp-navtoggle.open .pp-nt-close{display:block}
.pp-mobilemenu{display:none;position:absolute;top:100%;left:0;right:0;z-index:60;
  background:var(--pp-deep);border-bottom:3px solid var(--pp-gold);flex-direction:column;padding:6px 0;
  box-shadow:0 14px 30px rgba(0,0,0,.35)}
.pp-mobilemenu a{display:block;padding:15px 22px;font:600 17px/1 var(--pp-disp);
  color:var(--pp-on-dark-bright);border-top:1px solid color-mix(in srgb,var(--pp-on-dark) 18%,transparent)}
.pp-mobilemenu a:first-child{border-top:0}
.pp-mobilemenu a:active{background:var(--pp-deeper);color:var(--pp-gold)}
@media (max-width:1120px){
  .pp-nav{display:none}
  .pp-navtoggle{display:inline-flex}
  .pp-mobilemenu:not([hidden]){display:flex}
}
.pp-btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;
  font:700 14.5px/1 var(--pp-disp);letter-spacing:.05em;text-transform:uppercase;
  border-radius:2px;padding:15px 24px;min-height:50px;
  transition:background .15s ease,color .15s ease,border-color .15s ease;cursor:pointer;text-align:center;border:0;white-space:nowrap}
.pp-btn-blue{background:var(--pp-gold);color:var(--pp-deeper)}
.pp-btn-blue:hover{background:var(--pp-gold-dark);color:#fff}
.pp-btn-solid{background:var(--pp-primary);color:#fff}
.pp-btn-solid:hover{background:var(--pp-primary-dark)}
.pp-btn-ghost{background:transparent;color:var(--pp-deep);border:1px solid var(--pp-primary)}
.pp-btn-ghost:hover{background:var(--pp-primary);color:#fff}
.pp-btn-ghost-light{color:#fff;border-color:color-mix(in srgb,#fff 65%,transparent)}
.pp-btn-ghost-light:hover{background:#fff;border-color:#fff;color:var(--pp-deep)}
.pp-btn-ice{background:#fff;color:var(--pp-deep)}
.pp-btn-ice:hover{background:var(--pp-ice)}

/* ---- hero (homepage: full-bleed photo; service pages: navy field) ---- */
.pp-hero{position:relative;background:linear-gradient(120deg,var(--pp-deeper) 0%,var(--pp-deep) 70%,var(--pp-primary-dark) 100%);color:#fff}
.pp-hero-photo{background:var(--pp-deeper) url("/images/hero.webp") center/cover no-repeat}
.pp-hero::before{content:"";position:absolute;inset:0;
  background:linear-gradient(90deg,rgba(18,40,55,.94) 0%,rgba(18,40,55,.82) 45%,rgba(18,40,55,.45) 100%)}
.pp-hero-svc::before{background:linear-gradient(90deg,rgba(18,40,55,.35),rgba(18,40,55,0))}
.pp-hero .pp-wrap{position:relative;display:grid;grid-template-columns:minmax(0,760px);
  padding-top:76px;padding-bottom:84px}
.pp-hero-svc .pp-wrap{padding-top:58px;padding-bottom:64px}
.pp-h1{font-size:clamp(2.05rem,4.2vw,3.25rem);font-weight:800;letter-spacing:-.015em;
  margin-bottom:16px;color:#fff}
.pp-sub{font-size:clamp(1.05rem,1.6vw,1.18rem);color:var(--pp-on-dark-bright);max-width:58ch;margin-bottom:22px}
.pp-checks{list-style:none;display:grid;gap:10px;margin-bottom:26px}
.pp-checks li{display:flex;gap:10px;font-weight:600;color:#fff}
.pp-checks .pp-ck{color:var(--pp-gold)}
.pp-cta-row{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:20px}
.pp-chips{display:flex;flex-wrap:wrap;gap:8px}
.pp-chip{font:700 11.5px/1 var(--pp-disp);letter-spacing:.12em;text-transform:uppercase;
  color:var(--pp-gold);background:color-mix(in srgb,var(--pp-deeper) 55%,transparent);
  border:1px solid color-mix(in srgb,var(--pp-gold) 55%,transparent);
  border-radius:2px;padding:9px 13px;display:inline-flex;align-items:center;gap:7px}

/* ---- quote band ---- */
.pp-quote{background:var(--pp-white)}
.pp-quote .pp-wrap{display:grid;grid-template-columns:1fr 1fr;gap:48px;
  padding-top:58px;padding-bottom:66px;align-items:start}
.pp-quote .pp-wrap>*{min-width:0}
.pp-h2{font-size:clamp(1.55rem,3vw,2.25rem);font-weight:800;letter-spacing:-.01em;margin-bottom:14px}
.pp-lead{color:var(--pp-mut);margin-bottom:22px;max-width:56ch}
.pp-steps{list-style:none;display:grid;gap:16px;margin-top:4px}
.pp-steps li{display:flex;gap:14px;align-items:flex-start}
.pp-steps li>span{width:34px;height:34px;flex:none;border-radius:2px;background:var(--pp-deep);
  border-bottom:2px solid var(--pp-gold);display:inline-flex;align-items:center;justify-content:center;
  font:700 15px/1 var(--pp-disp);color:var(--pp-gold)}
.pp-steps li>div{color:var(--pp-mut);font-size:.99rem;padding-top:5px}
.pp-steps strong{color:var(--pp-deep)}
.pp-formcard{background:#fff;border:1px solid var(--pp-frost);border-top:4px solid var(--pp-gold);
  border-radius:2px;box-shadow:0 14px 38px color-mix(in srgb,var(--pp-deep) 14%,transparent);padding:26px}
.pp-formcard h3{font-size:1.3rem;margin-bottom:6px}
.pp-formsub{color:var(--pp-mut);font-size:.97rem;margin-bottom:18px}
.pp-req{color:#C0392B;font-weight:800}
.pp-field{display:block;margin-bottom:14px}
.pp-field span{display:block;font:700 12px/1 var(--pp-disp);letter-spacing:.1em;
  text-transform:uppercase;color:var(--pp-mut);margin-bottom:7px}
.pp-field span i{font-style:normal;font-weight:500;text-transform:none;letter-spacing:0}
.pp-field input{width:100%;box-sizing:border-box;border:1px solid var(--pp-frost);
  border-radius:2px;padding:13px 14px;font:500 16px/1.3 var(--pp-body);color:var(--pp-ink);
  background:#FAFCFD;transition:border-color .12s ease,box-shadow .12s ease}
.pp-field input:focus{outline:none;border-color:var(--pp-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--pp-primary) 18%,transparent)}
.pp-field input.pp-bad{border-color:#C0392B}
.pp-field select{width:100%;box-sizing:border-box;border:1px solid var(--pp-frost);
  border-radius:2px;padding:13px 40px 13px 14px;font:500 16px/1.3 var(--pp-body);color:var(--pp-ink);
  background:#FAFCFD url("data:image/svg+xml;utf8,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%234C6472'%20stroke-width='2.5'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Cpath%20d='m6%209%206%206%206-6'/%3E%3C/svg%3E") no-repeat right 14px center/16px;
  -webkit-appearance:none;appearance:none;transition:border-color .12s ease,box-shadow .12s ease}
.pp-field select:focus{outline:none;border-color:var(--pp-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--pp-primary) 18%,transparent)}
.pp-field select:invalid{color:var(--pp-mut)}
.pp-field select.pp-bad{border-color:#C0392B}
.pp-hp{position:absolute;left:-9999px;top:auto;width:1px;height:1px;opacity:0;pointer-events:none}
.pp-formbtn{width:100%;margin-top:4px;white-space:normal}
.pp-formbtn[disabled]{opacity:.6;cursor:default}
.pp-formmsg{margin-top:12px;font:600 14.5px/1.5 var(--pp-body);display:none}
.pp-formmsg.pp-ok{display:block;color:#1E7A4C;background:#E8F7EF;border:1px solid #BFE8D2;border-radius:2px;padding:12px 14px}
.pp-formmsg.pp-err{display:block;color:#A93226;background:#FDF0EE;border:1px solid #F2C9C2;border-radius:2px;padding:12px 14px}
.pp-consent{display:flex;gap:10px;align-items:flex-start;margin:4px 0 14px;cursor:pointer}
.pp-consent input{width:18px;height:18px;margin-top:2px;flex:none;accent-color:var(--pp-primary);cursor:pointer}
.pp-consent input.pp-bad{outline:2px solid #C0392B;outline-offset:2px;border-radius:2px}
.pp-consent span{font:500 12px/1.55 var(--pp-body);color:var(--pp-mut)}
.pp-consent a{color:var(--pp-primary);font-weight:700;text-decoration:underline}
.pp-orcall{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 16px;
  border-top:1px solid var(--pp-frost);margin-top:18px;padding-top:16px;font:600 13.5px/1.4 var(--pp-body);color:var(--pp-mut)}
.pp-orcall .pp-live{color:var(--pp-gold-dark)}
.pp-orcall .pp-dot{background:var(--pp-gold)}
.pp-orcall a{color:var(--pp-deep);display:inline-flex;align-items:center;gap:8px;font-weight:800}
.pp-orcall a:hover{color:var(--pp-primary)}
.pp-formdone{text-align:center;padding:26px 8px 12px}
.pp-done-ico{width:64px;height:64px;color:#1E7A4C;margin:0 auto 14px;display:block}
.pp-formdone h3{font-size:1.5rem;margin-bottom:8px}
.pp-formdone p{color:var(--pp-mut);margin-bottom:10px;font-size:1rem}
.pp-done-urgent a{color:var(--pp-primary);font-weight:800}
.pp-done-urgent a:hover{text-decoration:underline}

/* ---- services ---- */
.pp-svc{background:var(--pp-ice)}
.pp-svc .pp-wrap{padding-top:64px;padding-bottom:70px}
.pp-svc-top{display:grid;grid-template-columns:1.12fr .88fr;gap:36px;align-items:center;margin-bottom:30px}
.pp-svc-head{display:flex;gap:22px;align-items:center;max-width:840px}
.pp-svc-photo{margin:0;border-radius:2px;overflow:hidden;border:1px solid var(--pp-frost);
  border-bottom:4px solid var(--pp-gold);box-shadow:0 14px 34px color-mix(in srgb,var(--pp-deep) 14%,transparent)}
.pp-svc-photo img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover}
.pp-svclist{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:12px 26px}
.pp-svclist li{display:flex;gap:10px;background:#fff;border:1px solid var(--pp-frost);
  border-left:3px solid var(--pp-gold);border-radius:2px;padding:13px 15px;font-weight:600;
  color:var(--pp-deep);font-size:.98rem;align-items:flex-start}
.pp-svclist .pp-ck{margin-top:3px}
.pp-svc-cta{margin-top:28px;display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.pp-svc-cta span{color:var(--pp-mut);font-weight:600}
/* 7 cards fill a 4+3 layout on desktop — no orphan card */
.pp-svccards{display:grid;grid-template-columns:repeat(12,1fr);gap:22px;margin-top:34px}
.pp-svccard{grid-column:span 4}
.pp-svccard:nth-child(-n+4){grid-column:span 3}
.pp-svccard{background:#fff;border:1px solid var(--pp-frost);border-radius:2px;
  border-top:3px solid transparent;padding:26px;display:flex;flex-direction:column;
  transition:border-color .15s ease,transform .15s ease}
.pp-svccard:hover{border-top-color:var(--pp-gold);transform:translateY(-2px)}
.pp-svcico{width:42px;height:42px;color:var(--pp-gold-dark);margin-bottom:16px}
.pp-svccard-body{display:flex;flex-direction:column;gap:12px;flex:1}
.pp-svccard h3{font-size:1.18rem}
.pp-svccard p{color:var(--pp-mut);font-size:.96rem}
.pp-svccard .pp-btn{margin-top:auto;align-self:flex-start;padding:12px 16px;min-height:44px;font-size:12.5px}

/* ---- why (credential cards) ---- */
.pp-why{background:#fff}
.pp-why .pp-wrap{padding-top:64px;padding-bottom:70px}
.pp-why-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:34px}
.pp-why-card{border:1px solid var(--pp-frost);border-radius:2px;padding:26px;background:#fff;
  border-top:3px solid var(--pp-gold)}
.pp-why-ico{width:40px;height:40px;color:var(--pp-primary);margin-bottom:14px}
.pp-why-card h3{font-size:1.08rem;margin-bottom:8px}
.pp-why-card p{color:var(--pp-mut);font-size:.94rem}

/* ---- recent work ---- */
.pp-work{background:#fff}
.pp-work .pp-wrap{padding-top:64px;padding-bottom:70px;border-top:1px solid var(--pp-frost)}
.pp-work-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:30px}
.pp-work-item{margin:0;border-radius:2px;overflow:hidden;border:1px solid var(--pp-frost);
  background:#fff}
.pp-work-item img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;display:block}
.pp-work-item figcaption{font:600 13px/1.4 var(--pp-body);color:var(--pp-mut);padding:12px 14px;
  border-top:2px solid var(--pp-gold)}

/* ---- owner ---- */
.pp-own{background:var(--pp-deep);color:var(--pp-ice)}
.pp-own .pp-wrap{display:grid;grid-template-columns:.62fr 1.38fr;gap:48px;align-items:center;
  padding-top:70px;padding-bottom:74px}
.pp-own h2{color:#fff}
.pp-own .pp-eyebrow{color:var(--pp-gold)}
.pp-own-photo{border-radius:2px;border:1px solid color-mix(in srgb,var(--pp-gold) 45%,transparent);
  box-shadow:0 20px 50px rgba(0,0,0,.35);width:100%;max-width:340px;justify-self:center}
.pp-own p{color:var(--pp-on-dark-bright);margin-bottom:14px;max-width:62ch}
.pp-own blockquote{border-left:3px solid var(--pp-gold);padding:6px 0 6px 18px;margin:20px 0;
  font:600 1.18rem/1.45 var(--pp-disp);color:#fff}
.pp-own cite{display:block;font:700 .8rem/1 var(--pp-disp);letter-spacing:.14em;
  text-transform:uppercase;color:var(--pp-gold);margin-top:10px;font-style:normal}
.pp-own-checks{list-style:none;display:flex;flex-wrap:wrap;gap:10px 22px;margin-top:6px}
.pp-own-checks li{display:flex;gap:8px;font-weight:600;color:var(--pp-ice);align-items:flex-start}
.pp-own-checks .pp-ck{color:var(--pp-gold)}

/* ---- trust band (rating + credentials) ---- */
.pp-rev{background:var(--pp-ice)}
.pp-rev .pp-wrap{padding-top:56px;padding-bottom:60px}
.pp-trustband{display:grid;grid-template-columns:auto 1fr auto;gap:36px;align-items:center;
  background:#fff;border:1px solid var(--pp-frost);border-left:4px solid var(--pp-gold);
  border-radius:2px;padding:32px 36px}
.pp-stars{display:flex;gap:3px;margin-bottom:10px}
.pp-trust-score strong{display:block;font:700 1.25rem/1.2 var(--pp-disp);color:var(--pp-deep)}
.pp-trust-score span{color:var(--pp-mut);font-size:.94rem}
.pp-trust-list{list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:10px 24px}
.pp-trust-list li{display:flex;gap:9px;font-weight:600;color:var(--pp-deep);font-size:.97rem;align-items:flex-start}

/* ---- areas ---- */
.pp-areas{background:#fff}
.pp-areas .pp-wrap{padding-top:64px;padding-bottom:70px}
.pp-arealist{list-style:none;display:flex;flex-wrap:wrap;gap:9px;margin-top:8px}
.pp-arealist li{font:600 13.5px/1 var(--pp-body);color:var(--pp-deep);background:var(--pp-ice);
  border:1px solid var(--pp-frost);border-radius:2px;padding:9px 13px}

/* ---- final cta ---- */
.pp-final{position:relative;background:linear-gradient(120deg,var(--pp-deeper) 0%,var(--pp-deep) 60%,var(--pp-primary-dark) 100%);
  color:#fff;text-align:center;border-top:4px solid var(--pp-gold)}
.pp-final .pp-wrap{position:relative;padding-top:84px;padding-bottom:92px}
.pp-final h2{color:#fff;font-size:clamp(1.7rem,3.4vw,2.5rem);margin-bottom:12px}
.pp-final p{color:var(--pp-on-dark-bright);max-width:60ch;margin:0 auto 26px}
.pp-final .pp-cta-row{justify-content:center;margin-bottom:0}

/* ---- footer ---- */
.pp-foot{background:var(--pp-deeper);color:var(--pp-on-dark)}
.pp-foot .pp-wrap{display:grid;grid-template-columns:1.3fr .9fr 1.1fr 1fr;gap:34px;
  padding-top:52px;padding-bottom:30px}
.pp-foot h4{font:700 12.5px/1 var(--pp-disp);letter-spacing:.16em;text-transform:uppercase;
  color:var(--pp-gold);margin-bottom:14px}
.pp-foot p,.pp-foot li{font-size:.95rem;line-height:1.7}
.pp-foot ul{list-style:none}
.pp-foot a:hover{color:#fff;text-decoration:underline}
.pp-foot-bottom{border-top:1px solid color-mix(in srgb,var(--pp-on-dark) 16%,transparent);margin-top:8px}
.pp-foot-bottom .pp-wrap{display:flex;flex-wrap:wrap;gap:8px 20px;justify-content:space-between;
  padding-top:18px;padding-bottom:20px;font-size:.85rem;color:var(--pp-on-dark-dim)}

/* ---- pinned call bar (id-scoped, literal fallbacks: keeps working after being
        re-parented to <body>, outside the wrapper and its CSS variables) ---- */
#callbar{position:fixed;left:0;right:0;bottom:0;z-index:2147483000;display:none;
  box-sizing:border-box;background:var(--pp-deeper,#122837);box-shadow:0 -8px 24px rgba(0,0,0,.35);
  border-top:2px solid var(--pp-gold,#C29B6C);
  padding:10px 14px calc(10px + env(safe-area-inset-bottom));font-family:'Lexend',Arial,sans-serif}
#callbar a{display:flex;align-items:center;justify-content:center;gap:10px;box-sizing:border-box;
  background:var(--pp-gold,#C29B6C);color:var(--pp-deeper,#122837);text-decoration:none;border-radius:2px;min-height:54px;
  font:700 16px/1 'Lexend',Arial,sans-serif;letter-spacing:.04em;text-transform:uppercase}
#callbar a:active{background:var(--pp-gold-dark,#A87F4F);color:#fff}
#callbar svg{width:18px;height:18px;flex:none}
@media (min-width:981px){#callbar{display:none !important}}

/* ---- responsive ---- */
.pp-call-short{display:none}
/* tight range: nav + full number compete for header width — use the short label */
@media (max-width:1300px){
  .pp-head .pp-call-long{display:none}
  .pp-head .pp-call-short{display:inline}
}
@media (max-width:980px){
  body{padding-bottom:78px}
  #callbar{display:block}
  .pp-topbar .pp-wrap{justify-content:center;text-align:center}
  .pp-hero .pp-wrap,.pp-quote .pp-wrap,.pp-own .pp-wrap{grid-template-columns:1fr;gap:34px}
  .pp-svc-top{grid-template-columns:1fr}
  .pp-svccard,.pp-svccard:nth-child(-n+4){grid-column:span 6}
  .pp-svccard:last-child{grid-column:span 12}
  .pp-svclist,.pp-why-grid{grid-template-columns:1fr 1fr}
  .pp-own-photo{max-width:300px}
  .pp-trustband{grid-template-columns:1fr;gap:22px;padding:26px}
  .pp-foot .pp-wrap{grid-template-columns:1fr 1fr}
  .pp-hero::before{background:linear-gradient(180deg,rgba(18,40,55,.92) 0%,rgba(18,40,55,.8) 100%)}
}
@media (max-width:640px){
  .pp-topbar .pp-area{display:none}
  .pp-formcard{padding:20px}
  .pp-head .pp-btn{padding:12px 14px;font-size:13px;min-height:46px}
  .pp-call-long{display:none}
  .pp-call-short{display:inline}
  .pp-logo{height:44px}
  .pp-hero .pp-wrap{padding-top:48px;padding-bottom:56px}
  .pp-svccard,.pp-svccard:nth-child(-n+4),.pp-svccard:last-child{grid-column:span 12}
  .pp-svclist,.pp-why-grid,.pp-trust-list{grid-template-columns:1fr}
  .pp-work-grid{grid-template-columns:1fr;gap:18px}
  .pp-svc-head{flex-direction:row;gap:16px}
  .pp-cta-row .pp-btn{width:100%}
  .pp-foot .pp-wrap{grid-template-columns:1fr;gap:26px}
}

@media (max-width:380px){
  .pp-head .pp-wrap{gap:10px;padding-left:14px;padding-right:14px}
  .pp-logo{height:36px}
  .pp-head .pp-btn{padding:10px 12px;min-height:44px;font-size:12.5px}
  .pp-navtoggle{width:42px;min-height:42px}
}

/* ---- legal pages ---- */
.pp-legal{max-width:860px;margin:0 auto;padding:56px 24px 76px;line-height:1.65}
.pp-legal h1{font:800 clamp(1.9rem,3.6vw,2.6rem)/1.1 var(--pp-disp);color:var(--pp-deep);margin-bottom:8px}
.pp-eff{font:700 12.5px/1 var(--pp-disp);letter-spacing:.1em;text-transform:uppercase;
  color:var(--pp-gold-dark);margin-bottom:30px}
.pp-legal h2{font:700 1.25rem/1.25 var(--pp-disp);color:var(--pp-deep);margin:30px 0 10px}
.pp-legal p{margin-bottom:12px;color:#2A414D}
.pp-legal ul{margin:0 0 12px 22px;color:#2A414D}
.pp-legal li{margin-bottom:6px}
.pp-legal a{color:var(--pp-primary);font-weight:700}
.pp-legal a:hover{text-decoration:underline}
@media (max-width:640px){.pp-legal{padding:40px 24px 56px}}
