/* NetCore design system. Content, URLs and Bootstrap structure stay. */

:root {
  --bg: #ffffff;
  --surface: #ffffff;
  --surface-glass: rgba(255, 255, 255, .9);
  --border: rgba(1, 21, 62, .10);
  --text: #01153E;
  --text-muted: #4d6280;
  --accent: #0090F0;
  --accent-2: #19c6b8;
  --accent-deep: #0072C6;
  --ink: #01153E;
  --shadow: 0 14px 34px rgba(1, 21, 62, .07);
  --radius: 18px;
  --header-h: 75px;
}
html[data-theme="dark"] {
  --bg: #010E2B;
  --surface: #071833;
  --surface-glass: rgba(7, 28, 68, .9);
  --border: rgba(170, 214, 255, .42);
  --text: #e8f2fc;
  --text-muted: #b7c8de;
  --shadow: 0 16px 40px rgba(0, 0, 0, .35);
}

html { scroll-behavior: smooth; }
h1, h2 {
  font-family: Manrope, sans-serif;
  letter-spacing: -0.03em;
}
.navbar-nav .nav-link,
.btn,
h3, h4, h5, h6 { letter-spacing: 0; }
h3, h4, h5, h6 { font-family: Manrope, sans-serif; }
.nc-ico {
  width: 28px;
  height: 28px;
  display: block;
  color: var(--accent);
  transition: transform .28s ease;
}
.service-item:hover .nc-ico,
.nc-fact:hover .nc-ico { transform: translateY(-3px); }
body {
  font-family: Manrope, sans-serif;
  font-weight: 500;
  background:
    radial-gradient(880px 420px at -8% -10%, rgba(0, 144, 240, .10), transparent 62%),
    radial-gradient(720px 380px at 108% 8%, rgba(25, 198, 184, .08), transparent 58%),
    #ffffff;
  color: var(--text);
}
html[data-theme="dark"] body {
  background:
    radial-gradient(860px 440px at 100% -12%, rgba(0, 144, 240, .22), transparent 56%),
    radial-gradient(640px 360px at -10% 20%, rgba(25, 198, 184, .10), transparent 55%),
    #010E2B !important;
  color: var(--text);
}
#net-canvas {
  z-index: 0 !important;
  opacity: .42;
}
html[data-theme="dark"] #net-canvas { opacity: .55; }
.container-xxl,
.container-fluid,
.header-carousel,
.page-header { position: relative; z-index: 1; }

:focus-visible {
  outline: 2px solid var(--accent);
  outline-offset: 3px;
}

/* Top bar + sticky glass header. Always visible; compact after scroll. */
.container-fluid.bg-dark.px-5 {
  position: relative;
  z-index: 2;
  background: rgba(255, 255, 255, .72) !important;
  border-bottom: 1px solid rgba(1, 21, 62, .08);
}
.container-fluid.bg-dark.px-5,
.container-fluid.bg-dark.px-5 small,
.container-fluid.bg-dark.px-5 a {
  color: var(--ink) !important;
}
html[data-theme="dark"] .container-fluid.bg-dark.px-5 {
  background: rgba(1, 14, 43, .78) !important;
  border-bottom-color: rgba(150, 196, 255, .16);
}
html[data-theme="dark"] .container-fluid.bg-dark.px-5,
html[data-theme="dark"] .container-fluid.bg-dark.px-5 small,
html[data-theme="dark"] .container-fluid.bg-dark.px-5 a {
  color: #e8f2fc !important;
}
.navbar.sticky-top {
  top: 0 !important;
  transition: none !important;
  z-index: 1030;
  background: var(--surface-glass) !important;
  backdrop-filter: blur(18px) saturate(1.3);
  -webkit-backdrop-filter: blur(18px) saturate(1.3);
  border-bottom: 1px solid var(--border);
  box-shadow: 0 8px 24px rgba(1, 21, 62, .04);
  overflow-anchor: none;
}
html[data-theme="dark"] .navbar.sticky-top { background: rgba(1, 14, 43, .82) !important; }
.navbar .navbar-nav .nav-link { transition: color .2s ease; }
@media (min-width: 992px) {
  .navbar .nav-item .dropdown-menu {
    transition: opacity .2s ease, transform .2s ease, visibility .2s ease;
    transform: translateY(6px);
    border-radius: 14px !important;
    overflow: hidden;
    min-width: 240px;
    padding: 8px;
    background: var(--surface-glass) !important;
    backdrop-filter: blur(16px);
    border: 1px solid var(--border) !important;
    box-shadow: var(--shadow);
  }
  .navbar .nav-item:hover .dropdown-menu { transform: none; }
}
.dropdown-item { border-radius: 8px; color: var(--text); }
.dropdown-item:hover, .dropdown-item:focus { background: rgba(0, 144, 240, .12); color: var(--accent); }
html[data-theme="dark"] .dropdown-item { color: var(--text); }
html[data-theme="dark"] .dropdown-menu { background: #071833 !important; }

/* Hero: softer veil + glow, photos stay. */
.header-carousel .carousel-inner {
  background: linear-gradient(180deg, rgba(255, 255, 255, .62), rgba(255, 255, 255, .78)) !important;
}
.header-carousel .owl-carousel-item h1,
.header-carousel .owl-carousel-item h5,
.header-carousel .owl-carousel-item p,
.header-carousel .text-white { color: var(--ink) !important; }
.header-carousel .owl-nav .owl-prev,
.header-carousel .owl-nav .owl-next,
.header-carousel .owl-dot { color: var(--ink) !important; border-color: var(--ink) !important; }
.header-carousel .owl-dot::after { background: var(--ink) !important; }
.header-carousel .btn-light {
  background: rgba(255, 255, 255, .82) !important;
  color: var(--ink) !important;
  border: 1px solid rgba(1, 21, 62, .14) !important;
}
html[data-theme="dark"] .header-carousel .carousel-inner {
  background: linear-gradient(180deg, rgba(1, 14, 43, .55), rgba(1, 21, 62, .72)) !important;
}
html[data-theme="dark"] .header-carousel .owl-carousel-item h1,
html[data-theme="dark"] .header-carousel .owl-carousel-item h5,
html[data-theme="dark"] .header-carousel .owl-carousel-item p,
html[data-theme="dark"] .header-carousel .text-white { color: #fff !important; }
html[data-theme="dark"] .header-carousel .owl-nav .owl-prev,
html[data-theme="dark"] .header-carousel .owl-nav .owl-next,
html[data-theme="dark"] .header-carousel .owl-dot { color: #fff !important; border-color: #fff !important; }
html[data-theme="dark"] .header-carousel .owl-dot::after { background: #fff !important; }
html[data-theme="dark"] .header-carousel .btn-light { color: var(--ink) !important; }
@media (min-width: 769px) {
  .header-carousel .owl-carousel-item { height: min(78vh, 680px); overflow: hidden; }
  .header-carousel .owl-carousel-item > img { width: 100%; height: 100%; object-fit: cover; }
}
.page-header {
  min-height: 0;
  display: block;
  margin: 0 0 .25rem !important;
  padding: 1.15rem 0 .15rem !important;
  background: transparent !important;
}
.page-header > .container {
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  max-width: 1140px;
  margin-left: auto !important;
  margin-right: auto !important;
  padding: 0 12px !important;
}
.page-header h1 {
  letter-spacing: -0.03em;
  font-size: clamp(1.4rem, 2vw, 1.75rem) !important;
  line-height: 1.2;
  margin: 0 !important;
}
.page-header h1,
.page-header .text-white { color: var(--ink) !important; }
.page-header .breadcrumb { display: none; }
html[data-theme="dark"] .page-header { background: transparent !important; }
html[data-theme="dark"] .page-header > .container { background: transparent !important; border: 0 !important; }
html[data-theme="dark"] .page-header h1,
html[data-theme="dark"] .page-header .text-white { color: #fff !important; }
@media (max-width: 640px) {
  .page-header { padding-top: .85rem !important; }
  .page-header > .container { margin-left: auto !important; margin-right: auto !important; }
}

/* Glass surfaces — cards only, not the page. */
.service-item,
.team-item,
.nc-card,
.testimonial-item,
.calc-box,
.nc-faq details,
.planner-side,
.planner-stage,
.nc-why-card {
  position: relative;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, .55), transparent 42%),
    var(--surface-glass) !important;
  border: 1px solid var(--border) !important;
  border-radius: var(--radius) !important;
  box-shadow: var(--shadow);
  color: var(--text);
}
html[data-theme="dark"] .service-item,
html[data-theme="dark"] .team-item,
html[data-theme="dark"] .nc-card,
html[data-theme="dark"] .testimonial-item,
html[data-theme="dark"] .calc-box,
html[data-theme="dark"] .nc-faq details,
html[data-theme="dark"] .planner-side,
html[data-theme="dark"] .planner-stage,
html[data-theme="dark"] .nc-why-card {
  background:
    linear-gradient(180deg, rgba(120, 180, 255, .10), transparent 40%),
    var(--surface-glass) !important;
  color: var(--text);
}
.service-item p, .nc-card p, .team-item span, .planner-note { color: var(--text-muted); }
html[data-theme="dark"] .service-item p,
html[data-theme="dark"] .nc-card p { color: var(--text-muted); }

.service-item,
.team-item,
.nc-card,
.testimonial-item,
.portfolio-inner,
.nc-why-card {
  transition: transform .28s ease, box-shadow .28s ease, border-color .28s ease;
}
.service-item:hover,
.team-item:hover,
.nc-card:hover,
.testimonial-item:hover,
.portfolio-inner:hover,
.nc-why-card:hover {
  transform: none;
  border-color: var(--accent-2) !important;
  box-shadow: 0 0 0 1px rgba(0, 144, 240, .5), 0 0 32px rgba(0, 144, 240, .25);
}
.service-item img, .nc-step b { transition: transform .28s ease; }
.service-item:hover img { transform: translateY(-3px); }
.nc-card.hot { border: 1px solid var(--accent) !important; box-shadow: 0 16px 36px rgba(0, 144, 240, .18); }
.nc-pick {
  display: inline-block;
  margin-bottom: .55rem;
  padding: 2px 8px;
  border-radius: 999px;
  background: rgba(0, 144, 240, .12);
  color: var(--accent);
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .04em;
  text-transform: uppercase;
}
@media (min-width: 992px) {
  .nc-packs .nc-card:not(.hot) { box-shadow: none; }
  .nc-packs .nc-card.hot { transform: translateY(-14px); z-index: 1; }
  .nc-packs .nc-card:not(.hot) .btn {
    background: transparent !important;
    color: var(--accent) !important;
    border: 1px solid var(--accent);
  }
}

.nc-band { padding-top: 1.15rem !important; padding-bottom: 1.15rem !important; }
.nc-why-photo {
  width: 100%;
  height: 420px;
  object-fit: cover;
  border-radius: 18px;
  display: block;
}
.container.about .col-lg-6[style*="min-height"] { min-height: 0 !important; padding: 8px 12px; }
.container.about img.position-absolute {
  position: static !important;
  width: 100% !important;
  height: 280px !important;
  max-height: 280px;
  object-fit: cover;
  border-radius: 18px;
  display: block;
}
.container.about .row { align-items: center !important; }
@media (min-width: 992px) {
  .container.about img.position-absolute { height: 320px !important; max-height: 320px; }
}
.nc-why-card { height: 100%; padding: 1.05rem 1rem 1.15rem; }
.nc-why-card h3 { font-size: 1.02rem; margin: .7rem 0 .35rem; }
.nc-why-card p { margin: 0; font-size: .9rem; line-height: 1.45; color: var(--text-muted); }
.nc-why-card .btn-square { width: 44px; height: 44px; }
@media (max-width: 991.98px) {
  .nc-why-photo { height: 220px; }
}

/* Services: four equal cards. No tall empty column. */
@media (min-width: 992px) {
  .service-row {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 16px;
    box-shadow: none;
    margin: 0 !important;
  }
  .service-row > [class*="col-"] {
    width: auto !important;
    max-width: none !important;
    padding: 0 !important;
    margin: 0 !important;
    grid-column: auto !important;
    grid-row: auto !important;
  }
}
.service-item.p-5, .service-item { padding: 1.15rem !important; }
.service-item .mb-4 { margin-bottom: .7rem !important; }
.service-item p { margin-bottom: 0 !important; }
@media (max-width: 991.98px) {
  .service-row {
    display: grid !important;
    grid-template-columns: 1fr 1fr;
    gap: 14px;
    box-shadow: none;
    margin: 0 !important;
  }
  .service-row > [class*="col-"] {
    width: auto !important;
    max-width: none !important;
    padding: 0 !important;
    grid-column: auto !important;
    grid-row: auto !important;
  }
}
@media (max-width: 575.98px) {
  .service-row { grid-template-columns: 1fr !important; }
  .service-item.p-5, .service-item { padding: 1.25rem !important; }
}

/* Fact tiles: light glass by default, navy only in dark mode. Body copy was navy-on-navy. */
.h-100.bg-dark.p-4 {
  background:
    linear-gradient(165deg, rgba(255,255,255,.88), rgba(226, 240, 255, .62)) !important;
  border: 1px solid rgba(255,255,255,.8) !important;
  border-radius: 18px !important;
  box-shadow: 0 12px 28px rgba(1, 21, 62, .08);
  color: var(--ink) !important;
  padding: 1.25rem 1.2rem !important;
}
.h-100.bg-dark.p-4 h1,
.h-100.bg-dark.p-4 h5,
.h-100.bg-dark.p-4 span { color: var(--ink) !important; }
.h-100.bg-dark.p-4 h1 { color: var(--accent) !important; font-size: 2.4rem !important; line-height: 1; }
.h-100.bg-dark.p-4 h5 { font-size: 1.05rem; }
.h-100.bg-dark.p-4 hr { border-color: rgba(0, 144, 240, .35); opacity: 1; margin: .6rem 0 .75rem; }
.h-100.bg-dark.p-4 .mb-4 { margin-bottom: .85rem !important; }
.h-100.bg-dark.p-4 .btn-square { background: rgba(0, 144, 240, .1) !important; }
html[data-theme="dark"] .h-100.bg-dark.p-4 {
  background:
    linear-gradient(165deg, rgba(16, 48, 110, .88), rgba(1, 21, 62, .82)) !important;
  border-color: rgba(140, 190, 255, .22) !important;
  color: #e7f0fb !important;
}
html[data-theme="dark"] .h-100.bg-dark.p-4 h1,
html[data-theme="dark"] .h-100.bg-dark.p-4 h5,
html[data-theme="dark"] .h-100.bg-dark.p-4 span { color: #fff !important; }

html[data-theme="dark"] .h-100.bg-dark.p-4 .btn-square { background: #fff !important; }
@media (min-width: 992px) {
  .row.g-4:has(> .col-lg-4 > .h-100.bg-dark) {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
    align-items: stretch;
    margin: 0 !important;
  }
  .row.g-4:has(> .col-lg-4 > .h-100.bg-dark) > [class*="col-"] {
    width: auto !important;
    max-width: none !important;
    padding: 0 !important;
  }
}

/* Projects stay in normal flow. Cards hug their content — no stretched empty panels. */
.portfolio-container.row {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
  height: auto !important;
  min-height: 0 !important;
  margin: 0 0 8px !important;
  position: relative !important;
  align-items: start;
}
.portfolio-container > .portfolio-item {
  position: relative !important;
  left: auto !important;
  top: auto !important;
  right: auto !important;
  bottom: auto !important;
  width: auto !important;
  max-width: none !important;
  height: auto !important;
  transform: none !important;
  margin: 0 !important;
  padding: 0 !important;
  flex: none !important;
  grid-column: auto !important;
}
.portfolio-item.nc-hide { display: none !important; }
.portfolio-inner {
  height: auto !important;
  overflow: hidden;
  border-radius: 16px;
  background: linear-gradient(180deg, rgba(255,255,255,.78), rgba(255,255,255,.55));
  border: 1px solid rgba(255,255,255,.75);
  box-shadow: 0 10px 24px rgba(1, 21, 62, .07);
}
.portfolio-inner img { width: 100%; height: 168px !important; object-fit: cover; display: block; transition: transform .45s ease; }
.portfolio-inner:hover img { transform: scale(1.03); }
.portfolio-inner > .text-center:not(.portfolio-text) { position: relative; z-index: 1; background: transparent; padding: .9rem 1rem 1rem !important; }
.portfolio-inner > .text-center:not(.portfolio-text) h5 { font-size: 1rem; }
.portfolio-inner .portfolio-text { display: none !important; }
html[data-theme="dark"] .portfolio-inner {
  background: linear-gradient(180deg, rgba(10, 36, 86, .82), rgba(1, 21, 62, .72));
  border-color: rgba(140, 190, 255, .2);
}
html[data-theme="dark"] .portfolio-inner > .text-center { background: transparent; }
@media (max-width: 991.98px) {
  .portfolio-container.row { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 575.98px) {
  .portfolio-container.row { grid-template-columns: 1fr; }
  .row.g-4:has(> .col-lg-4 > .h-100.bg-dark) { grid-template-columns: 1fr !important; }
}

.nc-promo {
  display: grid;
  grid-template-columns: 1.4fr .8fr .8fr;
  gap: 16px;
  margin: 0 0 28px;
}
.nc-promo article {
  border-radius: var(--radius);
  padding: 22px 20px;
  background: var(--surface-glass);
  border: 1px solid var(--border);
  box-shadow: var(--shadow);
  color: var(--text);
}
.nc-promo article:first-child {
  background: var(--surface-glass);
  color: var(--text);
  border-color: var(--border);
}
html[data-theme="dark"] .nc-promo article:first-child { color: var(--text); }
.nc-promo h3 { font-size: 1.2rem; margin-bottom: 8px; color: inherit; }
.nc-promo p { margin-bottom: 14px; color: inherit; opacity: .9; }
@media (max-width: 991.98px) { .nc-promo { grid-template-columns: 1fr 1fr; } }
@media (max-width: 575.98px) { .nc-promo { grid-template-columns: 1fr; } }

.team-item { overflow: hidden; }
.team-item img { width: 100%; height: 240px; object-fit: cover; object-position: top; }
.footer {
  background: rgba(255, 255, 255, .74) !important;
  border-top: 1px solid rgba(1, 21, 62, .08);
  color: var(--ink) !important;
}
.footer h5,
.footer .text-light,
.footer .text-secondary,
.footer p,
.footer a,
.footer .btn.btn-link { color: var(--ink) !important; }
.footer p,
.footer .text-secondary,
.footer .btn.btn-link { color: #3e5574 !important; }
.footer .btn.btn-link:hover { color: var(--accent) !important; }
html[data-theme="dark"] .footer {
  background: rgba(1, 14, 43, .82) !important;
  border-top-color: rgba(150, 196, 255, .16);
  color: #e8f2fc !important;
}
html[data-theme="dark"] .footer h5,
html[data-theme="dark"] .footer .text-light,
html[data-theme="dark"] .footer .text-secondary,
html[data-theme="dark"] .footer p,
html[data-theme="dark"] .footer a,
html[data-theme="dark"] .footer .btn.btn-link { color: #e8f2fc !important; }
html[data-theme="dark"] .footer p,
html[data-theme="dark"] .footer .text-secondary,
html[data-theme="dark"] .footer .btn.btn-link { color: #b7c8de !important; }
.form-control, .form-select {
  border-radius: 12px;
  border: 1px solid var(--border);
  background: var(--surface);
  color: var(--text);
}
html[data-theme="dark"] .form-control,
html[data-theme="dark"] .form-select { background: #071833; color: var(--text); }

.back-to-top { right: 22px !important; bottom: 96px !important; z-index: 1035; }
.whatsapp-float { z-index: 1036; }

.wow { visibility: visible !important; }
@keyframes nc-rise {
  from { opacity: .01; transform: translateY(12px); }
  to { opacity: 1; transform: none; }
}
html.nc-motion .nc-rise { animation: nc-rise .5s ease backwards; }
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  html.nc-motion .nc-rise,
  .service-item, .team-item, .nc-card, .portfolio-inner { animation: none !important; transition: none !important; }
}

html[data-theme="dark"] .nc-tools {
  background: rgba(7, 24, 51, .86);
  border-color: rgba(170, 206, 255, .22);
}
html[data-theme="dark"] .nc-tools button { color: #e8f2fc; }
.nc-about-photo {
  width: 100%;
  height: 280px;
  object-fit: cover;
  object-position: center;
  border-radius: 18px;
  display: block;
}
@media (min-width: 992px) {
  .nc-about-photo { height: 320px; }
}
.nc-net-tip {
  position: fixed;
  z-index: 30;
  pointer-events: none;
  max-width: 220px;
  padding: 7px 10px;
  border-radius: 10px;
  background: rgba(255, 255, 255, .94);
  border: 1px solid var(--border);
  box-shadow: var(--shadow);
  color: var(--text);
  font-size: .82rem;
  line-height: 1.35;
}
html[data-theme="dark"] .nc-net-tip { background: rgba(7, 24, 51, .94); }
.nc-music {
  position: relative;
  z-index: 5;
  display: inline-flex;
  align-items: center;
  flex: none;
  margin-left: 6px;
  gap: 0;
  padding: 3px;
  background: rgba(255, 255, 255, .78);
  border: 1px solid rgba(1, 21, 62, .12);
  border-radius: 999px;
  box-shadow: 0 6px 16px rgba(1, 21, 62, .05);
}
.nc-music button {
  width: 28px; height: 28px; border: 0; border-radius: 999px;
  background: transparent; color: var(--ink); cursor: pointer; font-size: 11px;
}
.nc-music button:hover { background: var(--accent); color: #fff; }
html[data-theme="dark"] .nc-music {
  background: rgba(7, 24, 51, .86);
  border-color: rgba(170, 206, 255, .22);
}
html[data-theme="dark"] .nc-music button { color: #e8f2fc; }
.nc-music input[type="range"] { display: none; width: 70px; margin: 0 0 0 8px; accent-color: var(--accent); }
.nc-music:hover input[type="range"],
.nc-music:focus-within input[type="range"] { display: block; }
@media (max-width: 991.98px) {
  .navbar-toggler { margin-left: auto; }
  .nc-music input[type="range"] { display: none !important; }
}

.planner-app { display: grid; grid-template-columns: 230px minmax(0, 1fr) 230px; gap: 16px; align-items: start; }
.planner-side, .planner-stage { padding: 14px; }
.planner-tools { display: flex; flex-direction: column; gap: 8px; }
.planner-tools button, .planner-actions button, .planner-turn button {
  border: 1px solid var(--border);
  background: var(--surface);
  color: var(--text);
  border-radius: 10px;
  padding: 10px 12px;
  min-height: 44px;
  text-align: left;
  font-weight: 600;
  cursor: pointer;
}
.planner-tools button.active, .planner-actions .primary {
  background: var(--accent) !important;
  color: #fff !important;
  border-color: var(--accent) !important;
}
.planner-stage { padding: 10px; overflow: auto; }
#plan-canvas {
  width: 100%; height: auto; display: block;
  background: #f7fbff; border-radius: 12px; touch-action: none;
}
html[data-theme="dark"] #plan-canvas { background: #071428; }
.planner-side label { font-size: 12px; font-weight: 700; display: block; margin: 10px 0 4px; }
.planner-side input[type="range"] { width: 100%; }
.plan-list { list-style: none; padding: 0; margin: 8px 0 0; font-size: 13px; }
.plan-list li { padding: 6px 0; border-bottom: 1px solid var(--border); display: flex; justify-content: space-between; gap: 8px; }
.plan-list button { border: 0; background: transparent; color: #c0392b; font-size: 18px; cursor: pointer; min-width: 32px; }
#plan-cover { font-weight: 700; color: var(--accent); min-height: 1.2em; }
.planner-turn { display: flex; gap: 8px; margin-top: 8px; }
.planner-turn button { flex: 1; text-align: center; }
@media (max-width: 991.98px) { .planner-app { grid-template-columns: 1fr; } }

/* One tools studio: planner, price, disk, quote. */
.nc-studio.container-xxl,
.nc-studio > .container { overflow: visible; }
.nc-studio-nav {
  position: sticky;
  top: var(--header-h);
  z-index: 30;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: center;
  width: fit-content;
  max-width: 100%;
  margin: 0 auto 28px;
  padding: 8px;
  background: var(--surface-glass);
  border: 1px solid var(--border);
  border-radius: 999px;
  box-shadow: var(--shadow);
}
.nc-studio-nav a {
  color: var(--text);
  text-decoration: none;
  font-weight: 700;
  font-size: .92rem;
  line-height: 1;
  padding: 10px 16px;
  border-radius: 999px;
  white-space: nowrap;
}
.nc-studio-nav a:hover { color: var(--accent); }
.nc-studio-nav a.active { background: var(--accent); color: #fff; }
.nc-studio-block { scroll-margin-top: 156px; margin-bottom: 56px; }
.nc-studio h2 {
  font-size: clamp(1.35rem, 2.2vw, 1.85rem);
  font-weight: 800;
  letter-spacing: -0.03em;
  color: var(--text);
}
#qiymet .calc-box { max-width: 860px; }
#teklif .form-control,
#teklif .form-select {
  background: var(--surface) !important;
  color: var(--text) !important;
  border: 1px solid var(--border) !important;
}
#teklif .form-control::placeholder { color: var(--text-muted); opacity: 1; }
img.nc-plan-preview {
  display: block;
  width: 100%;
  max-height: 280px;
  object-fit: contain;
  object-position: left center;
  background: #f7fbff;
  border: 1px solid var(--border);
  border-radius: 12px;
  margin: 0 0 14px;
}
html[data-theme="dark"] img.nc-plan-preview { background: #071428; }
@media (max-width: 575.98px) {
  .nc-studio-nav { width: 100%; border-radius: 18px; justify-content: flex-start; }
  .nc-studio-nav a { padding: 9px 12px; font-size: .84rem; }
}

img { max-width: 100%; }
.container, .container-fluid, .container-xxl { overflow-x: clip; }

/* Light page is white glass. Dark page is navy glass. Accent blue stays. */
.bg-dark {
  background-color: rgba(255, 255, 255, .72) !important;
  color: var(--ink) !important;
}
.bg-light,
.bg-white {
  background-color: rgba(255, 255, 255, .58) !important;
}
.bg-dark .text-white,
.bg-dark .text-light,
.bg-dark h1,
.bg-dark h5,
.bg-dark p,
.bg-dark span,
.bg-dark small,
.bg-dark a { color: var(--ink) !important; }
.container-fluid.py-4[style*="010E2B"] {
  background: rgba(255, 255, 255, .8) !important;
  color: var(--ink) !important;
  border-top: 1px solid rgba(1, 21, 62, .08);
}
.container-fluid.py-4[style*="010E2B"] a { color: var(--accent) !important; }
.nc-net,
.nc-term,
.nc-pal > div {
  background: rgba(255, 255, 255, .72) !important;
  color: var(--ink) !important;
  border: 1px solid rgba(1, 21, 62, .10) !important;
}
.nc-pal > div {
  backdrop-filter: blur(18px) saturate(1.35);
  -webkit-backdrop-filter: blur(18px) saturate(1.35);
}
.nc-node { fill: rgba(0, 144, 240, .14); }
.nc-lbl { fill: var(--ink); }
.nc-term { color: #0467c4 !important; }
.nc-pal { background: rgba(255, 255, 255, .4); }
.nc-pal input { background: rgba(255, 255, 255, .9) !important; color: var(--ink) !important; }
.nc-pal a { color: var(--ink) !important; }
.about-text,
.feature-text,
.contact-text,
.quote-text {
  background: rgba(255, 255, 255, .46);
}
.h-100.bg-dark.p-4 {
  background: linear-gradient(165deg, rgba(255,255,255,.88), rgba(255,255,255,.62)) !important;
}
html[data-theme="dark"] .bg-dark,
html[data-theme="dark"] .bg-light,
html[data-theme="dark"] .bg-white,
html[data-theme="dark"] .navbar,
html[data-theme="dark"] .calc-box,
html[data-theme="dark"] .nc-card,
html[data-theme="dark"] .nc-faq details {
  background-color: rgba(7, 28, 68, .72) !important;
  color: #e8f2fc !important;
}
html[data-theme="dark"] .bg-dark .text-white,
html[data-theme="dark"] .bg-dark .text-light,
html[data-theme="dark"] .bg-dark h1,
html[data-theme="dark"] .bg-dark h5,
html[data-theme="dark"] .bg-dark p,
html[data-theme="dark"] .bg-dark span,
html[data-theme="dark"] .bg-dark small,
html[data-theme="dark"] .bg-dark a { color: #e8f2fc !important; }
html[data-theme="dark"] .h-100.bg-dark.p-4 h1 { color: #33c9ff !important; }
html[data-theme="dark"] .container-fluid.py-4[style*="010E2B"] {
  background: rgba(1, 14, 43, .9) !important;
  color: #e8f2fc !important;
  border-top-color: rgba(150, 196, 255, .16);
}
html[data-theme="dark"] .nc-net,
html[data-theme="dark"] .nc-term,
html[data-theme="dark"] .nc-pal > div {
  background: rgba(1, 21, 62, .78) !important;
  color: #e8f2fc !important;
  border-color: rgba(170, 206, 255, .22) !important;
}
html[data-theme="dark"] .nc-node { fill: #02205f; }
html[data-theme="dark"] .nc-lbl { fill: #fff; }
html[data-theme="dark"] .nc-term { color: #19e6c1 !important; }
html[data-theme="dark"] .nc-pal { background: rgba(1, 14, 43, .62); }
html[data-theme="dark"] .nc-pal input { background: rgba(2, 24, 70, .85) !important; color: #fff !important; }
html[data-theme="dark"] .nc-pal a { color: #e8f2fc !important; }
html[data-theme="dark"] .about-text,
html[data-theme="dark"] .feature-text,
html[data-theme="dark"] .contact-text,
html[data-theme="dark"] .quote-text {
  background: rgba(1, 21, 62, .35);
  border-radius: var(--radius);
}

/* Clear photo, left glass panel. Circuit stays behind readable surfaces. */
@media (min-width: 992px) {
  .navbar .navbar-nav .nav-link { margin-right: 16px; }
}
.header-carousel .carousel-inner {
  background: linear-gradient(90deg, rgba(255,255,255,.16), transparent 62%) !important;
}
.header-carousel .carousel-inner .row { justify-content: flex-start !important; }
.header-carousel .carousel-inner .col-lg-8 {
  text-align: left !important;
  flex: 0 1 620px;
  max-width: 620px;
  margin-left: 4vw;
  background: rgba(255, 255, 255, .82);
  border: 1px solid rgba(255, 255, 255, .9);
  border-radius: 22px;
  padding: 26px 28px 22px;
  box-shadow: 0 18px 40px rgba(1, 21, 62, .14);
}
.header-carousel .owl-carousel-item h1 {
  font-size: clamp(1.8rem, 3.2vw, 2.65rem) !important;
  line-height: 1.12;
  margin-bottom: 12px !important;
}
.header-carousel .owl-nav .owl-prev,
.header-carousel .owl-nav .owl-next,
.header-carousel .owl-dot {
  color: #fff !important;
  border-color: #fff !important;
  background: rgba(1, 21, 62, .28);
}
.header-carousel .owl-dot::after { background: #fff !important; }
html[data-theme="dark"] .header-carousel .carousel-inner {
  background: linear-gradient(90deg, rgba(1,14,43,.28), transparent 64%) !important;
}
html[data-theme="dark"] .header-carousel .carousel-inner .col-lg-8 {
  background: rgba(1, 21, 62, .78);
  border-color: rgba(170, 206, 255, .24);
}
@media (max-width: 991.98px) {
  .header-carousel .carousel-inner .col-lg-8 { margin-left: 0; max-width: none; padding: 18px 16px; }
}

.nc-hero {
  position: relative;
  min-height: min(52vh, 480px);
  display: flex;
  align-items: center;
  overflow: hidden;
}
.nc-hero > img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.nc-hero-copy {
  position: relative;
  z-index: 1;
  max-width: 540px;
  margin: 36px 6vw 40px;
  padding: 28px 30px 24px;
  background: rgba(255, 255, 255, .84);
  backdrop-filter: blur(18px) saturate(1.25);
  -webkit-backdrop-filter: blur(18px) saturate(1.25);
  border: 1px solid rgba(255, 255, 255, .9);
  border-radius: 22px;
  box-shadow: 0 18px 40px rgba(1, 21, 62, .14);
}
.nc-hero-copy h1 {
  font-size: clamp(1.85rem, 3vw, 2.55rem);
  line-height: 1.12;
  margin-bottom: 12px;
}
.nc-hero-copy p { color: var(--text-muted); margin-bottom: 18px; font-size: 1.05rem; }
html[data-theme="dark"] .nc-hero-copy {
  background: rgba(1, 21, 62, .78);
  border-color: rgba(170, 206, 255, .24);
  color: #fff;
}
html[data-theme="dark"] .nc-hero-copy p { color: #d5e4f5; }
.nc-node-ico {
  fill: none;
  stroke: var(--accent);
  stroke-width: 2.1;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.nc-quote-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 18px 22px;
  border-radius: 18px;
  border: 1px solid var(--border);
  background: var(--surface-glass);
  box-shadow: var(--shadow);
}
.nc-quote-bar p { margin: 0; font-size: 1.05rem; }
.nc-contact {
  max-width: 640px;
  margin: 0 auto;
  padding: 22px 22px 18px;
  border-radius: 18px;
  border: 1px solid var(--border);
  background: var(--surface-glass);
  box-shadow: var(--shadow);
}
.nc-contact p { margin: 0 0 14px; }
.nc-contact .btn { width: auto; }
.nc-facts .nc-fact { padding: 1.15rem !important; }
@media (max-width: 767.98px) {
  .nc-hero { min-height: 420px; }
  .nc-hero-copy { margin: 28px 16px 72px; padding: 18px 16px; }
  .nc-quote-bar { flex-direction: column; align-items: flex-start; }
}

.service-item, .team-item, .nc-card, .testimonial-item, .calc-box, .nc-faq details,
.planner-side, .planner-stage, .portfolio-inner {
  background:
    linear-gradient(180deg, rgba(255,255,255,.5), transparent 36%),
    rgba(255, 255, 255, .94) !important;
}
html[data-theme="dark"] .service-item,
html[data-theme="dark"] .team-item,
html[data-theme="dark"] .nc-card,
html[data-theme="dark"] .testimonial-item,
html[data-theme="dark"] .calc-box,
html[data-theme="dark"] .nc-faq details,
html[data-theme="dark"] .planner-side,
html[data-theme="dark"] .planner-stage,
html[data-theme="dark"] .portfolio-inner {
  background:
    linear-gradient(180deg, rgba(140,190,255,.12), transparent 38%),
    rgba(6, 24, 58, .94) !important;
}

.nc-packs { align-items: stretch; }
.nc-packs > [class*="col-"] { display: flex; }
.nc-packs .nc-card {
  display: flex;
  flex-direction: column;
  width: 100%;
  height: 100%;
}
.nc-packs .nc-card > .btn { margin-top: auto; align-self: flex-start; }
.nc-pack-note {
  position: relative;
  z-index: 1;
  clear: both;
  margin: 22px 0 0;
  text-align: center;
  color: var(--text-muted);
}
@media (min-width: 992px) {
  .nc-packs {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
    margin: 0 !important;
  }
  .nc-packs > [class*="col-"] {
    width: auto !important;
    max-width: none !important;
    padding: 0 !important;
    margin: 0 !important;
  }
}

.nc-trust {
  position: relative;
  z-index: 2;
  margin: -36px auto 8px;
  width: min(1100px, calc(100% - 32px));
  background: rgba(255, 255, 255, .82);
  border: 1px solid rgba(255, 255, 255, .9);
  border-radius: 999px;
  box-shadow: 0 10px 28px rgba(1, 21, 62, .08);
}
.nc-trust ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 8px 26px;
  list-style: none;
  margin: 0;
  padding: 12px 22px;
}
.nc-trust li {
  display: flex;
  align-items: center;
  gap: 8px;
  font-weight: 700;
  font-size: .92rem;
  color: var(--text);
}
.nc-trust li::before {
  content: "";
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--accent);
  flex: none;
}
html[data-theme="dark"] .nc-trust {
  background: rgba(1, 21, 62, .82);
  border-color: rgba(170, 206, 255, .22);
}
@media (max-width: 767.98px) {
  .nc-trust { border-radius: 18px; margin-top: -18px; }
  .nc-trust ul { gap: 8px 16px; padding: 12px 14px; }
  .nc-trust li { font-size: .84rem; }
}

/* Phone frame: live camera, homepage only. */
.nc-phone {
  width: 230px;
  height: 460px;
  margin-left: auto;
  margin-right: 6%;
  padding: 10px;
  border-radius: 34px;
  background: linear-gradient(165deg, #2a3344, #0c1118 42%, #070b10);
  box-shadow: 0 22px 46px rgba(1, 21, 62, .22), inset 0 0 0 1px rgba(255, 255, 255, .14);
  position: relative;
}
.nc-phone.nc-aside {
  width: 168px;
  height: 336px;
  margin: 22px 0 0;
}
.nc-pair {
  display: flex;
  align-items: center;
  gap: 0;
}
.nc-pair .nc-net { flex: 1 1 auto; min-width: 0; margin: 0; position: relative; z-index: 1; }
.nc-phone-shot {
  width: 118px;
  height: auto;
  flex: none;
  margin: 0 0 0 -28px;
  position: relative;
  z-index: 2;
  filter: drop-shadow(0 16px 28px rgba(1, 21, 62, .2));
  pointer-events: none;
}
@media (max-width: 991.98px) {
  .nc-pair { flex-direction: column; }
  .nc-phone-shot { width: 128px; margin: 16px auto 0; }
}
.portfolio-inner > .text-center h5 {
  font-size: .98rem;
  line-height: 1.35;
  margin: 0;
}
.portfolio-inner > .text-center.p-4 { padding: 12px 14px !important; }
@media (min-width: 992px) {
  .nc-faq { column-count: 2; column-gap: 14px; }
  .nc-faq details { break-inside: avoid; }
}
.nc-pair .nc-phone-hud {
  flex-direction: column;
  align-items: flex-start;
  gap: 2px;
  top: 26px;
  left: 8px;
  right: 8px;
}
.nc-pair .nc-phone-hud span:last-child { font-size: 9px; line-height: 1.15; }
.nc-pair .nc-phone-time { font-size: 10px; left: 8px; bottom: 8px; }
@media (max-width: 991.98px) {
  .nc-pair { flex-direction: column; }
  .nc-pair .nc-phone.nc-aside { width: 160px; height: 320px; margin: 12px 0 0; }
}

.nc-facts > [class*="col-"] { display: flex; }
.nc-fact {
  display: flex;
  flex-direction: column;
  width: 100%;
  text-decoration: none;
  color: inherit;
  overflow: hidden;
}
.nc-fact-top { display: flex; align-items: center; justify-content: space-between; margin-bottom: 18px; }
.nc-fact .btn-square {
  width: 64px;
  height: 64px;
  background: rgba(0, 144, 240, .10) !important;
  transition: transform .35s ease, background .35s ease;
}
.nc-fact img { transition: transform .35s ease; }
.nc-fact-no {
  font-size: 2.5rem;
  font-weight: 800;
  line-height: 1;
  letter-spacing: -.04em;
  color: rgba(0, 144, 240, .28);
  transition: color .3s ease, transform .3s ease;
}
.nc-fact-more {
  margin-top: auto;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  max-width: 38px;
  overflow: hidden;
  white-space: nowrap;
  font-weight: 700;
  color: var(--accent);
  transition: max-width .4s ease;
}
.nc-fact-more::before {
  content: "→";
  width: 38px;
  height: 38px;
  flex: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: var(--accent);
  color: #fff;
}
.nc-fact:hover { color: inherit; }
.nc-fact:hover .nc-fact-more { max-width: 150px; }
.nc-fact:hover .btn-square { transform: translateY(-4px); background: rgba(0, 144, 240, .18) !important; }
.nc-fact:hover .nc-fact-no { color: var(--accent); transform: translateX(-4px); }
html[data-theme="dark"] .nc-fact-no { color: rgba(51, 201, 255, .35); }
html[data-theme="dark"] .nc-fact:hover .nc-fact-no { color: #33c9ff; }
.nc-phone.nc-aside .nc-phone-hud { top: 26px; font-size: 10px; }
.nc-phone.nc-aside .nc-phone-time { font-size: 11px; }
.nc-phone-screen {
  position: relative;
  height: 100%;
  border-radius: 26px;
  overflow: hidden;
  background: #000;
}
.nc-phone-screen img { width: 100%; height: 100%; object-fit: cover; display: block; }
.nc-phone-screen::before {
  content: "";
  position: absolute;
  top: 8px; left: 50%;
  transform: translateX(-50%);
  width: 86px; height: 16px;
  background: #0c1118;
  border-radius: 0 0 12px 12px;
  z-index: 2;
}
.nc-phone-screen::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(0, 0, 0, .28), transparent 26%, transparent 72%, rgba(0, 0, 0, .4));
  pointer-events: none;
}
.nc-phone-hud {
  position: absolute;
  z-index: 2;
  top: 32px; left: 12px; right: 12px;
  display: flex;
  justify-content: space-between;
  gap: 8px;
  color: #fff;
  font-size: 11px;
  letter-spacing: .04em;
  text-shadow: 0 1px 3px rgba(0, 0, 0, .7);
}
.nc-rec::before {
  content: "";
  display: inline-block;
  width: 7px; height: 7px;
  margin-right: 6px;
  border-radius: 50%;
  background: #ff3b30;
  box-shadow: 0 0 0 0 rgba(255, 59, 48, .65);
  animation: nc-rec 1.6s infinite;
}
@keyframes nc-rec {
  70% { box-shadow: 0 0 0 6px rgba(255, 59, 48, 0); }
}
.nc-phone-time {
  position: absolute;
  z-index: 2;
  left: 12px; bottom: 14px;
  color: #fff;
  font-size: 13px;
  letter-spacing: .06em;
  font-variant-numeric: tabular-nums;
  text-shadow: 0 1px 3px #000;
}
@media (max-width: 991.98px) {
  .nc-phone { margin: 8px auto 0; }
}
@media (prefers-reduced-motion: reduce) {
  .nc-rec::before { animation: none; }
}

.text-primary { color: var(--accent-deep) !important; }
html[data-theme="dark"] .text-primary { color: #8ec8ff !important; }
.nc-nav-phone {
  display: none;
  align-items: center;
  margin-left: 14px;
  color: var(--text) !important;
  font-weight: 700;
  font-size: .92rem;
  text-decoration: none;
  white-space: nowrap;
}
@media (min-width: 992px) { .nc-nav-phone { display: inline-flex; } }
.nc-call {
  display: none;
  position: fixed;
  left: 16px;
  bottom: 16px;
  z-index: 1036;
  align-items: center;
  gap: 8px;
  height: 48px;
  padding: 0 14px 0 12px;
  border-radius: 999px;
  background: #0a5f9e;
  color: #fff !important;
  font-weight: 700;
  text-decoration: none;
  box-shadow: 0 8px 20px rgba(1, 21, 62, .22);
}
@media (max-width: 991.98px) { .nc-call { display: inline-flex; } }
.nc-lang-offer {
  position: fixed;
  z-index: 1040;
  top: 0;
  left: 0;
  right: 0;
  transform: none;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  width: 100%;
  max-width: none;
  padding: 8px 16px;
  border-radius: 0;
  background: rgba(255, 255, 255, .96);
  border: 0;
  border-bottom: 1px solid var(--border);
  box-shadow: none;
  color: var(--text);
  font-size: .88rem;
}
.nc-lang-offer button {
  border: 0;
  border-radius: 999px;
  background: #0a5f9e;
  color: #fff;
  font-weight: 700;
  padding: 6px 12px;
  cursor: pointer;
}
.nc-lang-offer .nc-lang-x { background: transparent; color: var(--text); padding: 4px 8px; }
html[data-theme="dark"] .nc-lang-offer { background: rgba(7, 24, 51, .94); }
.nc-brands { padding: 8px 0 28px; }
.nc-brands p {
  margin: 0 0 12px;
  text-align: center;
  color: var(--text-muted);
  font-size: .82rem;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.nc-brands ul {
  display: flex;
  flex-wrap: nowrap;
  justify-content: flex-start;
  gap: 64px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.nc-brands li {
  color: var(--text);
  font-weight: 800;
  letter-spacing: -.03em;
  font-size: 1.15rem;
  opacity: .72;
}
.nc-toolshot {
  width: 100%;
  height: auto;
  border-radius: 18px;
  border: 1px solid var(--border);
  box-shadow: var(--shadow);
}
.nc-toollink {
  display: flex;
  flex-direction: column;
  gap: 2px;
  margin-bottom: 12px;
  padding: 12px 14px;
  border-radius: 14px;
  border: 1px solid var(--border);
  background: var(--surface-glass);
  color: inherit;
  text-decoration: none;
}
.nc-toollink span { color: var(--text-muted); font-size: .9rem; }
.nc-toollink:hover { border-color: var(--accent); }

.nc-hero > img { animation: nc-ken 26s ease-in-out infinite alternate; transform-origin: center center; }
@keyframes nc-ken { from { transform: scale(1); } to { transform: scale(1.08); } }
.nc-eyebrow + h2 {
  font-size: clamp(2rem, 3.4vw, 3rem);
  font-weight: 800;
  line-height: 1.12;
  margin: 0 0 .45rem;
  background: linear-gradient(100deg, var(--ink) 10%, var(--accent) 62%, var(--accent-2));
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}
.nc-eyebrow {
  display: inline-flex;
  margin: 0 0 .55rem;
  padding: 3px 10px;
  border-radius: 999px;
  background: rgba(25, 198, 184, .14);
  color: var(--accent-deep);
  font-size: .68rem;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.nc-lead, .about-text > div > p, .nc-hero-copy p {
  max-width: 65ch;
}
.text-center .nc-lead { margin-left: auto; margin-right: auto; }
.nc-price {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 6px;
  line-height: 1.15;
  font-family: "JetBrains Mono", ui-monospace, monospace;
  color: var(--accent-deep);
}
.nc-price b { display: block; font-size: 2rem; font-weight: 700; line-height: 1.05; letter-spacing: -0.04em; }
.nc-price small {
  display: block;
  font-family: Manrope, sans-serif;
  font-size: .78rem;
  font-weight: 600;
  letter-spacing: 0;
  line-height: 1.3;
  color: var(--text-muted);
}
.nc-term, .nc-fact-no, h2[data-toggle="counter-up"] { font-family: "JetBrains Mono", ui-monospace, monospace; }
.nc-pal input { font-family: Manrope, sans-serif !important; }
.btn-primary {
  background: linear-gradient(135deg, var(--accent), #12b7c9) !important;
  border-color: transparent !important;
}
.nc-live { color: var(--accent-2) !important; }
.nc-pick {
  background: linear-gradient(135deg, var(--accent), var(--accent-2)) !important;
  color: #fff !important;
}
@media (min-width: 992px) {
  .nc-packs .nc-card.hot {
    transform: translateY(-12px);
    border: 2px solid var(--accent) !important;
  }
}
html[data-theme="dark"] .service-item,
html[data-theme="dark"] .team-item,
html[data-theme="dark"] .nc-card,
html[data-theme="dark"] .testimonial-item,
html[data-theme="dark"] .nc-faq details,
html[data-theme="dark"] .nc-why-card {
  box-shadow: none !important;
  border-color: rgba(170, 214, 255, .28) !important;
}
.nc-avatar {
  width: 128px;
  height: 128px;
  margin: 22px auto 0;
  border-radius: 50%;
  overflow: hidden;
}
.team-item .nc-avatar img {
  width: 128px;
  height: 128px;
  object-fit: cover;
  object-position: center center;
  display: block;
  border-radius: 50%;
}
.nc-marquee {
  display: flex;
  overflow: hidden;
  width: 100%;
  mask-image: linear-gradient(90deg, transparent, #000 12%, #000 88%, transparent);
}
.nc-marquee ul {
  flex: none;
  min-width: 100%;
  display: flex;
  justify-content: space-around !important;
  gap: 64px;
  width: max-content;
  margin: 0;
  padding: 8px 32px;
  list-style: none;
  animation: nc-slide 22s linear infinite;
  flex-wrap: nowrap;
}
.nc-marquee li { font-weight: 800; letter-spacing: 0; font-size: 1.2rem; opacity: .78; white-space: nowrap; }
@keyframes nc-slide { from { transform: translateX(0); } to { transform: translateX(-100%); } }
.nc-net .nc-pkt { fill: #19e6c1; stroke: #fff; stroke-width: 1; }
.wow { visibility: visible !important; animation: none !important; }
html.nc-motion .wow { opacity: 0; transform: translateY(16px); transition: opacity .55s ease, transform .55s ease; }
html.nc-motion .wow.nc-in { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) {
  .nc-hero > img, .nc-marquee ul, .nc-wire, .nc-pkt { animation: none !important; }
  .wow { opacity: 1 !important; transform: none !important; }
}

.container-xxl.py-5,
.contact-text.py-5 { padding-top: 1.15rem !important; padding-bottom: 1.15rem !important; }
.contact-text .p-lg-5 { padding: 1.1rem 0 !important; }
.nc-brands { padding-top: 4px; padding-bottom: 8px; }
.container-xxl:has(.portfolio-container) + .nc-foot { margin-top: 12px; }
.nc-foot {
  position: relative;
  z-index: 1;
  margin-top: 12px;
  padding: 18px 20px 14px;
  background: rgba(255, 255, 255, .86);
  border-top: 1px solid rgba(1, 21, 62, .08);
  color: var(--ink);
}
html[data-theme="dark"] .nc-foot {
  background: rgba(1, 14, 43, .9);
  border-top-color: rgba(150, 196, 255, .16);
  color: #e8f2fc;
}
.nc-foot-row {
  max-width: 1140px;
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px 22px;
}
.nc-foot-brand {
  font-weight: 800;
  letter-spacing: -.02em;
  color: inherit;
  text-decoration: none;
}
.nc-foot-links, .nc-foot-meta { display: flex; flex-wrap: wrap; gap: 8px 16px; }
.nc-foot a { color: inherit; text-decoration: none; }
.nc-foot a:hover { color: var(--accent); }
.nc-foot-meta { margin-left: auto; color: var(--text-muted); font-size: .9rem; }
.nc-foot-copy {
  max-width: 1140px;
  margin: 8px auto 0;
  font-size: .78rem;
  color: var(--text-muted);
}
@media (max-width: 767.98px) {
  .nc-foot-meta { margin-left: 0; }
}

/* ---- Round 25: HUD, trust figures, rhythm, overlays ---- */
h2:not([data-toggle="counter-up"]) {
  font-size: clamp(2rem, 3.4vw, 3rem);
  font-weight: 800;
  line-height: 1.12;
}
.text-center h2:not([data-toggle="counter-up"]),
.nc-eyebrow + h2 {
  background: linear-gradient(100deg, var(--ink) 8%, var(--accent) 58%, var(--accent-2));
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}
html[data-theme="dark"] .text-center h2:not([data-toggle="counter-up"]),
html[data-theme="dark"] .nc-eyebrow + h2 {
  background: linear-gradient(100deg, #fff 8%, #8fd4ff 55%, var(--accent-2));
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent !important;
}
.nc-hud {
  position: absolute;
  z-index: 2;
  top: 18px;
  left: 18px;
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 6px 10px;
  border-radius: 999px;
  background: rgba(1, 21, 62, .55);
  color: #fff;
  font-family: "JetBrains Mono", ui-monospace, monospace;
  font-size: 12px;
  letter-spacing: .08em;
}
.nc-hud .nc-phone-time { position: static; left: auto; bottom: auto; font-size: 12px; text-shadow: none; }
.nc-hud .nc-rec { display: inline-flex; align-items: center; }
.service-item { position: relative; overflow: hidden; }
.service-item::before {
  content: "";
  position: absolute;
  left: 0; right: 0; top: 0;
  height: 3px;
  background: linear-gradient(90deg, var(--accent), var(--accent-2));
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform .35s ease;
}
.service-item:hover::before { transform: scaleX(1); }
.service-item:hover { transform: none; }
.nc-stripe {
  position: relative;
  background:
    repeating-linear-gradient(-45deg, rgba(0, 144, 240, .045) 0 10px, transparent 10px 20px);
}
.nc-stripe::before {
  content: "";
  position: absolute;
  left: 0; right: 0; top: 0;
  height: 1px;
  background: linear-gradient(90deg, transparent, var(--accent), var(--accent-2), transparent);
}
.nc-trust ul { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; padding: 14px 18px; }
.nc-trust li { flex-direction: column; align-items: center; gap: 2px; text-align: center; }
.nc-trust li::before { display: none; }
.nc-trust b {
  font-family: "JetBrains Mono", ui-monospace, monospace;
  font-size: clamp(1.35rem, 2vw, 1.8rem);
  font-weight: 700;
  letter-spacing: -0.04em;
  color: var(--accent);
  line-height: 1;
}
.nc-trust span { font-size: .78rem; font-weight: 600; color: var(--text-muted); }
html[data-theme="dark"] .nc-trust { background: rgba(7, 24, 51, .92); }
@media (max-width: 767.98px) {
  .nc-trust ul { grid-template-columns: repeat(2, 1fr); }
}
.portfolio-inner > .text-center:not(.portfolio-text) {
  position: absolute !important;
  left: 0; right: 0; bottom: 0;
  z-index: 2;
  margin: 0;
  padding: 42px 14px 12px !important;
  background: linear-gradient(transparent, rgba(1, 21, 62, .88));
  text-align: left !important;
}
.portfolio-inner > .text-center:not(.portfolio-text) h5 { color: #fff !important; margin: 0; }
.nc-more {
  display: inline-block;
  margin-top: 4px;
  color: var(--accent-2);
  font-weight: 700;
  font-size: .86rem;
  text-decoration: none;
  opacity: 0;
  transform: translateY(6px);
  transition: opacity .25s ease, transform .25s ease;
}
.portfolio-inner:hover .nc-more { opacity: 1; transform: none; }
.nc-packs .nc-card.hot {
  background:
    linear-gradient(180deg, rgba(25, 198, 184, .18), rgba(0, 144, 240, .06) 42%, rgba(255, 255, 255, .92)) !important;
  box-shadow: 0 0 0 1px rgba(25, 198, 184, .55), 0 18px 42px rgba(0, 144, 240, .28) !important;
  border-color: var(--accent-2) !important;
}
html[data-theme="dark"] .nc-packs .nc-card.hot {
  background: linear-gradient(180deg, rgba(25, 198, 184, .22), rgba(7, 28, 68, .92)) !important;
}
.nc-packs .nc-card:not(.hot) > .btn {
  background: transparent !important;
  color: var(--accent) !important;
  border: 1px solid var(--accent) !important;
  box-shadow: none !important;
}
.team-item .nc-avatar {
  background:
    radial-gradient(circle at 50% 30%, rgba(0, 144, 240, .35), rgba(1, 21, 62, .9));
}
.team-item .nc-avatar img { object-position: center 22%; background: rgba(1, 21, 62, .35); }
.whatsapp-float, .nc-call { display: none !important; }
.nc-dock {
  position: fixed;
  z-index: 1040;
  right: 16px;
  bottom: 16px;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 8px;
}
.nc-dock-menu { display: none; flex-direction: column; gap: 8px; }
.nc-dock.open .nc-dock-menu { display: flex; }
.nc-dock-btn, .nc-dock-menu a {
  width: 52px; height: 52px;
  border-radius: 50%;
  display: grid; place-items: center;
  color: #fff; border: 0; text-decoration: none;
  box-shadow: 0 8px 20px rgba(1, 21, 62, .22);
}
.nc-dock-btn { background: linear-gradient(135deg, var(--accent), var(--accent-2)); cursor: pointer; }
.nc-dock-menu a:first-child { background: #25D366; }
.nc-dock-menu a:last-child { background: #0a5f9e; }
.back-to-top { right: 22px !important; bottom: 78px !important; }
.nc-lang { position: relative; }
.nc-lang-menu {
  position: absolute;
  top: calc(100% + 8px);
  right: 0;
  display: flex;
  flex-direction: column;
  min-width: 72px;
  padding: 4px;
  border-radius: 12px;
  background: #fff;
  border: 1px solid var(--border);
  box-shadow: var(--shadow);
  z-index: 20;
}
.nc-lang-menu[hidden] { display: none; }
html[data-theme="dark"] .nc-lang-menu { background: #071833; }
.nc-tools #nc-lang { display: grid; place-items: center; width: 32px; height: 28px; padding: 0; }
.nc-i { display: block; }
.nc-warn { color: var(--accent); margin-bottom: 8px; }

/* ---- Round 26: dark mode, hero, rhythm, accordion ---- */
.header-carousel { display: none; }

/* ---- Live wall and story. Colors stay on the existing palette. ---- */
@view-transition { navigation: auto; }
::view-transition-old(root),
::view-transition-new(root) { animation-duration: .28s; }
.nc-price, .nc-price b, .nc-trust b, .nc-fact-no, .nc-cam-id, .nc-phone-time, .nc-term, .nc-boot pre {
  font-family: "JetBrains Mono", ui-monospace, monospace;
}
.nc-hero {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(260px, .95fr);
  gap: 28px;
  align-items: center;
  min-height: 0;
  padding: 36px 6vw 40px;
  background: #fff;
  overflow: hidden;
}
html[data-theme="dark"] .nc-hero { background: #010e2b; }
.nc-hero::after, .nc-hero > img { display: none !important; }
.nc-hero-copy {
  margin: 0;
  padding: 0;
  max-width: 38rem;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  color: inherit;
}
.nc-hero h1, .nc-hero p {
  background: none !important;
  -webkit-text-fill-color: currentColor !important;
}
.nc-hero h1 { font-size: clamp(2rem, 4vw, 3.4rem); max-width: 14ch; color: var(--ink); }
.nc-hero p { max-width: 36ch; color: var(--text-muted); }
html[data-theme="dark"] .nc-hero h1 { color: #f4f8ff; }
html[data-theme="dark"] .nc-hero p { color: #c9d7ea; }
.nc-wall { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.nc-cam { position: relative; aspect-ratio: 4/3; overflow: hidden; border-radius: 12px; background: #021018; }
.nc-cam img, .nc-cam video { width: 100%; height: 100%; object-fit: cover; display: block; }
.nc-cam .nc-rec, .nc-cam .nc-cam-id, .nc-cam .nc-phone-time, .nc-cam .nc-motion {
  position: absolute; z-index: 1; color: #fff; font-size: 11px; letter-spacing: .06em;
  text-shadow: 0 1px 2px #000; -webkit-text-fill-color: #fff;
}
.nc-cam .nc-rec { top: 8px; left: 8px; }
.nc-cam .nc-cam-id { top: 8px; right: 8px; }
.nc-cam .nc-phone-time { left: 8px; bottom: 8px; }
.nc-cam .nc-motion {
  right: 8px; bottom: 8px; color: #fff; border: 1px solid rgba(255,255,255,.8); padding: 1px 5px; text-shadow: none;
}
.nc-story {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  column-gap: 36px;
  align-items: start;
  padding-top: 96px;
  padding-bottom: 48px;
}
.nc-story-copy { display: contents; }
.nc-story .nc-eyebrow,
.nc-story h2,
.nc-story .nc-lead { grid-column: 1 / -1; }
.nc-story-copy ol { grid-column: 1; grid-row: 4; list-style: none; margin: 0; padding: 0; }
.nc-story-step { display: flex; gap: 12px; padding: 12px 0; border-top: 1px solid var(--border); opacity: .45; cursor: pointer; }
.nc-story-step.is-on { opacity: 1; }
.nc-story-step span { font-family: "JetBrains Mono", monospace; font-size: 1.1rem; color: var(--accent-deep); }
.nc-story-step h3 { margin: 0 0 4px; font-size: 1.25rem; }
.nc-story-step p { margin: 0; }
.nc-story-rail { grid-column: 2; grid-row: 4; position: relative; align-self: stretch; min-height: 220px; height: auto; }
.nc-story-frame {
  position: absolute; inset: 0; margin: 0; min-height: 0;
  border-radius: 18px; overflow: hidden; opacity: 0;
  transition: opacity .45s ease;
}
.nc-story-frame.is-on { opacity: 1; }
.nc-story-frame img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.nc-story-frame figcaption {
  position: absolute; left: 14px; bottom: 14px; z-index: 1;
  font-family: "JetBrains Mono", monospace; color: #fff; font-size: .85rem;
}
html.nc-motion h2.nc-scanned { position: relative; }
html.nc-motion h2.nc-scanned::after {
  content: "";
  position: absolute;
  left: 0; top: calc(100% + 4px);
  width: 100%; height: 2px;
  background: linear-gradient(90deg, transparent, var(--accent), transparent);
  transform-origin: left center;
  animation: nc-scan .9s ease both;
}
@keyframes nc-scan { from { transform: scaleX(0); } to { transform: scaleX(1); } }
.nc-boot {
  position: fixed; inset: 0; z-index: 4000;
  display: grid; place-items: center;
  background: #010e2b; color: #d7fff6;
}
.nc-boot pre { margin: 0; font-size: clamp(1rem, 2vw, 1.25rem); line-height: 1.7; min-height: 3.4em; }
@keyframes nc-caret { 50% { opacity: 0; } }
.nc-boot pre::after { content: "▌"; animation: nc-caret 1s steps(1) infinite; }
.nc-boot button {
  position: absolute; top: 16px; right: 16px;
  border: 1px solid rgba(255,255,255,.35); background: transparent; color: #fff;
  border-radius: 999px; padding: 6px 14px; cursor: pointer;
}
.nc-boot.out { opacity: 0; pointer-events: none; transition: opacity .28s ease; }
.nc-lost {
  min-height: 68vh; display: grid; place-items: center; text-align: center;
  background: var(--bg); color: var(--text); padding: 48px 16px;
}
html[data-theme="dark"] .nc-lost { background: #010e2b; }
.nc-lost h1 {
  color: var(--ink) !important; -webkit-text-fill-color: currentColor !important; background: none !important;
  font-size: clamp(1.5rem, 4vw, 2.7rem); max-width: 18ch; margin: 12px auto;
}
html[data-theme="dark"] .nc-lost h1,
html[data-theme="dark"] .nc-lost p { color: #f4f8ff !important; }
.nc-cursor-glow {
  position: fixed; left: 0; top: 0; z-index: 20;
  width: 280px; height: 280px; margin: -140px 0 0 -140px;
  border-radius: 50%; pointer-events: none;
  background: radial-gradient(circle, rgba(0, 144, 240, .16), transparent 68%);
}
html[data-theme="dark"] .nc-cursor-glow {
  background: radial-gradient(circle, rgba(120, 190, 255, .18), transparent 68%);
}
.nc-dock-menu { display: none !important; align-items: flex-end; }
.nc-dock.open .nc-dock-menu { display: flex !important; }
.nc-dock-menu a, .nc-dock-top, .nc-dock-music button { background: var(--ink) !important; color: #fff !important; -webkit-text-fill-color: #fff !important; }
.nc-dock-music { display: flex; align-items: center; }
.nc-dock-music input { display: none !important; }
@media (max-width: 991.98px) {
  .nc-hero { grid-template-columns: 1fr; padding: 20px 16px 28px; align-items: start; }
  .nc-hero-copy { margin: 0 !important; padding: 0 !important; }
  .nc-story { display: block; padding-top: 64px; }
  .nc-story-copy { display: block; }
  .nc-story-copy ol { margin-top: 12px; }
  .nc-story-rail { height: 260px; margin-top: 16px; }
  .nc-cursor-glow { display: none; }
}
@media (prefers-reduced-motion: reduce) {
  .nc-boot { display: none; }
  .nc-story-frame { transition: none; }
  .btn-primary { transform: none !important; }
}

.nc-skip {
  position: absolute;
  left: 12px;
  top: -48px;
  z-index: 2000;
  padding: 8px 12px;
  border-radius: 8px;
  background: var(--ink);
  color: #fff;
  text-decoration: none;
}
.nc-skip:focus { top: 8px; }
h2:not([data-toggle="counter-up"]) { font-size: 2.25rem; }
h3 { font-size: 1.75rem; }
h4, .nc-card h4, .service-item h4 { font-size: 1.25rem; }
.text-primary, .nc-price, .nc-eyebrow, a.nc-more { color: var(--accent-deep); }
html[data-theme="dark"] .text-primary,
html[data-theme="dark"] .nc-price,
html[data-theme="dark"] .nc-price b { color: #9ad7ff; }
html[data-theme="dark"] .nc-eyebrow {
  color: #d8fff8;
  background: rgba(25, 198, 184, .2);
}
html[data-theme="dark"] .nc-stripe {
  background: repeating-linear-gradient(-45deg, rgba(0, 144, 240, .1) 0 10px, transparent 10px 20px);
}
html[data-theme="dark"] .nc-trust b { color: #9ad7ff; }
html[data-theme="dark"] .nc-trust span,
html[data-theme="dark"] .nc-card li,
html[data-theme="dark"] .service-item p { color: var(--text-muted); }
html[data-theme="dark"] h1,
html[data-theme="dark"] h3,
html[data-theme="dark"] h4,
html[data-theme="dark"] h5 { color: var(--text); }
html[data-theme="dark"] .text-center h2,
html[data-theme="dark"] .nc-eyebrow + h2 {
  background: linear-gradient(100deg, #fff 8%, #8fd4ff 55%, var(--accent-2));
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}
.nc-hero { min-height: 420px; }
.nc-hero::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(1, 21, 62, .78) 0%, rgba(1, 21, 62, .42) 42%, rgba(1, 21, 62, .05) 100%);
  pointer-events: none;
}
html[data-theme="dark"] .nc-hero::after {
  background: linear-gradient(90deg, rgba(1, 6, 20, .9) 0%, rgba(1, 8, 24, .62) 48%, rgba(1, 8, 24, .2) 100%);
}
.nc-hero-copy h1 { font-size: clamp(2rem, 5vw, 3.75rem); max-width: 16ch; }
.nc-hero-copy { max-width: 36rem; }
.nc-hero-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.nc-band,
.container-xxl.py-5 { padding-top: 96px; padding-bottom: 96px; }
.service-item:hover,
.team-item:hover,
.nc-card:hover,
.nc-why-card:hover,
.portfolio-inner:hover {
  transform: translateY(-4px);
  border-color: var(--accent-2);
  box-shadow: 0 0 0 1px rgba(0, 144, 240, .5), 0 18px 36px rgba(0, 144, 240, .22);
}
.nc-faq { column-count: 1; max-width: 760px; margin: 0 auto; }
.nc-faq details {
  border: 1px solid var(--border);
  border-radius: 14px;
  margin: 0 0 10px;
  background: var(--surface);
  overflow: hidden;
}
.nc-faq summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  min-height: 52px;
  padding: 12px 16px;
  cursor: pointer;
  font-weight: 700;
  list-style: none;
}
.nc-faq summary::-webkit-details-marker { display: none; }
.nc-faq summary::after {
  content: "+";
  flex: none;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: rgba(0, 114, 198, .1);
  color: var(--accent-deep);
  font-size: 1.2rem;
  line-height: 1;
}
.nc-faq details[open] summary::after { content: "−"; background: var(--accent); color: #fff; }
.nc-faq details p { margin: 0; padding: 0 16px 14px; color: var(--text-muted); }
html[data-theme="dark"] .nc-faq details { background: rgba(7, 28, 68, .72); }
.nc-nav-cta { white-space: nowrap; align-self: center; margin-left: 8px; }
.navbar-nav .nav-link { white-space: nowrap; }
.navbar-nav { flex-wrap: nowrap; }
.form-control.is-invalid { border-color: #c0392b; }
.form-control.is-valid { border-color: var(--accent-2); }
.nc-form-note { margin-top: 10px; font-weight: 700; }
.nc-form-note.ok { color: #0d8a78; }
.nc-form-note.bad { color: #c0392b; }
.whatsapp-float, .nc-call, .back-to-top, nav .nc-music { display: none !important; }
.nc-dock-btn { background: #25D366; }
.nc-dock-top, .nc-dock-music button {
  width: 44px; height: 44px; border: 0; border-radius: 50%;
  display: grid; place-items: center; color: #fff; cursor: pointer;
  background: var(--ink);
}
.nc-dock-music { display: flex; align-items: center; gap: 6px; }
.nc-dock-music input { width: 72px; accent-color: var(--accent-2); }
@media (max-width: 991.98px) {
  .navbar.sticky-top {
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
  }
  .navbar-toggler {
    width: 44px;
    height: 44px;
    margin-left: auto;
    padding: 0;
    border: 0 !important;
    border-radius: 12px;
    background: transparent !important;
    box-shadow: none !important;
  }
  .navbar-toggler:focus { box-shadow: none !important; }
  .nc-burger {
    width: 22px;
    height: 14px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
  }
  .nc-burger i {
    display: block;
    height: 2px;
    border-radius: 2px;
    background: var(--ink);
    transform-origin: center;
    transition: transform .2s ease, opacity .2s ease;
  }
  .navbar-toggler[aria-expanded="true"] .nc-burger i:nth-child(1) { transform: translateY(6px) rotate(45deg); }
  .navbar-toggler[aria-expanded="true"] .nc-burger i:nth-child(2) { opacity: 0; }
  .navbar-toggler[aria-expanded="true"] .nc-burger i:nth-child(3) { transform: translateY(-6px) rotate(-45deg); }
  .navbar-collapse,
  .navbar-collapse.collapsing,
  .navbar-collapse.show {
    display: block !important;
    height: auto !important;
    position: fixed;
    top: var(--header-h);
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 1050;
    margin: 0;
    padding: 12px 22px 36px;
    overflow: auto;
    background: var(--bg);
    border-top: 1px solid var(--border);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: none;
    transition: opacity .18s ease, visibility .18s;
  }
  .navbar-collapse.show {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
  }
  body.nc-nav-open { overflow: hidden; }
  body.nc-nav-open .nc-dock { opacity: 0; pointer-events: none; }
  .navbar-nav .nav-link, .nc-tools button, .nc-nav-cta {
    min-height: 48px;
    display: flex;
    align-items: center;
    font-size: 1.15rem;
  }
  .navbar-nav { flex-direction: column; align-items: stretch; flex-wrap: nowrap; }
  .navbar .navbar-nav .nav-link { padding: 8px 0; margin: 0; }
  .nc-nav-cta { margin: 18px 0 0; align-self: flex-start; }
  .nc-tools { margin-top: 18px; }
  .nc-band, .container-xxl.py-5 { padding-top: 64px; padding-bottom: 64px; }
  .nc-hero { min-height: 0; align-items: start; }
  .nc-hero-copy { margin: 0; max-width: none; width: auto; padding: 0; }
  .nc-hero-copy h1 { font-size: clamp(2rem, 8vw, 2.6rem); }
  .nc-hud { left: 10px; right: 10px; top: 10px; flex-wrap: wrap; }
}

/* Dark mode: solid light type. Gradient clip was hiding headings on navy. */
html[data-theme="dark"] h1,
html[data-theme="dark"] h2,
html[data-theme="dark"] h3,
html[data-theme="dark"] h4,
html[data-theme="dark"] h5,
html[data-theme="dark"] h6,
html[data-theme="dark"] p,
html[data-theme="dark"] li,
html[data-theme="dark"] label,
html[data-theme="dark"] .nc-lead,
html[data-theme="dark"] .text-dark,
html[data-theme="dark"] .nc-story-step,
html[data-theme="dark"] .footer,
html[data-theme="dark"] .footer a,
html[data-theme="dark"] .footer p,
html[data-theme="dark"] .h-100.bg-dark.p-4,
html[data-theme="dark"] .h-100.bg-dark.p-4 h5,
html[data-theme="dark"] .h-100.bg-dark.p-4 span {
  color: #e8f2fc !important;
  -webkit-text-fill-color: #e8f2fc !important;
}
html[data-theme="dark"] h1,
html[data-theme="dark"] h2,
html[data-theme="dark"] h3,
html[data-theme="dark"] h4,
html[data-theme="dark"] h5,
html[data-theme="dark"] h6 {
  background-image: none !important;
  -webkit-background-clip: border-box !important;
  background-clip: border-box !important;
}
html[data-theme="dark"] .nc-lead,
html[data-theme="dark"] .nc-story-step p,
html[data-theme="dark"] .service-item p,
html[data-theme="dark"] .nc-card p,
html[data-theme="dark"] .text-muted {
  color: #c5d4e8 !important;
  -webkit-text-fill-color: #c5d4e8 !important;
}
html[data-theme="dark"] .btn-primary,
html[data-theme="dark"] .nc-pick,
html[data-theme="dark"] .nc-dock-btn,
html[data-theme="dark"] .nc-cam .nc-rec,
html[data-theme="dark"] .nc-cam .nc-cam-id,
html[data-theme="dark"] .nc-cam .nc-phone-time,
html[data-theme="dark"] .nc-cam .nc-motion,
html[data-theme="dark"] .nc-story-frame figcaption {
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
}
html[data-theme="dark"] .nc-hero h1 { color: #f4f8ff !important; -webkit-text-fill-color: #f4f8ff !important; }
html[data-theme="dark"] .nc-hero p { color: #c9d7ea !important; -webkit-text-fill-color: #c9d7ea !important; }
html[data-theme="dark"] .text-primary,
html[data-theme="dark"] .nc-eyebrow,
html[data-theme="dark"] .nc-story-step span { color: #9ad7ff !important; -webkit-text-fill-color: #9ad7ff !important; }

/* ---- NVR wall, wire draw, process line, price count ---- */
.nc-wall {
  display: grid;
  grid-template-columns: minmax(0, 1.7fr) minmax(0, .78fr);
  grid-template-rows: repeat(3, minmax(0, 1fr));
  grid-template-areas: "main s1" "main s2" "main s3";
  gap: 8px;
  aspect-ratio: 16 / 10.5;
}
.nc-wall > .nc-cam { aspect-ratio: auto; min-width: 0; min-height: 0; height: 100%; cursor: pointer; }
.nc-wall > .nc-cam:focus-visible { outline: 2px solid #fff; outline-offset: -3px; }
.nc-wall[data-main="0"] > :nth-child(1) { grid-area: main; }
.nc-wall[data-main="0"] > :nth-child(2) { grid-area: s1; }
.nc-wall[data-main="0"] > :nth-child(3) { grid-area: s2; }
.nc-wall[data-main="0"] > :nth-child(4) { grid-area: s3; }
.nc-wall[data-main="1"] > :nth-child(2) { grid-area: main; }
.nc-wall[data-main="1"] > :nth-child(1) { grid-area: s1; }
.nc-wall[data-main="1"] > :nth-child(3) { grid-area: s2; }
.nc-wall[data-main="1"] > :nth-child(4) { grid-area: s3; }
.nc-wall[data-main="2"] > :nth-child(3) { grid-area: main; }
.nc-wall[data-main="2"] > :nth-child(1) { grid-area: s1; }
.nc-wall[data-main="2"] > :nth-child(2) { grid-area: s2; }
.nc-wall[data-main="2"] > :nth-child(4) { grid-area: s3; }
.nc-wall[data-main="3"] > :nth-child(4) { grid-area: main; }
.nc-wall[data-main="3"] > :nth-child(1) { grid-area: s1; }
.nc-wall[data-main="3"] > :nth-child(2) { grid-area: s2; }
.nc-wall[data-main="3"] > :nth-child(3) { grid-area: s3; }
.nc-cam.is-main { cursor: default; box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .28); }
.nc-cam:not(.is-main) .nc-rec,
.nc-cam:not(.is-main) .nc-phone-time { display: none; }
.nc-cam:not(.is-main):hover { box-shadow: inset 0 0 0 2px rgba(0, 144, 240, .9); }
.nc-cam .nc-motion { opacity: 0; }
.nc-cam.is-alert .nc-motion { opacity: 1; }
html.nc-motion .nc-cam.nc-hit { animation: nc-flash .6s ease; }
@keyframes nc-flash {
  0% { box-shadow: inset 0 0 0 0 rgba(255, 59, 48, 0); }
  35% { box-shadow: inset 0 0 0 3px #ff3b30; }
  100% { box-shadow: inset 0 0 0 0 rgba(255, 59, 48, 0); }
}
html.nc-motion .nc-wire { animation: none !important; }
html.nc-motion .nc-net:not(.is-live) .nc-pkt { opacity: 0; }
.nc-story-copy ol { position: relative; padding-left: 18px; }
.nc-story-step { align-items: flex-start; }
.nc-story-step > span {
  position: relative;
  z-index: 1;
  flex: 0 0 1.8rem;
  width: 1.8rem;
  text-align: center;
}
.nc-story-copy ol::before,
.nc-story-copy ol::after {
  content: "";
  position: absolute;
  left: 5px;
  top: var(--nc-line-top, 1.4rem);
  width: 2px;
  border-radius: 2px;
  pointer-events: none;
}
.nc-story-copy ol::before {
  height: var(--nc-line-h, 0px);
  background: var(--border);
}
.nc-story-copy ol::after {
  height: calc(var(--nc-line-h, 0px) * var(--nc-fill, 0));
  background: var(--accent);
  transition: height .5s ease;
}
@media (max-width: 991.98px) {
  .nc-wall {
    grid-template-columns: 1fr 1fr 1fr;
    grid-template-rows: minmax(148px, 46vw) 76px;
    grid-template-areas: "main main main" "s1 s2 s3";
    aspect-ratio: auto;
  }
}
@media (prefers-reduced-motion: reduce) {
  .nc-story-copy ol::after { transition: none; }
  .nc-cam.nc-hit { animation: none; }
}

.navbar .navbar-nav .nav-link.active { position: relative; }
.navbar .navbar-nav .nav-link.active::before {
  content: "";
  position: absolute;
  left: -14px;
  top: 50%;
  width: 7px;
  height: 7px;
  margin-top: -3.5px;
  border-radius: 50%;
  background: #19c6b8;
  box-shadow: 0 0 0 0 rgba(25, 198, 184, .65);
  animation: ncp 1.8s infinite;
}
html.nc-motion .nc-cam.nc-cut { animation: nc-sync .72s linear; }
html.nc-motion .nc-cam.nc-cut::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 5;
  pointer-events: none;
  background: repeating-linear-gradient(to bottom, rgba(255,255,255,.22) 0 1px, transparent 1px 3px);
  mix-blend-mode: screen;
  animation: nc-snow .72s linear both;
}
html.nc-motion .nc-cam.nc-cut::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  height: 28%;
  top: -28%;
  z-index: 6;
  pointer-events: none;
  background: linear-gradient(to bottom, transparent, rgba(255,255,255,.15) 42%, rgba(255,255,255,.92) 50%, rgba(0,144,240,.45) 52%, rgba(255,255,255,.15) 60%, transparent);
  animation: nc-cut .62s cubic-bezier(.16,.72,.2,1) forwards;
}
html.nc-motion .nc-cam.nc-cut video { animation: nc-roll .62s cubic-bezier(.18,.7,.22,1) both; }
@keyframes nc-sync {
  0% { filter: brightness(2.4) contrast(1.5); }
  8% { filter: brightness(0); }
  16% { filter: brightness(1.45) contrast(1.7) saturate(.35); }
  28% { filter: none; }
  100% { filter: none; }
}
@keyframes nc-snow {
  0% { opacity: .95; transform: translateY(0); }
  35% { opacity: .4; transform: translateY(-10px); }
  100% { opacity: 0; transform: none; }
}
@keyframes nc-cut { from { top: -28%; } to { top: 108%; } }
@keyframes nc-roll {
  0% { transform: translateY(-36%); clip-path: inset(0 0 82% 0); }
  14% { transform: translateY(14%) skewY(.5deg); clip-path: inset(34% 0 28% 0); }
  30% { transform: translateY(-7%); clip-path: inset(6% 0 16% 0); }
  48% { transform: translateY(0); clip-path: inset(0); }
  100% { transform: none; clip-path: inset(0); }
}
.nc-phone-shot.nc-ping { animation: nc-phone-ping .55s ease; }
@keyframes nc-phone-ping {
  0%, 100% { filter: drop-shadow(0 16px 28px rgba(1, 21, 62, .2)); }
  40% { filter: drop-shadow(0 0 2px #19e6c1) drop-shadow(0 0 16px rgba(25, 230, 193, .95)); }
}
.nc-form-note.ok {
  font-family: "JetBrains Mono", ui-monospace, monospace;
  font-weight: 500;
  letter-spacing: .01em;
}
.nc-tape {
  display: block !important;
  width: min(640px, 100%);
  max-width: 640px;
  margin: 18px auto 0 !important;
  grid-template-columns: none !important;
  gap: 0 !important;
}
.nc-tape-head {
  position: relative;
  display: grid !important;
  grid-template-columns: 1fr 1fr 1fr;
  width: min(420px, 100%);
  height: 48px;
  max-width: 420px;
  margin: 0 auto 28px;
  border: 1px solid var(--border);
  border-radius: 999px;
  background: rgba(255, 255, 255, .72);
  touch-action: none;
  user-select: none;
  overflow: hidden;
}
html[data-theme="dark"] .nc-tape-head { background: rgba(7, 24, 51, .72); }
.nc-tape-knob {
  position: absolute;
  z-index: 0;
  top: 0;
  bottom: 0;
  left: 0;
  width: 33.333%;
  border-radius: 999px;
  background: var(--accent);
  transition: transform .35s ease;
}
.nc-tape[data-i="1"] .nc-tape-knob { transform: translateX(100%); }
.nc-tape[data-i="2"] .nc-tape-knob { transform: translateX(200%); }
.nc-tape-head button {
  position: relative;
  z-index: 1;
  height: 48px;
  border: 0;
  background: transparent;
  color: var(--ink);
  font: inherit;
  font-weight: 700;
  padding: 0;
  border-radius: 999px;
  cursor: pointer;
}
html[data-theme="dark"] .nc-tape-head button { color: #e8f2fc; }
.nc-tape-head button[aria-selected="true"] { color: #fff; }
.nc-tape-window { overflow: hidden; width: 100%; }
.nc-tape-reel { display: flex; width: 300%; transition: transform .45s ease; }
.nc-tape[data-i="1"] .nc-tape-reel { transform: translateX(-33.333333%); }
.nc-tape[data-i="2"] .nc-tape-reel { transform: translateX(-66.666667%); }
.nc-tape-reel article {
  width: 33.333333%;
  flex: none;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  padding: 4px 8px 8px;
}
.nc-tape-kicker { margin: 0 0 8px; color: var(--text-muted); }
.nc-tape .nc-price { align-items: center; }
.nc-tape .nc-price b { font-size: clamp(2.6rem, 5vw, 3.6rem); white-space: nowrap; }
.nc-tape-line { max-width: 42ch; margin: 6px 0 18px; color: var(--text-muted); }
.nc-tape .btn { width: auto !important; white-space: nowrap; border-radius: 999px !important; }
@media (max-width: 991.98px) {
  .navbar .navbar-nav .nav-link.active::before {
    position: static;
    display: inline-block;
    margin: 0 8px 0 0;
    vertical-align: middle;
  }
}
@media (prefers-reduced-motion: reduce) {
  .navbar .navbar-nav .nav-link.active::before,
  .nc-phone-shot.nc-ping,
  .nc-cam.nc-cut,
  .nc-cam.nc-cut::before,
  .nc-cam.nc-cut::after,
  .nc-cam.nc-cut video { animation: none; }
  .nc-tape-knob, .nc-tape-reel { transition: none; }
}




