/* Portfolio reference adapted to the services page's responsive sizing unit. */
#srs3 .srs3-footer{background:#162b35;color:#cad7dc;padding-top:calc(42 * var(--srs3-px));font-size:calc(14 * var(--srs3-px));line-height:1.7}
#srs3 .srs3-footer a{text-decoration:none;box-shadow:none;color:inherit;transition:color .2s}
#srs3 .srs3-footer a:hover{color:var(--cyan)}
#srs3 .srs3-footer :is(a,button):focus-visible{outline:2px solid var(--cyan);outline-offset:5px}
#srs3 .srs3-footer h2{color:#fff!important;-webkit-text-fill-color:#fff!important;font:500 calc(18 * var(--srs3-px))/1.5 var(--display);letter-spacing:0;text-transform:none;margin:0 0 calc(24 * var(--srs3-px))}
#srs3 .srs3-footer-invite{display:flex;align-items:center;justify-content:space-between;gap:calc(28 * var(--srs3-px));padding-bottom:calc(32 * var(--srs3-px));border-bottom:1px solid #ffffff20}
#srs3 .srs3-footer-invite .srs3-eyebrow{color:var(--cyan);font-size:calc(10 * var(--srs3-px));letter-spacing:.15em}
#srs3 .srs3-footer-invite h2{font-size:clamp(28px,3vw,calc(40 * var(--srs3-px)));line-height:1.15;letter-spacing:-.035em;margin:calc(10 * var(--srs3-px)) 0}
#srs3 .srs3-footer-invite h2+p{color:#b5c7cf}
#srs3 .srs3-footer-button{display:inline-flex;align-items:center;justify-content:center;gap:calc(28 * var(--srs3-px));flex-shrink:0;min-height:50px;padding:calc(14 * var(--srs3-px)) calc(20 * var(--srs3-px));border:1px solid var(--cyan);border-radius:calc(6 * var(--srs3-px));background:var(--cyan);color:#162b35;font:500 calc(14 * var(--srs3-px))/1.5 var(--display);transition:background .2s}
#srs3 .srs3-footer-button:hover{background:#a0f0f2}
#srs3 .srs3-footer-button span{font-size:calc(22 * var(--srs3-px));line-height:1}
#srs3 .srs3-footer-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,.7fr) minmax(0,1fr);gap:calc(64 * var(--srs3-px));padding-block:calc(36 * var(--srs3-px))}
#srs3 .srs3-footer .srs3-footer-wordmark{display:inline-flex;align-items:center;gap:calc(16 * var(--srs3-px));color:#fff;font:700 clamp(22px,2.4vw,calc(32 * var(--srs3-px)))/1.3 var(--display);letter-spacing:-.035em}
#srs3 .srs3-footer-wordmark>span{color:var(--cyan);font-weight:400}
#srs3 .srs3-footer-brand>p{margin:calc(19 * var(--srs3-px)) 0;color:#b5c7cf}
#srs3 .srs3-footer address{font:inherit;font-style:normal;line-height:1.9;color:#b5c7cf}
#srs3 .srs3-footer ul{list-style:none;padding:0;margin:0;display:grid;gap:calc(7 * var(--srs3-px))}
#srs3 .srs3-footer li{padding:0;margin:0}
#srs3 .srs3-footer li::before,#srs3 .srs3-footer li::after{content:none}
#srs3 .srs3-footer-nav a{display:inline-block;padding-block:calc(3 * var(--srs3-px))}
#srs3 .srs3-footer-nav a[aria-current]{color:var(--cyan)}
#srs3 .srs3-footer-nav a span{margin-left:calc(8 * var(--srs3-px))}
#srs3 .srs3-footer-socials{display:flex;flex-wrap:wrap;gap:calc(10 * var(--srs3-px));margin-top:calc(24 * var(--srs3-px))}
#srs3 .srs3-footer-socials>:is(a,span){display:grid;place-items:center;width:max(44px,calc(44 * var(--srs3-px)));height:max(44px,calc(44 * var(--srs3-px)));border:1px solid #ffffff30;border-radius:50%;background:#ffffff04;color:#dce8ec}
#srs3 .srs3-footer-socials>a:hover{background:#ffffff16;border-color:var(--cyan)}
#srs3 .srs3-footer-socials>span{color:#9db4be}
#srs3 .srs3-footer-socials svg{width:45%;height:45%;fill:currentColor;display:block}
#srs3 .srs3-footer-socials svg[fill="none"]{fill:none;stroke:currentColor;stroke-width:1.8}
#srs3 .srs3-footer-instagram-dot{fill:currentColor;stroke:none}
#srs3 .srs3-footer-hours dl{padding:0;margin:0}
#srs3 .srs3-footer-hours dl>div{display:flex;justify-content:space-between;gap:calc(20 * var(--srs3-px));border-bottom:1px solid #ffffff17;padding:calc(12 * var(--srs3-px)) 0}
#srs3 .srs3-footer-hours dl>div:first-child{padding-top:0}
#srs3 .srs3-footer-hours dt{font-weight:400}
#srs3 .srs3-footer-hours dd{margin:0;color:#fff;white-space:nowrap}
#srs3 .srs3-footer-hours dd.srs3-footer-closed{color:var(--cyan)}
#srs3 .srs3-footer-hours-note{font-size:calc(12 * var(--srs3-px));color:#b5c7cf;margin-top:calc(12 * var(--srs3-px))}
#srs3 .srs3-footer-bottom{display:flex;justify-content:space-between;align-items:center;gap:calc(20 * var(--srs3-px));border-top:1px solid #ffffff20;padding-block:calc(22 * var(--srs3-px));font-size:calc(12 * var(--srs3-px));color:#b5c7cf}
#srs3 .srs3-footer-bottom a span{margin-left:calc(12 * var(--srs3-px))}
/* Replace recognised theme footers only on pages containing this footer.
   Never hide a theme wrapper that contains the shortcode itself. */
body:has(#srs3-footer) :is(#colophon,#site-footer,.site-footer,.elementor-location-footer,[data-elementor-type="footer"],.pbmit-footer-section):not(#srs3-footer):not(:has(#srs3)){display:none!important}
@media(max-width:1000px){
  #srs3 .srs3-footer-grid{gap:30px;grid-template-columns:minmax(0,1.2fr) minmax(0,.65fr) minmax(0,1fr)}
  #srs3 .srs3-footer-hours dl>div{flex-direction:column;gap:3px}
}
@media(max-width:700px){
  #srs3 .srs3-footer-grid{grid-template-columns:1fr 1fr;gap:32px 24px}
  #srs3 .srs3-footer-brand{grid-column:1/-1}
  #srs3 .srs3-footer .srs3-footer-wordmark{font-size:28px}
  #srs3 .srs3-footer h2{font-size:17px;margin-bottom:18px}
  #srs3 .srs3-footer-invite{flex-direction:column;align-items:flex-start;gap:22px}
  #srs3 .srs3-footer-invite h2{font-size:30px;margin-block:10px}
  #srs3 .srs3-footer-nav a{min-height:44px;display:inline-flex;align-items:center}
}
@media(max-width:380px){
  #srs3 .srs3-footer-grid{grid-template-columns:1fr}
  #srs3 .srs3-footer-hours dl>div{flex-direction:row}
  #srs3 .srs3-footer-bottom{align-items:flex-start;flex-direction:column;gap:10px}
}
