
:root {
  --gold: #d8a62b;
  --gold2: #f4d27a;
  --ink: #090909;
  --paper: #f7f7f5;
}

html {
  scroll-behavior: smooth;
}
body {
  background: var(--paper);
  color: var(--ink);
}
body.page-dark {
  background: var(--ink);
  color: white;
}
header.fixed {
  position: fixed !important;
}
*,
*::before,
*::after {
  box-sizing: border-box;
}
header img[alt="Intellisys Labs"] {
  transition:
    transform 0.25s ease,
    filter 0.25s ease;
}
header img[alt="Intellisys Labs"]:hover {
  transform: translateY(-1px);
  filter: drop-shadow(0 8px 14px rgba(216, 166, 43, 0.2));
}
::selection {
  background: var(--gold);
  color: var(--ink);
}

.noise {
  background-image: radial-gradient(
    rgba(0, 0, 0, 0.045) 0.7px,
    transparent 0.7px
  );
  background-size: 5px 5px;
}
.gold-gradient {
  background: linear-gradient(
    135deg,
    #9f6e05 0%,
    #f4d27a 42%,
    #c58d16 68%,
    #8e6100 100%
  );
}
.gold-text {
  background: linear-gradient(135deg, #9f6e05, #f4d27a 42%, #b87e0c);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}
.glass {
  background: rgba(255, 255, 255, 0.72);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border: 1px solid rgba(0, 0, 0, 0.07);
}
.page-dark .glass {
  background: rgba(18, 18, 18, 0.78);
  border-color: rgba(255, 255, 255, 0.1);
}
.dark-glass {
  background: rgba(18, 18, 18, 0.74);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border: 1px solid rgba(255, 255, 255, 0.1);
}
.grid-bg {
  background-image:
    linear-gradient(rgba(0, 0, 0, 0.055) 1px, transparent 1px),
    linear-gradient(90deg, rgba(0, 0, 0, 0.055) 1px, transparent 1px);
  background-size: 48px 48px;
}
.hero-grid {
  background-image:
    linear-gradient(rgba(255, 255, 255, 0.075) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 255, 255, 0.075) 1px, transparent 1px);
  background-size: 54px 54px;
}
.hero-section,
.home-cta {
  background-color: var(--ink) !important;
  color: white;
}
.reveal {
  opacity: 0;
  transform: translateY(24px);
  transition:
    opacity 0.75s ease,
    transform 0.75s ease;
}
.reveal.show {
  opacity: 1;
  transform: translateY(0);
}
.service-card {
  transition:
    transform 0.35s ease,
    border-color 0.35s ease,
    box-shadow 0.35s ease;
}
.service-card:hover {
  transform: translateY(-8px);
  border-color: rgba(216, 166, 43, 0.6);
  box-shadow: 0 24px 70px rgba(0, 0, 0, 0.1);
}
.magnetic {
  transition: transform 0.18s ease;
}
.orb {
  animation: float 7s ease-in-out infinite;
}
.orb2 {
  animation: float 9s ease-in-out infinite reverse;
}
@keyframes float {
  0%,
  100% {
    transform: translate3d(0, 0, 0);
  }
  50% {
    transform: translate3d(0, -18px, 0);
  }
}
.marquee-track {
  animation: marquee 24s linear infinite;
  width: max-content;
}
@keyframes marquee {
  to {
    transform: translateX(-50%);
  }
}
.cursor-dot {
  position: fixed;
  width: 7px;
  height: 7px;
  border-radius: 999px;
  background: var(--gold);
  pointer-events: none;
  z-index: 9999;
  transform: translate(-50%, -50%);
  mix-blend-mode: difference;
}
.contact-details {
  margin-top: 2rem;
  display: grid;
  gap: 0.75rem;
}
.contact-person,
.contact-detail {
  display: flex;
  align-items: center;
  gap: 1rem;
  min-width: 0;
}
.contact-icon {
  width: 2.75rem;
  height: 2.75rem;
  flex: 0 0 2.75rem;
  border-radius: 999px;
  display: grid;
  place-items: center;
  color: var(--ink);
}
.contact-copy {
  min-width: 0;
}
.contact-label {
  display: block;
  color: rgba(255, 255, 255, 0.35);
  font-size: 0.68rem;
  line-height: 1.25;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}
.contact-value {
  display: block;
  color: rgba(255, 255, 255, 0.82);
  line-height: 1.5;
  overflow-wrap: anywhere;
}
.contact-person:hover .contact-value,
.contact-detail a:hover {
  color: white;
}
form {
  width: 100%;
  min-width: 0;
}
form > *,
form .grid > * {
  min-width: 0;
}
form label {
  display: block;
  min-width: 0;
}
form input,
form select,
form textarea {
  display: block;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  box-sizing: border-box;
  font: inherit;
}
form input,
form select {
  min-height: 3.35rem;
}
form textarea {
  min-height: 8.5rem;
  line-height: 1.5;
}
form button {
  min-height: 3.35rem;
}
body:has(#contactForm) main > .relative {
  padding-top: 5rem !important;
}
@media (max-width: 639px) {
  form .grid {
    grid-template-columns: minmax(0, 1fr);
  }
  form input,
  form select,
  form textarea {
    font-size: 16px;
  }
}
@media (min-width: 1024px) {
  body:has(#contactForm) main > .relative {
    padding-top: 7rem !important;
  }
}
@media (pointer: coarse) {
  .cursor-dot {
    display: none;
  }
}


/* Intellisys Labs local utility CSS — replaces Tailwind CDN utilities. */
html,body{margin:0;padding:0;}
*,*::before,*::after{box-sizing:border-box;}
body{font-family:var(--font-sans,"DM Sans",sans-serif);font-weight:400;line-height:1.5;}
a{color:inherit;text-decoration:none;}
button,input,select,textarea{font:inherit;}
img,svg{display:block;max-width:100%;}
.font-sans{font-family:var(--font-sans,"DM Sans",sans-serif);}
.font-display{font-family:var(--font-display,"Space Grotesk",sans-serif);}
.font-medium{font-weight:500;}
.font-semibold{font-weight:600;}
.font-bold{font-weight:700;}
.uppercase{text-transform:uppercase;}
.text-center{text-align:center;}
.text-black{color:#000;}
.text-white{color:#fff;}
.text-gold{color:var(--gold);}
.inline{display:inline;}
.block{display:block;}
.inline-flex{display:inline-flex;}
.flex{display:flex;}
.grid{display:grid;}
.hidden{display:none;}
.relative{position:relative;}
.absolute{position:absolute;}
.fixed{position:fixed;}
.overflow-hidden{overflow:hidden;}
.overflow-x-hidden{overflow-x:hidden;}
.cursor-dot{position:fixed;}
.inset-0{inset:0;}
.inset-x-0{left:0;right:0;}
.top-0{top:0;}
.z-50{z-index:50;}
.items-center{align-items:center;}
.items-start{align-items:flex-start;}
.items-end{align-items:flex-end;}
.justify-between{justify-content:space-between;}
.justify-center{justify-content:center;}
.flex-col{flex-direction:column;}
.flex-wrap{flex-wrap:wrap;}
.shrink-0{flex-shrink:0;}
.mx-auto{margin-left:auto;margin-right:auto;}
.w-full{width:100%;}
.h-auto{height:auto;}
.min-h-screen{min-height:100vh;}
.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr));}
.space-y-4{>*+*{margin-top:1rem;}}
.rounded-full{border-radius:9999px;}
.rounded-2xl{border-radius:1rem;}
.rounded-3xl{border-radius:1.5rem;}
.rounded-xl{border-radius:.75rem;}
.border{border:1px solid;}
.border-b{border-bottom:1px solid;}
.border-t{border-top:1px solid;}
.border-y{border-top:1px solid;border-bottom:1px solid;}
.shadow-2xl{box-shadow:0 25px 50px -12px rgba(0,0,0,.25);}
.opacity-40{opacity:.4;}
.opacity-50{opacity:.5;}
.transition{transition:all .15s ease;}
.transition-all{transition:all .3s ease;}
.mt-1{margin-top:0.25rem;}
.p-2{padding:0.5rem;}
.py-2{padding-top:0.5rem;padding-bottom:0.5rem;}
.mt-2{margin-top:0.5rem;}
.gap-2{gap:0.5rem;}
.py-2\.5{padding-top:0.625rem;padding-bottom:0.625rem;}
.px-3{padding-left:0.75rem;padding-right:0.75rem;}
.py-3{padding-top:0.75rem;padding-bottom:0.75rem;}
.mt-3{margin-top:0.75rem;}
.gap-3{gap:0.75rem;}
.px-3\.5{padding-left:0.875rem;padding-right:0.875rem;}
.py-3\.5{padding-top:0.875rem;padding-bottom:0.875rem;}
.p-4{padding:1rem;}
.px-4{padding-left:1rem;padding-right:1rem;}
.py-4{padding-top:1rem;padding-bottom:1rem;}
.mt-4{margin-top:1rem;}
.gap-4{gap:1rem;}
.p-5{padding:1.25rem;}
.px-5{padding-left:1.25rem;padding-right:1.25rem;}
.mt-5{margin-top:1.25rem;}
.p-6{padding:1.5rem;}
.px-6{padding-left:1.5rem;padding-right:1.5rem;}
.py-6{padding-top:1.5rem;padding-bottom:1.5rem;}
.mt-6{margin-top:1.5rem;}
.gap-6{gap:1.5rem;}
.p-7{padding:1.75rem;}
.mt-7{margin-top:1.75rem;}
.gap-7{gap:1.75rem;}
.p-8{padding:2rem;}
.py-8{padding-top:2rem;padding-bottom:2rem;}
.pt-8{padding-top:2rem;}
.mt-8{margin-top:2rem;}
.mb-8{margin-bottom:2rem;}
.gap-8{gap:2rem;}
.mt-9{margin-top:2.25rem;}
.mt-10{margin-top:2.5rem;}
.gap-10{gap:2.5rem;}
.mt-14{margin-top:3.5rem;}
.gap-14{gap:3.5rem;}
.pb-16{padding-bottom:4rem;}
.mt-16{margin-top:4rem;}
.py-20{padding-top:5rem;padding-bottom:5rem;}
.py-24{padding-top:6rem;padding-bottom:6rem;}
.pb-24{padding-bottom:6rem;}
.pt-36{padding-top:9rem;}
.pt-40{padding-top:10rem;}
.w-1\.5{width:.375rem;}
.w-2{width:.5rem;}
.w-4{width:1rem;}
.w-5{width:1.25rem;}
.w-6{width:1.5rem;}
.w-7{width:1.75rem;}
.w-9{width:2.25rem;}
.w-10{width:2.5rem;}
.w-11{width:2.75rem;}
.w-12{width:3rem;}
.h-1\.5{height:.375rem;}
.h-2{height:.5rem;}
.h-4{height:1rem;}
.h-5{height:1.25rem;}
.h-6{height:1.5rem;}
.h-7{height:1.75rem;}
.h-9{height:2.25rem;}
.h-10{height:2.5rem;}
.h-11{height:2.75rem;}
.h-12{height:3rem;}
.w-\[170px\]{width:170px;}
.w-\[420px\]{width:420px;}
.w-\[520px\]{width:520px;}
.h-\[420px\]{height:420px;}
.h-\[520px\]{height:520px;}
.max-w-7xl{max-width:80rem;}
.max-w-3xl{max-width:48rem;}
.max-w-2xl{max-width:42rem;}
.max-w-xl{max-width:36rem;}
.max-w-md{max-width:28rem;}
.max-w-\[510px\]{max-width:510px;}
.text-xs{font-size:.75rem;}
.text-sm{font-size:.875rem;}
.text-base{font-size:1rem;}
.text-lg{font-size:1.125rem;}
.text-xl{font-size:1.25rem;}
.text-2xl{font-size:1.5rem;}
.text-3xl{font-size:1.875rem;}
.text-4xl{font-size:2.25rem;}
.text-5xl{font-size:3rem;}
.text-\[10px\]{font-size:10px;}
.text-\[11px\]{font-size:11px;}
.text-\[clamp\(3\.6rem\,8vw\,7\.6rem\)\]{font-size:clamp(3.6rem,8vw,7.6rem);}
.leading-6{line-height:1.5rem;}
.leading-7{line-height:1.75rem;}
.leading-8{line-height:2rem;}
.leading-\[\.88\]{line-height:.88;}
.tracking-tight{letter-spacing:-.025em;}
.tracking-widest{letter-spacing:.1em;}
.tracking-\[-\.05em\]{letter-spacing:-.05em;}
.tracking-\[-\.06em\]{letter-spacing:-.06em;}
.tracking-\[-\.075em\]{letter-spacing:-.075em;}
.tracking-\[\.18em\]{letter-spacing:.18em;}
.tracking-\[\.20em\]{letter-spacing:.20em;}
.tracking-\[\.22em\]{letter-spacing:.22em;}
.tracking-\[\.24em\]{letter-spacing:.24em;}
.tracking-\[\.25em\]{letter-spacing:.25em;}
.tracking-\[\.28em\]{letter-spacing:.28em;}
.gap-2{gap:.5rem;}
.gap-3{gap:.75rem;}
.gap-4{gap:1rem;}
.gap-6{gap:1.5rem;}
.gap-7{gap:1.75rem;}
.gap-8{gap:2rem;}
.gap-10{gap:2.5rem;}
.gap-14{gap:3.5rem;}
.gap-x-8{column-gap:2rem;}
.gap-y-3{row-gap:.75rem;}
.-top-40{top:-10rem;}
.-right-32{right:-8rem;}
.-bottom-56{bottom:-14rem;}
.-left-24{left:-6rem;}
.-inset-3{inset:-.75rem;}
.-inset-6{inset:-1.5rem;}
.rotate-3{transform:rotate(3deg);}
.-rotate-2{transform:rotate(-2deg);}
.bg-ink{background-color:var(--ink);}
.bg-black{background-color:#000;}
.bg-white{background-color:#fff;}
.bg-\[\#111\]{background-color:#111;}
.bg-\[\#d8a62b\]{background-color:#d8a62b;}
.bg-\[\#d8a62b\]\/12{background-color:rgba(216,166,43,.12);}
.bg-\[\#e9e7df\]{background-color:#e9e7df;}
.bg-\[\#f0eee8\]{background-color:#f0eee8;}
.bg-\[\#f4d27a\]{background-color:#f4d27a;}
.bg-\[\#fafaf8\]{background-color:#fafaf8;}
.bg-white\/5{background-color:rgba(255,255,255,.05);}
.bg-white\/\[\.03\]{background-color:rgba(255,255,255,.03);}
.bg-white\/\[\.04\]{background-color:rgba(255,255,255,.04);}
.bg-white\/\[\.06\]{background-color:rgba(255,255,255,.06);}
.text-\[\#9f6e05\]{color:#9f6e05;}
.text-\[\#f4d27a\]{color:#f4d27a;}
.text-black\/40{color:rgba(0,0,0,.4);}
.text-black\/45{color:rgba(0,0,0,.45);}
.text-black\/50{color:rgba(0,0,0,.5);}
.text-black\/55{color:rgba(0,0,0,.55);}
.text-white\/30{color:rgba(255,255,255,.3);}
.text-white\/35{color:rgba(255,255,255,.35);}
.text-white\/40{color:rgba(255,255,255,.4);}
.text-white\/45{color:rgba(255,255,255,.45);}
.text-white\/50{color:rgba(255,255,255,.5);}
.text-white\/55{color:rgba(255,255,255,.55);}
.text-white\/65{color:rgba(255,255,255,.65);}
.text-white\/70{color:rgba(255,255,255,.7);}
.text-white\/75{color:rgba(255,255,255,.75);}
.text-white\/80{color:rgba(255,255,255,.8);}
.border-\[\#d8a62b\]\/20{border-color:rgba(216,166,43,.2);}
.border-\[\#d8a62b\]\/40{border-color:rgba(216,166,43,.4);}
.border-black\/5{border-color:rgba(0,0,0,.05);}
.border-black\/8{border-color:rgba(0,0,0,.08);}
.border-black\/10{border-color:rgba(0,0,0,.1);}
.border-white\/10{border-color:rgba(255,255,255,.1);}
.border-white\/15{border-color:rgba(255,255,255,.15);}
.min-h-\[72vh\]{min-height:72vh;}
.py-20{padding-top:5rem;padding-bottom:5rem;}
.py-24{padding-top:6rem;padding-bottom:6rem;}
.pt-36{padding-top:9rem;}
.pt-40{padding-top:10rem;}
.pt-8{padding-top:2rem;}
.pb-16{padding-bottom:4rem;}
.pb-24{padding-bottom:6rem;}
.max-w-7xl{max-width:80rem;}
.resize-none{resize:none;}
.outline-none{outline:none;}
.place-items-center{place-items:center;}
.shadow-2xl{box-shadow:0 25px 50px -12px rgba(0,0,0,.25);}
.duration-300{transition-duration:.3s;}
.w-\[170px\]{width:170px;}

@media (min-width:640px){
.sm\:inline-flex{display:inline-flex;}
.sm\:flex-row{flex-direction:row;}
.sm\:items-center{align-items:center;}
.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr));}
.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr));}
.sm\:p-7{padding:1.75rem;}
.sm\:p-8{padding:2rem;}
.sm\:p-10{padding:2.5rem;}
.sm\:px-6{padding-left:1.5rem;padding-right:1.5rem;}
.sm\:text-sm{font-size:.875rem;}
.sm\:text-lg{font-size:1.125rem;}
.sm\:text-5xl{font-size:3rem;}
.sm\:text-6xl{font-size:3.75rem;}
.sm\:text-7xl{font-size:4.5rem;}
.sm\:w-\[190px\]{width:190px;}
}
@media (min-width:768px){
.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media (min-width:1024px){
.lg\:flex{display:flex;}
.lg\:hidden{display:none;}
.lg\:flex-row{flex-direction:row;}
.lg\:items-center{align-items:center;}
.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr));}
.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr));}
.lg\:grid-cols-\[\.82fr_1\.18fr\]{grid-template-columns:.82fr 1.18fr;}
.lg\:grid-cols-\[1\.08fr_\.92fr\]{grid-template-columns:1.08fr .92fr;}
.lg\:gap-14{gap:3.5rem;}
.lg\:p-14{padding:3.5rem;}
.lg\:px-8{padding-left:2rem;padding-right:2rem;}
.lg\:pt-44{padding-top:11rem;}
.lg\:pt-48{padding-top:12rem;}
.lg\:pb-24{padding-bottom:6rem;}
.lg\:pb-32{padding-bottom:8rem;}
.lg\:py-24{padding-top:6rem;padding-bottom:6rem;}
.lg\:py-32{padding-top:8rem;padding-bottom:8rem;}
.lg\:text-6xl{font-size:3.75rem;}
}

header.fixed{position:sticky !important;}

/* Final utility details */
.rounded-\[2rem\]{border-radius:2rem;}
@media (hover:hover){
  .hover\:bg-zinc-800:hover{background-color:#27272a;}
  .hover\:bg-white\/10:hover{background-color:rgba(255,255,255,.1);}
  .hover\:border-\[\#d8a62b\]:hover{border-color:#d8a62b;}
  .hover\:text-\[\#f4d27a\]:hover{color:#f4d27a;}
  .hover\:text-gold:hover{color:var(--gold);}
  .group:hover .group-hover\:text-\[\#9f6e05\]{color:#9f6e05;}
}
.focus\:border-\[\#d8a62b\]:focus{border-color:#d8a62b;}

/* Contact page must retain the dark/gold theme without Tailwind. */
.contact-page { background: var(--ink); color: #fff; }
.contact-page .glass { background: rgba(18,18,18,.78); border-color: rgba(255,255,255,.1); }
.contact-page main { background: var(--ink); color: #fff; }

/* Light-page logo: explicit black wordmark for hosting/cache-safe rendering. */
.site-logo-dark { display:block; opacity:1 !important; filter:none !important; }
