/**
 * Homepage layout subset — replaces full Bootstrap CSS (~152KB unused rules).
 * Only utilities/components used on index + shared header/footer/modal.
 */
*,*::before,*::after{box-sizing:border-box}
.container,.container-fluid,.container-xl,.container-xxl{width:100%;margin-left:auto;margin-right:auto;padding-left:12px;padding-right:12px}
.container{max-width:1140px}
.container-xl{max-width:1140px}
.container-xxl{max-width:1320px}
.container-fluid{max-width:100%}
.row{display:flex;flex-wrap:wrap;margin-left:-12px;margin-right:-12px}
.row>*{padding-left:12px;padding-right:12px;box-sizing:border-box}
.col-4{width:33.333%}.col-8{width:66.667%}.col-12{width:100%}
.col-sm-3,.col-sm-6,.col-sm-9,.col-sm-12,
.col-md-6,.col-md-12,
.col-lg-3,.col-lg-5,.col-lg-7,.col-lg-12{width:100%}
@media (min-width:576px){
  .col-sm-3{width:25%}.col-sm-6{width:50%}.col-sm-9{width:75%}.col-sm-12{width:100%}
}
@media (min-width:768px){
  .col-md-6{width:50%}.col-md-12{width:100%}
}
@media (min-width:992px){
  .col-lg-3{width:25%}.col-lg-5{width:41.666%}.col-lg-7{width:58.333%}.col-lg-12{width:100%}
}
.d-flex{display:flex}.d-none{display:none}
.align-items-center{align-items:center}
.text-center{text-align:center}.text-dark{color:#212529}.text-capitalize{text-transform:capitalize}
.text-decoration-none{text-decoration:none}
.list-unstyled{padding-left:0;list-style:none}
.img-fluid{max-width:100%;height:auto}
.bg-light{background-color:#f8f9fa}
.bg-dark{background-color:#212529;color:#fff}
.fw-bold{font-weight:700}
.p-0{padding:0}.pt-4{padding-top:1.5rem}.pb-4{padding-bottom:1.5rem}.pb-5{padding-bottom:3rem}
.mt-4{margin-top:1.5rem}.mt-5{margin-top:3rem}
.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-4{margin-bottom:1.5rem}.mb-5{margin-bottom:3rem}
.mx-4{margin-left:1.5rem;margin-right:1.5rem}
@media (min-width:768px){.text-md-center{text-align:center}}
@media (min-width:992px){
  .d-lg-block{display:block}.d-lg-none{display:none}
  .text-lg-start{text-align:left}.text-lg-end{text-align:right}
}

/* Buttons used on homepage */
.btn{display:inline-block;padding:.375rem .75rem;border:1px solid transparent;cursor:pointer;text-align:center;text-decoration:none;line-height:1.5;color:inherit}
.btn-outline-dark{color:#212529;border-color:#212529;background:transparent}
.btn-outline-dark:hover{background:#212529;color:#fff}
/* Header WhatsApp CTA */
.header-wa-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  margin:0;
  padding:9px 14px;
  background:#0f110f;
  color:#fff!important;
  border:1px solid #0f110f;
  border-radius:999px;
  font-weight:700;
  font-size:13px;
  line-height:1.2;
  text-decoration:none!important;
  white-space:nowrap;
}
.header-wa-btn__icon{flex-shrink:0}
.header-wa-btn:hover,
.header-wa-btn:focus{
  background:#0b6b5c;
  border-color:#0b6b5c;
  color:#fff!important;
  text-decoration:none!important;
}
@media (max-width:1060px){
  header.navbar,header.site-header{display:flex!important;justify-content:space-between;align-items:center;padding:8px 16px!important;min-height:52px!important}
  header .site-header__wa{display:none!important}
  header .menu-btn{
    display:block!important;width:40px;height:40px;flex-shrink:0;border:0;cursor:pointer;padding:0;
    background:transparent url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='28' height='28' viewBox='0 0 24 24' fill='none' stroke='%230f110f' stroke-width='2.2' stroke-linecap='round'%3E%3Cpath d='M4 7h16M4 12h16M4 17h16'/%3E%3C/svg%3E") center/28px no-repeat!important
  }
  header .navigation .menu{
    position:fixed!important;top:0!important;right:-100%!important;left:auto!important;
    display:flex!important;flex-direction:column!important;align-items:stretch!important;justify-content:flex-start!important;gap:0!important;
    width:min(86vw,340px)!important;height:100vh!important;max-height:100dvh!important;
    margin:0!important;padding:72px 24px 32px!important;list-style:none!important;
    background:#f7fbfa!important;box-shadow:-8px 0 28px rgba(15,17,15,.14)!important;
    overflow-y:auto!important;visibility:hidden;z-index:1001;
    transition:right .35s ease,visibility .35s ease
  }
  header .navigation .menu.active{right:0!important;visibility:visible!important}
  header .navigation .menu .menu-item{width:100%}
  .menu-item>a{display:block!important;font-size:18px!important;margin:0!important;padding:14px 0!important;line-height:1.35!important;border-bottom:1px solid rgba(11,107,92,.12);text-decoration:none!important;color:#0f110f!important;font-weight:600!important}
  .menu-item>a::after{display:none!important}
  .menu-item .sub-menu{position:relative!important;top:0!important;opacity:1!important;transform:none!important;pointer-events:all!important;display:none;background:rgba(11,107,92,.06)!important;border:0!important;box-shadow:none!important;padding:4px 0 8px!important;margin:0 0 8px}
  .close-btn{
    display:block!important;position:fixed!important;top:14px;right:16px;width:40px;height:40px;z-index:1002;
    visibility:hidden;opacity:0;pointer-events:none;border:0;cursor:pointer;padding:0;
    background:transparent url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%230f110f' stroke-width='2.2' stroke-linecap='round'%3E%3Cpath d='M6 6l12 12M18 6L6 18'/%3E%3C/svg%3E") center/24px no-repeat!important
  }
  header .navigation:has(.menu.active) .close-btn,body.dm-menu-open .close-btn{visibility:visible;opacity:1;pointer-events:auto}
  body.dm-menu-open{overflow:hidden}
}

/* Forms / modal (contact) */
.form-control{display:block;width:100%;padding:.375rem .75rem;font-size:1rem;line-height:1.5;color:#212529;background:#fff;border:1px solid #ced4da;border-radius:.25rem}
.form-control:focus{outline:0;border-color:#86b7fe;box-shadow:0 0 0 .2rem rgba(13,110,253,.25)}
.modal{position:fixed;inset:0;z-index:1055;display:none;overflow-x:hidden;overflow-y:auto}
.modal.fade .modal-dialog{transition:transform .2s ease-out;transform:translateY(-20px)}
.modal.show .modal-dialog,.modal.dm-open .modal-dialog{transform:none}
.modal-dialog{position:relative;width:auto;margin:.5rem;pointer-events:none;max-width:500px;margin-left:auto;margin-right:auto}
@media (min-width:576px){.modal-dialog{margin:1.75rem auto}}
.modal-dialog-centered{display:flex;align-items:center;min-height:calc(100% - 1rem)}
.modal-content{position:relative;display:flex;flex-direction:column;width:100%;pointer-events:auto;background:#fff;border:1px solid rgba(0,0,0,.2);border-radius:.3rem;outline:0}
.modal-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem;border-bottom:0}
.modal-title{font-size:1.15rem;font-weight:600;margin:0;color:#0f110f}
.modal-body{padding:1rem;position:relative;flex:1 1 auto}
.btn-close{box-sizing:content-box;width:1em;height:1em;padding:.25em;color:#000;background:transparent url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23000'%3e%3cpath d='M.293.293a1 1 0 011.414 0L8 6.586 14.293.293a1 1 0 111.414 1.414L9.414 8l6.293 6.293a1 1 0 01-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 01-1.414-1.414L6.586 8 .293 1.707a1 1 0 010-1.414z'/%3e%3c/svg%3e") center/1em auto no-repeat;border:0;border-radius:.25rem;opacity:.5;cursor:pointer}
.btn-close:hover{opacity:.8}

/* Dark footer (homepage path — style.css loads deferred) */
.footer.site-footer,.site-footer{background:#121416;color:#d8dcd9}
.site-footer .footer-top-sec{padding:56px 0 40px;border-bottom:1px solid rgba(255,255,255,.08)}
.site-footer .footer-col{margin-bottom:28px}
.site-footer .footer-logo-link{display:inline-block;padding:10px 12px;border-radius:10px;background:#edf7f5;line-height:0}
.site-footer .flogo{max-width:140px;height:auto}
.site-footer .footer-tagline{margin:12px 0 18px;color:#9aa39e;font-size:15px;line-height:1.5}
.site-footer .contact-details .title-header,
.site-footer .contact-details .title-header a{color:#f2f5f3!important;font-size:15px!important;font-weight:600!important;text-decoration:none!important;margin-bottom:8px}
.site-footer .contact-details .title-header a:hover{color:#7fd4c4!important;text-decoration:underline!important}
.site-footer .footer-address,.site-footer .footer-hours{color:#9aa39e;font-size:14px;line-height:1.55;margin:0 0 8px}
.site-footer .footer-social{display:inline-flex;gap:10px;margin:16px 0 0;padding:0;list-style:none}
.site-footer .footer-social a{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:50%;background:rgba(255,255,255,.06);color:#e8eeea!important;border:1px solid rgba(255,255,255,.1)}
.site-footer .footer-social a:hover{background:#0b6b5c;border-color:#0b6b5c;color:#fff!important}
.site-footer .quick_links .h4{color:#fff;font-size:1.05rem;font-weight:600;margin-bottom:1rem}
.site-footer .quick_links ul{list-style:none;padding:0;margin:0}
.site-footer .quick_links li{margin-bottom:8px}
.site-footer .quick_links a{color:#c5ccc8!important;font-size:14px!important;text-decoration:none!important}
.site-footer .quick_links a:hover{color:#7fd4c4!important;text-decoration:underline!important}
.site-footer .map_box{overflow:hidden;border-radius:12px;border:1px solid rgba(255,255,255,.1)}
.site-footer .map_box iframe{display:block;width:100%;max-height:200px}
.site-footer .footer-bottom{background:#0c0e10;padding:16px 0}
.site-footer .footer-bottom .fp{margin:0;text-align:center;color:#8b938e;font-size:13px;line-height:1.5}
.site-footer .footer-bottom__link{color:#d8dcd9!important;text-decoration:underline!important}
.site-footer .footer-bottom__link:hover{color:#7fd4c4!important}

/* FAQ accordion (vanilla — no Bootstrap JS) */
.accordion-item{background:#fff}
.accordion-header{margin:0}
.accordion-button{position:relative;display:flex;align-items:center;width:100%;padding:1rem 1.25rem;font-size:1rem;color:#212529;text-align:left;background:#fff;border:0;border-radius:0;overflow-anchor:none;cursor:pointer}
.accordion-button::after{flex-shrink:0;width:1.25rem;height:1.25rem;margin-left:auto;content:"";background:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23212529'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 01.708 0L8 10.293l5.646-5.647a.5.5 0 01.708.708l-6 6a.5.5 0 01-.708 0l-6-6a.5.5 0 010-.708z'/%3e%3c/svg%3e") center/1.25rem no-repeat;transition:transform .2s}
.accordion-button:not(.collapsed)::after{transform:rotate(-180deg)}
.accordion-collapse{display:none}
.accordion-collapse.show{display:block}
.accordion-body{padding:1rem 1.25rem}
