/* Site footer (site_footer.php, every page): premium layout on the deepest navy. Every word as before; the phone number and email
   move up as large links beside the logo (a white-lettered copy of the real logo, logo-footer-white.webp), the link lists and the
   address below, the copyright and social links on a hairline, and the company name set very large and faint along the bottom.
   Same frame as the nav bar (--frame). Tokens from site-tokens.css. */
.ps-footer{position:relative;overflow:hidden;isolation:isolate;font-family:var(--font-sans);background:var(--bg-footer);color:var(--navy-200);-webkit-font-smoothing:antialiased}
.ps-footer::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
  background:radial-gradient(40% 60% at 100% 0,rgba(169,45,49,.28),transparent 70%),radial-gradient(35% 55% at 0 100%,rgba(101,133,203,.14),transparent 70%)}
.ps-footer *,.ps-footer *::before,.ps-footer *::after{box-sizing:border-box}
.ps-footer .ps-ft-in{padding:clamp(56px,6vw,96px) var(--frame) 0}
.ps-footer a{color:inherit;text-decoration:none}
.ps-footer a:focus-visible{outline:2px solid #fff;outline-offset:4px;border-radius:4px}

/* top: logo and badge, then the two large contact links */
.ps-footer .ps-ft-top{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:32px 48px;padding-bottom:clamp(40px,4vw,56px);border-bottom:1px solid rgba(255,255,255,.1)}
.ps-footer .ps-ft-brand{display:flex;align-items:center;gap:28px}
.ps-footer .ps-ft-logo{display:block;flex:0 0 auto}
.ps-footer .ps-ft-logo img{display:block;width:clamp(104px,9vw,132px);height:auto}
.ps-footer .ps-ft-mii{display:block;width:96px;height:auto;filter:contrast(1.2);mix-blend-mode:screen;opacity:.85}   /* white on #111: screen lets the navy show through */
.ps-footer .ps-ft-reach{display:flex;flex-wrap:wrap;gap:14px 40px}
.ps-footer .ps-ft-big{display:inline-flex;align-items:center;gap:16px;font-size:clamp(22px,2.2vw,32px);font-weight:500;line-height:1.2;letter-spacing:-.02em;color:#fff;
  background:linear-gradient(var(--crimson-300),var(--crimson-300)) 0 100%/0 2px no-repeat;padding-bottom:6px;transition:background-size .35s cubic-bezier(.2,.7,.2,1)}
.ps-footer .ps-ft-big:hover{color:#fff;background-size:100% 2px}
.ps-footer .ps-ft-big .ic{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;width:48px;height:48px;border-radius:50%;
  border:1.5px solid rgba(226,142,141,.55);color:var(--crimson-300);transition:background-color .25s,border-color .25s,color .25s}
.ps-footer .ps-ft-big:hover .ic{background:var(--action-primary);border-color:var(--action-primary);color:#fff}

/* the lists and the address */
.ps-footer .ps-ft-cols{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px;padding:clamp(40px,4vw,56px) 0}
.ps-footer h3{margin:0 0 20px;padding:0;font-family:inherit;font-size:var(--step-label);font-weight:500;line-height:1.3;letter-spacing:.08em;text-transform:uppercase;color:var(--crimson-300)}
.ps-footer h3::after{display:none}
.ps-footer ul{margin:0;padding:0;list-style:none}
.ps-footer .ps-ft-cols ul{display:grid;gap:14px}
.ps-footer .ps-ft-cols li{margin:0;padding:0}
.ps-footer .ps-ft-cols li a{display:inline-flex;align-items:center;font-size:17px;line-height:1.4;color:var(--navy-100);transition:color .2s}
.ps-footer .ps-ft-cols li a::before{content:"";width:0;height:1.5px;margin-right:0;background:var(--crimson-300);transition:width .25s cubic-bezier(.2,.7,.2,1),margin-right .25s cubic-bezier(.2,.7,.2,1)}
.ps-footer .ps-ft-cols li a:hover{color:#fff}
.ps-footer .ps-ft-cols li a:hover::before{width:14px;margin-right:8px}
.ps-footer address{margin:0;font-style:normal;font-size:17px;line-height:1.7;color:var(--navy-100)}
.ps-footer .ps-ft-gst{margin:14px 0 0;font-size:15px;line-height:1.5;letter-spacing:.02em;color:var(--navy-300)}

/* bottom: copyright and social links on a hairline */
.ps-footer .ps-ft-bottom{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px 24px;padding:24px 0;border-top:1px solid rgba(255,255,255,.1)}
.ps-footer .ps-ft-bottom p{margin:0;font-size:15px;line-height:1.5;color:var(--navy-300)}
.ps-footer .ps-ft-social{display:flex;gap:10px}
.ps-footer .ps-ft-social a{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:50%;border:1px solid rgba(255,255,255,.18);color:#fff;
  transition:background-color .25s,border-color .25s,transform .25s}
.ps-footer .ps-ft-social a:hover{background:var(--action-primary);border-color:var(--action-primary);color:#fff;transform:translateY(-2px)}

/* the company name, very large and faint, cut by the bottom edge */
.ps-footer .ps-ft-mark{margin:clamp(4px,1vw,16px) 0 calc(-0.3 * clamp(80px,17vw,280px));padding:0 var(--frame);font-size:clamp(80px,17vw,280px);font-weight:600;line-height:1;letter-spacing:-.05em;
  white-space:nowrap;text-align:center;color:transparent;background:linear-gradient(180deg,rgba(255,255,255,.09),rgba(255,255,255,0) 85%);-webkit-background-clip:text;background-clip:text;
  user-select:none;pointer-events:none}

/* tablet */
@media (max-width:991px){
  .ps-footer .ps-ft-cols{grid-template-columns:1fr 1fr}
  .ps-footer .ps-ft-contact{grid-column:1 / -1}
}
/* phone */
@media (max-width:575px){
  .ps-footer .ps-ft-top{flex-direction:column;align-items:flex-start}
  .ps-footer .ps-ft-reach{flex-direction:column}
  .ps-footer .ps-ft-big{font-size:21px;gap:12px}
  .ps-footer .ps-ft-big .ic{width:42px;height:42px}
  .ps-footer .ps-ft-cols{gap:36px 20px}
  .ps-footer .ps-ft-cols li a,.ps-footer address{font-size:16px}
  .ps-footer .ps-ft-bottom{flex-direction:column-reverse;align-items:flex-start}
}
@media (prefers-reduced-motion:reduce){.ps-footer *{transition:none!important}.ps-footer .ps-ft-social a:hover{transform:none}}
