/* CIC facility management: content sections + readability (2026-10-11) */

/* ---------- Content is visible without waiting for scroll animations ---------- */
.reveal{opacity:1 !important;transform:none !important}

/* ---------- Header: active section ---------- */
.nav-link{position:relative}
.nav-link.is-active{color:#2ecc71 !important}
@media (min-width:1024px){
  .nav-link.is-active::after{content:"";position:absolute;right:0;left:0;bottom:-8px;height:2px;border-radius:2px;background:#2ecc71}
}
#mobile-menu .nav-link.is-active{border-bottom-color:rgba(46,204,113,.5) !important}

/* ---------- Hero ---------- */
.fm-hero-tagline{color:rgba(255,255,255,.88);font-size:1.15rem;font-weight:700;margin:0 0 .9rem}
@media (min-width:768px){.fm-hero-tagline{font-size:1.3rem}}
#hero .text-white\/55{color:rgba(255,255,255,.78)}
#hero .text-white\/35{color:rgba(255,255,255,.6)}

/* ---------- Benefits bar under hero ---------- */
.fm-benefit{display:flex;align-items:center;gap:.85rem;color:rgba(255,255,255,.88);font-weight:700;font-size:.98rem;line-height:1.6;padding:.4rem 0}
.fm-benefit__icon{flex-shrink:0;width:2.75rem;height:2.75rem;border-radius:.75rem;display:flex;align-items:center;justify-content:center;background:rgba(46,204,113,.12);color:#2ecc71}
@media (max-width:767px){.fm-benefit{font-size:.9rem}}

/* ---------- Shared ---------- */
.fm-lead{color:#4a5b68;margin-top:1.25rem;font-size:1.05rem;line-height:1.95}
.fm-lead--dark{color:rgba(255,255,255,.7)}
.fm-lead--center{max-width:40rem;margin-left:auto;margin-right:auto;text-align:center}
.fm-grid{display:grid;grid-template-columns:1fr;gap:1.25rem}
@media (min-width:768px){.fm-grid{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1024px){.fm-grid--3{grid-template-columns:repeat(3,1fr)}}
.fm-btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;background:#2ecc71;color:#0f2027;font-weight:700;font-size:.95rem;padding:.8rem 1.6rem;border-radius:.5rem;transition:background .2s,transform .15s;box-shadow:0 10px 20px -8px rgba(46,204,113,.45)}
.fm-btn:hover{background:#27ae60}
.fm-btn:active{transform:scale(.97)}
.fm-btn--lg{font-size:1.05rem;padding:1rem 2.2rem}

/* ---------- Contracts cards ---------- */
.fm-card{border:1px solid transparent;border-radius:.85rem;padding:1.75rem;transition:border-color .3s,box-shadow .3s,transform .3s}
.fm-card--white{background:#fff;border-color:#e6ecef}
.fm-card:hover{border-color:rgba(46,204,113,.35);box-shadow:0 20px 25px -10px rgba(15,32,39,.1);transform:translateY(-3px)}
.fm-card__icon{width:3rem;height:3rem;display:flex;align-items:center;justify-content:center;border-radius:.75rem;background:#0f2027;color:#2ecc71;margin-bottom:1.15rem}
.fm-card h3{font-weight:800;color:#0f2027;font-size:1.08rem;margin-bottom:.5rem}
.fm-card p{color:#4a5b68;font-size:.97rem;line-height:1.9}

/* ---------- Comparison ---------- */
.fm-compare{display:grid;grid-template-columns:1fr;gap:1.25rem;margin-top:3.5rem}
@media (min-width:768px){.fm-compare{grid-template-columns:1fr 1fr}}
.fm-compare__col{border-radius:1rem;padding:2rem}
.fm-compare__col--off{background:#fff;border:1px solid #e6ecef}
.fm-compare__col--on{background:#0f2027;border:1px solid rgba(46,204,113,.35)}
.fm-compare__col h3{font-weight:900;font-size:1.2rem;margin-bottom:1.25rem}
.fm-compare__col--off h3{color:#0f2027}
.fm-compare__col--on h3{color:#2ecc71}
.fm-compare__col ul{display:flex;flex-direction:column;gap:.9rem}
.fm-compare__col li{display:flex;gap:.75rem;align-items:flex-start;font-size:.98rem;line-height:1.8}
.fm-compare__col--off li{color:#4a5b68}
.fm-compare__col--on li{color:rgba(255,255,255,.85)}
.fm-compare__col li>span:first-child{flex-shrink:0;margin-top:.35rem;width:1.4rem;height:1.4rem;border-radius:999px;display:flex;align-items:center;justify-content:center}
.fm-compare__col--off li>span:first-child{color:#c0392b;background:rgba(192,57,43,.1)}
.fm-compare__col--on li>span:first-child{color:#2ecc71;background:rgba(46,204,113,.15)}

/* ---------- Seasonal calendar ---------- */
.fm-season{background:#162d38;border:1px solid rgba(255,255,255,.07);border-radius:1rem;padding:1.75rem;transition:border-color .3s}
.fm-season:hover{border-color:rgba(46,204,113,.35)}
.fm-season__when{display:inline-flex;align-items:center;gap:.5rem;color:#2ecc71;font-size:.85rem;font-weight:700;margin-bottom:.85rem}
.fm-season h3{color:#fff;font-weight:800;font-size:1.1rem;margin-bottom:.6rem}
.fm-season p{color:rgba(255,255,255,.72);font-size:.96rem;line-height:1.9}
.fm-season--cta{background:linear-gradient(135deg,rgba(46,204,113,.18),rgba(46,204,113,.05));border-color:rgba(46,204,113,.35);display:flex;flex-direction:column;justify-content:center;gap:.4rem}
.fm-season--cta .fm-btn{align-self:flex-start;margin-top:.8rem}

/* ---------- FAQ ---------- */
.fm-faq-list{max-width:52rem;margin:0 auto;display:flex;flex-direction:column;gap:.75rem}
.fm-faq-group{font-weight:900;color:#0f2027;font-size:1.05rem;margin:1.25rem 0 .25rem;padding-right:.75rem;border-right:3px solid #2ecc71}
.fm-faq-group:first-child{margin-top:0}
.fm-faq{background:#f8fafb;border:1px solid #e6ecef;border-radius:.85rem;transition:border-color .25s,background .25s}
.fm-faq[open]{border-color:rgba(46,204,113,.5);background:#fff;box-shadow:0 10px 25px -12px rgba(15,32,39,.15)}
.fm-faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1.15rem 1.4rem;font-weight:700;color:#0f2027;font-size:1rem;line-height:1.7}
.fm-faq summary::-webkit-details-marker{display:none}
.fm-faq summary::after{content:"+";flex-shrink:0;width:1.8rem;height:1.8rem;border-radius:999px;display:flex;align-items:center;justify-content:center;background:#0f2027;color:#2ecc71;font-weight:700;font-size:1.15rem}
.fm-faq[open] summary::after{content:"−"}
.fm-faq summary:focus-visible{outline:2px solid #2ecc71;outline-offset:2px;border-radius:.85rem}
.fm-faq__a{padding:0 1.4rem 1.3rem;color:#4a5b68;font-size:.98rem;line-height:1.95}

/* ---------- Start steps ---------- */
.fm-steps{display:grid;grid-template-columns:1fr;gap:1.25rem;counter-reset:none}
@media (min-width:768px){.fm-steps{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1024px){.fm-steps{grid-template-columns:repeat(4,1fr)}}
.fm-steps li{background:#162d38;border:1px solid rgba(255,255,255,.07);border-radius:1rem;padding:1.6rem}
.fm-steps__n{display:inline-flex;align-items:center;justify-content:center;width:2.4rem;height:2.4rem;border-radius:.7rem;background:#2ecc71;color:#0f2027;font-weight:900;margin-bottom:1rem}
.fm-steps h3{color:#fff;font-weight:800;font-size:1.08rem;margin-bottom:.4rem}
.fm-steps p{color:rgba(255,255,255,.72);font-size:.95rem;line-height:1.85}

/* ---------- Floating WhatsApp ---------- */
.fm-wa-float{position:fixed;left:1.25rem;bottom:1.25rem;z-index:60;width:3.5rem;height:3.5rem;border-radius:999px;background:#25D366;color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 12px 24px -6px rgba(0,0,0,.35);transition:transform .2s}
.fm-wa-float:hover{transform:scale(1.07)}

/* ---------- Readability of existing sections ---------- */
#services article h3{font-size:1rem}
#services article p{font-size:.92rem;color:#4a5b68;line-height:1.85}
#services .text-\[\#5a6c7a\]{color:#4a5b68}
#sectors .text-white\/40{color:rgba(255,255,255,.7)}
#process .text-xs{font-size:.9rem;line-height:1.8}
#process .text-white\/35{color:rgba(255,255,255,.68)}
#process h3.text-sm{font-size:.95rem}
#packages li{font-size:.95rem;line-height:1.7}
#packages .text-white\/50{color:rgba(255,255,255,.78)}
#packages p.text-sm{font-size:.92rem}
#contact .text-white\/30{color:rgba(255,255,255,.62)}
