/* Accessible text variants. #12B5C9 is decorative only — it fails 4.5:1
   against our light surfaces, so never use it for body text or links. */
:root{--dc-teal-text:#0c7d8b;--dc-muted-text:#667381}

/* DataCore Analytics — modernisation layer (accessibility, UX, conversion) */

/* --- accessibility --- */
.skip-link{position:absolute;left:-9999px;top:0;z-index:9999;background:#14103a;color:#fff;padding:12px 22px;border-radius:0 0 6px 0;font-weight:600}
.skip-link:focus{left:0}
:focus-visible{outline:3px solid #12B5C9;outline-offset:2px}
@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{animation-duration:.001ms !important;animation-iteration-count:1 !important;transition-duration:.001ms !important;scroll-behavior:auto !important}
  .wow{visibility:visible !important;animation:none !important}
}
.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}

/* --- reading comfort --- */
img{max-width:100%;height:auto}
main p{overflow-wrap:break-word}
.lead{font-size:19px;line-height:1.7}

/* --- scroll progress bar --- */
#dc-progress{position:fixed;top:0;left:0;height:3px;width:0;background:linear-gradient(90deg,#D4A017,#12B5C9);z-index:9998;transition:width .1s linear}

/* --- sticky conversion bar (mobile) --- */
#dc-sticky-cta{position:fixed;left:0;right:0;bottom:0;z-index:9997;display:none;
  background:#14103a;color:#fff;padding:11px 14px;justify-content:space-between;align-items:center;gap:12px;
  box-shadow:0 -3px 16px rgba(0,0,0,.18)}
#dc-sticky-cta span{font-size:14px;line-height:1.35}
#dc-sticky-cta a{background:#D4A017;color:#14103a;padding:10px 18px;border-radius:5px;font-weight:700;font-size:14px;white-space:nowrap;text-decoration:none}
@media(max-width:991px){#dc-sticky-cta{display:flex}body{padding-bottom:64px}}

/* --- floating WhatsApp --- */
#dc-whatsapp{position:fixed;right:20px;bottom:88px;z-index:9996;width:54px;height:54px;border-radius:50%;
  background:#25D366;color:#fff;display:flex;align-items:center;justify-content:center;font-size:26px;
  box-shadow:0 4px 16px rgba(0,0,0,.24);transition:transform .18s;text-decoration:none}
#dc-whatsapp:hover{transform:scale(1.09);color:#fff}
@media(max-width:991px){#dc-whatsapp{bottom:132px;right:14px;width:48px;height:48px;font-size:23px}}

/* --- cookie / privacy notice --- */
#dc-cookie{position:fixed;left:16px;right:16px;bottom:16px;z-index:9999;background:#fff;border:1px solid #e2e8ef;
  border-radius:10px;padding:20px 24px;box-shadow:0 10px 40px rgba(20,16,58,.16);display:none;
  max-width:520px;font-size:14.5px;line-height:1.6}
#dc-cookie.show{display:block}
#dc-cookie h5{margin:0 0 8px;font-size:16px}
#dc-cookie .dc-cookie-btns{margin-top:14px;display:flex;gap:10px;flex-wrap:wrap}
#dc-cookie button{border:none;padding:9px 20px;border-radius:5px;font-weight:600;cursor:pointer;font-size:14px}
#dc-cookie .dc-accept{background:#14103a;color:#fff}
#dc-cookie .dc-decline{background:#eef1f5;color:#3c4a5a}
#dc-cookie .dc-decline{background:#eef1f5;color:#3c4a5a}

/* --- trust bar --- */
.dc-trustbar{background:#f7f9fb;border-top:1px solid #eceff3;border-bottom:1px solid #eceff3;padding:26px 0}
.dc-trustbar .dc-trust-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:22px;text-align:center}
.dc-trustbar .dc-trust-item{display:flex;flex-direction:column;align-items:center;gap:7px}
.dc-trustbar i{font-size:26px;color:#1c8ec4}
.dc-trustbar b{font-size:15px}
.dc-trustbar span{font-size:13.5px;color:#667381}

/* --- FAQ accordion (schema-friendly details/summary) --- */
.dc-faq details{border:1px solid #e7ecf1;border-radius:7px;margin-bottom:10px;background:#fff}
.dc-faq summary{padding:16px 20px;font-weight:600;cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:14px}
.dc-faq summary::-webkit-details-marker{display:none}
.dc-faq summary::after{content:"+";font-size:22px;color:#1c8ec4;font-weight:400;line-height:1}
.dc-faq details[open] summary::after{content:"–"}
.dc-faq details > div{padding:0 20px 18px;color:#5a6b7b;line-height:1.7}

/* --- print --- */
@media print{
  header,.header-top-area,#dc-sticky-cta,#dc-whatsapp,#dc-cookie,#dc-progress,#to-top,.footer,.footer-copyright-section{display:none !important}
  main{padding:0 !important}
  a[href^="http"]::after{content:" (" attr(href) ")";font-size:11px;color:#666}
}

/* --- dark-mode friendliness for form controls --- */
@media (prefers-color-scheme: dark){
  input,select,textarea{color-scheme:light}
}

/* form feedback */
.dc-form-note{margin-top:14px;padding:0;font-size:15px;line-height:1.6}
.dc-form-note:empty{display:none}
.dc-form-ok{padding:14px 18px;border-radius:6px;background:#eaf7ef;border-left:4px solid #2e9b5b;color:#1d6b3d}
.dc-form-err{padding:14px 18px;border-radius:6px;background:#fdecea;border-left:4px solid #d9534f;color:#a3302c}

/* client sign-in link in the header top bar */
.dc-signin{display:inline-block;margin-right:18px;font-size:13.5px;font-weight:600;
  color:#fff;opacity:.92;text-decoration:none;vertical-align:middle}
.dc-signin:hover{opacity:1;color:#D2B455}
.dc-signin i{margin-right:6px;font-size:12.5px}
@media(max-width:991px){.dc-signin{display:none}}

/* ---------- Our Values: element tiles ---------- */
.dc-values{background:#14103a;padding:88px 0 96px;color:#fff}
.dc-values-inner{max-width:1400px;margin:0 auto;padding:0 34px}
.dc-values h2{font-size:clamp(38px,6vw,74px);font-weight:700;letter-spacing:-1.6px;margin:0;
  color:#fff;line-height:1.05}
.dc-values .rule{border:0;border-top:1px solid rgba(255,255,255,.22);margin:26px 0}
.dc-values-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:44px 34px;margin-top:52px}
.dc-value .tile{width:72px;height:72px;border-radius:9px;background:#0c0920;
  border:1px solid rgba(255,255,255,.13);position:relative;display:flex;align-items:center;
  justify-content:center;margin-bottom:20px}
.dc-value .tile b{font-size:27px;font-weight:600;letter-spacing:-.6px;color:#fff}
.dc-value .tile i{position:absolute;top:6px;left:9px;font-size:11px;font-style:normal;color:#6f6a92}
.dc-value h3{font-size:18.5px;font-weight:600;color:#fff;margin:0 0 14px;letter-spacing:-.2px}
.dc-value p{font-size:14.6px;line-height:1.62;color:#a9a5c2;margin:0}
@media(max-width:1100px){.dc-values-grid{grid-template-columns:repeat(2,1fr);gap:40px 30px}}
@media(max-width:600px){.dc-values-grid{grid-template-columns:1fr}.dc-values{padding:62px 0 68px}
  .dc-values-inner{padding:0 20px}}

/* ---------- visitor assistant ---------- */
.dc-chat-btn{position:fixed;right:20px;bottom:20px;z-index:9995;width:56px;height:56px;border-radius:50%;
  background:#14103a;color:#fff;border:none;cursor:pointer;font-size:23px;
  box-shadow:0 5px 22px rgba(20,16,58,.3);transition:transform .18s,opacity .18s}
.dc-chat-btn:hover{transform:scale(1.07)}
.dc-chat-btn.hidden{opacity:0;pointer-events:none;transform:scale(.8)}
.dc-chat-panel{position:fixed;right:20px;bottom:20px;z-index:9996;width:378px;max-width:calc(100vw - 32px);
  height:552px;max-height:calc(100vh - 100px);background:#fff;border:1px solid #e3e8ef;border-radius:14px;
  box-shadow:0 18px 56px rgba(20,16,58,.24);display:none;flex-direction:column;overflow:hidden}
.dc-chat-panel.open{display:flex;animation:dcChatIn .2s ease}
@keyframes dcChatIn{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
.dc-chat-head{background:#14103a;color:#fff;padding:16px 18px;display:flex;justify-content:space-between;align-items:center;gap:12px}
.dc-chat-head b{display:block;font-size:15px}
.dc-chat-head span{display:block;font-size:11.8px;opacity:.72;margin-top:2px}
.dc-chat-x{background:none;border:none;color:#fff;font-size:25px;line-height:1;cursor:pointer;opacity:.75;padding:0 3px}
.dc-chat-x:hover{opacity:1}
.dc-chat-log{flex:1;overflow-y:auto;padding:18px;background:#f8fafc}
.dc-msg{max-width:88%;padding:11px 14px;border-radius:12px;margin-bottom:11px;font-size:14px;line-height:1.62;word-wrap:break-word}
.dc-msg.bot{background:#fff;border:1px solid #e7ecf1;color:#26303d;border-bottom-left-radius:4px}
.dc-msg.you{background:#14103a;color:#fff;margin-left:auto;border-bottom-right-radius:4px}
.dc-msg-link{margin-top:10px;padding-top:9px;border-top:1px solid #eef2f6}
.dc-msg-link a{color:#0c7d8b;font-weight:600;font-size:13.2px;text-decoration:none;margin-right:12px}
.dc-msg-link a:hover{text-decoration:underline}
.dc-msg.typing{display:flex;gap:4px;align-items:center;padding:14px}
.dc-msg.typing span{width:6px;height:6px;border-radius:50%;background:#b6c0cc;animation:dcBlink 1.2s infinite}
.dc-msg.typing span:nth-child(2){animation-delay:.18s}
.dc-msg.typing span:nth-child(3){animation-delay:.36s}
@keyframes dcBlink{0%,60%,100%{opacity:.3}30%{opacity:1}}
.dc-chat-chips{padding:0 14px 8px;display:flex;flex-wrap:wrap;gap:7px;background:#f8fafc}
.dc-chip{background:#fff;border:1px solid #d6dfe8;border-radius:16px;padding:7px 13px;font-size:12.5px;
  cursor:pointer;color:#33404f;font-family:inherit;transition:.14s}
.dc-chip:hover{border-color:#0c7d8b;color:#0c7d8b}
.dc-chat-form{display:flex;gap:8px;padding:12px 14px;border-top:1px solid #e9eef3;background:#fff}
.dc-chat-form input{flex:1;padding:11px 14px;border:1px solid #d9e0e8;border-radius:22px;font-size:14px;font-family:inherit}
.dc-chat-form input:focus{outline:2px solid #12B5C9;outline-offset:1px;border-color:#0c7d8b}
.dc-chat-form button{background:#14103a;color:#fff;border:none;width:40px;height:40px;border-radius:50%;cursor:pointer;flex-shrink:0}
.dc-chat-form button:hover{background:#221c58}
.dc-chat-foot{padding:9px 16px 12px;font-size:11.4px;color:#657382;text-align:center;background:#fff;line-height:1.5}
.dc-chat-foot a{color:#0c7d8b}
/* WhatsApp button sits above the chat launcher */
#dc-whatsapp{bottom:88px}
@media(max-width:991px){#dc-whatsapp{bottom:150px;right:16px}.dc-chat-btn{bottom:74px;right:16px}
  .dc-chat-panel{bottom:74px;right:16px;height:calc(100vh - 160px)}}
@media print{.dc-chat-btn,.dc-chat-panel{display:none !important}}

/* avoid invisible text while icon fonts load */
@font-face{font-family:'Flaticon';font-display:swap}
@font-face{font-family:'Font Awesome 5 Free';font-display:swap}
@font-face{font-family:'Font Awesome 5 Brands';font-display:swap}

/* Chat assistant integration: keyboard access, compact screens and safe-area spacing. */
.dc-chat-panel[hidden]{display:none!important}
.dc-chat-panel{max-height:calc(100dvh - 40px);bottom:max(20px,env(safe-area-inset-bottom))}
.dc-chat-log{min-height:0;overscroll-behavior:contain}
.dc-chat-form input{min-width:0;width:0}
.dc-chat-actions{display:flex;align-items:center;gap:4px;flex-shrink:0}
.dc-chat-actions button{display:grid;place-items:center;width:44px;height:44px;padding:0;border:0;border-radius:6px;background:transparent;color:#fff;cursor:pointer;font-size:25px;line-height:1}
.dc-chat-actions button:hover{background:rgba(255,255,255,.13)}
.dc-chat-panel :focus-visible,.dc-chat-btn:focus-visible{outline:3px solid #b99bdb;outline-offset:3px}
.dc-chat-panel .dc-chat-log:focus-visible{outline-offset:-3px}
.dc-chat-chips{flex-shrink:0;max-height:132px;overflow-y:auto}
.dc-chat-chips a.dc-chip{display:inline-block;text-decoration:none;line-height:normal}
@media(max-width:991px){.dc-chat-panel{bottom:max(74px,env(safe-area-inset-bottom));height:552px;max-height:calc(100dvh - 90px)}}
@media(max-width:420px){.dc-chat-panel{right:8px;max-width:calc(100vw - 16px)}.dc-chat-head{padding:12px}.dc-chat-form{padding:10px}.dc-chat-form input{font-size:16px}.dc-msg{max-width:94%}}
@media(prefers-reduced-motion:reduce){.dc-chat-panel.open,.dc-msg.typing span{animation:none}.dc-chat-btn,.dc-chip{transition:none}}
