/*
 * Site design overrides (moved from Appearance > Customize > Additional CSS on 2026-11-08).
 * Printed by inc/site-css.php at wp_head priority 100: the same cascade position the Customizer CSS had,
 * but as a cacheable file. Edit here; anything added later in the Customizer still prints after this file.
 */
/* ===== Netbios Tech image kit (added Nov 2026) ===== */

/* Page-header illustrations: right side of the dark header band.
   Uses ::before because the theme uses ::after for the blue accent line. */
.nbt-page-header[class*="nbt-art-"] { position: relative; }
.nbt-page-header[class*="nbt-art-"] > * { position: relative; z-index: 1; }
.nbt-page-header[class*="nbt-art-"]::before {
  content: "";
  position: absolute;
  z-index: 0;
  top: 50%;
  right: max(var(--gutter, 2rem), calc((100vw - var(--container, 75rem)) / 2));
  height: min(88%, 300px);
  aspect-ratio: 16 / 9;
  transform: translateY(-50%);
  background: var(--nbt-art) center / contain no-repeat;
  pointer-events: none;
}
@media (max-width: 1100px) {
  .nbt-page-header[class*="nbt-art-"]::before { display: none; }
}
.nbt-art-fiber-deployment { --nbt-art: url("https://netbiostech.com/wp-content/uploads/2026/11/nbt-header-fiber-deployment.webp"); }
.nbt-art-dwdm-installation { --nbt-art: url("https://netbiostech.com/wp-content/uploads/2026/11/nbt-header-dwdm-installation.webp"); }
.nbt-art-copper-cabling { --nbt-art: url("https://netbiostech.com/wp-content/uploads/2026/11/nbt-header-copper-cabling.webp"); }
.nbt-art-rack-and-stack { --nbt-art: url("https://netbiostech.com/wp-content/uploads/2026/11/nbt-header-rack-and-stack.webp"); }
.nbt-art-server-network-installation { --nbt-art: url("https://netbiostech.com/wp-content/uploads/2026/11/nbt-header-server-network-installation.webp"); }
.nbt-art-hardware-replacement { --nbt-art: url("https://netbiostech.com/wp-content/uploads/2026/11/nbt-header-hardware-replacement.webp"); }
.nbt-art-smart-hands { --nbt-art: url("https://netbiostech.com/wp-content/uploads/2026/11/nbt-header-smart-hands.webp"); }
.nbt-art-decommissioning { --nbt-art: url("https://netbiostech.com/wp-content/uploads/2026/11/nbt-header-decommissioning.webp"); }
.nbt-art-24x7-support { --nbt-art: url("https://netbiostech.com/wp-content/uploads/2026/11/nbt-header-24x7-support.webp"); }
.nbt-art-project-support { --nbt-art: url("https://netbiostech.com/wp-content/uploads/2026/11/nbt-header-project-support.webp"); }
.nbt-art-services { --nbt-art: url("https://netbiostech.com/wp-content/uploads/2026/11/nbt-header-services.webp"); }
.nbt-art-about-us { --nbt-art: url("https://netbiostech.com/wp-content/uploads/2026/11/nbt-header-about-us.webp"); }
.nbt-art-why-netbios-tech { --nbt-art: url("https://netbiostech.com/wp-content/uploads/2026/11/nbt-header-why-netbios-tech.webp"); }
.nbt-art-industries { --nbt-art: url("https://netbiostech.com/wp-content/uploads/2026/11/nbt-header-industries.webp"); }
.nbt-art-service-areas { --nbt-art: url("https://netbiostech.com/wp-content/uploads/2026/11/nbt-header-service-areas.webp"); }
.nbt-art-contact { --nbt-art: url("https://netbiostech.com/wp-content/uploads/2026/11/nbt-header-contact.webp"); }
.nbt-art-careers { --nbt-art: url("https://netbiostech.com/wp-content/uploads/2026/11/nbt-header-careers.webp"); }

@media (min-width: 1101px) {
  .nbt-page-header[class*="nbt-art-"] .nbt-page-title,
  .nbt-page-header[class*="nbt-art-"] .nbt-lead { max-width: 44rem; }
}

/* In-page images (maps, data hall, process banner) */
.nbt-kit-img { margin: 0; }
.nbt-kit-img img { display: block; width: 100%; height: auto; border-radius: 8px; }

/* Service Areas: Germany-wide text + map side by side */
.nbt-prose > .nbt-kit-cols { max-width: var(--container, 75rem); width: 100%; gap: clamp(1.5rem, 4vw, 3rem); }

/* Photo + text split sections (service pages) */
.nbt-split > .nbt-split-cols {
  max-width: var(--container, 75rem);
  width: 100%;
  margin-inline: auto;
  gap: clamp(2rem, 5vw, 4.5rem);
}
.nbt-split-text { display: flex; flex-direction: column; gap: var(--space-4); min-width: 0; }
.nbt-split-text > * { margin-block: 0; }
.nbt-split-eyebrow {
  font: 500 var(--text-xs) / 1.2 var(--font-mono);
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--c-cyan-text);
}
.nbt-split-text .wp-block-list.is-style-nbt-pills,
.nbt-split-text .wp-block-list[class*="is-style-nbt-checklist"] { margin-top: var(--space-2); }
.nbt-split-media { min-width: 0; }
.nbt-split-media .nbt-media-figure { position: relative; max-width: none; margin: 0 0 0 12px; }
.nbt-split-media .nbt-media-figure img {
  width: 100%;
  aspect-ratio: 4 / 3;
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-3);
}
.nbt-split-media .nbt-media-figure::before {
  content: "";
  position: absolute;
  left: -12px;
  bottom: -12px;
  width: 96px;
  height: 96px;
  border-left: 3px solid var(--c-cyan);
  border-bottom: 3px solid var(--c-cyan);
  pointer-events: none;
}
.nbt-split-caption {
  margin: var(--space-5) 0 0 12px;
  display: flex;
  align-items: center;
  gap: var(--space-2);
  font: 500 var(--text-xs) / 1.4 var(--font-mono);
  letter-spacing: 0.04em;
  color: var(--c-ink-3);
}
.nbt-split-caption::before { content: ""; flex: none; width: 8px; height: 8px; background: var(--c-cyan-text); }
.nbt-split-steps { list-style: none; padding: 0; margin: var(--space-2) 0 0; counter-reset: nbt-step; display: grid; }
.nbt-split-steps > li {
  counter-increment: nbt-step;
  display: flex;
  gap: var(--space-4);
  align-items: baseline;
  padding: var(--space-3) 0;
  border-bottom: var(--border);
}
.nbt-split-steps > li:first-child { border-top: var(--border); }
.nbt-split-steps > li::before {
  content: counter(nbt-step, decimal-leading-zero);
  font: 500 var(--text-sm) / 1 var(--font-mono);
  color: var(--c-cyan-text);
  min-width: 2ch;
}
@media (min-width: 782px) {
  .nbt-split--media-left .nbt-split-cols { flex-direction: row-reverse; }
}
@media (max-width: 781px) {
  .nbt-split-media { order: -1; }
}

/* Smart Hands scenario cards */
.nbt-scenarios {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(14rem, 1fr));
  gap: var(--space-4);
  margin-top: var(--space-8);
}
.nbt-scenario {
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
  padding: var(--space-6);
  background: var(--c-paper);
  border: var(--border);
  border-radius: var(--radius-sm);
}
.nbt-scenario > * { margin: 0; }
.nbt-scenario h3 { font-size: var(--text-lg); }
.nbt-scenario p:not(.nbt-scenario-tag) { color: var(--c-ink-2); font-size: var(--text-sm); line-height: 1.55; }
.nbt-scenario-tag {
  font: 500 var(--text-xs) / 1.2 var(--font-mono);
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--c-cyan-text);
}

/* Uploaded photos (image block) inside split sections */
.nbt-split-media .wp-block-image.nbt-media-figure { margin: 0 0 0 12px; }
.nbt-split-media .nbt-media-figure.nbt-media-wide img { aspect-ratio: 3 / 2; }

/* "At a glance" panel beside intro text */
.nbt-split-aside { min-width: 0; }
.nbt-glance {
  position: relative;
  overflow: hidden;
  padding: clamp(1.5rem, 3vw, 2.25rem);
  background-color: var(--c-night-900);
  background-image:
    linear-gradient(rgba(255, 255, 255, 0.05) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 255, 255, 0.05) 1px, transparent 1px);
  background-size: 32px 32px;
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-3);
  color: var(--c-on-night);
}
.nbt-glance::before {
  content: "";
  position: absolute;
  top: 0;
  left: clamp(1.5rem, 3vw, 2.25rem);
  width: 64px;
  height: 3px;
  background: var(--c-cyan);
}
.nbt-glance > * { margin: 0; }
.nbt-glance-title {
  display: flex;
  align-items: center;
  gap: var(--space-2);
  margin-bottom: var(--space-4) !important;
  font: 500 var(--text-xs) / 1.2 var(--font-mono);
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--c-cyan);
}
.nbt-glance-title::before { content: ""; width: 8px; height: 8px; background: var(--c-cyan); }
.nbt-glance-list { list-style: none; padding: 0; margin: 0; display: grid; }
.nbt-glance-list > li {
  display: grid;
  gap: 6px;
  padding: var(--space-4) 0;
  border-top: 1px solid var(--c-night-line);
  color: var(--c-on-night);
  font-size: var(--text-md);
  line-height: 1.4;
}
.nbt-glance-list > li:last-child { padding-bottom: 0; }
.nbt-glance-list > li strong {
  display: block;
  font: 500 var(--text-xs) / 1.2 var(--font-mono);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--c-on-night-3);
}

/* Service Promise pillars: short description under each title */
.is-style-nbt-pillars .nbt-pillar-desc {
  display: block;
  margin-top: var(--space-2);
  font-size: var(--text-sm);
  font-weight: 400;
  line-height: 1.55;
  color: var(--c-ink-2);
}
.nbt-pillars .nbt-pillars-text {
  max-width: none;
  margin-block-start: var(--space-10);
  padding-top: var(--space-6);
  border-top: var(--border);
  font-size: var(--text-lg);
  line-height: 1.5;
  color: var(--c-ink);
}

/* Section lead line under an H2 */
.nbt-section-lead { max-width: 60ch; margin-top: var(--space-3); color: var(--c-ink-2); font-size: var(--text-md); }

/* Fiber type cards, colour-coded with the theme's fiber tokens */
.nbt-fibre-cards {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 13rem), 1fr));
  gap: var(--space-4);
  margin-top: var(--space-8);
}
.nbt-fibre-card {
  --fibre: var(--c-fibre-os);
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
  padding: var(--space-6);
  background: var(--c-paper);
  border: var(--border);
  border-top: 4px solid var(--fibre);
  border-radius: var(--radius-sm);
}
.nbt-fibre-om3 { --fibre: var(--c-fibre-om3); }
.nbt-fibre-om4 { --fibre: var(--c-fibre-om4); }
.nbt-fibre-card > * { margin: 0; }
.nbt-fibre-card h3 { font: 600 var(--text-2xl) / 1 var(--font-mono); letter-spacing: 0.02em; }
.nbt-fibre-card p:not(.nbt-fibre-tag) { color: var(--c-ink-2); font-size: var(--text-sm); line-height: 1.55; }
.nbt-fibre-tag {
  display: flex;
  align-items: center;
  gap: var(--space-2);
  font: 500 var(--text-xs) / 1.2 var(--font-mono);
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--c-ink-3);
}
.nbt-fibre-tag::before { content: ""; width: 18px; height: 4px; border-radius: 2px; background: var(--fibre); }

/* Numbered steps with a bold lead word */
.nbt-split-steps > li strong { color: var(--c-ink); margin-right: 0.35em; }

/* Deliverable cards on a white section */
.nbt-deliverables .nbt-scenario { background: var(--c-surface); border-color: transparent; }

.nbt-deliverables .nbt-scenarios { grid-template-columns: minmax(0, 1fr); }
@media (min-width: 40rem) { .nbt-deliverables .nbt-scenarios { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 64rem) { .nbt-deliverables .nbt-scenarios { grid-template-columns: repeat(3, minmax(0, 1fr)); } }

/* Fix: icon tiles in feature grids (DWDM services, Why differentiators).
   The theme sets --nbt-card-pad: 0 (unitless), which makes
   calc(var(--nbt-card-pad) + 12px) invalid, so the icon dropped to the
   tile's top-left corner. A unit restores the centred position. */
.nbt-card-grid-feature .nbt-card { --nbt-card-pad: 0px; }


/* 4-up feature grid on wide screens (Why page differentiators: 8 cards = 4 + 4) */
@media (min-width: 64rem) {
  .nbt-grid-4 .nbt-card-list { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}


/* ================= UI review pass (Nov 2026) ================= */

/* Stats bar: remove the small grey dash under each value (read as a loading skeleton) */
.nbt-stat::after { display: none; }
@media (max-width: 29.99rem) {
  .nbt-stat-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .nbt-stat { padding: var(--space-4) var(--space-4); }
  .nbt-stat-value { font-size: 1.05rem; }
}

/* Process steps: optional one-line description under each step title */
.is-style-nbt-steps .nbt-step-body { display: grid; gap: 4px; min-width: 0; }
.is-style-nbt-steps .nbt-step-body > strong { font-weight: 600; }
.is-style-nbt-steps .nbt-step-desc { color: var(--c-ink-3); font-size: var(--text-sm); font-weight: 400; line-height: 1.45; }
.nbt-on-night .is-style-nbt-steps .nbt-step-desc { color: var(--c-on-night-2); }

/* Long lifecycles (9 steps): 3 x 3 grid instead of a 5 + 4 wrap */
@media (min-width: 64rem) {
  .nbt-steps-long .wp-block-list.is-style-nbt-steps { grid-auto-flow: row; grid-template-columns: repeat(3, minmax(0, 1fr)); row-gap: var(--space-10); }
  .nbt-steps-long .is-style-nbt-steps > li:nth-child(3n) { background: none; }
}

/* Checklists on phones: tighter rows so long lists scroll less */
@media (max-width: 47.99rem) {
  .is-style-nbt-checklist > li { min-height: 48px; padding: 12px 16px; font-size: 0.95rem; }
  .is-style-nbt-checklist > li::after { top: 14px; left: 18px; }
}

/* Footer on phones: two link columns side by side */
@media (max-width: 29.99rem) {
  .nbt-footer-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-8) var(--space-6); }
  .nbt-footer-company-col { grid-column: 1 / -1; }
}

/* Home coverage map: the map legend already lists the cities on desktop,
   so the pill list only shows on phones, where the map text is too small */
@media (min-width: 48rem) {
  .nbt-pills:has(.nbt-kit-img) > .wp-block-list.is-style-nbt-pills { display: none; }
}


/* ---- UI review pass, part 2 ---- */

/* Keep "Infrastructure Support" together so a line never starts with "|" */
.nbt-nowrap { white-space: nowrap; }

/* Our Process: use the full width - number | step name | description */
@media (min-width: 64rem) {
  .is-style-nbt-steps-detailed > li { grid-template-columns: 96px minmax(12rem, 16rem) minmax(0, 1fr); align-items: baseline; column-gap: var(--space-6); }
  .is-style-nbt-steps-detailed > li > strong { grid-column: 2; }
  .is-style-nbt-steps-detailed > li > br { display: none; }
}

/* FAQ: questions on the left, contact card on the right */
.nbt-faq-layout { display: grid; gap: var(--space-10); }
.nbt-faq-aside { padding: var(--space-6); border: var(--border); border-radius: var(--radius-sm); background: var(--c-surface); }
.nbt-faq-aside h3 { margin: 0 0 var(--space-2); }
.nbt-faq-aside p { margin: 0 0 var(--space-4); color: var(--c-ink-2); }
.nbt-faq-aside .nbt-split-eyebrow { margin-bottom: var(--space-2); }
.nbt-faq-aside .wp-block-buttons { margin: 0 0 var(--space-4); }
.nbt-faq-aside-mail { font-size: var(--text-sm); }
@media (min-width: 64rem) {
  .nbt-faq-layout { grid-template-columns: minmax(0, 1fr) 20rem; align-items: start; gap: var(--space-12); }
  .nbt-faq-layout .nbt-faq-list { max-width: none; }
  .nbt-faq-aside { position: sticky; top: 120px; }
}

/* Contact: request checklist and "find us" card under the address */
.nbt-contact-info .nbt-contact-subhead { margin: var(--space-8) 0 0; font-size: var(--text-lg, 1.125rem); }
.nbt-contact-info .wp-block-list.is-style-nbt-checklist { margin-top: var(--space-4); }
.nbt-contact-info .is-style-nbt-checklist > li { min-height: 48px; padding: 12px 16px; font-size: 0.95rem; }
.nbt-contact-info .is-style-nbt-checklist > li::after { top: 14px; left: 18px; }
.nbt-contact-map { margin-top: var(--space-6); padding: var(--space-5) var(--space-6); border: var(--border); border-radius: var(--radius-sm); background: var(--c-surface); }
.nbt-contact-map .nbt-split-eyebrow { margin: 0 0 var(--space-2); }
.nbt-contact-map p, .nbt-contact-map a { margin: 0; }
.nbt-form-note { margin: var(--space-4) 0 0; color: var(--c-ink-3); font-size: var(--text-sm); }

/* Package cards on the Services page: icon tile above the title */
.nbt-card-grid-package .nbt-card[class*="nbt-i-"] .nbt-card-more { margin-top: auto; }

/* Media figures: put the cyan corner on the top-right when the picture has its own label bottom-left */
.nbt-split-media .nbt-media-figure:has(.wp-image-124)::before { left: auto; right: -12px; bottom: auto; top: -12px; border-left: 0; border-bottom: 0; border-right: 3px solid var(--c-cyan); border-top: 3px solid var(--c-cyan); }


/* ---- UI review pass, part 3 ---- */

/* Card groups on a grey (surface) section: white cards so they stand out */
.nbt-deliverables.nbt-tone-surface .nbt-scenario { background: var(--c-paper); border-color: var(--c-line); }

/* Our Process header illustration */
.nbt-art-our-process { --nbt-art: url("https://netbiostech.com/wp-content/uploads/2026/11/nbt-header-our-process.webp"); }

/* FAQ contact card button in brand colour */
.nbt-faq-aside .wp-block-button__link { background: var(--c-brand); color: #fff; border-radius: var(--radius-sm); padding: 12px 20px; font-weight: 600; }
.nbt-faq-aside .wp-block-button__link:hover { background: var(--c-brand-700, #003d70); }

/* About: keep the "Data hall · cold aisle" label in frame when cropped to 3:2 */
.nbt-media-figure .wp-image-124 { object-position: left center; }

/* Services: 10 service links in two even rows of five */
@media (min-width: 64rem) {
  .nbt-card-grid-link .nbt-card-list:has(> .nbt-card:nth-child(10)) { grid-template-columns: repeat(5, minmax(0, 1fr)); }
}

/* Service Areas: hide the "Cities covered:" label together with the pill list on desktop (the map legend lists the cities) */
@media (min-width: 48rem) {
  .nbt-pills:has(.nbt-kit-img) > .nbt-pills-label { display: none; }
}

/* Main site header: "Software Development" as its own section at the bottom of the Services dropdown */
.nbt-nav .nbt-submenu > .nbt-menu-software { grid-column: 1 / -1; margin-top: var(--space-2); padding-top: var(--space-2); border-top: 1px solid var(--c-line); }
.nbt-nav .nbt-submenu > .nbt-menu-software > a { gap: var(--space-3); }
.nbt-nav .nbt-submenu > .nbt-menu-software > a::before {
  content: ""; flex: none; width: 30px; height: 30px; border-radius: var(--radius-xs);
  background: var(--c-brand-tint, #e6eef6) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23004e8f' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m16 18 6-6-6-6M8 6l-6 6 6 6'/%3E%3C/svg%3E") center / 16px no-repeat;
}
.nbt-nav .nbt-submenu > .nbt-menu-software > a::after {
  content: "Netbios Tech Software \2197"; margin-left: auto; padding-left: var(--space-3); color: var(--c-ink-3); font: 500 var(--text-xs) / 1.2 var(--font-mono); letter-spacing: .04em; white-space: nowrap;
}
@media (max-width: 63.9375rem) {
  .nbt-nav .nbt-submenu > .nbt-menu-software { margin-top: var(--space-2); padding-top: var(--space-2); border-top: 1px solid rgba(255, 255, 255, .12); }
  .nbt-nav .nbt-submenu > .nbt-menu-software > a::before { background-color: rgba(255, 255, 255, .1); background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%233eb6e4' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m16 18 6-6-6-6M8 6l-6 6 6 6'/%3E%3C/svg%3E"); }
  .nbt-nav .nbt-submenu > .nbt-menu-software > a::after { content: "\2197"; color: var(--c-on-night-3); }
}

/* Services page: "Also from Netbios Tech: Software Development" card */
.nbt-sw-promo > .nbt-split-cols { padding: var(--space-8) var(--space-6); border: var(--border); border-radius: var(--radius-sm); background: var(--c-paper); box-shadow: var(--shadow-2); border-left: 4px solid var(--c-cyan); }
.nbt-sw-promo .nbt-split-aside .wp-block-list.is-style-nbt-pills { margin-top: 0; }
@media (min-width: 64rem) { .nbt-sw-promo > .nbt-split-cols { padding: var(--space-10) var(--space-12); } }



/* Home hero: data center photo background (Nov 2026) v6 */
.nbt-section.alignfull.nbt-hero.nbt-on-night{background-color:#0a2347;background-image:linear-gradient(90deg,rgba(5,18,40,.9) 0%,rgba(5,18,40,.8) 34%,rgba(5,18,40,.56) 52%,rgba(5,18,40,.16) 68%,rgba(5,18,40,0) 80%),linear-gradient(180deg,rgba(5,18,40,.3) 0%,rgba(5,18,40,0) 16%,rgba(5,18,40,0) 72%,rgba(5,18,40,.55) 100%),url("https://netbiostech.com/wp-content/uploads/2026/11/nbt-home-hero.webp");background-size:auto,auto,cover;background-position:0 0,0 0,72% 50%;background-repeat:no-repeat}
.nbt-section.alignfull.nbt-hero.nbt-on-night::after{display:none}
.nbt-section.alignfull.nbt-hero.nbt-on-night .nbt-hero-title{text-shadow:0 2px 22px rgba(3,12,28,.6)}
.nbt-section.alignfull.nbt-hero.nbt-on-night .nbt-hero-title + p,.nbt-section.alignfull.nbt-hero.nbt-on-night .nbt-hero-title + * {text-shadow:0 1px 12px rgba(3,12,28,.8)}
.nbt-section.alignfull.nbt-hero.nbt-on-night .nbt-lead{color:rgba(238,244,252,.96);text-shadow:0 1px 12px rgba(3,12,28,.7)}
@media (max-width:63.9375rem){.nbt-section.alignfull.nbt-hero.nbt-on-night{background-image:linear-gradient(180deg,rgba(5,18,40,.6) 0%,rgba(5,18,40,.7) 50%,rgba(5,18,40,.86) 100%),url("https://netbiostech.com/wp-content/uploads/2026/11/nbt-home-hero-m.webp");background-size:auto,cover;background-position:0 0,center 45%}}

/* Service page hero photo banners (Nov 2026) */
.nbt-section.alignfull.nbt-page-header.nbt-art-fiber-deployment{min-height:clamp(320px,30vw,460px);display:flex;flex-direction:column;justify-content:center;background-color:#061a30;background-image:
linear-gradient(90deg,rgba(5,18,36,.92) 0%,rgba(5,18,36,.82) 30%,rgba(5,18,36,.45) 50%,rgba(5,18,36,.08) 66%,rgba(5,18,36,0) 80%),
linear-gradient(180deg,rgba(5,18,36,.25) 0%,rgba(5,18,36,0) 25%,rgba(5,18,36,0) 75%,rgba(5,18,36,.45) 100%),
url("https://netbiostech.com/wp-content/uploads/2026/11/nbt-h-fiber.webp");background-size:auto,auto,cover;background-position:0 0,0 0,right center;background-repeat:no-repeat}
.nbt-section.alignfull.nbt-page-header.nbt-art-fiber-deployment::before{display:none}
.nbt-section.alignfull.nbt-page-header.nbt-art-fiber-deployment .nbt-page-title{text-shadow:0 2px 20px rgba(3,12,28,.6)}
.nbt-section.alignfull.nbt-page-header.nbt-art-fiber-deployment .nbt-lead{color:rgba(236,243,252,.95);text-shadow:0 1px 12px rgba(3,12,28,.7)}
@media (max-width:63.9375rem){.nbt-section.alignfull.nbt-page-header.nbt-art-fiber-deployment{background-image:linear-gradient(180deg,rgba(5,18,36,.6) 0%,rgba(5,18,36,.7) 60%,rgba(5,18,36,.86) 100%),url("https://netbiostech.com/wp-content/uploads/2026/11/nbt-h-fiber.webp");background-size:auto,cover;background-position:0 0,70% center}}

/* banner: dwdm-installation */
.nbt-section.alignfull.nbt-page-header.nbt-art-dwdm-installation{min-height:clamp(320px,30vw,460px);display:flex;flex-direction:column;justify-content:center;background-color:#061a30;background-image:linear-gradient(90deg,rgba(5,18,36,.92) 0%,rgba(5,18,36,.82) 30%,rgba(5,18,36,.45) 50%,rgba(5,18,36,.08) 66%,rgba(5,18,36,0) 80%),linear-gradient(180deg,rgba(5,18,36,.25) 0%,rgba(5,18,36,0) 25%,rgba(5,18,36,0) 75%,rgba(5,18,36,.45) 100%),url("https://netbiostech.com/wp-content/uploads/2026/11/nbt-h-dwdm.webp");background-size:auto,auto,cover;background-position:0 0,0 0,right center;background-repeat:no-repeat}
.nbt-section.alignfull.nbt-page-header.nbt-art-dwdm-installation::before{display:none}
.nbt-section.alignfull.nbt-page-header.nbt-art-dwdm-installation .nbt-page-title{text-shadow:0 2px 20px rgba(3,12,28,.6)}
.nbt-section.alignfull.nbt-page-header.nbt-art-dwdm-installation .nbt-lead{color:rgba(236,243,252,.95);text-shadow:0 1px 12px rgba(3,12,28,.7)}
@media (max-width:63.9375rem){.nbt-section.alignfull.nbt-page-header.nbt-art-dwdm-installation{background-image:linear-gradient(180deg,rgba(5,18,36,.6) 0%,rgba(5,18,36,.7) 60%,rgba(5,18,36,.86) 100%),url("https://netbiostech.com/wp-content/uploads/2026/11/nbt-h-dwdm.webp");background-size:auto,cover;background-position:0 0,70% center}}

/* banner: copper-cabling */
.nbt-section.alignfull.nbt-page-header.nbt-art-copper-cabling{min-height:clamp(320px,30vw,460px);display:flex;flex-direction:column;justify-content:center;background-color:#061a30;background-image:linear-gradient(90deg,rgba(5,18,36,.92) 0%,rgba(5,18,36,.82) 30%,rgba(5,18,36,.45) 50%,rgba(5,18,36,.08) 66%,rgba(5,18,36,0) 80%),linear-gradient(180deg,rgba(5,18,36,.25) 0%,rgba(5,18,36,0) 25%,rgba(5,18,36,0) 75%,rgba(5,18,36,.45) 100%),url("https://netbiostech.com/wp-content/uploads/2026/11/nbt-h-copper.webp");background-size:auto,auto,cover;background-position:0 0,0 0,right center;background-repeat:no-repeat}
.nbt-section.alignfull.nbt-page-header.nbt-art-copper-cabling::before{display:none}
.nbt-section.alignfull.nbt-page-header.nbt-art-copper-cabling .nbt-page-title{text-shadow:0 2px 20px rgba(3,12,28,.6)}
.nbt-section.alignfull.nbt-page-header.nbt-art-copper-cabling .nbt-lead{color:rgba(236,243,252,.95);text-shadow:0 1px 12px rgba(3,12,28,.7)}
@media (max-width:63.9375rem){.nbt-section.alignfull.nbt-page-header.nbt-art-copper-cabling{background-image:linear-gradient(180deg,rgba(5,18,36,.6) 0%,rgba(5,18,36,.7) 60%,rgba(5,18,36,.86) 100%),url("https://netbiostech.com/wp-content/uploads/2026/11/nbt-h-copper.webp");background-size:auto,cover;background-position:0 0,70% center}}

/* banner: rack-and-stack */
.nbt-section.alignfull.nbt-page-header.nbt-art-rack-and-stack{min-height:clamp(320px,30vw,460px);display:flex;flex-direction:column;justify-content:center;background-color:#061a30;background-image:linear-gradient(90deg,rgba(5,18,36,.92) 0%,rgba(5,18,36,.82) 30%,rgba(5,18,36,.45) 50%,rgba(5,18,36,.08) 66%,rgba(5,18,36,0) 80%),linear-gradient(180deg,rgba(5,18,36,.25) 0%,rgba(5,18,36,0) 25%,rgba(5,18,36,0) 75%,rgba(5,18,36,.45) 100%),url("https://netbiostech.com/wp-content/uploads/2026/11/nbt-h-rack.webp");background-size:auto,auto,cover;background-position:0 0,0 0,right center;background-repeat:no-repeat}
.nbt-section.alignfull.nbt-page-header.nbt-art-rack-and-stack::before{display:none}
.nbt-section.alignfull.nbt-page-header.nbt-art-rack-and-stack .nbt-page-title{text-shadow:0 2px 20px rgba(3,12,28,.6)}
.nbt-section.alignfull.nbt-page-header.nbt-art-rack-and-stack .nbt-lead{color:rgba(236,243,252,.95);text-shadow:0 1px 12px rgba(3,12,28,.7)}
@media (max-width:63.9375rem){.nbt-section.alignfull.nbt-page-header.nbt-art-rack-and-stack{background-image:linear-gradient(180deg,rgba(5,18,36,.6) 0%,rgba(5,18,36,.7) 60%,rgba(5,18,36,.86) 100%),url("https://netbiostech.com/wp-content/uploads/2026/11/nbt-h-rack.webp");background-size:auto,cover;background-position:0 0,70% center}}

/* banner: server-network-installation */
.nbt-section.alignfull.nbt-page-header.nbt-art-server-network-installation{min-height:clamp(320px,30vw,460px);display:flex;flex-direction:column;justify-content:center;background-color:#061a30;background-image:linear-gradient(90deg,rgba(5,18,36,.92) 0%,rgba(5,18,36,.82) 30%,rgba(5,18,36,.45) 50%,rgba(5,18,36,.08) 66%,rgba(5,18,36,0) 80%),linear-gradient(180deg,rgba(5,18,36,.25) 0%,rgba(5,18,36,0) 25%,rgba(5,18,36,0) 75%,rgba(5,18,36,.45) 100%),url("https://netbiostech.com/wp-content/uploads/2026/11/nbt-h-network.webp");background-size:auto,auto,cover;background-position:0 0,0 0,right center;background-repeat:no-repeat}
.nbt-section.alignfull.nbt-page-header.nbt-art-server-network-installation::before{display:none}
.nbt-section.alignfull.nbt-page-header.nbt-art-server-network-installation .nbt-page-title{text-shadow:0 2px 20px rgba(3,12,28,.6)}
.nbt-section.alignfull.nbt-page-header.nbt-art-server-network-installation .nbt-lead{color:rgba(236,243,252,.95);text-shadow:0 1px 12px rgba(3,12,28,.7)}
@media (max-width:63.9375rem){.nbt-section.alignfull.nbt-page-header.nbt-art-server-network-installation{background-image:linear-gradient(180deg,rgba(5,18,36,.6) 0%,rgba(5,18,36,.7) 60%,rgba(5,18,36,.86) 100%),url("https://netbiostech.com/wp-content/uploads/2026/11/nbt-h-network.webp");background-size:auto,cover;background-position:0 0,70% center}}

/* banner: hardware-replacement */
.nbt-section.alignfull.nbt-page-header.nbt-art-hardware-replacement{min-height:clamp(320px,30vw,460px);display:flex;flex-direction:column;justify-content:center;background-color:#061a30;background-image:linear-gradient(90deg,rgba(5,18,36,.92) 0%,rgba(5,18,36,.82) 30%,rgba(5,18,36,.45) 50%,rgba(5,18,36,.08) 66%,rgba(5,18,36,0) 80%),linear-gradient(180deg,rgba(5,18,36,.25) 0%,rgba(5,18,36,0) 25%,rgba(5,18,36,0) 75%,rgba(5,18,36,.45) 100%),url("https://netbiostech.com/wp-content/uploads/2026/11/nbt-h-hardware.webp");background-size:auto,auto,cover;background-position:0 0,0 0,right center;background-repeat:no-repeat}
.nbt-section.alignfull.nbt-page-header.nbt-art-hardware-replacement::before{display:none}
.nbt-section.alignfull.nbt-page-header.nbt-art-hardware-replacement .nbt-page-title{text-shadow:0 2px 20px rgba(3,12,28,.6)}
.nbt-section.alignfull.nbt-page-header.nbt-art-hardware-replacement .nbt-lead{color:rgba(236,243,252,.95);text-shadow:0 1px 12px rgba(3,12,28,.7)}
@media (max-width:63.9375rem){.nbt-section.alignfull.nbt-page-header.nbt-art-hardware-replacement{background-image:linear-gradient(180deg,rgba(5,18,36,.6) 0%,rgba(5,18,36,.7) 60%,rgba(5,18,36,.86) 100%),url("https://netbiostech.com/wp-content/uploads/2026/11/nbt-h-hardware.webp");background-size:auto,cover;background-position:0 0,70% center}}

/* banner: smart-hands */
.nbt-section.alignfull.nbt-page-header.nbt-art-smart-hands{min-height:clamp(320px,30vw,460px);display:flex;flex-direction:column;justify-content:center;background-color:#061a30;background-image:linear-gradient(90deg,rgba(5,18,36,.92) 0%,rgba(5,18,36,.82) 30%,rgba(5,18,36,.45) 50%,rgba(5,18,36,.08) 66%,rgba(5,18,36,0) 80%),linear-gradient(180deg,rgba(5,18,36,.25) 0%,rgba(5,18,36,0) 25%,rgba(5,18,36,0) 75%,rgba(5,18,36,.45) 100%),url("https://netbiostech.com/wp-content/uploads/2026/11/nbt-h-smarthands.webp");background-size:auto,auto,cover;background-position:0 0,0 0,right center;background-repeat:no-repeat}
.nbt-section.alignfull.nbt-page-header.nbt-art-smart-hands::before{display:none}
.nbt-section.alignfull.nbt-page-header.nbt-art-smart-hands .nbt-page-title{text-shadow:0 2px 20px rgba(3,12,28,.6)}
.nbt-section.alignfull.nbt-page-header.nbt-art-smart-hands .nbt-lead{color:rgba(236,243,252,.95);text-shadow:0 1px 12px rgba(3,12,28,.7)}
@media (max-width:63.9375rem){.nbt-section.alignfull.nbt-page-header.nbt-art-smart-hands{background-image:linear-gradient(180deg,rgba(5,18,36,.6) 0%,rgba(5,18,36,.7) 60%,rgba(5,18,36,.86) 100%),url("https://netbiostech.com/wp-content/uploads/2026/11/nbt-h-smarthands.webp");background-size:auto,cover;background-position:0 0,70% center}}

/* banner: decommissioning */
.nbt-section.alignfull.nbt-page-header.nbt-art-decommissioning{min-height:clamp(320px,30vw,460px);display:flex;flex-direction:column;justify-content:center;background-color:#061a30;background-image:linear-gradient(90deg,rgba(5,18,36,.92) 0%,rgba(5,18,36,.82) 30%,rgba(5,18,36,.45) 50%,rgba(5,18,36,.08) 66%,rgba(5,18,36,0) 80%),linear-gradient(180deg,rgba(5,18,36,.25) 0%,rgba(5,18,36,0) 25%,rgba(5,18,36,0) 75%,rgba(5,18,36,.45) 100%),url("https://netbiostech.com/wp-content/uploads/2026/11/nbt-h-decom.webp");background-size:auto,auto,cover;background-position:0 0,0 0,right center;background-repeat:no-repeat}
.nbt-section.alignfull.nbt-page-header.nbt-art-decommissioning::before{display:none}
.nbt-section.alignfull.nbt-page-header.nbt-art-decommissioning .nbt-page-title{text-shadow:0 2px 20px rgba(3,12,28,.6)}
.nbt-section.alignfull.nbt-page-header.nbt-art-decommissioning .nbt-lead{color:rgba(236,243,252,.95);text-shadow:0 1px 12px rgba(3,12,28,.7)}
@media (max-width:63.9375rem){.nbt-section.alignfull.nbt-page-header.nbt-art-decommissioning{background-image:linear-gradient(180deg,rgba(5,18,36,.6) 0%,rgba(5,18,36,.7) 60%,rgba(5,18,36,.86) 100%),url("https://netbiostech.com/wp-content/uploads/2026/11/nbt-h-decom.webp");background-size:auto,cover;background-position:0 0,70% center}}

/* banner: 24x7-support */
.nbt-section.alignfull.nbt-page-header.nbt-art-24x7-support{min-height:clamp(320px,30vw,460px);display:flex;flex-direction:column;justify-content:center;background-color:#061a30;background-image:linear-gradient(90deg,rgba(5,18,36,.92) 0%,rgba(5,18,36,.82) 30%,rgba(5,18,36,.45) 50%,rgba(5,18,36,.08) 66%,rgba(5,18,36,0) 80%),linear-gradient(180deg,rgba(5,18,36,.25) 0%,rgba(5,18,36,0) 25%,rgba(5,18,36,0) 75%,rgba(5,18,36,.45) 100%),url("https://netbiostech.com/wp-content/uploads/2026/11/nbt-h-247.webp");background-size:auto,auto,cover;background-position:0 0,0 0,right center;background-repeat:no-repeat}
.nbt-section.alignfull.nbt-page-header.nbt-art-24x7-support::before{display:none}
.nbt-section.alignfull.nbt-page-header.nbt-art-24x7-support .nbt-page-title{text-shadow:0 2px 20px rgba(3,12,28,.6)}
.nbt-section.alignfull.nbt-page-header.nbt-art-24x7-support .nbt-lead{color:rgba(236,243,252,.95);text-shadow:0 1px 12px rgba(3,12,28,.7)}
@media (max-width:63.9375rem){.nbt-section.alignfull.nbt-page-header.nbt-art-24x7-support{background-image:linear-gradient(180deg,rgba(5,18,36,.6) 0%,rgba(5,18,36,.7) 60%,rgba(5,18,36,.86) 100%),url("https://netbiostech.com/wp-content/uploads/2026/11/nbt-h-247.webp");background-size:auto,cover;background-position:0 0,70% center}}

/* banner: project-support */
.nbt-section.alignfull.nbt-page-header.nbt-art-project-support{min-height:clamp(320px,30vw,460px);display:flex;flex-direction:column;justify-content:center;background-color:#061a30;background-image:linear-gradient(90deg,rgba(5,18,36,.92) 0%,rgba(5,18,36,.82) 30%,rgba(5,18,36,.45) 50%,rgba(5,18,36,.08) 66%,rgba(5,18,36,0) 80%),linear-gradient(180deg,rgba(5,18,36,.25) 0%,rgba(5,18,36,0) 25%,rgba(5,18,36,0) 75%,rgba(5,18,36,.45) 100%),url("https://netbiostech.com/wp-content/uploads/2026/11/nbt-h-project.webp");background-size:auto,auto,cover;background-position:0 0,0 0,right center;background-repeat:no-repeat}
.nbt-section.alignfull.nbt-page-header.nbt-art-project-support::before{display:none}
.nbt-section.alignfull.nbt-page-header.nbt-art-project-support .nbt-page-title{text-shadow:0 2px 20px rgba(3,12,28,.6)}
.nbt-section.alignfull.nbt-page-header.nbt-art-project-support .nbt-lead{color:rgba(236,243,252,.95);text-shadow:0 1px 12px rgba(3,12,28,.7)}
@media (max-width:63.9375rem){.nbt-section.alignfull.nbt-page-header.nbt-art-project-support{background-image:linear-gradient(180deg,rgba(5,18,36,.6) 0%,rgba(5,18,36,.7) 60%,rgba(5,18,36,.86) 100%),url("https://netbiostech.com/wp-content/uploads/2026/11/nbt-h-project.webp");background-size:auto,cover;background-position:0 0,70% center}}

/* banner: about-us */
.nbt-section.alignfull.nbt-page-header.nbt-art-about-us{min-height:clamp(320px,30vw,460px);display:flex;flex-direction:column;justify-content:center;background-color:#061a30;background-image:linear-gradient(90deg,rgba(5,18,36,.92) 0%,rgba(5,18,36,.82) 30%,rgba(5,18,36,.45) 50%,rgba(5,18,36,.08) 66%,rgba(5,18,36,0) 80%),linear-gradient(180deg,rgba(5,18,36,.25) 0%,rgba(5,18,36,0) 25%,rgba(5,18,36,0) 75%,rgba(5,18,36,.45) 100%),url("https://netbiostech.com/wp-content/uploads/2026/11/nbt-h-about.webp");background-size:auto,auto,cover;background-position:0 0,0 0,right center;background-repeat:no-repeat}
.nbt-section.alignfull.nbt-page-header.nbt-art-about-us::before{display:none}
.nbt-section.alignfull.nbt-page-header.nbt-art-about-us .nbt-page-title{text-shadow:0 2px 20px rgba(3,12,28,.6)}
.nbt-section.alignfull.nbt-page-header.nbt-art-about-us .nbt-lead{color:rgba(236,243,252,.95);text-shadow:0 1px 12px rgba(3,12,28,.7)}
@media (max-width:63.9375rem){.nbt-section.alignfull.nbt-page-header.nbt-art-about-us{background-image:linear-gradient(180deg,rgba(5,18,36,.6) 0%,rgba(5,18,36,.7) 60%,rgba(5,18,36,.86) 100%),url("https://netbiostech.com/wp-content/uploads/2026/11/nbt-h-about.webp");background-size:auto,cover;background-position:0 0,70% center}}

/* banner: services */
.nbt-section.alignfull.nbt-page-header.nbt-art-services{min-height:clamp(320px,30vw,460px);display:flex;flex-direction:column;justify-content:center;background-color:#061a30;background-image:linear-gradient(90deg,rgba(5,18,36,.92) 0%,rgba(5,18,36,.82) 30%,rgba(5,18,36,.45) 50%,rgba(5,18,36,.08) 66%,rgba(5,18,36,0) 80%),linear-gradient(180deg,rgba(5,18,36,.25) 0%,rgba(5,18,36,0) 25%,rgba(5,18,36,0) 75%,rgba(5,18,36,.45) 100%),url("https://netbiostech.com/wp-content/uploads/2026/11/nbt-h-services.webp");background-size:auto,auto,cover;background-position:0 0,0 0,right center;background-repeat:no-repeat}
.nbt-section.alignfull.nbt-page-header.nbt-art-services::before{display:none}
.nbt-section.alignfull.nbt-page-header.nbt-art-services .nbt-page-title{text-shadow:0 2px 20px rgba(3,12,28,.6)}
.nbt-section.alignfull.nbt-page-header.nbt-art-services .nbt-lead{color:rgba(236,243,252,.95);text-shadow:0 1px 12px rgba(3,12,28,.7)}
@media (max-width:63.9375rem){.nbt-section.alignfull.nbt-page-header.nbt-art-services{background-image:linear-gradient(180deg,rgba(5,18,36,.6) 0%,rgba(5,18,36,.7) 60%,rgba(5,18,36,.86) 100%),url("https://netbiostech.com/wp-content/uploads/2026/11/nbt-h-services.webp");background-size:auto,cover;background-position:0 0,70% center}}

/* banner: industries */
.nbt-section.alignfull.nbt-page-header.nbt-art-industries{min-height:clamp(320px,30vw,460px);display:flex;flex-direction:column;justify-content:center;background-color:#061a30;background-image:linear-gradient(90deg,rgba(5,18,36,.92) 0%,rgba(5,18,36,.82) 30%,rgba(5,18,36,.45) 50%,rgba(5,18,36,.08) 66%,rgba(5,18,36,0) 80%),linear-gradient(180deg,rgba(5,18,36,.25) 0%,rgba(5,18,36,0) 25%,rgba(5,18,36,0) 75%,rgba(5,18,36,.45) 100%),url("https://netbiostech.com/wp-content/uploads/2026/11/nbt-h-industries.webp");background-size:auto,auto,cover;background-position:0 0,0 0,right center;background-repeat:no-repeat}
.nbt-section.alignfull.nbt-page-header.nbt-art-industries::before{display:none}
.nbt-section.alignfull.nbt-page-header.nbt-art-industries .nbt-page-title{text-shadow:0 2px 20px rgba(3,12,28,.6)}
.nbt-section.alignfull.nbt-page-header.nbt-art-industries .nbt-lead{color:rgba(236,243,252,.95);text-shadow:0 1px 12px rgba(3,12,28,.7)}
@media (max-width:63.9375rem){.nbt-section.alignfull.nbt-page-header.nbt-art-industries{background-image:linear-gradient(180deg,rgba(5,18,36,.6) 0%,rgba(5,18,36,.7) 60%,rgba(5,18,36,.86) 100%),url("https://netbiostech.com/wp-content/uploads/2026/11/nbt-h-industries.webp");background-size:auto,cover;background-position:0 0,70% center}}

/* banner: careers */
.nbt-section.alignfull.nbt-page-header.nbt-art-careers{min-height:clamp(320px,30vw,460px);display:flex;flex-direction:column;justify-content:center;background-color:#061a30;background-image:linear-gradient(90deg,rgba(5,18,36,.92) 0%,rgba(5,18,36,.82) 30%,rgba(5,18,36,.45) 50%,rgba(5,18,36,.08) 66%,rgba(5,18,36,0) 80%),linear-gradient(180deg,rgba(5,18,36,.25) 0%,rgba(5,18,36,0) 25%,rgba(5,18,36,0) 75%,rgba(5,18,36,.45) 100%),url("https://netbiostech.com/wp-content/uploads/2026/11/nbt-h-careers.webp");background-size:auto,auto,cover;background-position:0 0,0 0,right center;background-repeat:no-repeat}
.nbt-section.alignfull.nbt-page-header.nbt-art-careers::before{display:none}
.nbt-section.alignfull.nbt-page-header.nbt-art-careers .nbt-page-title{text-shadow:0 2px 20px rgba(3,12,28,.6)}
.nbt-section.alignfull.nbt-page-header.nbt-art-careers .nbt-lead{color:rgba(236,243,252,.95);text-shadow:0 1px 12px rgba(3,12,28,.7)}
@media (max-width:63.9375rem){.nbt-section.alignfull.nbt-page-header.nbt-art-careers{background-image:linear-gradient(180deg,rgba(5,18,36,.6) 0%,rgba(5,18,36,.7) 60%,rgba(5,18,36,.86) 100%),url("https://netbiostech.com/wp-content/uploads/2026/11/nbt-h-careers.webp");background-size:auto,cover;background-position:0 0,70% center}}

/* Coverage: Frankfurt hub maps (Nov 2026) */
.nbt-home-coverage .nbt-note{margin-top:1.5rem}
.nbt-map-hub img{border-radius:12px;box-shadow:0 18px 40px rgba(6,24,42,.18)}

/* Netbios Tech Software: light redesign (Nov 2026) v2 - dark teal + coral/sunflower. Scoped to body.sw-body - only /software/ pages. */
body.sw-body { --sw-bg: #f4f8f7; --sw-raised: #fff; --sw-line: #dce7e5; --sw-text: #0f2a30; --sw-muted: #4e6469; --sw-accent: #0f766e; --sw-accent-ink: #0b5e58; --sw-on-accent: #fff; --sw-soft: #e3f3f1; --sw-deep: #0b3b44; --sw-deep-2: #0e4f5b; --sw-deep-3: #072b32; --sw-coral: #ff6b4a; --sw-sun: #ffc145; --sw-mint: #2dd4bf; --sw-r: 22px; --sw-shadow: 0 1px 2px rgba(7, 43, 50, .05), 0 12px 30px -14px rgba(7, 43, 50, .22); --sw-shadow-lg: 0 2px 6px rgba(7, 43, 50, .06), 0 30px 60px -26px rgba(7, 43, 50, .45); --sw-dark-panel: radial-gradient(40rem 26rem at 88% 0%, rgba(45, 212, 191, .32), transparent 60%), radial-gradient(32rem 22rem at 0% 100%, rgba(255, 107, 74, .13), transparent 60%), linear-gradient(160deg, #0e4f5b, #0b3b44 55%, #072b32); --sw-grid: linear-gradient(rgba(255, 255, 255, .045) 1px, transparent 1px), linear-gradient(90deg, rgba(255, 255, 255, .045) 1px, transparent 1px); --i-globe: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M2 12h20M12 2a15.3 15.3 0 0 1 4 10 15.3 15.3 0 0 1-4 10 15.3 15.3 0 0 1-4-10 15.3 15.3 0 0 1 4-10z'/%3E%3C/svg%3E"); --i-phone: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='5' y='2' width='14' height='20' rx='2'/%3E%3Cpath d='M12 18h.01'/%3E%3C/svg%3E"); --i-cart: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='8' cy='21' r='1'/%3E%3Ccircle cx='19' cy='21' r='1'/%3E%3Cpath d='M2.05 2.05h2l2.66 12.42a2 2 0 0 0 2 1.58h9.78a2 2 0 0 0 1.95-1.57l1.65-7.43H5.12'/%3E%3C/svg%3E"); --i-layout: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='3' width='18' height='18' rx='2'/%3E%3Cpath d='M3 9h18M9 21V9'/%3E%3C/svg%3E"); --i-bag: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 2 3 6v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V6l-3-4zM3 6h18M16 10a4 4 0 0 1-8 0'/%3E%3C/svg%3E"); --i-server: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2' y='2' width='20' height='8' rx='2'/%3E%3Crect x='2' y='14' width='20' height='8' rx='2'/%3E%3Cpath d='M6 6h.01M6 18h.01'/%3E%3C/svg%3E"); --i-pen: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m12 19 7-7 3 3-7 7-3-3z'/%3E%3Cpath d='m18 13-1.5-7.5L2 2l3.5 14.5L13 18l5-5zM2 2l7.586 7.586'/%3E%3Ccircle cx='11' cy='11' r='2'/%3E%3C/svg%3E"); --i-layers: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 2 2 7l10 5 10-5-10-5zM2 17l10 5 10-5M2 12l10 5 10-5'/%3E%3C/svg%3E"); --i-route: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='6' cy='19' r='3'/%3E%3Cpath d='M9 19h8.5a3.5 3.5 0 0 0 0-7h-11a3.5 3.5 0 0 1 0-7H15'/%3E%3Ccircle cx='18' cy='5' r='3'/%3E%3C/svg%3E"); --i-wrench: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.77-3.77a6 6 0 0 1-7.94 7.94l-6.91 6.91a2.12 2.12 0 0 1-3-3l6.91-6.91a6 6 0 0 1 7.94-7.94l-3.76 3.76z'/%3E%3C/svg%3E"); --i-users: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2'/%3E%3Ccircle cx='9' cy='7' r='4'/%3E%3Cpath d='M22 21v-2a4 4 0 0 0-3-3.87M16 3.13a4 4 0 0 1 0 7.75'/%3E%3C/svg%3E"); --i-target: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Ccircle cx='12' cy='12' r='6'/%3E%3Ccircle cx='12' cy='12' r='2'/%3E%3C/svg%3E"); --i-compass: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='m16.24 7.76-2.12 6.36-6.36 2.12 2.12-6.36z'/%3E%3C/svg%3E"); --i-checkc: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='m9 12 2 2 4-4'/%3E%3C/svg%3E"); --i-check: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E"); --i-arrow: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M12 5l7 7-7 7'/%3E%3C/svg%3E"); --i-upright: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 17 17 7M7 7h10v10'/%3E%3C/svg%3E"); --i-left: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M19 12H5M12 19l-7-7 7-7'/%3E%3C/svg%3E"); --i-code: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m16 18 6-6-6-6M8 6l-6 6 6 6'/%3E%3C/svg%3E"); --i-spark: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m12 3 1.9 5.8L20 11l-6.1 2.2L12 19l-1.9-5.8L4 11l6.1-2.2z'/%3E%3C/svg%3E"); --i-bug: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='8' y='6' width='8' height='14' rx='4'/%3E%3Cpath d='m19 7-3 2M5 7l3 2M19 19l-3-2M5 19l3-2M20 13h-4M4 13h4M10 4l1 2M14 4l-1 2'/%3E%3C/svg%3E"); --i-plus: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='3' width='18' height='18' rx='2'/%3E%3Cpath d='M12 8v8M8 12h8'/%3E%3C/svg%3E"); --i-gauge: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m12 14 4-4M3.34 19a10 10 0 1 1 17.32 0'/%3E%3C/svg%3E"); --i-palette: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='13.5' cy='6.5' r='1'/%3E%3Ccircle cx='17.5' cy='10.5' r='1'/%3E%3Ccircle cx='8.5' cy='7.5' r='1'/%3E%3Ccircle cx='6.5' cy='12.5' r='1'/%3E%3Cpath d='M12 2C6.5 2 2 6.5 2 12s4.5 10 10 10c.93 0 1.65-.75 1.65-1.69 0-.44-.18-.84-.44-1.13-.29-.29-.44-.65-.44-1.13a1.64 1.64 0 0 1 1.67-1.67h2c3.05 0 5.55-2.5 5.55-5.55C21.97 6.01 17.46 2 11.98 2z'/%3E%3C/svg%3E"); --i-shield: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z'/%3E%3Cpath d='m9 12 2 2 4-4'/%3E%3C/svg%3E"); --i-db: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cellipse cx='12' cy='5' rx='9' ry='3'/%3E%3Cpath d='M3 5v14c0 1.66 4 3 9 3s9-1.34 9-3V5M3 12c0 1.66 4 3 9 3s9-1.34 9-3'/%3E%3C/svg%3E"); --i-buoy: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Ccircle cx='12' cy='12' r='4'/%3E%3Cpath d='m4.93 4.93 4.24 4.24M14.83 14.83l4.24 4.24M14.83 9.17l4.24-4.24M4.93 19.07l4.24-4.24'/%3E%3C/svg%3E"); --i-monitor: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2' y='3' width='20' height='14' rx='2'/%3E%3Cpath d='M8 21h8M12 17v4'/%3E%3C/svg%3E"); --i-lock: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='11' width='18' height='11' rx='2'/%3E%3Cpath d='M7 11V7a5 5 0 0 1 10 0v4'/%3E%3C/svg%3E"); --i-cloud: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M17.5 19H9a7 7 0 1 1 6.71-9h1.79a4.5 4.5 0 1 1 0 9z'/%3E%3C/svg%3E"); --i-flask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 3h6M10 3v6l-5 9a2 2 0 0 0 1.7 3h10.6a2 2 0 0 0 1.7-3l-5-9V3'/%3E%3C/svg%3E"); --i-git: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='18' cy='18' r='3'/%3E%3Ccircle cx='6' cy='6' r='3'/%3E%3Cpath d='M6 21V9a9 9 0 0 0 9 9'/%3E%3C/svg%3E"); --i-plug: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 22v-5M9 8V2M15 8V2M18 8v5a4 4 0 0 1-4 4h-4a4 4 0 0 1-4-4V8z'/%3E%3C/svg%3E"); --i-rocket: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4.5 16.5c-1.5 1.26-2 5-2 5s3.74-.5 5-2c.71-.84.7-2.13-.09-2.91a2.18 2.18 0 0 0-2.91-.09zM12 15l-3-3a22 22 0 0 1 2-3.95A12.88 12.88 0 0 1 22 2c0 2.72-.78 7.5-6 11a22.35 22.35 0 0 1-4 2z'/%3E%3C/svg%3E"); --i-search: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3Cpath d='m21 21-4.3-4.3'/%3E%3C/svg%3E"); --i-mail: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2' y='4' width='20' height='16' rx='2'/%3E%3Cpath d='m22 7-10 7L2 7'/%3E%3C/svg%3E"); --i-refresh: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 12a9 9 0 0 1 15-6.7L21 8M21 3v5h-5M21 12a9 9 0 0 1-15 6.7L3 16M3 21v-5h5'/%3E%3C/svg%3E"); --i-card: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2' y='5' width='20' height='14' rx='2'/%3E%3Cpath d='M2 10h20'/%3E%3C/svg%3E"); --i-key: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='7.5' cy='15.5' r='5.5'/%3E%3Cpath d='m21 2-9.6 9.6M15.5 7.5l3 3L22 7l-3-3'/%3E%3C/svg%3E"); --i-zap: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M13 2 3 14h9l-1 8 10-12h-9l1-8z'/%3E%3C/svg%3E"); --i-users2: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2'/%3E%3Ccircle cx='9' cy='7' r='4'/%3E%3C/svg%3E"); background: var(--sw-bg); color: var(--sw-text); overflow-x: clip; } body.page-id-98 { --sw-page-img: url("https://netbiostech.com/wp-content/uploads/2026/11/sw2-web.webp"); --sw-page-i: var(--i-globe); --sw-lead: "Custom web applications, portals and dashboards built around how your business actually works."; } body.page-id-99 { --sw-page-img: url("https://netbiostech.com/wp-content/uploads/2026/11/sw2-mobile.webp"); --sw-page-i: var(--i-phone); --sw-lead: "Cross-platform apps for Android and iOS, connected to your backend and the services you already use."; } body.page-id-100 { --sw-page-img: url("https://netbiostech.com/wp-content/uploads/2026/11/sw2-ecommerce.webp"); --sw-page-i: var(--i-cart); --sw-lead: "Online stores and commerce platforms, from product catalogue to checkout and fulfilment."; } body.page-id-101 { --sw-page-img: url("https://netbiostech.com/wp-content/uploads/2026/11/sw2-wordpress.webp"); --sw-page-i: var(--i-layout); --sw-lead: "Fast, easy-to-edit WordPress websites, themes and custom functionality."; } body.page-id-102 { --sw-page-img: url("https://netbiostech.com/wp-content/uploads/2026/11/sw2-shopify.webp"); --sw-page-i: var(--i-bag); --sw-lead: "Shopify stores, themes and integrations set up to sell from day one."; } body.page-id-103 { --sw-page-img: url("https://netbiostech.com/wp-content/uploads/2026/11/sw2-backend.webp"); --sw-page-i: var(--i-server); --sw-lead: "Secure APIs, business logic and integrations that power your web and mobile apps."; } body.page-id-104 { --sw-page-img: url("https://netbiostech.com/wp-content/uploads/2026/11/sw2-uiux.webp"); --sw-page-i: var(--i-pen); --sw-lead: "Clean, responsive interfaces built from reusable components and design systems."; } body.page-id-105 { --sw-page-img: url("https://netbiostech.com/wp-content/uploads/2026/11/sw2-stack.webp"); --sw-page-i: var(--i-layers); --sw-lead: "The languages, frameworks and platforms we use to design, build, test and ship."; } body.page-id-106 { --sw-page-img: url("https://netbiostech.com/wp-content/uploads/2026/11/sw2-approach.webp"); --sw-page-i: var(--i-route); --sw-lead: "A clear seven-step process, from first requirements to long-term improvement."; } body.page-id-107 { --sw-page-img: url("https://netbiostech.com/wp-content/uploads/2026/11/sw2-maintenance.webp"); --sw-page-i: var(--i-wrench); --sw-lead: "Keep your website or application secure, fast and up to date after launch."; } body.sw-body .sw-loader, html.sw-intro .sw-loader { display: none !important; } body.sw-body ::selection { background: #bdeee6; color: var(--sw-deep); } body.sw-body :focus-visible { outline: 3px solid var(--sw-sun); outline-offset: 3px; border-radius: 8px; } @keyframes swFloat { 0%, 100% { transform: perspective(1400px) rotateY(-14deg) rotateX(7deg) translateY(0); } 50% { transform: perspective(1400px) rotateY(-9deg) rotateX(4deg) translateY(-14px); } } @keyframes swFloatArt { 0%, 100% { transform: translateY(-50%) perspective(1400px) rotateY(-14deg) rotateX(6deg); } 50% { transform: translateY(calc(-50% - 12px)) perspective(1400px) rotateY(-9deg) rotateX(3deg); } } @keyframes swFloatSoft { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-10px); } } @keyframes swGridMove { to { background-position: 0 48px, 0 0; } } @keyframes swOrb { 0% { transform: translate(0, 0) scale(1); } 50% { transform: translate(-6%, 8%) scale(1.15); } 100% { transform: translate(5%, -4%) scale(.95); } } @keyframes swMarquee { to { background-position-x: -2987.5px; } } @keyframes swPulse { 0%, 100% { box-shadow: 0 0 0 0 rgba(45, 212, 191, .6); } 50% { box-shadow: 0 0 0 7px rgba(45, 212, 191, 0); } } @keyframes swReveal { from { opacity: 0; translate: 0 28px; scale: .97; } to { opacity: 1; translate: 0 0; scale: 1; } } body.sw-body .sw-btn { display: inline-flex; align-items: center; gap: .55rem; padding: .95rem 1.55rem; border: 0; border-radius: 14px; background: var(--sw-accent); color: #fff; font-family: var(--sw-display); font-weight: 700; letter-spacing: -.005em; box-shadow: 0 5px 0 #0a4f49, 0 16px 26px -12px rgba(7, 43, 50, .6); transition: transform .15s ease, box-shadow .15s ease, background-color .15s; } body.sw-body .sw-btn::after { content: ""; width: 18px; height: 18px; background: currentColor; -webkit-mask: var(--i-arrow) center / contain no-repeat; mask: var(--i-arrow) center / contain no-repeat; transition: transform .2s; } body.sw-body .sw-btn:hover { background: var(--sw-accent-ink); color: #fff; transform: translateY(-2px); box-shadow: 0 7px 0 #0a4f49, 0 20px 30px -12px rgba(7, 43, 50, .6); } body.sw-body .sw-btn:hover::after { transform: translateX(3px); } body.sw-body .sw-btn:active { transform: translateY(4px); box-shadow: 0 1px 0 #0a4f49, 0 6px 12px -6px rgba(7, 43, 50, .6); } body.sw-body .sw-hero .sw-btn, body.sw-body .sw-cta .sw-btn { background: var(--sw-sun); color: var(--sw-deep); box-shadow: 0 5px 0 #c98d12, 0 18px 30px -12px rgba(0, 0, 0, .55); } body.sw-body .sw-hero .sw-btn:hover, body.sw-body .sw-cta .sw-btn:hover { background: #ffcd66; color: var(--sw-deep); box-shadow: 0 7px 0 #c98d12, 0 22px 34px -12px rgba(0, 0, 0, .55); } body.sw-body .sw-hero .sw-btn:active, body.sw-body .sw-cta .sw-btn:active { box-shadow: 0 1px 0 #c98d12; } body.sw-body .sw-header { position: sticky; top: 0; z-index: 50; background: rgba(255, 255, 255, .84); -webkit-backdrop-filter: saturate(160%) blur(14px); backdrop-filter: saturate(160%) blur(14px); border-bottom: 1px solid var(--sw-line); } body.admin-bar.sw-body .sw-header { top: 32px; } @media (max-width: 782px) { body.admin-bar.sw-body .sw-header { top: 0; position: relative; } } body.sw-body .sw-header-inner { padding-top: .85rem; padding-bottom: .85rem; gap: .75rem 1.25rem; } body.sw-body .sw-wordmark { display: inline-flex; align-items: center; gap: .65rem; color: var(--sw-deep); font-size: 1.12rem; letter-spacing: -.015em; } body.sw-body .sw-wordmark::before { content: ""; flex: none; width: 36px; height: 36px; border-radius: 11px; box-shadow: 0 3px 0 #062a30, 0 8px 16px -6px rgba(7, 43, 50, .5); background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23FFC145' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m16 18 6-6-6-6M8 6l-6 6 6 6'/%3E%3C/svg%3E") center / 18px no-repeat, linear-gradient(140deg, #0f766e, #0b3b44); } body.sw-body .sw-nav { align-items: center; gap: .25rem; } body.sw-body .sw-nav a { padding: .45rem .8rem; border-radius: 10px; color: var(--sw-muted); font-size: .93rem; font-weight: 550; text-decoration: none; transition: background-color .15s, color .15s; } body.sw-body .sw-nav a:hover { background: var(--sw-soft); color: var(--sw-deep); } body.sw-body .sw-nav a[aria-current="page"] { background: var(--sw-deep); color: #fff; text-decoration: none; } body.sw-body .sw-nav .sw-nav-main { display: inline-flex; align-items: center; gap: .35rem; margin-left: .35rem; border: 1px solid var(--sw-line); background: #fff; color: var(--sw-deep); } body.sw-body .sw-nav .sw-nav-main::after { content: ""; width: 14px; height: 14px; background: currentColor; -webkit-mask: var(--i-upright) center / contain no-repeat; mask: var(--i-upright) center / contain no-repeat; } body.sw-body .sw-services-nav { padding-top: .7rem; border-top: 1px solid var(--sw-line); } body.sw-body .sw-services { flex-wrap: nowrap; gap: .5rem; overflow-x: auto; scrollbar-width: none; padding-bottom: 2px; } body.sw-body .sw-services::-webkit-scrollbar { display: none; } body.sw-body .sw-services a { display: inline-block; white-space: nowrap; padding: .4rem .85rem; border: 1px solid var(--sw-line); border-radius: 999px; background: #fff; color: var(--sw-muted); font-family: var(--sw-body); font-size: .82rem; font-weight: 550; text-decoration: none; transition: border-color .15s, color .15s; } body.sw-body .sw-services a:hover { border-color: #9fd9cf; color: var(--sw-accent-ink); } body.sw-body .sw-services a[aria-current="page"] { background: var(--sw-coral); border-color: var(--sw-coral); color: #fff; text-decoration: none; } body.sw-body .sw-hero { padding: 1.25rem 0 0; } body.sw-body .sw-hero-grid, body.sw-body .sw-page-head, body.sw-body .sw-cta-inner { position: relative; isolation: isolate; overflow: hidden; border-radius: 32px; color: #fff; box-shadow: var(--sw-shadow-lg); background: var(--sw-dark-panel); } body.sw-body .sw-hero-grid::before, body.sw-body .sw-cta-inner::before { content: ""; position: absolute; z-index: -1; left: -40%; right: -40%; bottom: -10%; height: 70%; background-image: var(--sw-grid); background-size: 48px 48px; transform: perspective(520px) rotateX(64deg); transform-origin: 50% 100%; -webkit-mask-image: linear-gradient(to top, #000 15%, transparent 85%); mask-image: linear-gradient(to top, #000 15%, transparent 85%); animation: swGridMove 5s linear infinite; } body.sw-body .sw-hero-grid::after { content: ""; position: absolute; z-index: -1; width: 26rem; height: 26rem; right: 8%; top: 4%; border-radius: 50%; background: radial-gradient(circle, rgba(255, 193, 69, .28), rgba(255, 107, 74, .12) 45%, transparent 70%); filter: blur(10px); animation: swOrb 14s ease-in-out infinite alternate; } body.sw-body .sw-hero-grid { align-items: center; gap: 2rem; padding: 2.5rem 1.4rem 7rem; } body.sw-body .sw-hero-copy::before { content: "Netbios Tech · Software studio"; display: inline-flex; align-items: center; margin-bottom: 1.4rem; padding: .42rem .95rem .42rem 1.9rem; border: 1px solid rgba(255, 255, 255, .18); border-radius: 999px; background: rgba(255, 255, 255, .08) radial-gradient(circle at 15px 50%, var(--sw-mint) 4px, transparent 5px); color: #b5e3dc; font-size: .82rem; font-weight: 600; letter-spacing: .01em; } body.sw-body .sw-hero-title { max-width: 12ch; font-size: clamp(2.6rem, 6.4vw, 5.1rem); font-weight: 700; line-height: 1.02; letter-spacing: -.04em; background: linear-gradient(100deg, #fff 0%, #fff 48%, #ffc145 76%, #ff6b4a 100%); -webkit-background-clip: text; background-clip: text; color: transparent; } body.sw-body .sw-hero-sub { display: inline-block; margin-top: 1.4rem; padding: .55rem 1rem; border: 1px solid rgba(255, 255, 255, .16); border-radius: 12px; background: rgba(255, 255, 255, .07); color: #e6f4f2; font-family: var(--sw-body); font-size: .95rem; font-weight: 500; word-spacing: .1em; } body.sw-body .sw-hero-actions { margin-top: 2rem; gap: 1rem; } body.sw-body .sw-hero-actions .sw-link { display: inline-flex; align-items: center; gap: .45rem; padding: .9rem 1.35rem; border: 1px solid rgba(255, 255, 255, .28); border-radius: 14px; color: #fff; font-family: var(--sw-display); font-weight: 600; text-decoration: none; transition: background-color .15s, transform .15s; } body.sw-body .sw-hero-actions .sw-link::after { content: ""; width: 16px; height: 16px; background: currentColor; -webkit-mask: var(--i-arrow) center / contain no-repeat; mask: var(--i-arrow) center / contain no-repeat; transform: rotate(90deg); } body.sw-body .sw-hero-actions .sw-link:hover { background: rgba(255, 255, 255, .1); color: #fff; transform: translateY(-2px); } body.sw-body .sw-term { align-self: center; width: 100%; aspect-ratio: 6 / 5; margin: 0; border: 1px solid rgba(255, 255, 255, .5); border-radius: 28px; background: url("https://netbiostech.com/wp-content/uploads/2026/11/sw2-hero.webp") center / 90% no-repeat, linear-gradient(180deg, #fff, #e3f3f1); box-shadow: -30px 40px 80px -30px rgba(0, 0, 0, .6), inset 0 1px 0 rgba(255, 255, 255, .9); transform: perspective(1400px) rotateY(-14deg) rotateX(7deg); animation: swFloat 7s ease-in-out infinite; } body.sw-body .sw-term > * { display: none; } body.sw-body .sw-about { position: relative; z-index: 2; display: grid; gap: 1rem; margin: -5rem .75rem 0; border: 0; } body.sw-body .sw-about-row { position: relative; display: block; padding: 1.4rem 1.4rem 1.5rem 5.1rem; border: 1px solid rgba(255, 255, 255, .7); border-radius: var(--sw-r); background: rgba(255, 255, 255, .92); -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px); box-shadow: var(--sw-shadow-lg); transition: transform .25s ease; } body.sw-body .sw-about-row:last-child { border-bottom: 1px solid rgba(255, 255, 255, .7); } body.sw-body .sw-about-row:hover { transform: perspective(900px) rotateX(4deg) translateY(-4px); } body.sw-body .sw-about-row::before { content: ""; position: absolute; left: 1.4rem; top: 1.4rem; width: 44px; height: 44px; border-radius: 13px; background: var(--tile); box-shadow: inset 0 -3px 0 rgba(0, 0, 0, .06); } body.sw-body .sw-about-row::after { content: ""; position: absolute; left: calc(1.4rem + 11px); top: calc(1.4rem + 11px); width: 22px; height: 22px; background: var(--tile-ink); -webkit-mask: var(--i) center / contain no-repeat; mask: var(--i) center / contain no-repeat; } body.sw-body .sw-about dt { margin-bottom: .35rem; color: var(--sw-deep); font-family: var(--sw-display); font-size: 1.1rem; font-weight: 700; line-height: 1.3; } body.sw-body .sw-about dd { max-width: none; color: var(--sw-muted); font-size: .97rem; line-height: 1.6; } body.sw-body .sw-hero::after { content: ""; display: block; height: 64px; margin-top: 3.5rem; background: url("https://netbiostech.com/wp-content/uploads/2026/11/sw2-stack-strip.webp") 0 50% / auto 64px repeat-x; animation: swMarquee 70s linear infinite; -webkit-mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); } body.sw-body .sw-section { padding: 4.5rem 0; border-top: 0; } body.sw-body .sw-h2 { font-size: clamp(1.9rem, 3.6vw, 2.8rem); font-weight: 700; letter-spacing: -.03em; color: var(--sw-deep); } body.sw-body .sw-h2::before { content: ""; display: block; width: 48px; height: 6px; margin-bottom: 1rem; border-radius: 6px; background: linear-gradient(90deg, var(--sw-accent), var(--sw-sun) 60%, var(--sw-coral)); } body.sw-body .sw-section .sw-cards { gap: 1.1rem; border: 0; } body.sw-body .sw-card { position: relative; overflow: hidden; padding: 5.4rem 1.5rem 1.5rem; border: 1px solid var(--sw-line); border-radius: var(--sw-r); background: #fff; box-shadow: var(--sw-shadow); transform-style: preserve-3d; transition: transform .3s cubic-bezier(.2, .8, .2, 1), box-shadow .3s, border-color .3s; } body.sw-body .sw-card::before { content: ""; position: absolute; left: 1.5rem; top: 1.5rem; width: 54px; height: 54px; border-radius: 16px; background: var(--tile); box-shadow: inset 0 -4px 0 rgba(0, 0, 0, .07); transition: transform .3s; } body.sw-body .sw-card::after { content: ""; position: absolute; left: calc(1.5rem + 14px); top: calc(1.5rem + 14px); width: 26px; height: 26px; background: var(--tile-ink); -webkit-mask: var(--i) center / contain no-repeat; mask: var(--i) center / contain no-repeat; transition: transform .3s; } body.sw-body .sw-card:hover, body.sw-body .sw-card:focus-within { background: #fff; outline: none; border-color: #a9ddd4; box-shadow: var(--sw-shadow-lg); transform: perspective(1000px) rotateX(5deg) rotateY(-5deg) translateY(-6px); } body.sw-body .sw-card:hover::before { transform: translateZ(30px) rotate(-8deg) scale(1.06); } body.sw-body .sw-card:hover::after { transform: translateZ(30px) rotate(-8deg) scale(1.06); } body.sw-body .sw-card-n { position: absolute; top: .9rem; right: 1.2rem; color: transparent; -webkit-text-stroke: 1.5px #cfe3e0; font-family: var(--sw-display); font-size: 2.8rem; font-weight: 700; line-height: 1; letter-spacing: -.04em; transition: -webkit-text-stroke-color .3s; } body.sw-body .sw-card:hover .sw-card-n { color: transparent; -webkit-text-stroke-color: var(--sw-sun); } body.sw-body .sw-card-title { margin: 0 0 .75rem; color: var(--sw-deep); font-size: 1.2rem; font-weight: 700; letter-spacing: -.015em; } body.sw-body .sw-card:hover .sw-card-link { text-decoration: none; color: var(--sw-accent-ink); } body.sw-body .sw-section .sw-card-items { gap: .4rem; } body.sw-body .sw-card-items li { position: relative; padding-left: 1.5rem; color: var(--sw-muted); font-size: .93rem; } body.sw-body .sw-card-items li::before { content: ""; position: absolute; left: 0; top: .28em; width: 15px; height: 15px; background: var(--sw-accent); -webkit-mask: var(--i-check) center / contain no-repeat; mask: var(--i-check) center / contain no-repeat; } body.sw-body .sw-card-more { display: inline-flex; align-items: center; gap: .35rem; padding-top: 1.1rem; color: var(--sw-coral); font-family: var(--sw-body); font-size: .86rem; font-weight: 700; } body.sw-body .sw-card-more::after { content: ""; width: 15px; height: 15px; background: currentColor; -webkit-mask: var(--i-arrow) center / contain no-repeat; mask: var(--i-arrow) center / contain no-repeat; transition: transform .2s; } body.sw-body .sw-card:hover .sw-card-more::after { transform: translateX(4px); } body.sw-body .sw-card:first-child { border-color: transparent; color: #fff; background: url("https://netbiostech.com/wp-content/uploads/2026/11/sw2-web.webp") right -2rem bottom -1.5rem / 62% no-repeat, var(--sw-dark-panel); } body.sw-body .sw-card:first-child:hover { background: url("https://netbiostech.com/wp-content/uploads/2026/11/sw2-web.webp") right -2rem bottom -1.5rem / 62% no-repeat, var(--sw-dark-panel); border-color: transparent; } body.sw-body .sw-card:first-child::before { background: var(--sw-sun); } body.sw-body .sw-card:first-child::after { background: var(--sw-deep); } body.sw-body .sw-card:first-child .sw-card-title, body.sw-body .sw-card:first-child .sw-card-link { color: #fff; } body.sw-body .sw-card:first-child .sw-card-items li { color: #cfe7e3; } body.sw-body .sw-card:first-child .sw-card-items li::before { background: var(--sw-mint); } body.sw-body .sw-card:first-child .sw-card-n { -webkit-text-stroke-color: rgba(255, 255, 255, .25); } body.sw-body .sw-card:first-child .sw-card-more { color: var(--sw-sun); } body.sw-body .sw-cards-aside { padding: 1.6rem; border: 0; border-radius: var(--sw-r); color: var(--sw-deep); box-shadow: var(--sw-shadow-lg); background: radial-gradient(18rem 12rem at 100% 0%, rgba(255, 255, 255, .45), transparent 60%), linear-gradient(140deg, #ffc145, #ff8a5b); } body.sw-body .sw-cards-aside-label { color: rgba(11, 59, 68, .75); font-family: var(--sw-body); font-size: .8rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; } body.sw-body .sw-section .sw-cards-aside ul { gap: .6rem; justify-items: stretch; } body.sw-body .sw-aside-link { display: flex; align-items: center; justify-content: space-between; gap: .5rem; padding: .85rem 1rem; border-radius: 14px; background: rgba(255, 255, 255, .55); color: var(--sw-deep); font-size: 1rem; font-weight: 700; text-decoration: none; transition: background-color .15s, transform .15s; } body.sw-body .sw-aside-link::after { content: ""; flex: none; width: 16px; height: 16px; background: currentColor; -webkit-mask: var(--i-upright) center / contain no-repeat; mask: var(--i-upright) center / contain no-repeat; } body.sw-body .sw-aside-link:hover { background: #fff; transform: translateX(3px); } body.sw-body .sw-section .sw-solutions { display: flex; flex-wrap: wrap; gap: .65rem; border: 0; } body.sw-body .sw-solutions li { display: inline-flex; align-items: center; gap: .55rem; padding: .7rem 1.05rem .7rem .8rem; border: 1px solid var(--sw-line); border-radius: 14px; background: #fff; box-shadow: 0 3px 0 #e2ecea; font-family: var(--sw-body); font-size: .97rem; font-weight: 550; color: var(--sw-deep); transition: transform .2s, box-shadow .2s; } body.sw-body .sw-solutions li:hover { transform: translateY(-3px) rotate(-1deg); box-shadow: 0 6px 0 #d3e5e2, 0 14px 20px -12px rgba(7, 43, 50, .3); } body.sw-body .sw-solutions li::before { content: ""; width: 20px; height: 20px; flex: none; background: var(--sw-accent); -webkit-mask: var(--i-spark) center / contain no-repeat; mask: var(--i-spark) center / contain no-repeat; } body.sw-body .sw-solutions li:nth-child(3n+2)::before { background: var(--sw-coral); } body.sw-body .sw-solutions li:nth-child(3n)::before { background: #e0a21a; } body.sw-body .sw-section + .sw-section + .sw-section { background: #fff; border-top: 1px solid var(--sw-line); } body.sw-body .sw-section .sw-why { gap: .9rem; } body.sw-body .sw-why li { display: flex; align-items: center; gap: .9rem; min-height: 74px; padding: 1rem 1.2rem; border-radius: 16px; background: var(--tile); color: var(--sw-deep); font-weight: 600; transition: transform .2s; } body.sw-body .sw-why li:hover { transform: translateY(-3px); } body.sw-body .sw-why li::before { content: ""; position: static; flex: none; width: 36px; height: 36px; border-radius: 11px; background: #fff var(--i-check) center / 18px no-repeat; box-shadow: 0 3px 0 rgba(0, 0, 0, .06); } body.sw-body .sw-cta { padding: 2rem 0 4.5rem; border-top: 0; background: transparent; } body.sw-body .sw-cta-inner { gap: 1rem 3rem; padding: 2.5rem 1.6rem 13rem; } body.sw-body .sw-cta-title { position: relative; z-index: 1; color: #fff; font-size: clamp(2rem, 4.6vw, 3.3rem); font-weight: 700; letter-spacing: -.035em; } body.sw-body .sw-cta-body { position: relative; z-index: 1; } body.sw-body .sw-cta-text { color: #cfe7e3; } body.sw-body .sw-cta-address { display: inline-flex; align-items: center; gap: .5rem; color: #e6f4f2; font-family: var(--sw-body); } body.sw-body .sw-cta-address::before { content: ""; width: 18px; height: 18px; background: var(--sw-sun); -webkit-mask: var(--i-mail) center / contain no-repeat; mask: var(--i-mail) center / contain no-repeat; } body.sw-body .sw-cta-inner::after { content: ""; position: absolute; z-index: 0; right: 50%; bottom: .5rem; width: 12rem; aspect-ratio: 9 / 7; margin-right: -6rem; background: url("https://netbiostech.com/wp-content/uploads/2026/11/sw2-cta.webp") center / contain no-repeat; animation: swFloatSoft 4s ease-in-out infinite; pointer-events: none; } body.sw-body .sw-footer { border-top: 0; background: var(--sw-deep-3); } body.sw-body .sw-footer .sw-wrap { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 1rem; padding-top: 1.6rem; padding-bottom: 1.8rem; } body.sw-body .sw-footer .sw-wrap::before { content: "© Netbios Tech UG · Software"; color: #9fb9bd; font-size: .88rem; } body.sw-body .sw-footer-links { padding: 0; gap: .4rem; } body.sw-body .sw-footer-links a { padding: .35rem .75rem; border-radius: 999px; color: #cfe7e3; font-size: .88rem; text-decoration: none; } body.sw-body .sw-footer-links a:hover { background: rgba(255, 255, 255, .08); color: var(--sw-sun); } body.sw-body .sw-page { padding-top: 1.25rem; padding-bottom: 3.5rem; } body.sw-body .sw-page.sw-split { display: block; } body.sw-body .sw-page-head { margin-bottom: 2.5rem; padding: 2.25rem 1.4rem calc(min(66vw, 22rem) + 2.5rem); background: var(--sw-grid), var(--sw-dark-panel); background-size: 48px 48px, 48px 48px, auto; } body.sw-body .sw-page-head::before { content: ""; position: absolute; left: 1.4rem; right: 1.4rem; bottom: 1.6rem; aspect-ratio: 4 / 3; max-height: min(66vw, 22rem); margin: 0 auto; border: 1px solid rgba(255, 255, 255, .5); border-radius: 24px; background: var(--sw-page-img) center / 92% no-repeat, linear-gradient(180deg, #fff, #e3f3f1); box-shadow: -24px 32px 60px -28px rgba(0, 0, 0, .6); animation: swFloatSoft 6s ease-in-out infinite; } body.sw-body .sw-eyebrow { margin-bottom: 1.1rem; } body.sw-body .sw-eyebrow .sw-link { display: inline-flex; align-items: center; gap: .4rem; padding: .38rem .85rem .38rem .65rem; border: 1px solid rgba(255, 255, 255, .22); border-radius: 999px; background: rgba(255, 255, 255, .08); color: #e6f4f2; font-family: var(--sw-body); font-size: .82rem; font-weight: 600; text-decoration: none; } body.sw-body .sw-eyebrow .sw-link::before { content: ""; width: 14px; height: 14px; background: currentColor; -webkit-mask: var(--i-left) center / contain no-repeat; mask: var(--i-left) center / contain no-repeat; } body.sw-body .sw-eyebrow .sw-link:hover { color: var(--sw-sun); border-color: rgba(255, 193, 69, .5); } body.sw-body .sw-page-head .sw-h1 { max-width: 14ch; color: #fff; font-size: clamp(2.3rem, 5.4vw, 4rem); font-weight: 700; letter-spacing: -.04em; line-height: 1.04; } body.sw-body .sw-page-head::after { content: var(--sw-lead, ""); display: block; max-width: 34rem; margin-top: 1.1rem; color: #cfe7e3; font-size: 1.1rem; line-height: 1.6; } body.sw-body .sw-service-list, body.sw-body .sw-support-list { display: grid; gap: 1rem; border: 0; } body.sw-body .sw-service-list::before { content: "What we build"; grid-column: 1 / -1; margin-bottom: .25rem; color: var(--sw-deep); font-family: var(--sw-display); font-size: 1.55rem; font-weight: 700; letter-spacing: -.02em; } body.sw-body .sw-service-list li, body.sw-body .sw-support-list li { position: relative; display: flex; align-items: center; gap: 1rem; min-height: 86px; padding: 1.1rem 3rem 1.1rem 1.1rem; border: 1px solid var(--sw-line); border-radius: 18px; background: #fff; box-shadow: var(--sw-shadow); color: var(--sw-deep); font-family: var(--sw-body); font-size: 1.02rem; font-weight: 600; line-height: 1.4; transition: transform .3s cubic-bezier(.2, .8, .2, 1), box-shadow .3s, border-color .3s; } body.sw-body .sw-service-list li:hover, body.sw-body .sw-support-list li:hover { border-color: #a9ddd4; box-shadow: var(--sw-shadow-lg); transform: perspective(900px) rotateX(5deg) rotateY(-4deg) translateY(-4px); } body.sw-body .sw-service-list li::before, body.sw-body .sw-support-list li::before { content: ""; flex: none; width: 50px; height: 50px; border-radius: 15px; background: var(--tile); box-shadow: inset 0 -4px 0 rgba(0, 0, 0, .07); } body.sw-body .sw-service-list li::after, body.sw-body .sw-support-list li::after { content: ""; position: absolute; left: calc(1.1rem + 13px); top: 50%; width: 24px; height: 24px; margin-top: -12px; background: var(--tile-ink); -webkit-mask: var(--i, var(--sw-page-i)) center / contain no-repeat; mask: var(--i, var(--sw-page-i)) center / contain no-repeat; } body.sw-body .sw-service-list .sw-index, body.sw-body .sw-support-list .sw-index { position: absolute; top: .7rem; right: .9rem; color: #9fb9bd; font-size: .72rem; } body.sw-body .sw-related { padding: 0 0 3rem; border: 0; } body.sw-body .sw-related-title { color: var(--sw-deep); font-family: var(--sw-display); font-size: 1.25rem; font-weight: 700; } body.sw-body .sw-related-list { gap: .6rem; } body.sw-body .sw-related-link { display: inline-flex; align-items: center; gap: .45rem; padding: .6rem 1rem; border: 1px solid var(--sw-line); border-radius: 12px; background: #fff; box-shadow: 0 3px 0 #e2ecea; color: var(--sw-deep); font-family: var(--sw-body); font-size: .93rem; font-weight: 550; text-decoration: none; transition: transform .15s, box-shadow .15s, color .15s; } body.sw-body .sw-related-link::after { content: ""; width: 14px; height: 14px; background: var(--sw-coral); -webkit-mask: var(--i-upright) center / contain no-repeat; mask: var(--i-upright) center / contain no-repeat; } body.sw-body .sw-related-link:hover { color: var(--sw-accent-ink); transform: translateY(-2px); box-shadow: 0 5px 0 #d3e5e2; } body.sw-body .sw-stack { display: block; } body.sw-body .sw-stack thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); } body.sw-body .sw-stack tbody { display: grid; gap: 1rem; } body.sw-body .sw-stack tbody tr, body.sw-body .sw-stack tbody tr:first-child, body.sw-body .sw-stack tr:last-child { position: relative; display: block; padding: 1.4rem 1.4rem 1.5rem; border: 1px solid var(--sw-line); border-radius: var(--sw-r); background: #fff; box-shadow: var(--sw-shadow); transition: transform .3s cubic-bezier(.2, .8, .2, 1), box-shadow .3s; } body.sw-body .sw-stack tbody tr:hover { transform: perspective(1000px) rotateX(4deg) translateY(-4px); box-shadow: var(--sw-shadow-lg); } body.sw-body .sw-stack tbody th { display: flex; align-items: center; gap: .8rem; margin: 0 0 1rem; color: var(--sw-deep); font-family: var(--sw-display); font-size: 1.12rem; font-weight: 700; } body.sw-body .sw-stack tbody th::before { content: ""; flex: none; width: 42px; height: 42px; border-radius: 12px; background: var(--tile); box-shadow: inset 0 -3px 0 rgba(0, 0, 0, .07); } body.sw-body .sw-stack tbody tr::after { content: ""; position: absolute; left: calc(1.4rem + 10px); top: calc(1.4rem + 10px); width: 22px; height: 22px; background: var(--tile-ink); -webkit-mask: var(--i) center / contain no-repeat; mask: var(--i) center / contain no-repeat; } body.sw-body .sw-stack td { display: block; } body.sw-body .sw-chips { gap: .45rem; } body.sw-body .sw-chips li { display: inline-flex; align-items: center; gap: .45rem; padding: .32rem .75rem .32rem .42rem; border: 1px solid var(--sw-line); border-radius: 999px; background: #fff; color: var(--sw-deep); font-family: var(--sw-body); font-size: .84rem; font-weight: 600; transition: transform .15s, border-color .15s; } body.sw-body .sw-chips li:hover { transform: translateY(-2px); border-color: #a9ddd4; } body.sw-body .sw-chips li::before { content: ""; flex: none; width: 20px; height: 20px; background: url("https://netbiostech.com/wp-content/uploads/2026/11/sw2-logos.webp") var(--lp, 0 0) / 160px 140px no-repeat; } body.sw-body .sw-steps { position: relative; display: grid; gap: 1.1rem; border: 0; padding-left: 1.6rem; } body.sw-body .sw-steps::before { content: ""; position: absolute; left: 6px; top: 1rem; bottom: 1rem; width: 3px; border-radius: 3px; background: linear-gradient(180deg, var(--sw-accent), var(--sw-sun), var(--sw-coral)); } body.sw-body .sw-steps > li { position: relative; display: grid; grid-template-columns: 56px minmax(0, 1fr); column-gap: 1.1rem; row-gap: .3rem; padding: 1.4rem 1.4rem 1.4rem 1.2rem; border: 1px solid var(--sw-line); border-radius: var(--sw-r); background: #fff; box-shadow: var(--sw-shadow); transition: transform .3s cubic-bezier(.2, .8, .2, 1), box-shadow .3s; } body.sw-body .sw-steps > li:hover { transform: perspective(900px) rotateY(-4deg) translateY(-4px); box-shadow: var(--sw-shadow-lg); } body.sw-body .sw-steps > li::before { content: ""; position: absolute; left: calc(-1.6rem - 1px); top: 2.2rem; width: 17px; height: 17px; border: 4px solid #fff; border-radius: 50%; background: var(--tile-ink); box-shadow: 0 0 0 2px var(--tile-ink); } body.sw-body .sw-step-n { grid-row: span 2; display: grid; place-items: center; width: 56px; height: 56px; border-radius: 16px; background: var(--tile); color: var(--tile-ink); font-family: var(--sw-display); font-size: 1.15rem; font-weight: 700; letter-spacing: 0; box-shadow: inset 0 -4px 0 rgba(0, 0, 0, .07); } body.sw-body .sw-step-title { display: flex; align-items: center; gap: .55rem; color: var(--sw-deep); font-size: 1.2rem; font-weight: 700; } body.sw-body .sw-step-title::after { content: ""; width: 18px; height: 18px; background: var(--tile-ink); opacity: .75; -webkit-mask: var(--i) center / contain no-repeat; mask: var(--i) center / contain no-repeat; } body.sw-body .sw-step-text { color: var(--sw-muted); } body.sw-body .sw-card:nth-child(1) { --tile: #d9f2ee; --tile-ink: #0f766e; --i: var(--i-globe); } body.sw-body .sw-card:nth-child(2) { --tile: #ffe3da; --tile-ink: #d9472a; --i: var(--i-phone); } body.sw-body .sw-card:nth-child(3) { --tile: #fff1cc; --tile-ink: #9a6b00; --i: var(--i-cart); } body.sw-body .sw-card:nth-child(4) { --tile: #ddf1fd; --tile-ink: #0b6fa4; --i: var(--i-layout); } body.sw-body .sw-card:nth-child(5) { --tile: #dce9ec; --tile-ink: #0b3b44; --i: var(--i-bag); } body.sw-body .sw-card:nth-child(6) { --tile: #d9f2ee; --tile-ink: #0f766e; --i: var(--i-server); } body.sw-body .sw-card:nth-child(7) { --tile: #ffe3da; --tile-ink: #d9472a; --i: var(--i-pen); } body.sw-body .sw-about-row:nth-child(1) { --tile: #d9f2ee; --tile-ink: #0f766e; --i: var(--i-users); } body.sw-body .sw-about-row:nth-child(2) { --tile: #ffe3da; --tile-ink: #d9472a; --i: var(--i-target); } body.sw-body .sw-about-row:nth-child(3) { --tile: #fff1cc; --tile-ink: #9a6b00; --i: var(--i-compass); } body.sw-body .sw-stack tbody tr:nth-child(1) { --tile: #d9f2ee; --tile-ink: #0f766e; --i: var(--i-monitor); } body.sw-body .sw-stack tbody tr:nth-child(2) { --tile: #ffe3da; --tile-ink: #d9472a; --i: var(--i-palette); } body.sw-body .sw-stack tbody tr:nth-child(3) { --tile: #fff1cc; --tile-ink: #9a6b00; --i: var(--i-phone); } body.sw-body .sw-stack tbody tr:nth-child(4) { --tile: #ddf1fd; --tile-ink: #0b6fa4; --i: var(--i-server); } body.sw-body .sw-stack tbody tr:nth-child(5) { --tile: #dce9ec; --tile-ink: #0b3b44; --i: var(--i-db); } body.sw-body .sw-stack tbody tr:nth-child(6) { --tile: #d9f2ee; --tile-ink: #0f766e; --i: var(--i-layers); } body.sw-body .sw-stack tbody tr:nth-child(7) { --tile: #ffe3da; --tile-ink: #d9472a; --i: var(--i-plug); } body.sw-body .sw-stack tbody tr:nth-child(8) { --tile: #fff1cc; --tile-ink: #9a6b00; --i: var(--i-lock); } body.sw-body .sw-stack tbody tr:nth-child(9) { --tile: #ddf1fd; --tile-ink: #0b6fa4; --i: var(--i-layout); } body.sw-body .sw-stack tbody tr:nth-child(10) { --tile: #dce9ec; --tile-ink: #0b3b44; --i: var(--i-git); } body.sw-body .sw-stack tbody tr:nth-child(11) { --tile: #d9f2ee; --tile-ink: #0f766e; --i: var(--i-flask); } body.sw-body .sw-stack tbody tr:nth-child(12) { --tile: #ffe3da; --tile-ink: #d9472a; --i: var(--i-cloud); } body.sw-body .sw-steps > li:nth-child(1) { --tile: #d9f2ee; --tile-ink: #0f766e; --i: var(--i-search); } body.sw-body .sw-steps > li:nth-child(2) { --tile: #ffe3da; --tile-ink: #d9472a; --i: var(--i-layers); } body.sw-body .sw-steps > li:nth-child(3) { --tile: #fff1cc; --tile-ink: #9a6b00; --i: var(--i-pen); } body.sw-body .sw-steps > li:nth-child(4) { --tile: #ddf1fd; --tile-ink: #0b6fa4; --i: var(--i-plug); } body.sw-body .sw-steps > li:nth-child(5) { --tile: #dce9ec; --tile-ink: #0b3b44; --i: var(--i-flask); } body.sw-body .sw-steps > li:nth-child(6) { --tile: #d9f2ee; --tile-ink: #0f766e; --i: var(--i-rocket); } body.sw-body .sw-steps > li:nth-child(7) { --tile: #ffe3da; --tile-ink: #d9472a; --i: var(--i-refresh); } body.sw-body .sw-support-list > li:nth-child(1) { --tile: #d9f2ee; --tile-ink: #0f766e; --i: var(--i-bug); } body.sw-body .sw-support-list > li:nth-child(2) { --tile: #ffe3da; --tile-ink: #d9472a; --i: var(--i-plus); } body.sw-body .sw-support-list > li:nth-child(3) { --tile: #fff1cc; --tile-ink: #9a6b00; --i: var(--i-gauge); } body.sw-body .sw-support-list > li:nth-child(4) { --tile: #ddf1fd; --tile-ink: #0b6fa4; --i: var(--i-palette); } body.sw-body .sw-support-list > li:nth-child(5) { --tile: #dce9ec; --tile-ink: #0b3b44; --i: var(--i-shield); } body.sw-body .sw-support-list > li:nth-child(6) { --tile: #d9f2ee; --tile-ink: #0f766e; --i: var(--i-layout); } body.sw-body .sw-support-list > li:nth-child(7) { --tile: #ffe3da; --tile-ink: #d9472a; --i: var(--i-bag); } body.sw-body .sw-support-list > li:nth-child(8) { --tile: #fff1cc; --tile-ink: #9a6b00; --i: var(--i-cart); } body.sw-body .sw-support-list > li:nth-child(9) { --tile: #ddf1fd; --tile-ink: #0b6fa4; --i: var(--i-code); } body.sw-body .sw-support-list > li:nth-child(10) { --tile: #dce9ec; --tile-ink: #0b3b44; --i: var(--i-db); } body.sw-body .sw-support-list > li:nth-child(11) { --tile: #d9f2ee; --tile-ink: #0f766e; --i: var(--i-buoy); } body.sw-body .sw-service-list > li:nth-child(1) { --tile: #d9f2ee; --tile-ink: #0f766e; } body.sw-body .sw-service-list > li:nth-child(2) { --tile: #ffe3da; --tile-ink: #d9472a; } body.sw-body .sw-service-list > li:nth-child(3) { --tile: #fff1cc; --tile-ink: #9a6b00; } body.sw-body .sw-service-list > li:nth-child(4) { --tile: #ddf1fd; --tile-ink: #0b6fa4; } body.sw-body .sw-service-list > li:nth-child(5) { --tile: #dce9ec; --tile-ink: #0b3b44; } body.sw-body .sw-service-list > li:nth-child(6) { --tile: #d9f2ee; --tile-ink: #0f766e; } body.sw-body .sw-service-list > li:nth-child(7) { --tile: #ffe3da; --tile-ink: #d9472a; } body.sw-body .sw-service-list > li:nth-child(8) { --tile: #fff1cc; --tile-ink: #9a6b00; } body.sw-body .sw-service-list > li:nth-child(9) { --tile: #ddf1fd; --tile-ink: #0b6fa4; } body.sw-body .sw-service-list > li:nth-child(10) { --tile: #dce9ec; --tile-ink: #0b3b44; } body.sw-body .sw-why > li:nth-child(1) { --tile: #d9f2ee; --tile-ink: #0f766e; } body.sw-body .sw-why > li:nth-child(2) { --tile: #ffe3da; --tile-ink: #d9472a; } body.sw-body .sw-why > li:nth-child(3) { --tile: #fff1cc; --tile-ink: #9a6b00; } body.sw-body .sw-why > li:nth-child(4) { --tile: #ddf1fd; --tile-ink: #0b6fa4; } body.sw-body .sw-why > li:nth-child(5) { --tile: #dce9ec; --tile-ink: #0b3b44; } body.sw-body .sw-why > li:nth-child(6) { --tile: #d9f2ee; --tile-ink: #0f766e; } body.sw-body .sw-why > li:nth-child(7) { --tile: #ffe3da; --tile-ink: #d9472a; } body.sw-body .sw-why > li:nth-child(8) { --tile: #fff1cc; --tile-ink: #9a6b00; } body.sw-body .sw-stack tbody tr:nth-child(1) .sw-chips li:nth-child(1) { --lp: 0px 0px; } body.sw-body .sw-stack tbody tr:nth-child(1) .sw-chips li:nth-child(2) { --lp: -20px 0px; } body.sw-body .sw-stack tbody tr:nth-child(1) .sw-chips li:nth-child(3) { --lp: -40px 0px; } body.sw-body .sw-stack tbody tr:nth-child(1) .sw-chips li:nth-child(4) { --lp: -60px 0px; } body.sw-body .sw-stack tbody tr:nth-child(1) .sw-chips li:nth-child(5) { --lp: -80px 0px; } body.sw-body .sw-stack tbody tr:nth-child(1) .sw-chips li:nth-child(6) { --lp: -100px 0px; } body.sw-body .sw-stack tbody tr:nth-child(1) .sw-chips li:nth-child(7) { --lp: -120px 0px; } body.sw-body .sw-stack tbody tr:nth-child(2) .sw-chips li:nth-child(1) { --lp: -140px 0px; } body.sw-body .sw-stack tbody tr:nth-child(2) .sw-chips li:nth-child(2) { --lp: 0px -20px; } body.sw-body .sw-stack tbody tr:nth-child(2) .sw-chips li:nth-child(3) { --lp: -20px -20px; } body.sw-body .sw-stack tbody tr:nth-child(2) .sw-chips li:nth-child(4) { --lp: -40px -20px; } body.sw-body .sw-stack tbody tr:nth-child(2) .sw-chips li:nth-child(5) { --lp: -60px -20px; } body.sw-body .sw-stack tbody tr:nth-child(2) .sw-chips li:nth-child(6) { --lp: -80px -20px; } body.sw-body .sw-stack tbody tr:nth-child(2) .sw-chips li:nth-child(7) { --lp: -100px -20px; } body.sw-body .sw-stack tbody tr:nth-child(2) .sw-chips li:nth-child(8) { --lp: -120px -20px; } body.sw-body .sw-stack tbody tr:nth-child(2) .sw-chips li:nth-child(9) { --lp: -140px -20px; } body.sw-body .sw-stack tbody tr:nth-child(2) .sw-chips li:nth-child(10) { --lp: 0px -40px; } body.sw-body .sw-stack tbody tr:nth-child(2) .sw-chips li:nth-child(11) { --lp: -20px -40px; } body.sw-body .sw-stack tbody tr:nth-child(2) .sw-chips li:nth-child(12)::before { background: var(--tile-ink); -webkit-mask: var(--i-palette) center / 15px no-repeat; mask: var(--i-palette) center / 15px no-repeat; } body.sw-body .sw-stack tbody tr:nth-child(3) .sw-chips li:nth-child(1) { --lp: -40px -40px; } body.sw-body .sw-stack tbody tr:nth-child(3) .sw-chips li:nth-child(2) { --lp: -60px -40px; } body.sw-body .sw-stack tbody tr:nth-child(3) .sw-chips li:nth-child(3) { --lp: -80px 0px; } body.sw-body .sw-stack tbody tr:nth-child(3) .sw-chips li:nth-child(4) { --lp: -60px 0px; } body.sw-body .sw-stack tbody tr:nth-child(4) .sw-chips li:nth-child(1) { --lp: -80px -40px; } body.sw-body .sw-stack tbody tr:nth-child(4) .sw-chips li:nth-child(2) { --lp: -100px -40px; } body.sw-body .sw-stack tbody tr:nth-child(4) .sw-chips li:nth-child(3) { --lp: -120px -40px; } body.sw-body .sw-stack tbody tr:nth-child(4) .sw-chips li:nth-child(4) { --lp: -140px -40px; } body.sw-body .sw-stack tbody tr:nth-child(4) .sw-chips li:nth-child(5) { --lp: 0px -60px; } body.sw-body .sw-stack tbody tr:nth-child(5) .sw-chips li:nth-child(1) { --lp: -20px -60px; } body.sw-body .sw-stack tbody tr:nth-child(5) .sw-chips li:nth-child(2) { --lp: -40px -60px; } body.sw-body .sw-stack tbody tr:nth-child(5) .sw-chips li:nth-child(3) { --lp: -60px -60px; } body.sw-body .sw-stack tbody tr:nth-child(5) .sw-chips li:nth-child(4) { --lp: -80px -60px; } body.sw-body .sw-stack tbody tr:nth-child(6) .sw-chips li:nth-child(1) { --lp: -100px -60px; } body.sw-body .sw-stack tbody tr:nth-child(6) .sw-chips li:nth-child(2) { --lp: -120px -60px; } body.sw-body .sw-stack tbody tr:nth-child(6) .sw-chips li:nth-child(3) { --lp: 0px -60px; } body.sw-body .sw-stack tbody tr:nth-child(7) .sw-chips li:nth-child(1)::before { background: var(--tile-ink); -webkit-mask: var(--i-code) center / 15px no-repeat; mask: var(--i-code) center / 15px no-repeat; } body.sw-body .sw-stack tbody tr:nth-child(7) .sw-chips li:nth-child(2) { --lp: -140px -60px; } body.sw-body .sw-stack tbody tr:nth-child(7) .sw-chips li:nth-child(3)::before { background: var(--tile-ink); -webkit-mask: var(--i-zap) center / 15px no-repeat; mask: var(--i-zap) center / 15px no-repeat; } body.sw-body .sw-stack tbody tr:nth-child(7) .sw-chips li:nth-child(4)::before { background: var(--tile-ink); -webkit-mask: var(--i-plug) center / 15px no-repeat; mask: var(--i-plug) center / 15px no-repeat; } body.sw-body .sw-stack tbody tr:nth-child(7) .sw-chips li:nth-child(5)::before { background: var(--tile-ink); -webkit-mask: var(--i-lock) center / 15px no-repeat; mask: var(--i-lock) center / 15px no-repeat; } body.sw-body .sw-stack tbody tr:nth-child(7) .sw-chips li:nth-child(6)::before { background: var(--tile-ink); -webkit-mask: var(--i-card) center / 15px no-repeat; mask: var(--i-card) center / 15px no-repeat; } body.sw-body .sw-stack tbody tr:nth-child(8) .sw-chips li:nth-child(1) { --lp: 0px -80px; } body.sw-body .sw-stack tbody tr:nth-child(8) .sw-chips li:nth-child(2)::before { background: var(--tile-ink); -webkit-mask: var(--i-key) center / 15px no-repeat; mask: var(--i-key) center / 15px no-repeat; } body.sw-body .sw-stack tbody tr:nth-child(8) .sw-chips li:nth-child(3)::before { background: var(--tile-ink); -webkit-mask: var(--i-users2) center / 15px no-repeat; mask: var(--i-users2) center / 15px no-repeat; } body.sw-body .sw-stack tbody tr:nth-child(8) .sw-chips li:nth-child(4)::before { background: var(--tile-ink); -webkit-mask: var(--i-shield) center / 15px no-repeat; mask: var(--i-shield) center / 15px no-repeat; } body.sw-body .sw-stack tbody tr:nth-child(8) .sw-chips li:nth-child(5)::before { background: var(--tile-ink); -webkit-mask: var(--i-lock) center / 15px no-repeat; mask: var(--i-lock) center / 15px no-repeat; } body.sw-body .sw-stack tbody tr:nth-child(8) .sw-chips li:nth-child(6)::before { background: var(--tile-ink); -webkit-mask: var(--i-checkc) center / 15px no-repeat; mask: var(--i-checkc) center / 15px no-repeat; } body.sw-body .sw-stack tbody tr:nth-child(9) .sw-chips li:nth-child(1) { --lp: -20px -80px; } body.sw-body .sw-stack tbody tr:nth-child(9) .sw-chips li:nth-child(2) { --lp: -40px -80px; } body.sw-body .sw-stack tbody tr:nth-child(9) .sw-chips li:nth-child(3) { --lp: -60px -80px; } body.sw-body .sw-stack tbody tr:nth-child(9) .sw-chips li:nth-child(4) { --lp: -60px -80px; } body.sw-body .sw-stack tbody tr:nth-child(10) .sw-chips li:nth-child(1) { --lp: -80px -80px; } body.sw-body .sw-stack tbody tr:nth-child(10) .sw-chips li:nth-child(2) { --lp: -100px -80px; } body.sw-body .sw-stack tbody tr:nth-child(10) .sw-chips li:nth-child(3) { --lp: -120px -80px; } body.sw-body .sw-stack tbody tr:nth-child(10) .sw-chips li:nth-child(4) { --lp: -140px -80px; } body.sw-body .sw-stack tbody tr:nth-child(10) .sw-chips li:nth-child(5) { --lp: 0px -100px; } body.sw-body .sw-stack tbody tr:nth-child(10) .sw-chips li:nth-child(6) { --lp: -20px -100px; } body.sw-body .sw-stack tbody tr:nth-child(10) .sw-chips li:nth-child(7) { --lp: -40px -100px; } body.sw-body .sw-stack tbody tr:nth-child(11) .sw-chips li:nth-child(1) { --lp: -60px -100px; } body.sw-body .sw-stack tbody tr:nth-child(11) .sw-chips li:nth-child(2) { --lp: -80px -100px; } body.sw-body .sw-stack tbody tr:nth-child(11) .sw-chips li:nth-child(3) { --lp: -100px -100px; } body.sw-body .sw-stack tbody tr:nth-child(11) .sw-chips li:nth-child(4)::before { background: var(--tile-ink); -webkit-mask: var(--i-flask) center / 15px no-repeat; mask: var(--i-flask) center / 15px no-repeat; } body.sw-body .sw-stack tbody tr:nth-child(11) .sw-chips li:nth-child(5)::before { background: var(--tile-ink); -webkit-mask: var(--i-checkc) center / 15px no-repeat; mask: var(--i-checkc) center / 15px no-repeat; } body.sw-body .sw-stack tbody tr:nth-child(11) .sw-chips li:nth-child(6)::before { background: var(--tile-ink); -webkit-mask: var(--i-layers) center / 15px no-repeat; mask: var(--i-layers) center / 15px no-repeat; } body.sw-body .sw-stack tbody tr:nth-child(12) .sw-chips li:nth-child(1) { --lp: -120px -100px; } body.sw-body .sw-stack tbody tr:nth-child(12) .sw-chips li:nth-child(2) { --lp: -140px -100px; } body.sw-body .sw-stack tbody tr:nth-child(12) .sw-chips li:nth-child(3) { --lp: -40px -100px; } body.sw-body .sw-stack tbody tr:nth-child(12) .sw-chips li:nth-child(4)::before { background: var(--tile-ink); -webkit-mask: var(--i-cloud) center / 15px no-repeat; mask: var(--i-cloud) center / 15px no-repeat; } body.sw-body .sw-stack tbody tr:nth-child(12) .sw-chips li:nth-child(5) { --lp: 0px -120px; } body.sw-body .sw-stack tbody tr:nth-child(12) .sw-chips li:nth-child(6)::before { background: var(--tile-ink); -webkit-mask: var(--i-refresh) center / 15px no-repeat; mask: var(--i-refresh) center / 15px no-repeat; } @supports (animation-timeline: view()) { @media (prefers-reduced-motion: no-preference) { body.sw-body .sw-card, body.sw-body .sw-cards-aside, body.sw-body .sw-service-list li, body.sw-body .sw-support-list li, body.sw-body .sw-stack tbody tr, body.sw-body .sw-steps > li, body.sw-body .sw-why li, body.sw-body .sw-solutions li, body.sw-body .sw-cta-inner { animation: swReveal linear both; animation-timeline: view(); animation-range: entry 0% cover 22%; } } } @media (max-width: 39.99rem) { body.sw-body .sw-header-inner { gap: .6rem; } body.sw-body .sw-wordmark { width: 100%; margin-right: 0; } body.sw-body .sw-nav { flex-wrap: nowrap; width: 100%; overflow-x: auto; scrollbar-width: none; gap: .2rem; } body.sw-body .sw-nav::-webkit-scrollbar { display: none; } body.sw-body .sw-nav a { flex: none; padding: .4rem .7rem; font-size: .88rem; } body.sw-body .sw-nav .sw-nav-main { margin-left: auto; } body.sw-body .sw-hero-grid { padding: 2rem 1.25rem 6.5rem; border-radius: 26px; } body.sw-body .sw-term { transform: none; animation: swFloatSoft 6s ease-in-out infinite; } body.sw-body .sw-about { margin: -4.5rem .5rem 0; } body.sw-body .sw-about-row { padding: 1.2rem 1.2rem 1.3rem 4.4rem; } body.sw-body .sw-about-row::before { left: 1.1rem; top: 1.2rem; width: 40px; height: 40px; } body.sw-body .sw-about-row::after { left: calc(1.1rem + 10px); top: calc(1.2rem + 10px); width: 20px; height: 20px; } body.sw-body .sw-card { padding: 1.25rem 1.25rem 1.25rem 4.8rem; } body.sw-body .sw-card::before { left: 1.2rem; top: 1.25rem; width: 44px; height: 44px; border-radius: 13px; } body.sw-body .sw-card::after { left: calc(1.2rem + 11px); top: calc(1.25rem + 11px); width: 22px; height: 22px; } body.sw-body .sw-card-n { display: none; } body.sw-body .sw-card:first-child { padding-bottom: 11rem; background-size: 80%, auto; background-position: right -1rem bottom -1rem, 0 0; } body.sw-body .sw-section { padding: 3.5rem 0; } body.sw-body .sw-service-list li, body.sw-body .sw-support-list li { min-height: 70px; padding: .85rem 2.6rem .85rem .85rem; } body.sw-body .sw-service-list li::after, body.sw-body .sw-support-list li::after { left: calc(.85rem + 13px); } body.sw-body .sw-page-head { border-radius: 26px; } } @media (min-width: 40rem) { body.sw-body .sw-section .sw-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); } body.sw-body .sw-section .sw-why { grid-template-columns: repeat(2, minmax(0, 1fr)); } body.sw-body .sw-service-list, body.sw-body .sw-support-list { grid-template-columns: repeat(2, minmax(0, 1fr)); } body.sw-body .sw-card:first-child { grid-column: 1 / -1; min-height: 20rem; padding-right: 50%; } body.sw-body .sw-cta-inner { padding: 3rem 3rem 14rem; } } @media (min-width: 48rem) { body.sw-body .sw-hero { padding-top: 1.75rem; } body.sw-body .sw-hero-grid { padding: 3.5rem 3rem 8rem; } body.sw-body .sw-section { padding: 5.5rem 0; } body.sw-body .sw-stack tbody { grid-template-columns: repeat(2, minmax(0, 1fr)); } body.sw-body .sw-page-head { padding: 3rem 3rem calc(min(60vw, 24rem) + 3rem); } } @media (min-width: 64rem) { body.sw-body .sw-hero-grid { grid-template-columns: minmax(0, 6fr) minmax(0, 5fr); gap: 3rem; padding: 4rem 3.5rem 8.5rem; } body.sw-body .sw-about { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.25rem; margin: -5.5rem 2rem 0; } body.sw-body .sw-section .sw-cards { grid-template-columns: repeat(4, minmax(0, 1fr)); } body.sw-body .sw-card:first-child { grid-column: span 2; grid-row: span 2; min-height: 0; padding: 6rem 2rem 2rem; padding-right: 45%; } body.sw-body .sw-card:first-child .sw-card-title { font-size: 1.7rem; } body.sw-body .sw-cards-aside { grid-column: span 2; display: grid; grid-template-columns: auto 1fr; align-items: center; gap: 1.5rem; } body.sw-body .sw-cards-aside-label { margin: 0; } body.sw-body .sw-section .sw-cards-aside ul { grid-template-columns: repeat(3, minmax(0, 1fr)); } body.sw-body .sw-card-title { margin-top: 0; } body.sw-body .sw-split { grid-template-columns: minmax(0, 4fr) minmax(0, 8fr); gap: 3rem; } body.sw-body .sw-split .sw-h2 { position: sticky; top: 9rem; align-self: start; } body.sw-body .sw-section .sw-why { grid-template-columns: repeat(2, minmax(0, 1fr)); } body.sw-body .sw-cta-inner { grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); align-items: center; padding: 3.5rem 22rem 3.5rem 3.5rem; } body.sw-body .sw-cta-inner::after { right: 3rem; bottom: 50%; margin: 0 0 -7.5rem; width: 16rem; } body.sw-body .sw-page { padding-top: 1.75rem; } body.sw-body .sw-page-head { display: flex; flex-direction: column; justify-content: center; min-height: 27rem; padding: 3.5rem 48% 3.5rem 3.5rem; margin-bottom: 2.5rem; } body.sw-body .sw-page-head::before { left: auto; right: 3rem; top: 50%; bottom: auto; width: 40%; max-height: none; margin: 0; animation: swFloatArt 7s ease-in-out infinite; transform: translateY(-50%) perspective(1400px) rotateY(-14deg) rotateX(6deg); } body.sw-body .sw-service-list, body.sw-body .sw-support-list { grid-template-columns: repeat(3, minmax(0, 1fr)); } body.sw-body .sw-stack tbody { grid-template-columns: repeat(3, minmax(0, 1fr)); } body.sw-body .sw-steps { display: flex; flex-direction: column; padding-left: 0; } body.sw-body .sw-steps::before { left: 50%; margin-left: -1.5px; } body.sw-body .sw-steps > li { width: calc(50% - 2.75rem); } body.sw-body .sw-steps > li:nth-child(odd) { align-self: flex-start; } body.sw-body .sw-steps > li:nth-child(even) { align-self: flex-end; margin-top: -3.5rem; } body.sw-body .sw-steps > li:nth-child(odd)::before { left: auto; right: calc(-2.75rem - 9px); } body.sw-body .sw-steps > li:nth-child(even)::before { left: calc(-2.75rem - 9px); } body.sw-body .sw-steps > li:nth-child(odd):hover { transform: perspective(900px) rotateY(4deg) translateY(-4px); } } @media (prefers-reduced-motion: reduce) { body.sw-body *, body.sw-body *::before, body.sw-body *::after { animation: none !important; transition: none !important; } } 

/* ---- Software service tab bar (v2.1): full-width dark teal bar, 7 equal tabs with icons ---- */
body.sw-body .sw-header { border-bottom: 0; }
body.sw-body .sw-header-inner { padding-bottom: 0; }
body.sw-body .sw-services-nav {
  width: 100%; margin-top: .35rem; padding: 0; border-top: 0;
  background: var(--sw-deep); box-shadow: 0 0 0 100vmax var(--sw-deep); clip-path: inset(0 -100vmax);
}
body.sw-body .sw-services { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 0; overflow: visible; padding: 0; }
body.sw-body .sw-services li { position: relative; display: flex; }
body.sw-body .sw-services li + li::before { content: ""; position: absolute; left: 0; top: 30%; bottom: 30%; width: 1px; background: rgba(255, 255, 255, .1); }
body.sw-body .sw-services a {
  position: relative; display: flex; align-items: center; gap: .6rem; width: 100%; min-height: 58px; padding: .55rem .7rem;
  border: 0; border-radius: 0; background: transparent; color: #cfe7e3; white-space: normal;
  font-family: var(--sw-body); font-size: .78rem; font-weight: 600; line-height: 1.25; text-decoration: none;
  transition: background-color .2s, color .2s;
}
body.sw-body .sw-services a::before {
  content: ""; flex: none; width: 30px; height: 30px; border-radius: 9px; background-color: rgba(255, 255, 255, .08);
  background-image: none; transition: background-color .2s, transform .2s;
}
body.sw-body .sw-services a::after {
  content: ""; position: absolute; left: calc(.7rem + 7px); top: 50%; width: 16px; height: 16px; margin-top: -8px;
  background: var(--sw-mint); -webkit-mask: var(--ti) center / contain no-repeat; mask: var(--ti) center / contain no-repeat; transition: background-color .2s;
}
body.sw-body .sw-services li:nth-child(1) a { --ti: var(--i-globe); }
body.sw-body .sw-services li:nth-child(2) a { --ti: var(--i-phone); }
body.sw-body .sw-services li:nth-child(3) a { --ti: var(--i-cart); }
body.sw-body .sw-services li:nth-child(4) a { --ti: var(--i-layout); }
body.sw-body .sw-services li:nth-child(5) a { --ti: var(--i-bag); }
body.sw-body .sw-services li:nth-child(6) a { --ti: var(--i-server); }
body.sw-body .sw-services li:nth-child(7) a { --ti: var(--i-pen); }
body.sw-body .sw-services a:hover { background: rgba(255, 255, 255, .06); color: #fff; border-color: transparent; }
body.sw-body .sw-services a:hover::before { background-color: rgba(255, 255, 255, .14); transform: translateY(-1px); }
body.sw-body .sw-services a[aria-current="page"] { background: rgba(255, 255, 255, .08); color: #fff; border-color: transparent; }
body.sw-body .sw-services a[aria-current="page"]::before { background-color: var(--sw-sun); }
body.sw-body .sw-services a[aria-current="page"]::after { background: var(--sw-deep); }
body.sw-body .sw-services a[aria-current="page"] { box-shadow: inset 0 -3px 0 var(--sw-sun); }
/* tablets and phones: same bar, scrolls sideways with snap and soft edges */
@media (max-width: 63.99rem) {
  body.sw-body .sw-services { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none;
    -webkit-mask-image: linear-gradient(90deg, #000 85%, transparent); mask-image: linear-gradient(90deg, #000 85%, transparent); }
  body.sw-body .sw-services::-webkit-scrollbar { display: none; }
  body.sw-body .sw-services li { flex: none; width: 168px; scroll-snap-align: start; }
}

body.sw-body .sw-services a { gap: .55rem; padding: .6rem .85rem; font-size: .8rem; }
body.sw-body .sw-services a::before { width: 18px; height: 18px; border-radius: 0; background-color: transparent; }
body.sw-body .sw-services a:hover::before { background-color: transparent; }
body.sw-body .sw-services a::after { left: .85rem; width: 18px; height: 18px; margin-top: -9px; }
body.sw-body .sw-services a:hover::after { background: var(--sw-sun); }
body.sw-body .sw-services a[aria-current="page"]::before { background-color: transparent; }
body.sw-body .sw-services a[aria-current="page"]::after { background: var(--sw-sun); }

@media (min-width: 64rem) {
  body.sw-body .sw-services { width: min(calc(100vw - 2rem), 80rem); margin-left: calc((100% - min(calc(100vw - 2rem), 80rem)) / 2); }
  body.sw-body .sw-services a { flex-direction: column; justify-content: center; gap: .4rem; min-height: 74px; padding: .65rem .6rem .7rem; text-align: center; }
  body.sw-body .sw-services a::after { left: 50%; top: .7rem; margin: 0 0 0 -9px; }
  body.sw-body .sw-services a::before { height: 18px; }
}
