/* ============ Provision Roofing & Restoration — site styles (brand tokens in :root) ============
   Design direction: "Trust & Authority" — brand navy + gold, Bebas Neue display type,
   sharp 2–3px corners, credential badges, gold stat strip, full-bleed photo hero. */
:root{--pp-primary:#0C6B94;--pp-deep:#0A3B54;--pp-deeper:#062A3D;--pp-ice:#EEF4F8;
  --pp-frost:#CBDDE8;--pp-ink:#0B2331;--pp-mut:#4A6373;--pp-white:#FFFFFF;
  --pp-primary-dark:#095273;  /* pressed/hover shade of primary */
  --pp-gold:#D4AF3E;--pp-gold-dark:#B8942C;  /* brand gold — CTAs (with navy text) + accents */
  --pp-on-dark:#B9D2E0;--pp-on-dark-dim:#8FAEC0;--pp-on-dark-bright:#DCEBF3;  /* light tints of primary for text on dark sections */
  --pp-disp:'Bebas Neue',Arial,sans-serif;--pp-body:'Montserrat',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:16.5px;line-height:1.6;-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);font-weight:400;line-height:1.02;letter-spacing:.015em;
  text-transform:uppercase;color:var(--pp-deep)}
.pp-eyebrow{font:700 12px/1 var(--pp-body);letter-spacing:.22em;text-transform:uppercase;
  color:var(--pp-primary);display:inline-flex;align-items:center;gap:10px;margin-bottom:14px}
.pp-eyebrow::before{content:"";width:10px;height:10px;background:var(--pp-gold)}
.pp-flake{width:20px;height:20px;color:var(--pp-gold);flex:none}
.pp-phico{width:18px;height:18px;flex:none}
.pp-ck{width:16px;height:16px;color:var(--pp-primary);flex:none;margin-top:5px}

/* ---- top bar ---- */
.pp-topbar{background:var(--pp-deeper);color:var(--pp-ice);border-bottom:1px solid color-mix(in srgb,var(--pp-frost) 14%,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 13px/1.3 var(--pp-body)}
.pp-live{display:inline-flex;align-items:center;gap:8px}
.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(212,175,62,.55)}50%{box-shadow:0 0 0 6px rgba(212,175,62,0)}}}
.pp-topbar a{font-weight:700;white-space:nowrap;display:inline-flex;align-items:center;gap:7px;color:var(--pp-gold)}
.pp-topbar a:hover{color:#fff;text-decoration:underline}

/* ---- header (dark — white brand logo) ---- */
.pp-head{background:var(--pp-deep);border-bottom:3px solid var(--pp-gold)}
.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;min-width:0}
.pp-logo{height:58px;width:auto}
.pp-footlogo{display:inline-block;margin-bottom:14px}
.pp-footlogo img{height:56px;width:auto}
/* main nav — primary-website mode only (region <!--NAV--> in the header) */
.pp-nav{display:flex;align-items:center;gap:20px;margin-left:auto;margin-right:16px;
  font:600 14.5px/1 var(--pp-body)}
.pp-nav a{color:#fff;white-space:nowrap}
.pp-nav a:hover{color:var(--pp-gold)}
/* ≤980px: links collapse behind the hamburger toggle, which opens the
   slide-down .pp-mobilemenu panel under the header. */
.pp-head{position:relative}
.pp-navtoggle{display:none;align-items:center;justify-content:center;margin-left:auto;
  width:46px;min-height:46px;border:2px solid color-mix(in srgb,#fff 32%,transparent);border-radius:3px;
  background:transparent;color:#fff;cursor:pointer;padding:0;flex:none}
.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-navtoggle.open,.pp-navtoggle:hover{border-color:var(--pp-gold);color:var(--pp-gold)}
.pp-mobilemenu{display:none;position:absolute;top:100%;left:0;right:0;z-index:60;
  background:var(--pp-deeper);border-bottom:3px solid var(--pp-gold);flex-direction:column;padding:6px 0;
  box-shadow:0 18px 34px rgba(0,0,0,.38)}
.pp-mobilemenu a{display:block;padding:15px 24px;font:600 17px/1 var(--pp-body);
  color:#fff;border-top:1px solid color-mix(in srgb,var(--pp-frost) 14%,transparent)}
.pp-mobilemenu a:first-child{border-top:0}
.pp-mobilemenu a:active{background:var(--pp-deep);color:var(--pp-gold)}
@media (max-width:980px){
  .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 15.5px/1 var(--pp-body);border-radius:3px;padding:15px 24px;min-height:50px;
  letter-spacing:.02em;white-space:nowrap;transition:transform .15s ease,background .15s ease,box-shadow .15s ease,border-color .15s ease,color .15s ease;
  cursor:pointer;text-align:center;border:0}
.pp-btn:hover{transform:translateY(-1px)}
.pp-btn-solid{background:var(--pp-deep);color:#fff;box-shadow:0 6px 18px color-mix(in srgb,var(--pp-deep) 30%,transparent)}
.pp-btn-solid:hover{background:var(--pp-deeper)}
.pp-btn-blue{background:var(--pp-gold);color:var(--pp-deep);box-shadow:0 6px 18px color-mix(in srgb,var(--pp-gold) 35%,transparent)}
.pp-btn-blue:hover{background:var(--pp-gold-dark);color:var(--pp-deeper)}
.pp-btn-ghost{background:transparent;color:var(--pp-deep);border:2px solid var(--pp-deep)}
.pp-btn-ghost:hover{border-color:var(--pp-gold-dark);color:var(--pp-gold-dark)}
.pp-btn-ice{background:#fff;color:var(--pp-deep)}
.pp-btn-ice:hover{background:var(--pp-ice)}

/* ---- hero (full-bleed photo, navy overlay) ---- */
.pp-hero{background:
  linear-gradient(100deg,color-mix(in srgb,var(--pp-deeper) 88%,transparent) 0%,color-mix(in srgb,var(--pp-deep) 72%,transparent) 46%,color-mix(in srgb,var(--pp-deep) 30%,transparent) 100%),
  var(--pp-deep) url("/images/hero.webp") center/cover no-repeat;color:#fff}
.pp-hero .pp-wrap{display:grid;grid-template-columns:minmax(0,760px);gap:0;
  padding-top:84px;padding-bottom:92px}
.pp-h1{font-size:clamp(2.7rem,6vw,4.4rem);color:#fff;margin-bottom:16px;text-shadow:0 2px 18px rgba(0,0,0,.35)}
.pp-h1::after{content:"";display:block;width:88px;height:5px;background:var(--pp-gold);margin-top:16px}
.pp-hero .pp-eyebrow{color:var(--pp-gold)}
.pp-sub{font-size:clamp(1.02rem,1.6vw,1.16rem);color:var(--pp-on-dark-bright);max-width:56ch;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:var(--pp-deep)}
.pp-hero .pp-checks li{color:#fff}
.pp-hero .pp-ck{color:var(--pp-gold)}
.pp-cta-row{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:18px}
.pp-hero .pp-btn-ghost{color:#fff;border-color:color-mix(in srgb,#fff 55%,transparent)}
.pp-hero .pp-btn-ghost:hover{border-color:var(--pp-gold);color:var(--pp-gold)}
.pp-chips{display:flex;flex-wrap:wrap;gap:8px}
.pp-chip{font:600 12.5px/1 var(--pp-body);letter-spacing:.04em;color:var(--pp-deep);
  background:#fff;border:1px solid var(--pp-frost);border-radius:3px;padding:9px 13px;display:inline-flex;align-items:center;gap:7px}
.pp-hero .pp-chip{background:color-mix(in srgb,var(--pp-deeper) 55%,transparent);color:#fff;
  border-color:color-mix(in srgb,#fff 28%,transparent)}
.pp-chip .pp-flake{width:13px;height:13px}

/* ---- gold stat strip (signature) ---- */
.pp-stats{background:var(--pp-gold);border-bottom:1px solid var(--pp-gold-dark)}
.pp-stats .pp-wrap{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;
  padding-top:26px;padding-bottom:26px;text-align:center}
.pp-stat strong{display:block;font:400 2.5rem/1 var(--pp-disp);color:var(--pp-deep);letter-spacing:.02em}
.pp-stat span{display:block;font:700 11.5px/1.35 var(--pp-body);letter-spacing:.12em;
  text-transform:uppercase;color:var(--pp-deeper);margin-top:6px}

/* ---- quote band ---- */
.pp-quote{background:var(--pp-white)}
.pp-quote .pp-wrap{display:grid;grid-template-columns:1fr 1fr;gap:48px;
  padding-top:64px;padding-bottom:70px;align-items:start}
.pp-h2{font-size:clamp(2rem,3.6vw,2.9rem);margin-bottom:14px}
.pp-lead{color:var(--pp-mut);margin-bottom:22px;max-width:52ch}
.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:36px;height:36px;flex:none;border-radius:3px;background:var(--pp-deep);
  display:inline-flex;align-items:center;justify-content:center;
  font:400 19px/1 var(--pp-disp);color:var(--pp-gold)}
.pp-steps li>div{color:var(--pp-mut);font-size:.96rem;padding-top:6px}
.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:4px;box-shadow:0 16px 40px color-mix(in srgb,var(--pp-deep) 14%,transparent);padding:26px}
.pp-formcard h3{font-size:1.8rem;margin-bottom:6px}
.pp-formsub{color:var(--pp-mut);font-size:.94rem;margin-bottom:18px}
.pp-req{color:#C0392B;font-weight:800}
.pp-field{display:block;margin-bottom:14px}
.pp-field span{display:block;font:700 11.5px/1 var(--pp-body);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:1.5px solid var(--pp-frost);
  border-radius:3px;padding:13px 14px;font:500 16px/1.3 var(--pp-body);color:var(--pp-ink);
  background:#FAFCFE;transition:border-color .15s ease,box-shadow .15s 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:1.5px solid var(--pp-frost);
  border-radius:3px;padding:13px 40px 13px 14px;font:500 16px/1.3 var(--pp-body);color:var(--pp-ink);
  background:#FAFCFE url("data:image/svg+xml;utf8,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%234A6373'%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 .15s ease,box-shadow .15s 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}
.pp-formbtn[disabled]{opacity:.6;cursor:default;transform:none}
.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:3px;padding:12px 14px}
.pp-formmsg.pp-err{display:block;color:#A93226;background:#FDF0EE;border:1px solid #F2C9C2;border-radius:3px;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:3px}
.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 13px/1.4 var(--pp-body);color:var(--pp-mut)}
.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.9rem;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);border-top:1px solid var(--pp-frost)}
.pp-svc .pp-wrap{padding-top:68px;padding-bottom:74px}
.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:4px;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) 16%,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 22px}
.pp-svclist li{display:flex;gap:10px;background:#fff;border:1px solid var(--pp-frost);
  border-left:3px solid var(--pp-gold);border-radius:3px;padding:13px 15px;font-weight:600;
  color:var(--pp-deep);font-size:.95rem;align-items:flex-start}
.pp-svclist .pp-ck{margin-top:3px}
.pp-svc-cta{margin-top:30px;display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.pp-svc-cta span{color:var(--pp-mut);font-weight:600}
.pp-svccards{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:34px}
.pp-svccard{background:#fff;border:1px solid var(--pp-frost);border-radius:4px;overflow:hidden;
  box-shadow:0 12px 30px color-mix(in srgb,var(--pp-deep) 10%,transparent);display:flex;flex-direction:column;
  transition:transform .2s ease,box-shadow .2s ease}
.pp-svccard:hover{transform:translateY(-3px);box-shadow:0 18px 40px color-mix(in srgb,var(--pp-deep) 16%,transparent)}
.pp-svccard>img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;border-bottom:3px solid var(--pp-gold)}
.pp-svccard-body{padding:20px;display:flex;flex-direction:column;gap:12px;flex:1}
.pp-svccard h3{font-size:1.45rem}
.pp-svccard ul{list-style:none;display:grid;gap:8px}
.pp-svccard li{display:flex;gap:9px;font-weight:600;color:var(--pp-deep);font-size:.9rem;align-items:flex-start}
.pp-svccard .pp-btn{margin-top:auto;padding:13px 14px;font-size:14px}

/* ---- why ---- */
.pp-why{background:#fff}
.pp-why .pp-wrap{padding-top:68px;padding-bottom:60px}
.pp-why-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:34px}
.pp-why-card{border:1px solid var(--pp-frost);border-top:4px solid var(--pp-gold);border-radius:4px;
  padding:28px 26px;background:#FAFCFE}
.pp-why-ico{width:56px;height:56px;color:var(--pp-deep);background:var(--pp-ice);
  border:1px solid var(--pp-frost);border-radius:3px;padding:12px;margin-bottom:18px}
.pp-why-card h3{font-size:1.4rem;margin-bottom:8px}
.pp-why-card p{color:var(--pp-mut);font-size:.95rem}

/* ---- credentials band ---- */
.pp-cred{background:#fff}
.pp-cred .pp-wrap{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:20px 44px;
  border:1px solid var(--pp-frost);border-radius:4px;padding:24px 30px;margin-bottom:70px;
  background:var(--pp-ice)}
.pp-cred img{height:64px;width:auto;background:#fff;border:1px solid var(--pp-frost);border-radius:3px;padding:8px 14px}
.pp-cred span{font:700 13px/1.4 var(--pp-body);letter-spacing:.12em;text-transform:uppercase;
  color:var(--pp-deep);display:inline-flex;align-items:center;gap:9px}
.pp-cred span::before{content:"";width:8px;height:8px;background:var(--pp-gold);flex:none}

/* ---- owner ---- */
.pp-own{background:var(--pp-deep);color:var(--pp-ice);border-top:4px solid var(--pp-gold)}
.pp-own .pp-wrap{display:grid;grid-template-columns:.8fr 1.2fr;gap:48px;align-items:center;
  padding-top:74px;padding-bottom:78px}
.pp-own h2{color:#fff}
.pp-own .pp-eyebrow{color:var(--pp-gold)}
.pp-own-photo{border-radius:4px;border:1px solid color-mix(in srgb,var(--pp-frost) 35%,transparent);
  box-shadow:0 20px 50px rgba(0,0,0,.4);width:100%}
.pp-own p{color:var(--pp-on-dark-bright);margin-bottom:14px;max-width:58ch}
.pp-own blockquote{border-left:3px solid var(--pp-gold);padding:6px 0 6px 18px;margin:20px 0;
  font:600 1.06rem/1.55 var(--pp-body);color:#fff}
.pp-own cite{display:block;font:700 .82rem/1 var(--pp-body);letter-spacing:.12em;
  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)}

/* ---- recent work ---- */
.pp-work{background:#fff}
.pp-work .pp-wrap{padding-top:68px;padding-bottom:74px}
.pp-work-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:30px}
.pp-work-item{margin:0;border-radius:4px;overflow:hidden;border:1px solid var(--pp-frost);
  background:#fff;box-shadow:0 10px 26px color-mix(in srgb,var(--pp-deep) 10%,transparent)}
.pp-work-item img{width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;display:block}
.pp-work-item figcaption{font:600 12.5px/1.4 var(--pp-body);letter-spacing:.04em;color:var(--pp-mut);
  padding:12px 14px;border-top:3px solid var(--pp-gold)}

/* ---- reviews ---- */
.pp-rev{background:var(--pp-ice);border-top:1px solid var(--pp-frost)}
.pp-rev .pp-wrap{padding-top:68px;padding-bottom:74px}
.pp-stars{color:var(--pp-gold-dark);font-size:1.05rem;letter-spacing:2px;margin-bottom:10px}
.pp-rev-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:30px}
.pp-rev-card{background:#fff;border:1px solid var(--pp-frost);border-radius:4px;padding:24px;
  display:flex;flex-direction:column;gap:12px}
.pp-rev-card p{font-weight:500;color:var(--pp-ink);font-size:.99rem}
.pp-rev-card footer{font:700 12px/1.4 var(--pp-body);letter-spacing:.08em;
  text-transform:uppercase;color:var(--pp-mut);margin-top:auto}
.pp-rev-note{margin-top:18px;color:var(--pp-mut);font-size:.9rem}

/* ---- final cta ---- */
.pp-final{position:relative;background:linear-gradient(180deg,var(--pp-deep) 0%,var(--pp-deeper) 100%);
  color:#fff;text-align:center;border-top:4px solid var(--pp-gold)}
.pp-final .pp-wrap{position:relative;padding-top:88px;padding-bottom:96px}
.pp-final h2{color:#fff;font-size:clamp(2.2rem,4.2vw,3.3rem);margin-bottom:12px}
.pp-final p{color:var(--pp-on-dark-bright);max-width:56ch;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.35fr .9fr 1.15fr .95fr 1fr;gap:28px;
  padding-top:52px;padding-bottom:30px}
.pp-foot h4{font:700 12.5px/1 var(--pp-body);letter-spacing:.18em;text-transform:uppercase;
  color:var(--pp-gold);margin-bottom:14px}
.pp-foot p,.pp-foot li{font-size:.93rem;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-frost) 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:.84rem;color:var(--pp-on-dark-dim)}

/* ---- pinned call bar (id-scoped, literal values: 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,#062A3D);box-shadow:0 -8px 24px rgba(0,0,0,.32);
  border-top:2px solid var(--pp-gold,#D4AF3E);
  padding:10px 14px calc(10px + env(safe-area-inset-bottom));font-family:'Montserrat',Arial,sans-serif}
#callbar a{display:flex;align-items:center;justify-content:center;gap:10px;box-sizing:border-box;
  background:var(--pp-gold,#D4AF3E);color:var(--pp-deep,#0A3B54);text-decoration:none;border-radius:3px;min-height:54px;
  font:700 16.5px/1 'Montserrat',Arial,sans-serif}
#callbar a:active{background:var(--pp-gold-dark,#B8942C)}
#callbar svg{width:18px;height:18px;flex:none}
@media (min-width:981px){#callbar{display:none !important}}

/* ---- responsive ---- */
.pp-call-short{display:none}
@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-svccards{grid-template-columns:1fr 1fr}
  .pp-stats .pp-wrap{grid-template-columns:1fr 1fr;gap:22px 14px}
  .pp-svclist,.pp-why-grid,.pp-rev-grid{grid-template-columns:1fr 1fr}
  .pp-own-photo{max-width:420px}
  .pp-foot .pp-wrap{grid-template-columns:1fr 1fr}
}
@media (max-width:640px){
  .pp-topbar .pp-area{display:none}
  .pp-formcard{padding:20px}
  .pp-head .pp-wrap{gap:10px}
  .pp-head .pp-btn{padding:12px 14px;font-size:14.5px;min-height:46px}
  .pp-call-long{display:none}
  .pp-call-short{display:inline}
  .pp-logo{height:44px}
  .pp-hero .pp-wrap{padding-top:56px;padding-bottom:64px}
  .pp-svclist,.pp-why-grid,.pp-rev-grid,.pp-svccards{grid-template-columns:1fr}
  .pp-work-grid{grid-template-columns:1fr;gap:18px}
  .pp-work-item img{aspect-ratio:4/3}
  .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}
  .pp-cred .pp-wrap{flex-direction:column;gap:16px;text-align:center}
}

/* ---- legal pages ---- */
.pp-legal{max-width:860px;margin:0 auto;padding:56px 24px 76px;line-height:1.65}
.pp-legal h1{font:400 clamp(2.3rem,4.4vw,3.2rem)/1.05 var(--pp-disp);color:var(--pp-deep);margin-bottom:8px}
.pp-eff{font:700 12.5px/1 var(--pp-body);letter-spacing:.1em;text-transform:uppercase;
  color:var(--pp-mut);margin-bottom:30px}
.pp-legal h2{font:400 1.55rem/1.2 var(--pp-disp);text-transform:uppercase;color:var(--pp-deep);margin:30px 0 10px}
.pp-legal p{margin-bottom:12px;color:#2A4250}
.pp-legal ul{margin:0 0 12px 22px;color:#2A4250}
.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}}
