/* NCP Media — bridge for public pages created before the 2026 template. */
:root {
  --ncp-blue: #05f;
  --ncp-ink: #1a1a1a;
  --ncp-line: #e0e0e0;
  --ncp-soft: #f7f7f7;
}

html { scroll-behavior: smooth; }
body.body {
  margin: 0;
  background: #fff;
  color: var(--ncp-ink);
  font-family: Geist, Arial, sans-serif;
  letter-spacing: -.035em;
}

/* Retire the old beta/issue strip. */
body.body > div[style*="linear-gradient"] { display: none !important; }
.ncp-exact-template > .navbar14_component { display: none !important; }
.ncp-exact-template .nav_fixed { display: block !important; background-color: #1a1a1a; background-image: linear-gradient(#3d3d3d 1px,transparent 1px),linear-gradient(90deg,#3d3d3d 1px,transparent 1px); background-size: 48px 48px; }
.ncp-exact-template > .footer3_component { display: none !important; }
.ncp-exact-template > .footer { display: block !important; margin-top: 5rem; }
.ncp-legacy-shell-header ~ .navbar14_component, body:has(.ncp-legacy-shell-header) > .navbar14_component,
body:has(.ncp-legacy-shell-header) > .footer3_component { display: none !important; }
.ncp-legacy-shell-header { position: sticky; top: 0; z-index: 1000; border-bottom: 1px solid #474747; background-color: #1a1a1a; background-image: linear-gradient(#3d3d3d 1px,transparent 1px),linear-gradient(90deg,#3d3d3d 1px,transparent 1px); background-size: 48px 48px; }
.ncp-shell-nav { width: min(100%,1440px); min-height: 82px; margin: auto; padding: 0 28px; display: grid; grid-template-columns: 250px 1fr auto; align-items: center; gap: 24px; }
.ncp-shell-brand { display: flex; align-items: center; gap: 10px; color: #fff; text-decoration: none; }
.ncp-shell-brand img { width: 138px; height: 38px; object-fit: contain; }
.ncp-shell-brand img { filter: brightness(0) invert(1); }
.ncp-shell-brand small { padding: 3px 6px; background: #474747; color: #ccc; font: 10px "Geist Mono",monospace; text-transform: uppercase; }
.ncp-shell-nav > nav { display: flex; justify-content: center; gap: 2px; }
.ncp-shell-nav > nav a, .ncp-shell-actions a { padding: 10px 12px; border: 1px solid #474747; background: #fff; color: var(--ncp-ink); text-decoration: none; font: 12px "Geist Mono",monospace; text-transform: uppercase; }
.ncp-shell-nav > nav a:hover, .ncp-shell-nav > nav a.is-current { border-color: #05f; background: #05f; color: #fff; }
.ncp-shell-actions { display: flex; align-items: center; gap: 6px; }
.ncp-shell-actions .ncp-shell-login { border-color: #fff; background: #fff; color: #1a1a1a; padding-inline: 18px; }
.ncp-shell-menu { display: none; padding: 10px; border: 0; background: transparent; }
.ncp-shell-menu i { display: block; width: 24px; height: 2px; margin: 5px; background: var(--ncp-ink); }
.ncp-legacy-shell-footer { margin-top: 80px; padding: 56px max(24px,calc((100vw - 1384px)/2)); display: grid; grid-template-columns: 1.4fr 1fr 1fr; gap: 48px; background: var(--ncp-ink); color: #fff; }
.ncp-legacy-shell-footer img { width: 150px; filter: brightness(0) invert(1); }
.ncp-legacy-shell-footer p { max-width: 340px; color: #aaa; font-size: 15px; }
.ncp-legacy-shell-footer nav, .ncp-legacy-shell-footer > div:last-child { display: grid; align-content: start; gap: 10px; }
.ncp-legacy-shell-footer a { color: #ddd; text-decoration: none; font-family: "Geist Mono",monospace; }
.ncp-legacy-shell-footer small { margin-top: 18px; color: #777; font-family: "Geist Mono",monospace; }

.navbar14_component {
  position: sticky !important;
  inset: 0 0 auto;
  z-index: 999;
  min-height: 72px;
  border: 0 !important;
  border-bottom: 1px solid var(--ncp-line) !important;
  background: rgba(255,255,255,.96) !important;
  backdrop-filter: blur(14px);
  width: 100% !important;
  margin: 0 !important;
  border-radius: 0 !important;
}
.navbar14_container {
  width: min(100%, 1440px) !important;
  min-height: 72px;
  margin: auto !important;
  padding: 0 32px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: #fff !important;
}
.navbar14_logo-link { display: flex !important; align-items: center; gap: 10px; }
.navbar14_logo, .footer3_logo {
  width: 138px !important;
  height: 38px !important;
  object-fit: contain;
  object-position: left center;
}
.navbar14_logo-link span { border-radius: 0 !important; background: var(--ncp-ink) !important; }
.navbar14_menu-links { gap: 4px !important; }
.navbar14_link {
  padding: 10px 13px !important;
  border: 1px solid transparent;
  border-radius: 0 !important;
  color: var(--ncp-ink) !important;
  font-family: "Geist Mono", monospace !important;
  font-size: 12px !important;
  text-transform: lowercase;
  letter-spacing: -.02em;
}
.navbar14_link:hover, .navbar14_link.w--current {
  border-color: var(--ncp-ink);
  background: var(--ncp-ink) !important;
  color: #fff !important;
}
.navbar14_button-wrapper .button {
  border: 1px solid var(--ncp-blue) !important;
  border-radius: 0 !important;
  background: var(--ncp-blue) !important;
  color: #fff !important;
  box-shadow: none !important;
  font-family: "Geist Mono", monospace;
  text-transform: lowercase;
}
.lang-switcher button {
  border: 1px solid var(--ncp-line) !important;
  border-radius: 0 !important;
  background: #fff !important;
  font-family: "Geist Mono", monospace !important;
}

/* Hero and page rhythm. */
.section_layout352, .section_layout352 .layout352_heading,
.blog-post-header, .section_blog-post-header {
  background: #fff !important;
}
.section_layout352 .padding-section-large,
.blog-post-header .padding-section-large,
.section_blog-post-header .padding-section-large {
  padding-top: 0 !important;
  padding-bottom: 72px !important;
}
.section_layout352 .text-align-center.flex-center {
  position: relative;
  isolation: isolate;
  width: 100%;
  min-height: clamp(300px, 38vw, 520px);
  padding: clamp(72px, 10vw, 140px) clamp(20px, 5vw, 72px);
  border: 1px solid var(--ncp-line);
  overflow: hidden;
  background-color: #f7f7f5;
  background-image:
    linear-gradient(rgba(216,216,211,.68) 1px, transparent 1px),
    linear-gradient(90deg,rgba(216,216,211,.68) 1px, transparent 1px);
  background-size: 64px 64px;
}
.section_layout352 .text-align-center.flex-center::before,
.section_layout352 .text-align-center.flex-center::after {
  content: "";
  position: absolute;
  z-index: -1;
  width: 18px;
  height: 18px;
  background: var(--ncp-blue);
}
.section_layout352 .text-align-center.flex-center::before { top: 22%; left: 12%; }
.section_layout352 .text-align-center.flex-center::after { right: 17%; bottom: 19%; }
.section_layout352 .text-align-center.flex-center .max-width-large {
  position: relative;
  z-index: 1;
  margin-top: 0 !important;
}
.section_layout352 .rich-text.w-richtext {
  width: min(calc(100% - 40px), 980px);
  margin: clamp(56px, 8vw, 104px) auto 0;
  padding: clamp(24px, 5vw, 64px);
  border: 1px solid var(--ncp-line);
  background: #fff;
}
h1.hero-heading, .privacy-heading {
  width: min(100%, 1100px) !important;
  max-width: 1100px;
  margin-inline: auto;
  color: var(--ncp-ink) !important;
  font-size: clamp(44px, 7vw, 92px) !important;
  line-height: .98 !important;
  letter-spacing: -.075em !important;
  font-weight: 500 !important;
  white-space: normal !important;
  overflow-wrap: break-word;
}
.hero-paragraph, .text-size-medium {
  color: #474747;
  font-size: 17px;
  line-height: 1.55;
  letter-spacing: -.025em;
}

/* Template-like cards and content surfaces. */
.blog41_item-link, .blog-content, .layout352_item,
.case-study-card, .client-card, .process-card,
.contact-card, .features-card, .card {
  border-color: var(--ncp-line) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  background: #fff !important;
}
.blog41_item-link { border: 1px solid var(--ncp-line) !important; overflow: hidden; }
.blog41_item-link:hover { border-color: var(--ncp-blue) !important; transform: translateY(-3px); }
.blog-content { height: 100%; padding: 18px !important; }
.blog41_image-wrapper, .blog41_image, .blog-post-image, .blog-post-header img,
.layout1_image-wrapper, .layout1_image { border-radius: 0 !important; }
.tag-wrapper, .read-time {
  border-radius: 0 !important;
  font-family: "Geist Mono", monospace;
  font-size: 11px !important;
  text-transform: uppercase;
}
.tag-wrapper { background: var(--ncp-blue) !important; color: #fff !important; }
.blog-h5, h2, h3, h4, h5 { letter-spacing: -.05em !important; }
.button, .w-button, [class*="button"] { border-radius: 0 !important; }

.blog-post-content, .legal-content, .privacy-content, .rich-text-block,
.text-rich-text, .w-richtext {
  color: #303030;
  font-size: 17px;
  line-height: 1.7;
  letter-spacing: -.02em;
}
.w-richtext h2, .w-richtext h3, .legal-content h2, .legal-content h3 {
  margin-top: 2.25em;
  padding-top: .8em;
  border-top: 1px solid var(--ncp-line);
  color: var(--ncp-ink);
}
.w-richtext a, .legal-content a { color: var(--ncp-blue); text-decoration-thickness: 1px; }

/* Case studies: preserve the complete previous-site content in the Aeye shell. */
body:has(.case-study-wrapper) h1.hero-heading {
  max-width: 980px !important;
  font-size: clamp(48px, 5.6vw, 78px) !important;
  line-height: .96 !important;
  text-wrap: balance;
}
body:has(.case-study-wrapper) .text-align-center .hero-paragraph {
  width: min(100%, 820px);
  margin-inline: auto;
}
.case-study-wrapper {
  width: min(100%, 1200px);
  margin: 0 auto !important;
  padding: clamp(34px, 5vw, 72px) !important;
  border: 1px solid var(--ncp-line);
  border-bottom: 0;
  background: #fff;
}
.case-study-wrapper:last-of-type { border-bottom: 1px solid var(--ncp-line); }
.case-study-wrapper .layout1_content { align-items: center; gap: clamp(28px, 5vw, 72px); }
.case-study-wrapper .layout1_image-wrapper,
.case-study-wrapper .case-study-image { border-radius: 0 !important; }
.case-study-wrapper .tag-wrapper {
  display: inline-flex;
  padding: .55rem .75rem;
  border: 1px solid var(--ncp-blue);
  background: var(--ncp-blue) !important;
}
.case-study-wrapper .tag-wrapper *,
.case-study-wrapper .tag-text { margin: 0 !important; color: #fff !important; font: 600 11px/1.2 "Geist Mono",monospace !important; }
.case-study-wrapper .result-wrapper {
  margin-top: 1.5rem;
  padding: 1.25rem;
  border: 1px solid var(--ncp-line);
  border-left: 4px solid var(--ncp-blue);
  border-radius: 0 !important;
  background: #f7f7f5;
}
.case-study-wrapper .result-wrapper p { margin: 0; color: var(--ncp-ink); }

/* Unified footer, using the existing semantic links/content. */
.footer3_component {
  margin-top: 80px;
  border-top: 1px solid #333 !important;
  background: var(--ncp-ink) !important;
  color: #fff !important;
}
.footer3_component * { color: inherit; }
.footer3_component .divider-horizontal { background: #474747 !important; }
.footer3_link { color: #ccc !important; font-family: "Geist Mono", monospace; }
.footer3_link:hover { color: #fff !important; }
.footer3_social-link { border-radius: 0 !important; border-color: #474747 !important; }
.footer3_bottom-wrapper { font-family: "Geist Mono", monospace; font-size: 12px; }

@media (max-width: 991px) {
  .ncp-exact-template .nav_fixed { background: #fff; }
  .ncp-legacy-shell-header { border-bottom-color: var(--ncp-line); background: #fff; }
  .ncp-shell-nav { grid-template-columns: 1fr auto; padding-inline: 20px; }
  .ncp-shell-brand img { filter: none; }
  .ncp-shell-brand small { background: #f0f0f0; color: #777; }
  .ncp-shell-menu { display: block; grid-column: 2; grid-row: 1; }
  .ncp-shell-nav > nav, .ncp-shell-actions { display: none; grid-column: 1 / -1; }
  .ncp-legacy-shell-header.is-open .ncp-shell-nav { padding-bottom: 18px; }
  .ncp-legacy-shell-header.is-open .ncp-shell-nav > nav, .ncp-legacy-shell-header.is-open .ncp-shell-actions { display: grid; }
  .ncp-shell-nav > nav a { border-color: var(--ncp-line); border-bottom: 1px solid var(--ncp-line); }
  .ncp-shell-actions { grid-template-columns: auto 1fr; }
  .ncp-legacy-shell-footer { grid-template-columns: 1fr 1fr; }
  .navbar14_container { width: 100% !important; padding-inline: 20px !important; }
  .navbar14_menu { border: 1px solid var(--ncp-line) !important; border-radius: 0 !important; background: #fff !important; }
  .navbar14_menu-links { gap: 0 !important; }
  .navbar14_link { border-bottom-color: var(--ncp-line); }
  .navbar14_menu-button { border-radius: 0 !important; }
  .section_layout352 .padding-section-large { padding-top: 0 !important; }
}

@media (max-width: 767px) {
  .ncp-legacy-shell-footer { grid-template-columns: 1fr; margin-top: 56px; padding: 44px 24px; }
  h1.hero-heading, .privacy-heading { font-size: clamp(38px, 12vw, 60px) !important; }
  .section_layout352 .padding-section-large { padding-top: 0 !important; padding-bottom: 48px !important; }
  .section_layout352 .text-align-center.flex-center { min-height: 280px; padding: 72px 20px; background-size: 42px 42px; }
  .section_layout352 .rich-text.w-richtext { width: calc(100% - 24px); margin-top: 36px; padding: 22px 18px; }
  .footer3_component { margin-top: 56px; }
  body:has(.case-study-wrapper) h1.hero-heading { font-size: clamp(38px, 11vw, 54px) !important; }
  .case-study-wrapper { width: calc(100% - 24px); padding: 26px 18px !important; }
  .case-study-wrapper .layout1_content { grid-template-columns: 1fr !important; }
  .case-study-wrapper .layout1_image-wrapper { grid-row: auto !important; }
}
