/* Color scheme */
:root{
  --azureish-white:#D1E8F0;
  --ncs-blue:#008EC1;
}

body{background-color:#fff;color:#212529;}
.navbar, body{font-family: Inter, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, "Apple Color Emoji", "Segoe UI Emoji";}
/* Headings use a contrasting geometric sans */
h1,h2,h3,.navbar-brand{font-family: Poppins, Inter, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif;}
.bg-azure{background-color:var(--azureish-white);} 
.bg-ncs{background-color:var(--ncs-blue);} 

/* Hero video */
.hero-video-wrap{position:relative;min-height:68vh;background:var(--azureish-white);} 
.hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:saturate(1.05) contrast(1.05);} 
.hero-overlay{position:relative;z-index:2;color:#fff;text-shadow:0 2px 8px rgba(0,0,0,.45);min-height:68vh;background:linear-gradient(180deg,rgba(0,0,0,.35),rgba(0,0,0,.35));}
/* Limit hero text width and responsive size */
.hero-inner{max-width: 800px; margin-inline: auto;}
.hero-title{font-size:clamp(1.25rem, 3.5vw, 2rem); line-height:1.15;}

/* Decorative clip paths */
/* More interesting clip shapes, preserving most of the image */
.clip-scallop{border-radius:18px;}
@supports (clip-path: polygon(0 0)){
  .clip-scallop{clip-path: polygon(
    0% 2%, 10% 0%, 20% 2%, 30% 0%, 40% 2%, 50% 0%, 60% 2%, 70% 0%, 80% 2%, 90% 0%, 100% 2%,
    100% 98%, 90% 100%, 80% 98%, 70% 100%, 60% 98%, 50% 100%, 40% 98%, 30% 100%, 20% 98%, 10% 100%, 0% 98%
  );}
}
/* Alternative professional mask */
.clip-pro{clip-path: polygon(1.5% 0, 98.5% 0, 100% 1.5%, 100% 98.5%, 98.5% 100%, 1.5% 100%, 0 98.5%, 0 1.5%);} 

/* Reduce heavy visuals for motion/accessibility */
@media (prefers-reduced-motion: reduce){
  .hero-video{animation:none;transition:none;}
}

/* Utilities */
img,video{max-width:100%;height:auto;}
.shadow-sm{box-shadow:0 .125rem .25rem rgba(0,0,0,.075)!important;}

/* Constrain image in pristine section without cropping */
#pristine img{max-height: 420px; width: 100%; object-fit: contain; background: #fff;}

/* Subtle decorative background elements for sections */
.section-tight{position:relative; isolation:isolate;}
.section-tight::before{
  content:""; position:absolute; inset:0; z-index:-1; pointer-events:none;
  background:
    radial-gradient(180px 180px at 12% 10%, rgba(0,142,193,.05), transparent 70%),
    radial-gradient(220px 220px at 88% 85%, rgba(0,142,193,.04), transparent 70%);
}
.bg-azure.section-tight::before{
  background:
    radial-gradient(180px 180px at 12% 10%, rgba(255,255,255,.18), transparent 70%),
    radial-gradient(220px 220px at 88% 85%, rgba(255,255,255,.14), transparent 70%);
}

/* Tight, consistent vertical rhythm */
.section-tight{padding-top:2.5rem;padding-bottom:2.5rem;}
@media (min-width:992px){.section-tight{padding-top:3rem;padding-bottom:3rem;}}

/* Review stars */
.stars{color:var(--ncs-blue);font-weight:700;letter-spacing:.1rem}

/* Live chat */
.livechat-btn{position:fixed !important;right:1rem;bottom:calc(env(safe-area-inset-bottom) + 4.5rem);z-index:2000;border:none;border-radius:999px;padding:.6rem 1rem;background:var(--ncs-blue);color:#fff;font-weight:600;box-shadow:0 .5rem 1rem rgba(0,0,0,.15);} 
.livechat-btn:focus{outline:2px solid #fff;outline-offset:2px;}
.livechat-window{position:fixed;right:1rem;bottom:calc(env(safe-area-inset-bottom) + 8rem);z-index:1999;width:min(92vw,340px);background:#fff;border:1px solid rgba(0,0,0,.1);border-radius:.75rem;box-shadow:0 .75rem 2rem rgba(0,0,0,.2);overflow:hidden;} 
.livechat-btn{bottom:calc(1rem + env(safe-area-inset-bottom));}
.livechat-window{bottom:calc(4.25rem + env(safe-area-inset-bottom));}
@supports (bottom: constant(safe-area-inset-bottom)){
  .livechat-btn{bottom:calc(constant(safe-area-inset-bottom) + 4.5rem);}  
  .livechat-window{bottom:calc(constant(safe-area-inset-bottom) + 8rem);} 
}
.livechat-header{background:var(--azureish-white);padding:.5rem .75rem;border-bottom:1px solid rgba(0,0,0,.05);} 
.chat-messages{max-height:40vh;overflow:auto;padding:.75rem;background:#fff;}
.chat-form{padding:.5rem .75rem;border-top:1px solid rgba(0,0,0,.05);} 
.chat-bubble{display:inline-block;clear:both;margin:.25rem 0;padding:.5rem .625rem;border-radius:.75rem;max-width:100%;}
.chat-bubble.user{float:right;background:var(--ncs-blue);color:#fff;}
.chat-bubble.bot{float:left;background:#f6f7f9;color:#111;}
