/* DIGITUM CORRECTED GLOBAL REFINEMENT */
html { background: #121212; }
body {
  color: var(--text);
  background:
    radial-gradient(circle at 72% 0%, rgba(203,252,4,.028), transparent 27%),
    var(--bg);
  font-family: "Mulish", sans-serif;
  font-size: 1rem;
  line-height: 1.68;
}
h1, h2, h3, h4, .btn, .eyebrow, .brand, .nav-links,
.footer-heading, .footer-nav-block a,
.footer-contact-item small, .footer-contact-item strong {
  font-family: "Satoshi", sans-serif;
}
h1, h2, h3, h4 {
  line-height: 1.08;
  letter-spacing: -.04em;
}
h1 {
  font-size: clamp(2.75rem, 4.7vw, 4.75rem);
  font-weight: 900;
}
h2 {
  font-size: clamp(2rem, 3.25vw, 3.25rem);
  font-weight: 900;
}
h3 { font-weight: 700; }

.section { padding: clamp(5.5rem, 7vw, 6.4rem) 0; }
.section-tight { padding: clamp(4.5rem, 6vw, 5.3rem) 0; }
.section-head { gap: 42px; margin-bottom: 38px; }
.section-head .eyebrow { margin-bottom: 16px; }
.lede { font-size: clamp(1rem, 1.3vw, 1.12rem); line-height: 1.74; }

.btn {
  min-height: 49px;
  padding-inline: 20px;
  font-size: .84rem;
  font-weight: 700;
  transition:
    transform .25s cubic-bezier(.22,.61,.36,1),
    box-shadow .25s cubic-bezier(.22,.61,.36,1),
    border-color .25s ease,
    background .25s ease;
}
.btn-primary {
  color: #111;
  background: var(--lime);
  box-shadow: 0 10px 30px rgba(203,252,4,.12);
}
.btn-primary:hover {
  transform: translateY(-2px) scale(1.012);
  background: var(--lime-bright);
  box-shadow: 0 15px 38px rgba(203,252,4,.2);
}

/* Keep the complete header on one row at desktop widths. */
.site-header { width: 100%; }
.nav-wrap {
  min-height: 78px;
  display: grid !important;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 34px;
}
.brand-logo img { width: auto; height: 31px; max-width: 170px; }
.site-header nav { justify-self: center; }
.nav-links {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  gap: 24px;
  font-size: .82rem;
  font-weight: 500;
  white-space: nowrap;
}
.nav-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
}
.nav-cta {
  min-height: 41px;
  padding-inline: 17px;
  font-size: .76rem;
  white-space: nowrap;
}
.menu-toggle {
  transition:
    border-color .25s cubic-bezier(.22,.61,.36,1),
    background .25s cubic-bezier(.22,.61,.36,1),
    transform .3s cubic-bezier(.22,.61,.36,1);
}
.menu-toggle span,
.menu-toggle span::before,
.menu-toggle span::after {
  transition:
    transform .32s cubic-bezier(.22,.61,.36,1),
    top .32s cubic-bezier(.22,.61,.36,1),
    opacity .22s ease,
    background .22s ease;
}
.menu-toggle.active { transform: rotate(90deg); border-color: var(--line-lime); }

.hero-proof { display: none !important; }

/* Balanced hero spacing with a visible pause below the header. */
.ads-hero,
.seo-hero,
.website-hero,
.automation-hero,
.services-hero,
.about-hero,
.work-hero,
.portfolio-hero,
.contact-hero,
body:not(.home-page) main > .hero {
  min-height: auto !important;
  padding-top: 132px !important;
  padding-bottom: 78px !important;
}
.ads-hero-grid,
.seo-hero-grid,
.website-hero-grid,
.automation-hero-grid,
.services-hero-grid,
.about-hero-grid,
.work-hero-grid,
.portfolio-hero-grid,
.hero-grid {
  gap: 54px !important;
}
.ads-visual,
.seo-visual,
.website-visual,
.ops-visual,
.services-map,
.company-visual,
.work-visual,
.portfolio-stack,
.system-visual,
.hero-visual {
  min-height: 475px !important;
  max-height: 560px;
}

/* Correct CTA corners without adding a second CTA to the footer. */
.cta-box,
.close-box,
.work-close-box,
.portfolio-close-box,
.final-cta-box {
  position: relative;
  overflow: hidden;
}
.cta-box::after,
.close-box::after,
.work-close-box::after,
.portfolio-close-box::after,
.final-cta-box::after {
  content: "" !important;
  position: absolute !important;
  inset: 22px !important;
  z-index: 0 !important;
  border-radius: 21px !important;
  background:
    linear-gradient(var(--lime), var(--lime)) left top / 62px 1px no-repeat,
    linear-gradient(var(--lime), var(--lime)) left top / 1px 40px no-repeat,
    linear-gradient(var(--lime), var(--lime)) right bottom / 62px 1px no-repeat,
    linear-gradient(var(--lime), var(--lime)) right bottom / 1px 40px no-repeat !important;
  opacity: .44 !important;
  pointer-events: none !important;
}
.cta-box > *,
.close-box > *,
.work-close-box > *,
.portfolio-close-box > *,
.final-cta-box > * {
  position: relative;
  z-index: 2;
}

/* Footer starts directly with the navigation surface. */
.footer {
  padding-top: 44px !important;
  border-top-color: rgba(203,252,4,.08) !important;
  background:
    radial-gradient(circle at 14% 8%, rgba(203,252,4,.045), transparent 27%),
    linear-gradient(180deg, #101010 0%, #0d0d0d 100%) !important;
}
.footer-cta-panel { display: none !important; }
.footer-surface {
  margin-top: 0 !important;
  gap: 30px !important;
  padding: clamp(32px, 4.4vw, 48px) !important;
}
.footer-brand-link img { height: 34px; max-width: 180px; }
.footer-bottom { padding-bottom: 27px !important; }

@media (max-width: 1040px) {
  .nav-wrap {
    display: flex !important;
    justify-content: space-between;
  }
  .site-header nav { justify-self: auto; }
  .nav-links {
    position: fixed;
    inset: 78px 20px auto;
    z-index: 110;
    display: grid;
    gap: 0;
    padding: 16px 20px;
    border: 1px solid var(--line);
    border-radius: 18px;
    background: rgba(18,18,18,.98);
    box-shadow: 0 24px 64px rgba(0,0,0,.34);
    opacity: 0;
    visibility: hidden;
    transform: translateY(-10px) scale(.985);
    transform-origin: top right;
    transition:
      opacity .28s ease,
      visibility .28s ease,
      transform .34s cubic-bezier(.22,.61,.36,1);
  }
  .nav-links.open {
    opacity: 1;
    visibility: visible;
    transform: translateY(0) scale(1);
  }
  .nav-links a { display: block; padding: 11px 0; }
  .nav-cta { display: none; }
  .menu-toggle { display: grid; }
}

@media (max-width: 720px) {
  .section { padding: 4.4rem 0; }
  .section-tight { padding: 3.8rem 0; }
  h1 { font-size: clamp(2.45rem, 10.6vw, 3.55rem); }
  h2 { font-size: clamp(1.85rem, 8.5vw, 2.65rem); }
  .ads-hero,
  .seo-hero,
  .website-hero,
  .automation-hero,
  .services-hero,
  .about-hero,
  .work-hero,
  .portfolio-hero,
  .contact-hero,
  body:not(.home-page) main > .hero {
    padding-top: 106px !important;
    padding-bottom: 58px !important;
  }
  .section-head { gap: 18px; margin-bottom: 30px; }
}
