/* ACS AIR CARE - premium motion and restoration system */
:root{--acs-ease:cubic-bezier(.2,.8,.2,1)}
.acs-global-header .acs-global-links>a[href="reviews.html"],.acs-global-mobile a[href="reviews.html"]{display:none!important}
.acs-scroll-reveal{opacity:1;transform:translate3d(0,34px,0);transition:opacity .8s var(--acs-ease),transform .8s var(--acs-ease);will-change:transform,opacity}
.acs-scroll-reveal.is-visible{opacity:1;transform:none}
.acs-chat-faq{max-width:1060px!important;display:grid!important;grid-template-columns:1fr!important;gap:16px!important;margin:35px auto 0!important}
.acs-chat-exchange{position:relative;max-width:82%;width:100%;margin:0 auto 0 0!important;border:0!important;background:transparent!important;padding:0!important;box-shadow:none!important;border-radius:0!important;overflow:visible!important}
.acs-chat-exchange:nth-child(even){margin:0 0 0 auto!important}
.acs-chat-who,.acs-chat-agent{display:block;font-size:10px!important;letter-spacing:.14em;color:#228847!important;font-weight:800!important;margin:0 0 7px 12px!important;text-transform:uppercase}
.acs-chat-exchange:nth-child(even) .acs-chat-who{text-align:right;margin-right:12px!important}
.acs-chat-exchange summary{display:block!important;cursor:pointer!important;list-style:none!important;background:#edf6fc!important;border:1px solid #d4e6f0!important;border-radius:20px 20px 20px 5px!important;color:#093d6c!important;box-shadow:0 11px 34px #13446a0b!important;padding:19px 22px!important;font-size:clamp(17px,1.65vw,21px)!important;font-weight:730!important;line-height:1.4!important;position:relative}
.acs-chat-exchange:nth-child(even) summary{background:#e3f5eb!important;border-color:#c9e7d5!important;border-radius:20px 20px 5px 20px!important}
.acs-chat-exchange summary::-webkit-details-marker{display:none}.acs-chat-exchange summary::marker{content:''}
.acs-chat-exchange summary::after{content:'+';float:right;font-size:23px;line-height:1;color:#208e61;margin-left:16px}.acs-chat-exchange[open] summary::after{content:'−'}
.acs-chat-exchange p{display:block!important;background:white!important;border:1px solid #e0eaf0!important;color:#385b73!important;line-height:1.75!important;border-radius:20px 20px 20px 5px!important;box-shadow:0 18px 38px #183f6314!important;margin:15px 0 0 7%!important;padding:18px 22px!important;max-width:92%}
.acs-chat-agent{margin-left:0!important;margin-bottom:4px!important}
.acs-more-faq{display:inline-flex;padding:13px 21px;border:1px solid #aedcc5;color:#0f7450;border-radius:100px;margin:25px 0 0;text-decoration:none;font-weight:800}
/* Florida outline and Kissimmee-targeted explorer */
.acs-region-map{background:radial-gradient(ellipse at 63% 58%,#123f60 0%,#081e37 66%,#041529 100%)!important;box-shadow:inset 0 0 0 1px #5fd9dd5a,0 20px 40px #001a2722}
.acs-map-field{isolation:isolate}.acs-florida-shape{position:absolute;inset:-6% 0 0 6%;width:89%;height:107%;z-index:0;opacity:.9;pointer-events:none;filter:drop-shadow(0 0 12px #1edcba1b)}
.acs-florida-glow{fill:rgba(12,119,133,.16);stroke:#62daca;stroke-width:7;filter:url(#acsGlow)}
.acs-florida-land{fill:url(#acsCoast);stroke:#85ecd6;stroke-width:1.6;stroke-linejoin:round;stroke-dasharray:2 2}
.acs-keys{fill:none;stroke:#72d7c5;stroke-width:2;stroke-linecap:round}
.acs-focus-belt{fill:#35e0ac12;stroke:#5cf3c055;stroke-width:2;stroke-dasharray:3 5}
.acs-hub-geo{fill:#baffd9;filter:drop-shadow(0 0 7px #4cffc1)}
.acs-hub-ring{fill:none;stroke:#53ffc2;stroke-width:2;transform-origin:298px 261px;animation:acsflpulse 4s ease-in-out infinite}
@keyframes acsflpulse{50%{transform:scale(1.5);opacity:.18}}
.acs-florida-inset text,.acs-map-florida-title,.acs-map-ocean{fill:#b7eada;font-family:Arial,sans-serif;font-size:12px;font-weight:800;letter-spacing:1.3px}
.acs-map-ocean{font-size:9px;opacity:.55;letter-spacing:1px}
.acs-map-florida-title{font-size:18px;letter-spacing:5px;opacity:.8}
.acs-florida-inset text{font-size:10px;fill:#f0fff6}
.acs-city-pin{z-index:4;filter:drop-shadow(0 2px 4px #021525)}
.acs-city-pin .pin-label{background:#061f37e8;border-color:#7ce5d477!important}
.acs-city-pin.is-home .pin-label,.acs-city-pin.active .pin-label{color:#06435b;background:#d4fff1}
.acs-sweep{z-index:1;opacity:.7}
/* Restoration portfolio */
.acs-services-showcase{padding:62px 24px 70px;background:linear-gradient(180deg,#edf7f8,#fff)}
.acs-services-showcase-inner{max-width:1240px;margin:auto}
.acs-services-showcase-heading{display:grid;grid-template-columns:1fr minmax(300px,.65fr);column-gap:50px;align-items:end;margin-bottom:30px}
.acs-services-showcase-heading .acs-eyebrow{grid-column:1/-1;color:#09805b;font-size:11px;font-weight:900;letter-spacing:.15em}
.acs-services-showcase h2,.acs-restoration-display-title h2{font-size:clamp(34px,4.6vw,62px);letter-spacing:-.06em;line-height:1.07;color:#0e3e6b;margin:12px 0 5px}
.acs-services-showcase h2 em,.acs-restoration-display-title h2 em{font-style:normal;color:#188451}
.acs-services-showcase-heading p,.acs-restoration-display-title p{color:#557187;line-height:1.65;font-size:15px;margin:0}
.acs-restoration-preview-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.acs-preview-tile{background:#fff;border:1px solid #dfe9ed;border-radius:20px;padding:10px 10px 23px;text-decoration:none;box-shadow:0 15px 32px #12486212;transition:transform .5s var(--acs-ease),box-shadow .4s}
.acs-preview-tile:hover{transform:translateY(-9px);box-shadow:0 25px 42px #12486222}
.acs-preview-visual{height:225px;border-radius:13px;overflow:hidden;background:#dae6ea}
.acs-preview-visual img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .8s var(--acs-ease)}
.acs-preview-tile:hover img{transform:scale(1.08)}
.acs-preview-index{display:block;color:#1c9653;font-size:10px;font-weight:900;letter-spacing:.14em;margin:20px 15px 6px}
.acs-preview-tile h3{color:#0e3d6c;font-size:21px;margin:0 15px 9px;letter-spacing:-.035em;line-height:1.14}
.acs-preview-tile p{color:#567286;font-size:13px;margin:0 15px;line-height:1.5}
.acs-services-showcase small{display:block;margin:19px 4px;color:#728899;font-size:11px}
.acs-restoration-showcase{margin:37px 0 19px}
.acs-restoration-display-title{display:grid;grid-template-columns:1fr 1fr;gap:0 35px;align-items:end;margin-bottom:27px}
.acs-restoration-display-title .acs-eyebrow{grid-column:1/-1}
.acs-restore-photo-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.acs-restore-photo-card{position:relative;min-height:375px;border-radius:17px;overflow:hidden;background:#0c365a;display:flex;align-items:end}
.acs-restore-photo-card>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .7s var(--acs-ease)}
.acs-restore-photo-card:hover>img{transform:scale(1.07)}
.acs-restore-photo-card:before{content:'';inset:0;position:absolute;background:linear-gradient(180deg,transparent 30%,#041b34f2);z-index:1}
.acs-restore-photo-card>div{position:relative;z-index:2;padding:29px 31px;color:white}
.acs-restore-photo-card span{font-size:11px;letter-spacing:.14em;font-weight:850;color:#6df1b7}
.acs-restore-photo-card h3{color:#fff;margin:10px 0 8px;font-size:29px;line-height:1.1;letter-spacing:-.04em}
.acs-restore-photo-card p{color:#e0eef7;margin:0;font-size:14px;max-width:380px;line-height:1.55}
.acs-restore-gallery-disclosure{font-size:11px;color:#688095;line-height:1.6;margin:16px 0 0}
@media(max-width:850px){.acs-services-showcase-heading{grid-template-columns:1fr}.acs-services-showcase-heading p{margin-top:18px}.acs-restoration-display-title{display:block}.acs-restoration-display-title p{margin-top:14px}}
@media(max-width:640px){.acs-services-showcase{padding:43px 15px}.acs-restoration-preview-grid{grid-template-columns:1fr}.acs-preview-visual{height:230px}.acs-restore-photo-grid{grid-template-columns:1fr}.acs-restore-photo-card{min-height:310px}.acs-chat-exchange{max-width:95%}.acs-chat-exchange p{max-width:94%;margin-left:5%!important}.acs-chat-exchange summary{font-size:16px!important;padding:17px!important}.acs-florida-shape{inset:0 0 0 -2%;width:105%}.acs-map-florida-title{font-size:13px}}
@media(prefers-reduced-motion:reduce){.acs-scroll-reveal{opacity:1;transform:none;transition:none}.acs-hub-ring{animation:none}.acs-preview-visual img{transition:none}.acs-preview-tile{transition:none}}

/* Defer hiding animated elements until JS is actually ready, so content cannot disappear if scripts fail */
.acs-motion-ready .acs-scroll-reveal:not(.is-visible){opacity:0;transform:translate3d(0,34px,0)}
.acs-chat-exchange summary::before{content:"HOMEOWNER";display:block;font-size:10px;letter-spacing:.16em;font-weight:850;color:#1b854e;margin:0 0 9px;line-height:1.2}
.acs-chat-exchange:nth-child(even) summary::before{text-align:right}
.acs-map-field .acs-florida-shape{transform:translateY(1%)}
.section.family .family-split img,.section.story .wrap.split>.photo{transition:transform 1s cubic-bezier(.2,.8,.2,1),opacity .9s ease}
.acs-motion-ready .section.family:not(.is-visible) .family-split img{transform:translateX(55px);opacity:.5}
.acs-motion-ready .section.story:not(.is-visible) .wrap.split>.photo{transform:translateX(-55px);opacity:.5}
.section.process .steps article,.section.services .service-card{transition:transform .65s cubic-bezier(.2,.8,.2,1),box-shadow .3s ease}
.section.process .steps article:hover,.section.services .service-card:hover{transform:translateY(-6px)}
@media (prefers-reduced-motion:reduce){.acs-motion-ready .acs-scroll-reveal:not(.is-visible){opacity:1;transform:none}}
