
:root { --container-xl: 1440px; }
.container-xl { max-width: var(--container-xl); }
.prose-invert a { color: #22D3EE; }
code, pre { background: #0b1220; border: 1px solid rgba(255,255,255,0.06); border-radius: 8px; padding: 0.2rem 0.4rem; }
.hero-bleed{position:relative;}
.hero-bleed .bg-blurs>div{filter:blur(64px);}
img[loading="lazy"]{contain: paint;}
kbd{background:#0b1220;border:1px solid rgba(255,255,255,0.1);border-radius:6px;padding:0 6px;}


/* v6.1 upgrades */
:root {
  --fs-sm: clamp(14px, 0.9vw, 15px);
  --fs-base: clamp(15px, 1vw, 18px);
  --fs-lg: clamp(18px, 1.2vw, 22px);
  --fs-2xl: clamp(22px, 2.2vw, 30px);
  --fs-4xl: clamp(32px, 3.5vw, 46px);
}
body {
  font-size: var(--fs-base);
  line-height: 1.65;
  color: #000;
  background: #fff;
  -webkit-text-size-adjust: 100%;
}
h1 { font-size: var(--fs-4xl); line-height: 1.2; }
h2 { font-size: var(--fs-2xl); line-height: 1.25; }
h3 { font-size: var(--fs-lg); line-height: 1.3; }
p  { margin: .75rem 0; }

/* Menu improvements */
#drawer {
  transition: transform 0.3s ease, opacity 0.3s ease;
}
#drawer.show { transform: translateX(0); opacity: 1; }
#overlay {
  transition: opacity 0.3s ease;
}
#overlay.show { opacity: 0.6; }

#drawer a {
  font-size: var(--fs-base);
  padding: 0.75rem 1rem;
  display: block;
}
#drawer a:hover, #drawer a:focus {
  background: rgba(0,0,0,0.05);
}

@media (max-width: 768px) {
  .section { padding: 1.5rem 1rem; }
  h1 { font-size: 1.8rem; }
  h2 { font-size: 1.4rem; }
}

img { max-width: 100%; height: auto; display: block; }


/* v6.3 interactive tweaks */
:root { --ease: cubic-bezier(.2,.7,.2,1); }
a, .btn, button { transition: color .2s var(--ease), background-color .2s var(--ease), border-color .2s var(--ease), transform .2s var(--ease), box-shadow .2s var(--ease); }
.btn:hover { transform: translateY(-1px); }
.btn:active { transform: translateY(0); }
.card { transition: box-shadow .2s var(--ease), transform .2s var(--ease); }
.card:hover { transform: translateY(-2px); box-shadow: 0 8px 24px rgba(0,0,0,.06); }

/* Ensure "Book a call" button text is white (theme-safe) */
.btn-primary, a.btn-primary, nav .btn-primary { color: #ffffff !important; }

/* Subtle focus ring for accessibility (theme-respecting) */
:where(a,button):focus-visible { outline: 2px solid currentColor; outline-offset: 3px; border-radius: 10px; }

/* Reveal-on-scroll animation hooks */
/* reveal removed for stability */
/* reveal.in removed for stability */


/* v6.3S CTA */
.btn-primary, a.btn-primary, nav .btn-primary { color: #ffffff !important; }
