@import url("https://fonts.googleapis.com/css2?family=Big+Shoulders+Display:wght@600&display=swap");
/* Shared footer: material and type inherit the existing Costello tokens. */
.costello-system footer.costello-footer{
 --footer-secondary:color-mix(in srgb,var(--c-on-navy) 72%,transparent);
 --footer-quiet:color-mix(in srgb,var(--c-on-navy) 55%,transparent);
 box-sizing:border-box;display:block;flex-grow:0;margin:0;width:100%;
 padding:96px max(var(--gutter),calc((100vw - var(--content-max))/2)) 32px!important;
 background:var(--c-navy);color:var(--c-on-navy);
 font:400 15px/1.7 var(--ff-sans);font-variant-numeric:lining-nums;letter-spacing:normal;
}
.costello-footer *{box-sizing:border-box}
.costello-footer .costello-footer__grid{display:grid;grid-template-columns:minmax(max-content,5fr) minmax(0,3fr) minmax(0,4fr);gap:32px;align-items:start}
.costello-footer__brand{grid-column:span 1;min-width:0}
.costello-footer__office{grid-column:span 1;min-width:0}
.costello-footer__site{grid-column:span 1;min-width:0}
.costello-footer .costello-footer__wordmark{display:block;width:151.8px;max-width:100%;aspect-ratio:994/447;background:var(--c-on-navy);mask:url('img/logo-reversed.png') center/contain no-repeat}
.costello-system .costello-footer p{margin:0;font:inherit;color:inherit;letter-spacing:inherit}
.costello-system .costello-footer .costello-footer__descriptor{margin:24px 0 0;font:italic 400 20px/1.4 var(--ff-serif);color:var(--c-on-navy);max-width:100%}
.costello-system .costello-footer .costello-footer__label{margin:0 0 16px;font:500 11px/1.7 var(--ff-sans);letter-spacing:.14em;text-transform:uppercase;color:var(--footer-quiet)}
.costello-footer address{margin:0;font:inherit;color:var(--c-on-navy)}
.costello-footer a{color:inherit;text-decoration:underline;text-decoration-color:transparent;text-decoration-thickness:1px;text-underline-offset:4px;border:0;transition:color 150ms ease,text-decoration-color 150ms ease}
.costello-footer .costello-footer__map{display:block}
.costello-footer .costello-footer__phone{display:inline-flex;align-items:center;min-height:44px;margin-top:12px;white-space:nowrap}
.costello-footer nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:24px;row-gap:0;font:inherit;color:var(--footer-secondary)}
.costello-footer nav a{display:flex;align-items:center;min-height:44px;min-width:0;width:fit-content}
.costello-footer .costello-footer__follow{margin-top:20px;padding-top:16px;border-top:1px solid color-mix(in srgb,var(--c-on-navy) 11%,transparent)}
.costello-system .costello-footer .costello-footer__follow .costello-footer__label{margin-bottom:7px}
.costello-footer__social{display:flex;flex-wrap:wrap;gap:9px;font:400 13px/1.5 var(--ff-sans);color:var(--footer-secondary)}
.costello-footer__social a{display:inline-flex;align-items:center;min-height:36px;width:fit-content}
.costello-social-link{display:inline-flex!important;align-items:center;justify-content:center;width:44px!important;min-width:44px;height:44px;min-height:44px!important;padding:0;border:1px solid color-mix(in srgb,currentColor 24%,transparent)!important;border-radius:50%;opacity:.72;text-decoration:none!important}
.costello-social-link .costello-social-icon{display:block;width:15px;height:15px;background:currentColor;mask:var(--social-icon) center/contain no-repeat;-webkit-mask:var(--social-icon) center/contain no-repeat}
.costello-social-link--linkedin{--social-icon:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M20.45 20.45h-3.56v-5.57c0-1.33-.02-3.04-1.85-3.04-1.85 0-2.14 1.45-2.14 2.94v5.67H9.35V9h3.41v1.56h.05c.48-.9 1.64-1.85 3.37-1.85 3.6 0 4.27 2.37 4.27 5.46v6.28zM5.34 7.43a2.06 2.06 0 1 1 0-4.12 2.06 2.06 0 0 1 0 4.12zM3.56 9h3.56v11.45H3.56z'/></svg>")}
.costello-social-link--facebook{--social-icon:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M13.5 22v-9h3l.5-3h-3.5V8.5c0-.87.29-1.5 1.55-1.5H17V4.14A20 20 0 0 0 14.1 4c-2.87 0-4.84 1.75-4.84 4.97V10H6v3h3.26v9h4.24z'/></svg>")}
.costello-social-link--instagram{--social-icon:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M7 2h10a5 5 0 0 1 5 5v10a5 5 0 0 1-5 5H7a5 5 0 0 1-5-5V7a5 5 0 0 1 5-5zm0 2a3 3 0 0 0-3 3v10a3 3 0 0 0 3 3h10a3 3 0 0 0 3-3V7a3 3 0 0 0-3-3H7zm5 3a5 5 0 1 1 0 10 5 5 0 0 1 0-10zm0 2a3 3 0 1 0 0 6 3 3 0 0 0 0-6zm5.5-3.25a1.25 1.25 0 1 1 0 2.5 1.25 1.25 0 0 1 0-2.5z'/></svg>")}
.costello-social-link:hover{opacity:1;border-color:currentColor!important}
.costello-footer a:hover,.costello-footer a[aria-current="page"]{color:var(--c-on-navy);text-decoration-color:var(--c-signal)}
.costello-footer a:focus-visible{outline:2px solid var(--c-on-navy);outline-offset:3px;color:var(--c-on-navy)}
.costello-footer .costello-footer__legal{display:flex;justify-content:space-between;align-items:start;gap:24px;margin-top:56px;padding-top:28px;border-top:1px solid color-mix(in srgb,var(--c-on-navy) 14%,transparent);font:400 12px/1.7 var(--ff-sans);letter-spacing:.02em;color:var(--footer-quiet)}
.costello-footer__legal p:last-child{max-width:62ch;text-align:right}
@media(max-width:1023px){
 .costello-footer .costello-footer__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:40px 32px}
 .costello-footer__brand{grid-column:1/-1}
 .costello-footer__office,.costello-footer__site{grid-column:span 1}
}
@media(max-width:639px){
 .costello-system footer.costello-footer{padding-top:64px!important}
 .costello-footer .costello-footer__grid{grid-template-columns:minmax(0,1fr);gap:40px}
 .costello-footer__brand,.costello-footer__office,.costello-footer__site{grid-column:1}
 .costello-footer .costello-footer__map{min-height:44px}
 .costello-footer__social{gap:0 16px}
 .costello-footer .costello-footer__legal{flex-direction:column;gap:16px}
 .costello-footer__legal p:last-child{text-align:left}
}
@media(prefers-reduced-motion:reduce){.costello-footer a{transition:none}}

/* Sentence groups stay intact; the grid and legal rule share one gutter. */
.costello-footer__descriptor span{display:block;white-space:nowrap}
.costello-footer .costello-footer__grid,.costello-footer .costello-footer__legal{width:100%;padding-inline:0;margin-inline:0}
/* Studio signature follows the supplied footer reference. */
.costello-system .costello-footer .costello-footer__credit{display:flex;justify-content:flex-end;margin:0;padding-top:36px}
.costello-footer .costello-footer__mark{display:inline-flex;align-items:center;gap:12px;min-height:44px;text-decoration:none;border:0}
.costello-footer__mark span{font-family:"Big Shoulders Display",sans-serif;font-size:11px;line-height:14px;font-weight:600;letter-spacing:.24em;text-transform:uppercase;white-space:nowrap;color:rgba(241,236,226,.5);transition:color .4s ease}
.costello-footer__mark img{display:block;height:22px;width:auto;opacity:.5;transition:opacity .4s ease}
.costello-footer .costello-footer__mark:hover,.costello-footer .costello-footer__mark:focus-visible{text-decoration:none}
.costello-footer__mark:hover span,.costello-footer__mark:focus-visible span{color:rgba(241,236,226,.95)}
.costello-footer__mark:hover img,.costello-footer__mark:focus-visible img{opacity:.9}
@media(prefers-reduced-motion:reduce){.costello-footer__mark span,.costello-footer__mark img{transition:none}}
