/* ============ @@BIZ@@ · @@PAGE_LABEL@@ · scoped to ============ */
:root{--pp-primary:#1F88F7;--pp-deep:#0C2C4A;--pp-deeper:#081F36;--pp-ice:#EEF5FE;
  --pp-frost:#C4DEFA;--pp-ink:#0E1D2E;--pp-mut:#48627B;--pp-white:#FFFFFF;
  --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-primary);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.08;color:var(--pp-deep)}
.pp-eyebrow{font:600 12.5px/1 var(--pp-body);letter-spacing:.14em;text-transform:uppercase;
  color:var(--pp-primary);display:inline-flex;align-items:center;gap:8px;margin-bottom:14px}
.pp-eyebrow::before{content:"";width:26px;height:2px;background:var(--pp-frost)}
.pp-flake{width:20px;height:20px;color:var(--pp-primary);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)}
.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}
.pp-dot{width:8px;height:8px;border-radius:50%;background:#7FC7A4;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(127,199,164,.55)}50%{box-shadow:0 0 0 6px rgba(127,199,164,0)}}}
.pp-topbar a{font-weight:700;white-space:nowrap;display:inline-flex;align-items:center;gap:7px}
.pp-topbar a:hover{color:#fff;text-decoration:underline}

/* ---- header ---- */
.pp-head{background:var(--pp-white);border-bottom:1px solid var(--pp-frost)}
.pp-head .pp-wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;
  padding-top:14px;padding-bottom:14px}
.pp-brand{display:flex;align-items:center;min-width:0}
.pp-logo{height:60px;width:auto}
.pp-footlogo{background:#fff;border-radius:12px;padding:10px 14px;display:inline-block;margin-bottom:14px}
.pp-footlogo img{height:52px;width:auto}
/* main nav — primary-website mode. Desktop: inline links. ≤980px: links
   collapse behind the hamburger toggle, which opens the slide-down
   .pp-mobilemenu panel under the header. */
.pp-head{position:relative}
.pp-nav{display:flex;align-items:center;gap:26px;margin-left:auto;margin-right:18px;
  font:600 15.5px/1 var(--pp-body)}
.pp-nav a{color:var(--pp-deep);white-space:nowrap}
.pp-nav a:hover{color:var(--pp-primary)}
.pp-navtoggle{display:none;align-items:center;justify-content:center;margin-left:auto;
  width:46px;min-height:46px;border:2px solid var(--pp-frost);border-radius:10px;
  background:#fff;color:var(--pp-deep);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:#fff;border-bottom:1px solid var(--pp-frost);flex-direction:column;padding:6px 0;
  box-shadow:0 14px 30px rgba(12,44,74,.14)}
.pp-mobilemenu a{display:block;padding:15px 22px;font:600 17px/1 var(--pp-body);
  color:var(--pp-deep);border-top:1px solid var(--pp-ice)}
.pp-mobilemenu a:first-child{border-top:0}
.pp-mobilemenu a:active{background:var(--pp-ice)}
@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 16px/1 var(--pp-body);border-radius:10px;padding:15px 24px;min-height:50px;
  transition:transform .12s ease,background .12s ease,box-shadow .12s 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 rgba(12,44,74,.25)}
.pp-btn-solid:hover{background:var(--pp-deeper)}
.pp-btn-blue{background:var(--pp-primary);color:#fff;box-shadow:0 6px 18px rgba(31,136,247,.35)}
.pp-btn-blue:hover{background:#1272DB}
.pp-btn-ghost{background:transparent;color:var(--pp-deep);border:2px solid var(--pp-frost)}
.pp-btn-ghost:hover{border-color:var(--pp-primary);color:var(--pp-primary)}
.pp-btn-ice{background:#fff;color:var(--pp-deep)}
.pp-btn-ice:hover{background:var(--pp-ice)}

/* ---- hero ---- */
.pp-hero{background:linear-gradient(180deg,var(--pp-ice) 0%,#F7FAFE 100%)}
.pp-hero .pp-wrap{display:grid;grid-template-columns:1.05fr .95fr;gap:48px;align-items:center;
  padding-top:64px;padding-bottom:72px}
.pp-h1{font-size:clamp(2.1rem,4.4vw,3.35rem);font-weight:900;letter-spacing:-.01em;margin-bottom:16px}
.pp-sub{font-size:clamp(1.05rem,1.6vw,1.2rem);color:var(--pp-mut);max-width:54ch;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-cta-row{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:18px}
.pp-chips{display:flex;flex-wrap:wrap;gap:8px}
.pp-chip{font:600 12.5px/1 var(--pp-body);letter-spacing:.02em;color:var(--pp-deep);
  background:#fff;border:1px solid var(--pp-frost);border-radius:999px;padding:8px 13px;display:inline-flex;align-items:center;gap:7px}
.pp-chip .pp-flake{width:13px;height:13px}
.pp-hero-card{background:#fff;border:1px solid var(--pp-frost);border-radius:18px;
  box-shadow:0 18px 44px rgba(12,44,74,.12);padding:18px;position:relative}
.pp-hero-card img{border-radius:10px;width:100%;object-fit:contain}
.pp-hero-tag{position:absolute;left:18px;bottom:18px;background:var(--pp-deep);color:var(--pp-ice);
  font:600 12.5px/1.2 var(--pp-body);letter-spacing:.06em;text-transform:uppercase;border-radius:8px;padding:9px 12px}

/* ---- 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-h2{font-size:clamp(1.6rem,3vw,2.3rem);font-weight:900;letter-spacing:-.005em;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:34px;height:34px;flex:none;border-radius:50%;background:var(--pp-ice);
  border:1px solid var(--pp-frost);display:inline-flex;align-items:center;justify-content:center;
  font:900 15px/1 var(--pp-disp);color:var(--pp-primary)}
.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-radius:18px;
  box-shadow:0 18px 44px rgba(12,44,74,.12);padding:26px}
.pp-formcard h3{font-size:1.35rem;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:600 12.5px/1 var(--pp-body);letter-spacing:.06em;
  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:10px;padding:13px 14px;font:500 16px/1.3 var(--pp-body);color:var(--pp-ink);
  background:#FBFDFF;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 rgba(31,136,247,.18)}
.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:10px;padding:13px 40px 13px 14px;font:500 16px/1.3 var(--pp-body);color:var(--pp-ink);
  background:#FBFDFF url("data:image/svg+xml;utf8,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%2348627B'%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 rgba(31,136,247,.18)}
.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:10px;padding:12px 14px}
.pp-formmsg.pp-err{display:block;color:#A93226;background:#FDF0EE;border:1px solid #F2C9C2;border-radius:10px;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 13.5px/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.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:16px;overflow:hidden;border:1px solid var(--pp-frost);
  box-shadow:0 14px 34px rgba(12,44,74,.14)}
.pp-svc-photo img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover}
.pp-svc-ico{width:86px;height:86px;flex:none;background:#fff;border:1px solid var(--pp-frost);
  border-radius:16px;padding:12px;box-shadow:0 8px 22px rgba(12,44,74,.08)}
.pp-svclist{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:12px 26px}
.pp-svclist li[id]{scroll-margin-top:90px}
.pp-svclist li{display:flex;gap:10px;background:#fff;border:1px solid var(--pp-frost);
  border-radius:10px;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}
.pp-svccards{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:34px}
.pp-svccard{background:#fff;border:1px solid var(--pp-frost);border-radius:18px;overflow:hidden;
  box-shadow:0 14px 34px rgba(12,44,74,.10);display:flex;flex-direction:column}
.pp-svccard>img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover}
.pp-svccard-body{padding:22px;display:flex;flex-direction:column;gap:12px;flex:1}
.pp-svccard h3{font-size:1.25rem}
.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:.95rem;align-items:flex-start}
.pp-svccard .pp-btn{margin-top:auto}

/* ---- why ---- */
.pp-why{background:#fff}
.pp-why .pp-wrap{padding-top:64px;padding-bottom:70px}
.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-radius:16px;padding:26px;background:#FBFDFF}
.pp-why-card img{width:92px;height:92px;border-radius:50%;margin-bottom:16px;
  border:2px solid var(--pp-frost);background:#fff;object-fit:cover}
.pp-why-card h3{font-size:1.12rem;margin-bottom:8px}
.pp-why-card p{color:var(--pp-mut);font-size:.97rem}

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

/* ---- owner ---- */
.pp-own{background:var(--pp-deep);color:var(--pp-ice)}
.pp-own .pp-wrap{display:grid;grid-template-columns:.8fr 1.2fr;gap:48px;align-items:center;
  padding-top:70px;padding-bottom:74px}
.pp-own h2{color:#fff}
.pp-own .pp-eyebrow{color:var(--pp-frost)}
.pp-own .pp-eyebrow::before{background:rgba(196,222,250,.35)}
.pp-own-photo{border-radius:18px;border:1px solid rgba(196,222,250,.35);
  box-shadow:0 20px 50px rgba(0,0,0,.35);width:100%}
.pp-own p{color:#D6E7FA;margin-bottom:14px;max-width:58ch}
.pp-own blockquote{border-left:3px solid var(--pp-primary);padding:6px 0 6px 18px;margin:20px 0;
  font:700 1.2rem/1.4 var(--pp-disp);color:#fff}
.pp-own cite{display:block;font:600 .9rem/1 var(--pp-body);letter-spacing:.08em;
  text-transform:uppercase;color:var(--pp-frost);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:#EAF3FE;align-items:flex-start}
.pp-own-checks .pp-ck{color:#7FB5F2}

/* ---- reviews ---- */
.pp-rev{background:var(--pp-ice)}
.pp-rev .pp-wrap{padding-top:64px;padding-bottom:70px}
.pp-stars{color:#E8A33D;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:16px;padding:24px;
  display:flex;flex-direction:column;gap:12px}
.pp-rev-card p{font-weight:600;color:var(--pp-deep);font-size:1.02rem}
.pp-rev-card footer{font:600 12.5px/1.4 var(--pp-body);letter-spacing:.05em;
  text-transform:uppercase;color:var(--pp-mut)}
.pp-rev-note{margin-top:18px;color:var(--pp-mut);font-size:.92rem}

/* ---- final cta ---- */
.pp-final{position:relative;background:var(--pp-deep) url("/images/winter.webp") center/cover no-repeat;color:#fff;text-align:center}
.pp-final::before{content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,#0C2C4A 0%,rgba(12,44,74,.66) 34%,rgba(8,31,54,.84) 100%)}
.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:#D6E7FA;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:#B9CFE8}
.pp-foot .pp-wrap{display:grid;grid-template-columns:1.2fr 1fr 1fr 1fr 1fr;gap:34px;
  padding-top:52px;padding-bottom:30px}
.pp-foot h4{font:700 13px/1 var(--pp-body);letter-spacing:.14em;text-transform:uppercase;
  color:#fff;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 rgba(196,222,250,.16);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:#8CA7C4}

/* ---- 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:#0C2C4A;box-shadow:0 -8px 24px rgba(0,0,0,.28);
  padding:10px 14px calc(10px + env(safe-area-inset-bottom));font-family:'Source Sans 3',Arial,sans-serif}
#callbar a{display:flex;align-items:center;justify-content:center;gap:10px;box-sizing:border-box;
  background:#1F88F7;color:#fff;text-decoration:none;border-radius:10px;min-height:54px;
  font:700 17px/1 'Source Sans 3',Arial,sans-serif}
#callbar a:active{background:#1272DB}
#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}
  .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-btn{padding:12px 16px;font-size:15px;min-height:46px}
  .pp-call-long{display:none}
  .pp-call-short{display:inline}
  .pp-logo{height:44px}
  .pp-hero .pp-wrap{padding-top:44px;padding-bottom:52px}
  .pp-svclist,.pp-why-grid,.pp-rev-grid{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-svc-ico{width:64px;height:64px}
  .pp-cta-row .pp-btn{width:100%}
  .pp-foot .pp-wrap{grid-template-columns:1fr;gap:26px}
}

/* ---- legal pages ---- */
.pp-legal{max-width:860px;margin:0 auto;padding:56px 24px 76px;line-height:1.65}
.pp-legal h1{font:900 clamp(1.9rem,3.6vw,2.6rem)/1.1 var(--pp-disp);color:var(--pp-deep);margin-bottom:8px}
.pp-eff{font:600 13px/1 var(--pp-body);letter-spacing:.08em;text-transform:uppercase;
  color:var(--pp-mut);margin-bottom:30px}
.pp-legal h2{font:900 1.25rem/1.25 var(--pp-disp);color:var(--pp-deep);margin:30px 0 10px}
.pp-legal p{margin-bottom:12px;color:#28414F}
.pp-legal ul{margin:0 0 12px 22px;color:#28414F}
.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}}
