/* Fullstop Relaunch – site-wide additions (all pages). */

/* Back to top */
#to-top{display:none!important}
.fsr-top{position:fixed;z-index:9990;right:max(20px,env(safe-area-inset-right,0px));bottom:calc(20px + env(safe-area-inset-bottom,0px));width:48px;height:48px;border:0;border-radius:50%;background:#fed34a;color:#0b0b0c;display:grid;place-items:center;cursor:pointer;box-shadow:0 8px 24px rgba(0,0,0,.25);opacity:0;transform:translateY(16px) scale(.9);pointer-events:none;transition:opacity .35s ease,transform .45s cubic-bezier(.2,.7,.1,1),background .2s}
.fsr-top.show{opacity:1;transform:none;pointer-events:auto}
.fsr-top:hover{background:#f5f5f2}
.fsr-top:focus-visible{outline:2px solid #fed34a;outline-offset:3px}
.fsr-top svg{width:20px;height:20px}

/* Sticky header on subpages: stays transparent at the top, turns into a dark glass bar once you scroll */
body:not(.fs-landing) #header-outer{position:fixed!important;top:0;left:0;right:0;transition:background-color .35s ease,box-shadow .35s ease}
body.admin-bar:not(.fs-landing) #header-outer{top:32px}
/* Salient forces a transparent header background, so the glass bar is a layer behind the menu */
body:not(.fs-landing) #header-outer::before{content:"";position:absolute;inset:0;z-index:-1;background:rgba(11,11,12,.94);-webkit-backdrop-filter:saturate(180%) blur(18px);backdrop-filter:saturate(180%) blur(18px);box-shadow:0 1px 0 rgba(255,255,255,.08);opacity:0;transition:opacity .35s ease;pointer-events:none}
body:not(.fs-landing) #header-outer.fsr-scrolled::before{opacity:1}
/* Salient hides the header while scrolling down; keep it on screen all the time */
html body:not(.fs-landing) #header-outer#header-outer[data-has-menu]{transform:none!important;visibility:visible!important}
@media (max-width:782px){body.admin-bar:not(.fs-landing) #header-outer{top:0}}

/* Team page: same portrait format for every tile */
.team-member img{width:100%!important;height:auto!important;aspect-ratio:4/5;object-fit:cover;object-position:center 22%}

/* Image bands between sections of the service pages */
.fsr-band{max-width:1180px;margin:clamp(36px,6vw,88px) auto;padding:0 20px;box-sizing:border-box}
.fsr-band .fr{position:relative;border-radius:24px;overflow:hidden;aspect-ratio:21/9;background:#151517}
.fsr-band .fr img{position:absolute;inset:0;display:block;width:100%!important;height:100%!important;max-width:none!important;margin:0!important;object-fit:cover;transform:scale(1.08);transition:transform 1.6s cubic-bezier(.2,.7,.1,1)}
.fsr-band.in .fr img{transform:none}
@media (max-width:760px){.fsr-band .fr{aspect-ratio:4/3;border-radius:18px}}
@media (prefers-reduced-motion:reduce){.fsr-band img,.fsr-top{transition:none}.fsr-band img{transform:none}}
