/* Ace's closing chapter. Scoped so page layouts remain independent. */
.site-footer.ace-footer{position:relative;isolation:isolate;padding:0;overflow:hidden;background:radial-gradient(ellipse at 12% 0%,#204e37 0,transparent 52%),linear-gradient(125deg,#103a2a,#082a21 72%);color:#f8f5e9;border-top:4px solid #ef874d;font-family:Manrope,Arial,sans-serif}
.ace-footer::before{content:"ACE";position:absolute;z-index:-1;right:-22px;bottom:3px;color:transparent;-webkit-text-stroke:1px #6a8d6e22;font:850 245px/.8 Outfit,Arial,sans-serif;letter-spacing:-.065em;pointer-events:none}
.ace-footer a{color:inherit;text-decoration:none}
.ace-footer a:focus-visible{outline:2px solid #ffac74;outline-offset:5px;border-radius:3px}
.ace-footer .ace-footer-top{display:grid;grid-template-columns:minmax(0,1.15fr) 180px minmax(0,.9fr);align-items:center;gap:34px;padding-top:31px;padding-bottom:27px;border-bottom:1px solid #a9c6a32b}
.ace-footer-kicker{display:block;color:#b7c9ae;font:500 .61rem/1.4 Outfit,Arial,sans-serif;letter-spacing:.15em}
.ace-footer-statement h2{margin:10px 0 0;color:#fbf6e8;font:500 clamp(2.55rem,3.4vw,3.25rem)/1.04 Outfit,Arial,sans-serif;letter-spacing:-.035em}
.ace-footer-statement h2 em{color:#ff9a62;font-style:normal}
.ace-footer-mascot{position:relative;display:flex;align-items:center;justify-content:center;width:180px;max-width:100%;min-height:145px;align-self:end}
.ace-footer-mascot img{position:relative;z-index:1;width:180px;height:auto;object-fit:contain;filter:drop-shadow(0 8px 6px #041a174d);transform-origin:50% 85%;transition:transform .25s ease}
.ace-footer-mascot-halo{position:absolute;inset:13% 3% 1%;border:1px solid #79966b3b;border-radius:50%;background:radial-gradient(circle,#69845624,transparent 68%);transform:rotate(-14deg)}
.ace-footer-mascot-halo::before{content:"";position:absolute;inset:10px;border:1px solid #79966b29;border-radius:50%}
.ace-footer-mascot:hover img,.ace-footer-mascot:focus-visible img{animation:ace-footer-hello .7s ease both}
.ace-footer-contact{justify-self:end;min-width:0;text-align:left}
.ace-footer-call{display:block;margin:5px 0 12px;font:500 2rem/1.12 Outfit,Arial,sans-serif;letter-spacing:-.02em;white-space:nowrap}
.ace-footer-call:hover{color:#ffb184}
.ace-footer-estimate{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:10px 22px;border-radius:7px;background:#ff9357;color:#113729!important;font:600 .83rem/1.35 Outfit,Arial,sans-serif;transition:background .2s ease,box-shadow .2s ease}
.ace-footer-estimate:hover{background:#ffad7d;box-shadow:0 5px 20px #00140d26}
.ace-footer-hours{display:block;margin-top:8px;color:#b8cbb5;font-size:.67rem;line-height:1.5}
.ace-footer .ace-footer-grid{display:grid;grid-template-columns:1.25fr .98fr .98fr 1.08fr;gap:42px;padding-top:28px;padding-bottom:28px}
.ace-footer-grid>*{min-width:0}
.ace-footer-brand{display:inline-flex;align-items:center;justify-content:center;padding:5px 9px;background:#fcf9ee;border-radius:6px}
.ace-footer-brand img{display:block;width:166px;height:auto}
.ace-footer-about p{margin:11px 0 10px;color:#e2e9d8;font-size:.75rem;line-height:1.55}
.ace-footer-about address{margin:0 0 5px;color:#b9cbb7;font-size:.71rem;font-style:normal;line-height:1.6}
.ace-footer-email{display:inline-block;max-width:100%;overflow-wrap:anywhere;color:#e2e9d8!important;font-size:.69rem;line-height:1.65}
.ace-footer-email:hover{text-decoration:underline;text-underline-offset:4px}
.ace-footer h3{margin:0 0 13px;color:#f8f5e9;font:500 .83rem/1.4 Outfit,Arial,sans-serif;letter-spacing:.015em}
.ace-footer-links ul{margin:0;padding:0;list-style:none}
.ace-footer-links li{margin:0;padding:0;line-height:1.4}
.ace-footer-links li+li{margin-top:8px}
.ace-footer-links a{display:inline-block;max-width:100%;color:#b9cdb8;font-size:.72rem;line-height:1.5;transition:color .15s ease;overflow-wrap:anywhere}
.ace-footer-links a:hover{color:#ffb286}
.ace-footer-links .ace-footer-all{color:#f3a97c;margin-top:3px}
.ace-footer-social{margin-top:23px}
.ace-footer-social h3{margin-bottom:10px}
.ace-footer-social>div{display:flex;flex-wrap:wrap;gap:6px}
.ace-footer-social a{display:inline-flex;align-items:center;justify-content:center;padding:5px 9px;border:1px solid #6e916254;border-radius:4px;color:#d4e1cc;font-size:.65rem;line-height:1.5;transition:background .15s ease,border-color .15s ease}
.ace-footer-social a:hover{background:#3a634350;border-color:#c2d2b570;color:#fff8e8}
.ace-footer-base{position:relative;border-top:1px solid #aac6a125;background:#05261e70}
.ace-footer-base>.container{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:54px;padding-top:13px;padding-bottom:13px;color:#a9bfa6;font-size:.61rem;line-height:1.6}
.ace-footer-base nav{display:flex;flex-wrap:wrap;gap:20px}
.ace-footer-base a:hover{color:#ffb286;text-decoration:underline;text-underline-offset:4px}
.ace-footer-signoff{font:500 .57rem/1.5 Outfit,Arial,sans-serif;letter-spacing:.14em;color:#b7c9ae}
@keyframes ace-footer-hello{0%,100%{transform:rotate(0deg) translateY(0)}35%{transform:rotate(-5deg) translateY(-4px)}70%{transform:rotate(3deg) translateY(-2px)}}
@media(min-width:1600px){.ace-footer .ace-footer-top{padding-top:35px;padding-bottom:30px}.ace-footer .ace-footer-grid{padding-top:32px;padding-bottom:32px}}
@media(max-width:1000px){.ace-footer .ace-footer-top{grid-template-columns:minmax(0,1.2fr) 142px minmax(0,.95fr);gap:22px}.ace-footer-mascot,.ace-footer-mascot img{width:142px}.ace-footer-mascot{min-height:120px}.ace-footer-call{font-size:1.7rem}.ace-footer .ace-footer-grid{grid-template-columns:1.12fr 1fr 1fr;gap:28px}.ace-footer-about{grid-column:1}.ace-footer-company{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:30px;padding-top:20px;border-top:1px solid #a9c6a326}.ace-footer-company .ace-footer-links ul{display:grid;grid-template-columns:1fr 1fr;gap:7px 20px}.ace-footer-company .ace-footer-links li+li{margin-top:0}.ace-footer-social{margin-top:0}.ace-footer-base>.container{flex-wrap:wrap;gap:8px 22px}.ace-footer-signoff{display:none}}
@media(max-width:767px){.site-footer.ace-footer{padding-bottom:76px}.ace-footer .ace-footer-top{grid-template-columns:minmax(0,1fr) 122px;gap:20px 12px;padding-top:30px;padding-bottom:28px}.ace-footer-statement h2{font-size:2.45rem}.ace-footer-kicker{font-size:.55rem;letter-spacing:.12em}.ace-footer-mascot,.ace-footer-mascot img{width:122px}.ace-footer-mascot{min-height:104px;align-self:center}.ace-footer-contact{grid-column:1/-1;justify-self:stretch;display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:18px;align-items:center}.ace-footer-contact>.ace-footer-kicker{grid-column:1/-1;margin-bottom:6px}.ace-footer-call{font-size:1.75rem;margin:0}.ace-footer-estimate{font-size:.75rem;min-height:42px;padding:9px 15px}.ace-footer-hours{grid-column:1/-1;margin-top:9px}.ace-footer .ace-footer-grid{grid-template-columns:1fr 1fr;gap:28px 23px;padding-top:28px;padding-bottom:28px}.ace-footer-about{grid-column:1/-1;display:grid;grid-template-columns:auto minmax(0,1fr);gap:0 25px;align-items:start}.ace-footer-brand{grid-column:1;grid-row:1/3;align-self:start}.ace-footer-brand img{width:148px}.ace-footer-about p{margin:0 0 8px;font-size:.7rem}.ace-footer-about address{font-size:.67rem;margin-bottom:0}.ace-footer-email{grid-column:1/-1;margin-top:10px;font-size:.7rem}.ace-footer h3{font-size:.85rem;margin-bottom:12px}.ace-footer-links a{font-size:.73rem;line-height:1.6}.ace-footer-links li+li{margin-top:8px}.ace-footer-company{grid-column:1/-1;grid-template-columns:1fr 1fr;gap:23px;padding-top:24px}.ace-footer-company .ace-footer-links ul{display:block}.ace-footer-company .ace-footer-links li+li{margin-top:8px}.ace-footer-social>div{align-items:flex-start;gap:7px}.ace-footer-social a{font-size:.68rem;padding:5px 9px}.ace-footer-base>.container{display:block;padding-top:16px;padding-bottom:17px;font-size:.61rem}.ace-footer-base nav{margin-top:8px;gap:20px}.ace-footer::before{font-size:190px;right:-30px;bottom:95px}}
@media(max-width:410px){.ace-footer .ace-footer-top{grid-template-columns:minmax(0,1fr) 102px;gap:20px 8px}.ace-footer-statement h2{font-size:2.23rem}.ace-footer-mascot,.ace-footer-mascot img{width:102px}.ace-footer-mascot{min-height:90px}.ace-footer-kicker{font-size:.5rem}.ace-footer-contact{column-gap:12px}.ace-footer-call{font-size:1.55rem}.ace-footer-estimate{font-size:.69rem;padding:10px 12px}.ace-footer-about{gap:0 18px}.ace-footer-brand img{width:135px}.ace-footer-links a{font-size:.69rem}.ace-footer h3{font-size:.79rem}.ace-footer-social>div{gap:6px}.ace-footer-social a{font-size:.64rem;padding:5px 7px}}
@media(prefers-reduced-motion:reduce){.ace-footer-mascot:hover img,.ace-footer-mascot:focus-visible img{animation:none;transform:none}.ace-footer a,.ace-footer-mascot img{transition:none}}
@media print{.site-footer.ace-footer{display:none!important}}
@media(min-width:768px){.ace-footer-base>.container{padding-right:260px;min-height:84px}}

/* Original transparent branding floats over a soft warm halo. */
.ace-footer .ace-footer-brand{position:relative;isolation:isolate;padding:0;background:transparent;border-radius:0}
.ace-footer-brand::before{content:'';position:absolute;z-index:-1;inset:-18% -12%;border-radius:50%;background:radial-gradient(ellipse,#ffe8b936,#f8b67018 43%,transparent 72%);filter:blur(9px)}
.ace-footer-brand img{width:205px;filter:drop-shadow(0 0 12px #ffe5ad33)}
.ace-footer-mascot-halo{border:0;background:radial-gradient(ellipse,#ffdfaa55,#f8a5651c 48%,transparent 74%);filter:blur(8px);inset:0 -5%}
.ace-footer-mascot-halo::before{border:0}
.ace-footer-mascot img{filter:drop-shadow(0 0 13px #ffd2a147) drop-shadow(0 8px 8px #041a174d)}
@media(max-width:767px){.ace-footer-brand img{width:160px}}
@media(max-width:410px){.ace-footer-brand img{width:140px}}
