/* NodeRevit: original monochrome palette, IBM Plex Sans, and identity. */
:root {
  --paper:#fff;
  --surface:#f4f5f6;
  --ink:#0b0d10;
  --ink-raised:#13171c;
  --text:#0b0d10;
  --text-2:#545c66;
  --text-3:#667079;
  --line:#e3e5e8;
  --line-soft:#edeff1;
  --line-strong:#c9ced4;
  --red:#c0392b;
  --yellow:#8a6004;
  --green:#1a7a4b;
  --green-tint:rgba(26,122,75,.08);
  --focus:#1f5eff;
  --font-sans:ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  --font-display:"IBM Plex Sans",ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  --font-mono:ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,"Liberation Mono",monospace;
  --section-y:clamp(4.5rem,8vw,7rem);
  --gutter:clamp(1.25rem,4.5vw,3rem);
  --header-h:5rem;
  --radius:12px;
  --ease:cubic-bezier(.16,1,.3,1);
}
*,*::before,*::after {
  box-sizing:border-box;
}
html {
  scroll-behavior:smooth;
  scroll-padding-top:calc(var(--header-h) + 1.5rem);
  -webkit-text-size-adjust:100%;
}
body {
  margin:0;
  color:var(--ink);
  background:var(--paper);
  font:1rem/1.65 var(--font-sans);
  letter-spacing:-.015em;
  -webkit-font-smoothing:antialiased;
}
[hidden] {
  display:none!important;
}
h1,h2,h3,h4 {
  margin:0;
  font-family:var(--font-display);
  font-weight:500;
  letter-spacing:-.045em;
  line-height:1.1;
}
p {
  margin:0;
}
ul,ol {
  margin:0;
  padding:0;
  list-style:none;
}
img,svg {
  display:block;
  max-width:100%;
}
button,input,select,textarea {
  font:inherit;
}
button,a,input,textarea,select {
  -webkit-tap-highlight-color:transparent;
}
button {
  color:inherit;
  cursor:pointer;
}
a {
  color:inherit;
  text-underline-offset:.22em;
  text-decoration-thickness:1px;
}
button,a {
  touch-action:manipulation;
}
::selection {
  background:var(--ink);
  color:var(--paper);
}
:focus-visible {
  outline:2px solid var(--focus);
  outline-offset:5px;
}
.icon-definitions {
  position:absolute;
  width:0;
  height:0;
  overflow:hidden;
}
.icon {
  width:22px;
  height:22px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.5;
  stroke-linecap:round;
  stroke-linejoin:round;
  flex-shrink:0;
}
.container {
  width:100%;
  max-width:1320px;
  margin-inline:auto;
  padding-inline:var(--gutter);
}
.container--narrow {
  max-width:900px;
}
.section {
  padding-block:var(--section-y);
}
.eyebrow,.mono {
  font-family:var(--font-mono);
  font-size:.65rem;
  line-height:1.5;
  font-weight:400;
  letter-spacing:.1em;
  text-transform:uppercase;
}
.eyebrow {
  display:flex;
  align-items:center;
  gap:.6rem;
  color:var(--text-2);
  margin-bottom:1.5rem;
}
.status-dot {
  width:6px;
  height:6px;
  border-radius:50%;
  background:var(--green);
  display:inline-block;
  flex-shrink:0;
  box-shadow:0 0 0 4px var(--green-tint);
}
.section__head {
  margin-bottom:3rem;
}
.section__head--split {
  display:grid;
  grid-template-columns:1.2fr 1fr;
  gap:6rem;
  align-items:end;
}
.section__title {
  font-size:clamp(2.25rem,3.6vw,3.2rem);
  line-height:1.12;
  text-wrap:balance;
}
.section__intro {
  color:var(--text-2);
  max-width:390px;
  line-height:1.8;
}
.btn {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:1.6rem;
  border:1px solid transparent;
  border-radius:6px;
  min-height:54px;
  padding:.85rem 1.3rem;
  font-size:.875rem;
  font-weight:500;
  line-height:1.4;
  text-decoration:none;
  transition:background .2s,box-shadow .2s,transform .25s var(--ease);
}
.btn .icon {
  width:19px;
  height:19px;
  transition:transform .25s var(--ease);
}
.btn:hover .icon {
  transform:translateX(3px);
}
.btn:hover {
  transform:translateY(-2px);
}
.btn--primary {
  background:var(--ink);
  color:white;
}
.btn--primary:hover {
  background:#2b3037;
  box-shadow:0 5px 15px #0b0d101a;
}
.btn--light {
  background:var(--paper);
  color:var(--ink);
}
.btn--light:hover {
  background:var(--line);
}
.btn--ghost {
  background:transparent;
  border-color:var(--line-strong);
}
.btn--sm {
  min-height:42px;
  padding:.65rem 1.1rem;
  font-size:.8rem;
  gap:1.1rem;
}
.btn--block {
  width:100%;
}
.btn:disabled {
  cursor:wait;
  opacity:.6;
  transform:none;
}
.btn-row {
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:1.65rem;
}
.text-link {
  display:inline-flex;
  align-items:center;
  gap:.75rem;
  text-decoration:none;
  font-size:.875rem;
  font-weight:500;
}
.text-link:hover {
  text-decoration:underline;
}
.skip-link {
  position:fixed;
  top:10px;
  left:10px;
  z-index:200;
  background:var(--ink);
  color:var(--paper);
  padding:1rem;
  transform:translateY(-150%);
}
.skip-link:focus {
  transform:translateY(0);
}
/* Navigation */
.site-header {
  position:sticky;
  top:0;
  z-index:100;
  background:#ffffffed;
  backdrop-filter:blur(16px);
  border-bottom:1px solid transparent;
  transition:border-color .2s,box-shadow .2s;
}
.site-header.is-scrolled {
  border-color:var(--line);
  box-shadow:0 2px 20px #0b0d1005;
}
.site-header__inner {
  min-height:var(--header-h);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:2rem;
}
.brand {
  display:inline-flex;
  align-items:center;
  gap:.5rem;
  text-decoration:none;
  flex-shrink:0;
}
.brand img {
  width:152px;
  height:auto;
}
.brand__name {
  font:600 1.2rem var(--font-display);
  letter-spacing:-.04em;
}
.brand__mark {
  flex-shrink:0;
}
.nav,.nav__list {
  display:flex;
  align-items:center;
  gap:2rem;
}
.nav {
  gap:2.5rem;
}
.nav__link {
  display:inline-block;
  text-decoration:none;
  font-size:.8rem;
  color:var(--text-2);
  transition:color .2s;
}
.nav__link:hover,.nav__link.is-active {
  color:var(--ink);
}
.nav__link::after {
  content:'';
  display:block;
  height:1px;
  background:currentColor;
  transform:scaleX(0);
  transform-origin:left;
  transition:transform .3s var(--ease);
}
.nav__link:hover::after,.nav__link.is-active::after {
  transform:scaleX(1);
}
.nav-toggle {
  display:none;
}
/* Native SVG home illustration, lightweight motion, and user-controlled modes */
.hero {
  padding-top:3.8rem;
}
.hero__inner {
  display:grid;
  grid-template-columns:1fr 1.06fr;
  align-items:center;
  gap:3.5rem;
}
.hero__copy {
  padding-bottom:1.25rem;
}
.hero__copy .eyebrow {
  margin-bottom:1.9rem;
}
.hero h1 {
  font-size:clamp(3.5rem,6.15vw,5.6rem);
  line-height:1.035;
  letter-spacing:-.058em;
}
.hero h1>span {
  color:#737a81;
}
.hero__lead {
  margin-top:1.65rem;
  max-width:430px;
  color:var(--ink);
  font-size:1.1rem;
  line-height:1.65;
}
.hero__intro {
  margin-top:.8rem;
  max-width:405px;
  color:var(--text-2);
  font-size:.94rem;
  line-height:1.75;
}
.hero .btn-row {
  margin-top:1.9rem;
}
.hero__assurances {
  display:flex;
  flex-wrap:wrap;
  gap:1.2rem;
  margin-top:1.9rem;
  color:var(--text-2);
  font-size:.69rem;
}
.hero__assurances span {
  display:inline-flex;
  gap:.35rem;
  align-items:center;
}
.hero__assurances .icon {
  width:13px;
  height:13px;
}
.hero__bottom {
  margin-top:3.7rem;
  padding-block:1.45rem;
  border-top:1px solid var(--line);
  display:flex;
  justify-content:space-between;
  align-items:center;
  color:var(--text-3);
}
.hero__bottom a {
  font-size:.74rem;
  text-decoration:none;
}
.hero__bottom a span {
  margin-left:1.2rem;
}
.home-console {
  min-width:0;
  padding:1.2rem 1.5rem 1rem;
  border:1px solid var(--line);
  border-radius:12px;
  background:radial-gradient(ellipse at 50% 35%,#fff 0%,#f4f5f6 65%);
  position:relative;
  box-shadow:0 18px 50px -35px #0b0d1040;
  overflow:hidden;
}
.console__top {
  display:flex;
  align-items:center;
  justify-content:space-between;
  color:var(--text-2);
  position:relative;
  z-index:1;
}
.console__top .motion-toggle {
  width:auto;
  min-height:24px;
  padding:0;
  white-space:nowrap;
}
.console__top .mono {
  font-size:.56rem;
}
.console__edition {
  border:1px solid var(--line-strong);
  border-radius:3px;
  padding:.25rem .45rem;
}
.network-stage {
  position:relative;
  height:350px;
  margin:1.25rem -1rem .7rem;
  overflow:hidden;
  border-radius:6px;
}
.network-stage::before {
  content:'';
  position:absolute;
  inset:-10% -20%;
  background-image:radial-gradient(#c9ced4 1px,transparent 1px);
  background-size:18px 18px;
  opacity:.4;
  mask-image:radial-gradient(ellipse,#000,transparent 65%);
}
.house-art {
  width:100%;
  height:100%;
  overflow:hidden;
  position:relative;
  padding:0 15px;
}
/* The SVG viewBox is the camera: all room geometry stays fixed while it pans and zooms. */
.house-art {
  touch-action:pan-y;
}
.scene-legend {
  display:flex;
  align-items:center;
  justify-content:space-between;
  flex-wrap:wrap;
  gap:.4rem .8rem;
  padding:.65rem .2rem;
  border-top:1px solid var(--line);
  font-size:.6rem;
  color:var(--text-2);
}
.scene-legend > span {
  display:inline-flex;
  align-items:center;
  gap:.4rem;
  transition:opacity .3s;
}
.scene-legend .icon {
  width:16px;
  height:16px;
}
.home-console[data-mode="wifi"] .scene-legend > :not([data-scene-key="wifi"]),
.home-console[data-mode="builds"] .scene-legend > :not([data-scene-key="builds"]) {
  opacity:.4;
}
.network-flow {
  stroke-dasharray:5 140;
  animation:network-travel 7s linear infinite;
}
.router-halo {
  transform-box:fill-box;
  transform-origin:center;
  animation:router-breathe 4s ease-in-out infinite;
}
.tiny-dot {
  margin-left:.3rem;
  width:5px;
  height:5px;
  background:var(--green);
  border-radius:50%;
}
.console__copy {
  padding:.9rem .2rem 1.1rem;
  min-height:117px;
}
.console__status {
  display:flex;
  align-items:center;
  gap:.5rem;
  font-size:.6rem;
  color:var(--green);
  margin-bottom:.5rem;
}
.console__status .status-dot {
  width:4px;
  height:4px;
  box-shadow:none;
}
.console__copy h2 {
  font-size:1.55rem;
  letter-spacing:-.035em;
}
.console__copy>p:last-child {
  margin-top:.45rem;
  font-size:.7rem;
  color:var(--text-2);
}
.console__bottom {
  border-bottom:1px solid var(--line);
  padding-block:.75rem;
  margin-top:.35rem;
  display:flex;
  gap:.5rem;
  align-items:center;
  justify-content:space-between;
}
.console__modes {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  width:100%;
  padding:3px;
  gap:2px;
  border:1px solid var(--line);
  border-radius:6px;
  background:#eaedef;
}
.console__modes button {
  white-space:nowrap;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:.4rem;
  font-size:.66rem;
  padding:.45rem .65rem;
  min-height:36px;
  border:1px solid transparent;
  border-radius:4px;
  background:transparent;
  transition:background .2s,box-shadow .2s;
}
.console__modes button[aria-pressed="true"] {
  background:white;
  border-color:var(--line);
  box-shadow:0 1px 4px #0b0d1009;
}
.console__modes .icon {
  width:14px;
  height:14px;
}
.motion-toggle {
  background:none;
  border:0;
  min-height:40px;
  padding:.4rem;
  font-size:.56rem;
  color:var(--text-2);
  text-decoration:underline;
  text-underline-offset:3px;
}
.motion-toggle:disabled {
  cursor:default;
  text-decoration:none;
}
.home-console.is-paused * {
  animation-play-state:paused!important;
}
.console__disclaimer {
  font-size:.55rem;
  color:var(--text-3);
  margin-top:.75rem;
}
.trust-strip {
  background:var(--surface);
  border-block:1px solid var(--line);
}
.trust-strip__inner {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  padding-block:1.4rem;
}
.trust-strip p {
  display:flex;
  gap:.7rem;
  align-items:center;
  justify-content:center;
  font-size:.75rem;
}
.trust-strip p+p {
  border-left:1px solid var(--line-strong);
}
.trust-strip .icon {
  width:18px;
  height:18px;
}
/* Service choices */
.service-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:1.15rem;
}
.service-card {
  display:flex;
  flex-direction:column;
  padding:1.8rem;
  border:1px solid var(--line);
  border-radius:var(--radius);
  transition:transform .4s var(--ease),box-shadow .4s var(--ease),border-color .3s;
  scroll-margin-top:7rem;
}
.service-card:hover {
  transform:translateY(-6px);
  border-color:var(--line-strong);
  box-shadow:0 18px 40px -20px #0b0d1025;
}
.service-card--featured {
  background:var(--surface);
}
.service-card__top {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
  margin-bottom:2.1rem;
}
.service-card__top .mono {
  font-size:.55rem;
  color:var(--text-3);
}
.service-icon {
  background:var(--surface);
  display:grid;
  place-items:center;
  width:48px;
  height:48px;
  border:1px solid var(--line);
  border-radius:10px;
}
.service-card--featured .service-icon {
  background:var(--ink);
  color:white;
  border-color:var(--ink);
}
.service-card h3 {
  font-size:clamp(1.5rem,2.25vw,1.95rem);
  line-height:1.17;
}
.service-card>p {
  margin-top:1rem;
  font-size:.81rem;
  line-height:1.85;
  color:var(--text-2);
}
.check-list {
  display:grid;
  gap:.55rem;
  margin-block:1.6rem 2rem;
  font-size:.72rem;
}
.check-list li {
  position:relative;
  padding-left:1.25rem;
}
.check-list li::before {
  content:'';
  position:absolute;
  top:.4em;
  left:1px;
  width:9px;
  height:5px;
  border-bottom:1px solid var(--text-2);
  border-left:1px solid var(--text-2);
  transform:rotate(-45deg);
}
.service-card__price {
  display:flex;
  align-items:baseline;
  flex-wrap:wrap;
  gap:.55rem;
  margin-top:auto;
  margin-bottom:1.3rem;
}
.service-card__price strong {
  font:500 2.25rem/1 var(--font-display);
  letter-spacing:-.04em;
}
.service-card__price span {
  font-size:.65rem;
  color:var(--text-2);
}
.service-card__link {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:1rem;
  padding-top:1.1rem;
  border-top:1px solid var(--line-strong);
  font-size:.8rem;
  font-weight:500;
  text-decoration:none;
}
.service-card__link .icon {
  width:18px;
  height:18px;
  transition:transform .3s;
}
.service-card__link:hover .icon {
  transform:translateX(4px);
}
.service-card>.service-card__fine {
  font-size:.6rem;
  line-height:1.5;
  margin-top:.85rem;
}
.services-foot {
  text-align:center;
  margin-top:2rem;
  font-size:.76rem;
  color:var(--text-2);
}
.services-foot a {
  font-size:inherit;
  color:var(--ink);
  margin-left:.3rem;
}
/* Modern privacy explained, with a tangible deliverable */
.privacy-section {
  background:var(--ink);
  color:var(--paper);
}
.privacy-heading {
  max-width:700px;
}
.privacy-section .eyebrow {
  color:#aeb5bd;
}
.privacy-heading h2 {
  font-size:clamp(2.5rem,4.5vw,4.1rem);
  letter-spacing:-.05em;
  line-height:1.12;
}
.privacy-heading h2 span {
  color:#929ba5;
}
.privacy-heading>p:last-child {
  max-width:585px;
  margin-top:1.5rem;
  color:#b1b8c1;
  font-size:.95rem;
  line-height:1.8;
}
.privacy-issues {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:2.5rem;
  margin-top:3.5rem;
  margin-bottom:4rem;
}
.privacy-issues article {
  border-top:1px solid #343940;
  padding-top:1.6rem;
}
.privacy-issues>article>.icon {
  color:#c9ced4;
  width:26px;
  height:26px;
  margin-bottom:1.2rem;
}
.privacy-issues h3 {
  font-size:1.18rem;
  letter-spacing:-.025em;
}
.privacy-issues p {
  margin-top:.8rem;
  color:#aeb5bd;
  font-size:.8rem;
  line-height:1.9;
}
.privacy-issues a {
  display:inline-block;
  margin-top:.95rem;
  font-size:.64rem;
  color:#c9ced4;
  text-decoration-color:#545c66;
}
.privacy-issues a span {
  margin-left:.35rem;
}
.audit-feature {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:4rem;
  padding:3rem;
  border:1px solid #343940;
  border-radius:var(--radius);
  background:var(--ink-raised);
  align-items:center;
}
.audit-feature__copy h3 {
  font-size:2.35rem;
  line-height:1.15;
}
.audit-feature__copy>p:not(.eyebrow) {
  font-size:.82rem;
  color:#b1b8c1;
  margin-top:1rem;
  line-height:1.85;
}
.audit-feature__copy .eyebrow {
  font-size:.58rem;
  margin-bottom:1rem;
}
.audit-price {
  display:flex;
  align-items:baseline;
  gap:.6rem;
  flex-wrap:wrap;
  margin-block:1.8rem 1.5rem;
}
.audit-price strong {
  font:500 2.6rem/1 var(--font-display);
  letter-spacing:-.05em;
}
.audit-price span {
  font-size:.7rem;
  color:#aeb5bd;
}
.audit-feature__copy>.audit-scope {
  font-size:.65rem!important;
  margin-top:1rem;
}
.audit-report {
  background:var(--paper);
  color:var(--ink);
  padding:1.5rem;
  border-radius:8px;
  transform:rotate(1deg);
  box-shadow:0 10px 40px #0005;
  transition:transform .4s var(--ease);
}
.audit-report:hover {
  transform:rotate(0);
}
.audit-report__header {
  display:flex;
  align-items:center;
  gap:.6rem;
  padding-bottom:1.2rem;
  margin-bottom:1.4rem;
  border-bottom:1px solid var(--line);
}
.audit-report__header .mono {
  font-size:.5rem;
}
.sample-label {
  font-size:.54rem;
  border-radius:3px;
  background:var(--surface);
  padding:.15rem .4rem;
  margin-left:auto;
  color:var(--text-2);
}
.audit-report h4 {
  font-size:1.6rem;
  line-height:1.15;
}
.audit-report__intro {
  margin:.65rem 0 1.3rem;
  color:var(--text-3);
  font-size:.65rem;
}
.report-row {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:.5rem;
  padding-block:.85rem;
  border-bottom:1px solid var(--line);
  font-size:.69rem;
}
.report-row>span:first-child {
  display:flex;
  gap:.6rem;
  align-items:center;
}
.report-row .icon {
  width:17px;
  height:17px;
  color:var(--text-2);
}
.report-tag {
  padding:.2rem .4rem;
  border-radius:3px;
  font-size:.53rem;
  color:var(--green);
  background:var(--green-tint);
}
.report-note {
  display:flex;
  align-items:start;
  gap:.6rem;
  margin-top:1.3rem;
  padding:.85rem;
  background:var(--surface);
  border-radius:4px;
}
.report-note>.icon {
  width:19px;
  height:19px;
}
.report-note p {
  font-size:.62rem;
  color:var(--text-2);
  line-height:1.7;
}
.report-note strong {
  display:block;
  margin-bottom:.2rem;
  color:var(--ink);
  font-weight:500;
}
.audit-report__fine {
  margin-top:1.1rem;
  font-size:.53rem;
  color:var(--text-3);
}
.privacy-foot {
  display:grid;
  grid-template-columns:1.6fr 1fr;
  gap:3rem;
  margin-top:1.7rem;
  font-size:.66rem;
  color:#aeb5bd;
  line-height:1.8;
}
.privacy-foot strong {
  color:#e3e5e8;
  font-weight:500;
}
/* Process and personal introduction */
.process-grid {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:2.5rem;
}
.process-number {
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding-block:0 1.3rem;
  border-bottom:1px solid var(--line-strong);
  margin-bottom:1.7rem;
  font:400 2.6rem var(--font-display);
  color:#969da5;
  letter-spacing:-.05em;
}
.process-number span {
  color:var(--text-2);
  font-size:1rem;
}
.process-grid h3 {
  font-size:1.28rem;
  letter-spacing:-.03em;
}
.process-grid p {
  font-size:.83rem;
  line-height:1.85;
  color:var(--text-2);
  margin-top:.9rem;
  max-width:290px;
}
.about-section {
  background:var(--surface);
  border-block:1px solid var(--line);
}
.about-grid {
  display:grid;
  grid-template-columns:.86fr 1.14fr;
  gap:6rem;
  align-items:center;
}
.about-card {
  border:1px solid var(--line-strong);
  border-radius:var(--radius);
  background:#ebedef;
  position:relative;
  overflow:hidden;
  padding:1.5rem 2rem 0;
}
.about-card__top {
  display:flex;
  justify-content:space-between;
  gap:1rem;
  align-items:center;
}
.about-card__top .mono {
  font-size:.54rem;
}
.about-card__mark {
  display:grid;
  place-items:center;
  min-height:250px;
  background:repeating-radial-gradient(circle at center,transparent 0,transparent 44px,#d8dce0 45px,transparent 46px);
}
.about-card__mark img {
  width:128px;
  height:128px;
  transition:transform .6s var(--ease);
}
.about-card:hover .about-card__mark img {
  transform:rotate(-7deg);
}
.about-card__name {
  display:flex;
  justify-content:space-between;
  align-items:end;
  gap:1rem;
  padding-block:.75rem 2rem;
}
.about-card__name>span {
  font:500 1.75rem/1.15 var(--font-display);
  letter-spacing:-.045em;
}
.about-card__name p {
  color:var(--text-2);
  font-size:.65rem;
}
.about-card__bottom {
  margin-inline:-2rem;
  padding:1rem 2rem;
  border-top:1px solid var(--line-strong);
  font-size:.65rem;
  color:var(--text-2);
}
.about-copy>p:not(.eyebrow) {
  margin-top:1.15rem;
  font-size:.86rem;
  color:var(--text-2);
  line-height:1.85;
}
.about-copy>.about-lead {
  font-size:1rem!important;
  color:var(--ink)!important;
}
.credentials {
  display:flex;
  flex-wrap:wrap;
  gap:.5rem;
  margin-block:1.6rem 1.8rem;
}
.credentials span {
  font-size:.61rem;
  padding:.45rem .7rem;
  border:1px solid var(--line-strong);
  border-radius:4px;
}
.faq-layout {
  display:grid;
  grid-template-columns:.8fr 1.2fr;
  gap:6rem;
}
.faq-layout .eyebrow {
  max-width:250px;
  font-size:.61rem;
}
.faq-layout .section__intro {
  margin-top:1.5rem;
  font-size:.87rem;
}
.faq {
  border-top:1px solid var(--line-strong);
}
.faq__item {
  border-bottom:1px solid var(--line-strong);
}
.faq__item summary {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1.2rem;
  padding-block:1.3rem;
  list-style:none;
  cursor:pointer;
  font-size:.86rem;
  font-weight:500;
  line-height:1.5;
}
.faq__item summary::-webkit-details-marker {
  display:none;
}
.faq__item summary>span {
  font-weight:400;
  font-size:1.15rem;
  transition:transform .25s;
}
.faq__item[open] summary>span {
  transform:rotate(45deg);
}
.faq__a {
  padding:0 2rem 1.3rem 0;
  color:var(--text-2);
  font-size:.81rem;
  line-height:1.85;
}
.faq__item[open] .faq__a {
  animation:answer-in .3s var(--ease);
}
/* Contact */
.contact-section {
  background:var(--surface);
  border-top:1px solid var(--line);
}
.contact {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:6rem;
  align-items:start;
}
.contact__copy {
  padding-top:1.5rem;
}
.contact__copy h2 {
  font-size:clamp(2.75rem,4.5vw,4rem);
  letter-spacing:-.05em;
}
.contact__copy>p:not(.eyebrow) {
  margin-top:1.6rem;
  font-size:.95rem;
  color:var(--text-2);
  max-width:360px;
  line-height:1.85;
}
.contact__copy>.contact-reassurance {
  font-size:.8rem!important;
  margin-top:.8rem!important;
}
.contact-methods {
  margin-top:2.3rem;
  max-width:390px;
}
.contact-methods a {
  display:grid;
  grid-template-columns:1fr auto;
  row-gap:.25rem;
  align-items:center;
  padding-block:1.2rem;
  border-top:1px solid var(--line-strong);
  text-decoration:none;
  font-size:.97rem;
}
.contact-methods a:last-child {
  border-bottom:1px solid var(--line-strong);
}
.contact-methods a>.mono {
  grid-column:1;
  font-size:.55rem;
  color:var(--text-3);
}
.contact-methods a>.icon {
  grid-column:2;
  grid-row:1/3;
  width:18px;
}
.contact-methods a:hover>[data-site] {
  text-decoration:underline;
}
.contact-signoff {
  display:flex;
  align-items:center;
  gap:.8rem;
  margin-top:2.6rem;
  font-size:.72rem;
}
.contact-signoff small {
  color:var(--text-3);
  font-size:.64rem;
}
.form {
  padding:2rem;
  border:1px solid var(--line);
  border-radius:var(--radius);
  background:var(--paper);
  box-shadow:0 10px 35px -25px #0b0d1020;
}
.form__title {
  font-size:1.6rem;
  margin-bottom:.45rem;
}
.form__intro {
  color:var(--text-2);
  font-size:.75rem;
  line-height:1.7;
  margin-bottom:1.5rem;
}
.field {
  margin-bottom:1rem;
}
.field__label {
  display:flex;
  align-items:baseline;
  gap:.5rem;
  font-size:.73rem;
  font-weight:500;
  margin-bottom:.4rem;
}
.field__optional {
  font-size:.6rem;
  color:var(--text-3);
  font-weight:400;
}
.field__input {
  width:100%;
  display:block;
  background:#fbfcfc;
  border:1px solid var(--line-strong);
  border-radius:5px;
  padding:.7rem .8rem;
  color:var(--ink);
  min-height:45px;
  font-size:.82rem;
  transition:border-color .2s,box-shadow .2s;
}
.field__input::placeholder {
  color:var(--text-3);
  opacity:1;
}
.field__input:focus {
  outline:none;
  border-color:var(--ink);
  box-shadow:0 0 0 3px #0b0d1010;
}
.field__input[aria-invalid="true"] {
  border-color:var(--red);
}
.field__input--select {
  appearance:none;
  padding-right:2.3rem;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='m1 1 5 5 5-5' fill='none' stroke='%23545c66' stroke-width='1.5'/%3E%3C/svg%3E");
  background-repeat:no-repeat;
  background-position:right .85rem center;
}
.field__input--area {
  resize:vertical;
  min-height:100px;
}
.field__error {
  margin-top:.4rem;
  font-size:.67rem;
  color:var(--red);
}
.field__count {
  margin-top:.3rem;
  font-size:.65rem;
  color:var(--text-3);
  text-align:right;
}
.field--trap {
  position:absolute;
  width:1px;
  height:1px;
  overflow:hidden;
  clip-path:inset(50%);
  white-space:nowrap;
}
.form__fineprint {
  margin-top:.9rem;
  color:var(--text-3);
  font-size:.6rem;
  line-height:1.7;
}
.form__status {
  font-size:.76rem;
  margin-top:.8rem;
  line-height:1.7;
}
.form__status:empty {
  display:none;
}
.form__status[data-state="error"] {
  color:var(--red);
}
.form__done {
  padding-block:3rem;
}
.form__done-title {
  font:500 1.8rem var(--font-display);
  margin-bottom:1rem;
}
.form__done>p:last-child {
  font-size:.9rem;
  color:var(--text-2);
}
.cta-bar {
  display:none;
}
.site-footer {
  border-top:1px solid var(--line);
  padding-top:2.8rem;
}
.site-footer__inner {
  display:grid;
  grid-template-columns:1fr auto;
  gap:2.3rem;
}
.site-footer__tagline {
  font-size:.72rem;
  margin-top:.7rem;
  color:var(--text-3);
}
.site-footer__nav {
  display:flex;
  gap:3rem;
}
.site-footer__nav ul {
  display:flex;
  flex-wrap:wrap;
  gap:1.2rem;
  align-items:start;
}
.site-footer__nav a {
  font-size:.69rem;
  text-decoration:none;
}
.site-footer__nav a:hover {
  text-decoration:underline;
}
.site-footer__meta {
  display:flex;
  justify-content:space-between;
  gap:1rem;
  grid-column:1/-1;
  border-top:1px solid var(--line);
  padding-block:1.35rem;
  font-size:.62rem;
  color:var(--text-3);
}
/* Content stays available when scripts fail; motion honors OS preferences. */
[data-reveal] {
  transition:opacity .75s var(--ease),translate .75s var(--ease);
}
.reveals-enabled [data-reveal]:not(.is-visible) {
  opacity:0;
  translate:0 24px;
}
[data-reveal].is-visible {
  opacity:1;
  translate:0 0;
}
.service-card:nth-child(2),.process-grid li:nth-child(2) {
  transition-delay:.08s;
}
.service-card:nth-child(3),.process-grid li:nth-child(3) {
  transition-delay:.16s;
}
@keyframes network-travel {
  to {
    stroke-dashoffset:-290;
  }
}
@keyframes router-breathe {
  0%,100% {
    transform:scale(.9);
    opacity:.08;
  }
  50% {
    transform:scale(1.14);
    opacity:.16;
  }
}
@keyframes label-float {
  0%,100% {
    transform:translateY(0);
  }
  50% {
    transform:translateY(-5px);
  }
}
@keyframes answer-in {
  from {
    opacity:0;
    transform:translateY(-5px);
  }
  to {
    opacity:1;
    transform:translateY(0);
  }
}
/* Responsive layouts */
@media(min-width:100rem) {
  .container {
    max-width:1420px;
  }
  .hero {
    padding-top:5rem;
  }
  .network-stage {
    height:380px;
  }
  .hero__inner {
    gap:5rem;
  }
}
@media(max-width:70rem) {
  .hero__inner {
    gap:2rem;
  }
  .hero h1 {
    font-size:clamp(3.5rem,6vw,4.8rem);
  }
  .hero .btn-row {
    gap:1rem;
  }
  .hero .btn {
    padding-inline:1rem;
    font-size:.8rem;
    gap:.7rem;
  }
  .hero .text-link {
    font-size:.8rem;
  }
  .hero__assurances {
    gap:.65rem;
    font-size:.62rem;
  }
  .network-stage {
    height:310px;
  }
  .console__modes button {
    padding:.4rem;
    font-size:.58rem;
  }
  .console__bottom {
    gap:.3rem;
  }
  .motion-toggle {
    font-size:.5rem;
  }
  .console__copy h2 {
    font-size:1.4rem;
  }
  .service-card {
    padding:1.4rem;
  }
  .section__head--split,.about-grid,.contact,.faq-layout {
    gap:3.5rem;
  }
  .audit-feature {
    gap:2.5rem;
    padding:2rem;
  }
  .audit-report {
    padding:1.2rem;
  }
  .about-card {
    padding-inline:1.4rem;
  }
  .about-card__name {
    display:block;
  }
  .about-card__name p {
    margin-top:.6rem;
  }
  .site-footer__nav {
    gap:2rem;
  }
  .site-footer__nav ul {
    gap:.8rem;
  }
}
@media(max-width:56rem) and (min-width:48.001rem) {
  .nav,.nav__list {
    gap:1.3rem;
  }
  .nav__link {
    font-size:.72rem;
  }
  .hero__inner {
    gap:1.5rem;
  }
  .hero h1 {
    font-size:3.65rem;
  }
  .hero__copy .eyebrow {
    font-size:.53rem;
  }
  .hero .text-link {
    font-size:.75rem;
  }
  .home-console {
    padding-inline:1rem;
  }
  .network-stage {
    height:275px;
  }
  .console__bottom {
    flex-wrap:wrap;
  }
  .console__modes {
    flex:1;
  }
  .console__modes button {
    flex:1;
  }
  .motion-toggle {
    width:100%;
    min-height:24px;
  }
  .service-grid {
    gap:.75rem;
  }
  .service-card {
    padding:1.1rem;
  }
  .service-card h3 {
    font-size:1.45rem;
  }
  .service-card__top .mono {
    font-size:.48rem;
  }
  .check-list {
    font-size:.64rem;
  }
  .service-card__price span {
    font-size:.59rem;
  }
  .service-card__link {
    font-size:.7rem;
  }
}
@media(max-width:48rem) {
  :root {
    --header-h:4.3rem;
    --section-y:4rem;
  }
  .site-header__inner {
    gap:1rem;
    flex-wrap:wrap;
  }
  .brand img {
    width:142px;
  }
  .nav {
    width:100%;
    flex-direction:column;
    align-items:stretch;
    gap:1.3rem;
    padding-bottom:1.5rem;
  }
  .nav__list {
    flex-direction:column;
    align-items:stretch;
    gap:0;
  }
  .nav__link {
    font-size:1rem;
    padding-block:.9rem;
    width:100%;
  }
  .js .nav {
    position:absolute;
    top:100%;
    left:0;
    max-height:calc(100dvh - var(--header-h));
    overflow-y:auto;
    background:var(--paper);
    border-bottom:1px solid var(--line-strong);
    padding:1rem var(--gutter) 1.5rem;
    box-shadow:0 15px 25px #0b0d1010;
    display:none;
  }
  .js .nav.is-open {
    display:flex;
  }
  .js .nav-toggle {
    display:flex;
    align-items:center;
    gap:.6rem;
    min-width:72px;
    min-height:44px;
    background:none;
    border:0;
    padding:.4rem 0 .4rem .4rem;
  }
  .nav-toggle__label {
    font-size:.7rem;
  }
  .nav-toggle__bars {
    display:grid;
    gap:5px;
    width:17px;
  }
  .nav-toggle__bars i {
    height:1px;
    width:17px;
    background:var(--ink);
    transition:transform .2s;
  }
  .nav-toggle[aria-expanded="true"] i:first-child {
    transform:translateY(3px) rotate(45deg);
  }
  .nav-toggle[aria-expanded="true"] i:last-child {
    transform:translateY(-3px) rotate(-45deg);
  }
  .hero {
    padding-top:2.6rem;
  }
  .hero__inner {
    grid-template-columns:1fr;
    gap:2.5rem;
  }
  .hero__copy {
    padding:0;
  }
  .hero__copy .eyebrow {
    font-size:.6rem;
    margin-bottom:1.5rem;
  }
  .hero h1 {
    font-size:clamp(2.8rem,8.5vw,4.5rem);
  }
  .hero__lead {
    font-size:1.05rem;
    margin-top:1.3rem;
    max-width:440px;
  }
  .hero__intro {
    font-size:.88rem;
    max-width:410px;
  }
  .hero .btn-row {
    margin-top:1.5rem;
    gap:1.4rem;
  }
  .hero .btn {
    font-size:.8rem;
    padding-inline:1.1rem;
    gap:.8rem;
  }
  .hero__assurances {
    font-size:.64rem;
    gap:1rem;
    margin-top:1.4rem;
  }
  .home-console {
    width:100%;
    max-width:560px;
    margin-inline:auto;
    padding:1rem 1.2rem;
  }
  .network-stage {
    height:clamp(245px,65vw,350px);
  }
  .console__top .mono {
    font-size:.52rem;
  }
  .console__copy {
    min-height:104px;
  }
  .console__copy h2 {
    font-size:1.45rem;
  }
  .console__modes button {
    padding:.45rem .65rem;
    font-size:.62rem;
  }
  .motion-toggle {
    font-size:.55rem;
  }
  .hero__bottom {
    margin-top:2rem;
    padding-block:1.2rem;
  }
  .hero__bottom>.mono {
    display:none;
  }
  .hero__bottom a {
    width:100%;
    display:flex;
    justify-content:space-between;
  }
  .trust-strip__inner {
    gap:.7rem;
    padding-block:1.1rem;
  }
  .trust-strip p {
    flex-direction:column;
    gap:.5rem;
    text-align:center;
    font-size:.59rem;
    line-height:1.5;
    padding-inline:.3rem;
  }
  .trust-strip p span {
    max-width:120px;
  }
  .trust-strip .icon {
    width:19px;
    height:19px;
  }
  .section__head--split {
    grid-template-columns:1fr;
    gap:1.2rem;
  }
  .section__head {
    margin-bottom:2rem;
  }
  .section__title {
    font-size:2.45rem;
  }
  .section__intro {
    font-size:.9rem;
    max-width:450px;
  }
  .service-grid {
    grid-template-columns:1fr;
    gap:1rem;
  }
  .service-card {
    padding:1.6rem;
  }
  .service-card h3 {
    font-size:1.9rem;
  }
  .service-card__top {
    margin-bottom:1.4rem;
  }
  .service-card>p {
    font-size:.86rem;
  }
  .service-card__price {
    margin-top:.4rem;
  }
  .check-list {
    font-size:.76rem;
    gap:.6rem;
    margin-block:1.3rem 1.5rem;
  }
  .service-card__price strong {
    font-size:2.3rem;
  }
  .service-card__fine {
    font-size:.65rem!important;
  }
  .service-card__link {
    font-size:.87rem;
  }
  .services-foot {
    text-align:left;
    font-size:.8rem;
    margin-top:1.5rem;
  }
  .services-foot a {
    margin:.5rem 0 0;
  }
  .privacy-heading h2 {
    font-size:2.6rem;
  }
  .privacy-heading>p:last-child {
    font-size:.88rem;
  }
  .privacy-issues {
    grid-template-columns:1fr;
    gap:1.8rem;
    margin-block:2.5rem;
  }
  .privacy-issues article {
    display:grid;
    grid-template-columns:30px 1fr;
    gap:0 1rem;
    padding-top:1.4rem;
  }
  .privacy-issues>article>.icon {
    grid-row:1/4;
    margin-bottom:0;
    width:24px;
    height:24px;
  }
  .privacy-issues h3 {
    font-size:1.2rem;
  }
  .privacy-issues p,.privacy-issues a {
    grid-column:2;
  }
  .privacy-issues p {
    font-size:.82rem;
  }
  .audit-feature {
    grid-template-columns:1fr;
    gap:2rem;
    padding:1.5rem;
  }
  .audit-feature__copy h3 {
    font-size:2.25rem;
  }
  .audit-feature__copy>p:not(.eyebrow) {
    font-size:.85rem;
  }
  .audit-price {
    margin-block:1.6rem 1.2rem;
  }
  .audit-report {
    padding:1.3rem;
  }
  .audit-report__header .mono {
    font-size:.5rem;
  }
  .report-row {
    font-size:.71rem;
  }
  .privacy-foot {
    grid-template-columns:1fr;
    gap:.8rem;
    font-size:.7rem;
  }
  .process-grid {
    grid-template-columns:1fr;
    gap:1.8rem;
  }
  .process-grid li {
    display:grid;
    grid-template-columns:55px 1fr;
    gap:.5rem 1rem;
    padding-top:1.4rem;
    border-top:1px solid var(--line-strong);
  }
  .process-number {
    grid-column:1;
    grid-row:1/3;
    border:0;
    margin:0;
    padding:0;
    align-self:start;
    font-size:2.2rem;
    line-height:1;
  }
  .process-number span {
    display:none;
  }
  .process-grid h3 {
    font-size:1.25rem;
  }
  .process-grid p {
    grid-column:2;
    margin-top:.2rem;
    max-width:none;
  }
  .about-grid {
    grid-template-columns:1fr;
    gap:2.5rem;
  }
  .about-card {
    max-width:500px;
    width:100%;
    margin-inline:auto;
  }
  .about-card__mark {
    min-height:215px;
  }
  .about-card__mark img {
    width:105px;
    height:105px;
  }
  .about-card__name {
    display:flex;
    padding-bottom:1.4rem;
  }
  .about-card__name>span {
    font-size:1.6rem;
  }
  .about-copy>p:not(.eyebrow) {
    font-size:.87rem;
  }
  .faq-layout {
    grid-template-columns:1fr;
    gap:2rem;
  }
  .faq-layout .eyebrow {
    max-width:none;
  }
  .faq__item summary {
    font-size:.87rem;
  }
  .faq__a {
    font-size:.84rem;
    padding-right:.5rem;
  }
  .contact {
    grid-template-columns:1fr;
    gap:2.5rem;
  }
  .contact__copy {
    padding-top:0;
  }
  .contact__copy h2 {
    font-size:3rem;
  }
  .contact__copy>p:not(.eyebrow) {
    font-size:.9rem;
    margin-top:1.25rem;
  }
  .contact-methods {
    margin-top:1.4rem;
    max-width:none;
  }
  .contact-signoff {
    margin-top:1.7rem;
  }
  .form {
    padding:1.4rem;
  }
  .field__input {
    font-size:1rem;
  }
  .field__label {
    font-size:.77rem;
  }
  .field {
    margin-bottom:1.15rem;
  }
  .form__fineprint {
    font-size:.65rem;
  }
  .form__intro {
    font-size:.8rem;
  }
  .cta-bar {
    display:block;
    position:fixed;
    bottom:0;
    inset-inline:0;
    z-index:90;
    padding:.7rem var(--gutter) calc(.7rem + env(safe-area-inset-bottom,0px));
    background:#fffffff5;
    border-top:1px solid var(--line);
    backdrop-filter:blur(16px);
    transform:translateY(110%);
    visibility:hidden;
    transition:transform .35s var(--ease),visibility .35s;
  }
  .cta-bar.is-visible {
    transform:translateY(0);
    visibility:visible;
  }
  .cta-bar__inner {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:.6rem;
  }
  .cta-bar__text {
    display:grid;
  }
  .cta-bar__name {
    font-size:.75rem;
    font-weight:500;
  }
  .cta-bar__price {
    font-size:.6rem;
    color:var(--text-2);
  }
  .cta-bar .btn {
    min-height:43px;
    padding:.6rem 1rem;
    font-size:.75rem;
    gap:.8rem;
  }
  .site-footer {
    padding-top:2rem;
    padding-bottom:5rem;
  }
  .site-footer__inner {
    grid-template-columns:1fr;
    gap:1.7rem;
  }
  .site-footer__nav {
    justify-content:space-between;
    gap:2rem;
  }
  .site-footer__nav ul {
    flex-direction:column;
    gap:.55rem;
  }
  .site-footer__nav a {
    font-size:.78rem;
  }
  .site-footer__meta {
    font-size:.57rem;
    flex-wrap:wrap;
  }
}
@media(max-width:360px) {
  .hero h1 {
    font-size:2.45rem;
  }
  .hero__copy .eyebrow {
    font-size:.51rem;
  }
  .hero__assurances {
    gap:.55rem;
    font-size:.57rem;
  }
  .console__modes button {
    font-size:.56rem;
    padding-inline:.45rem;
  }
  .motion-toggle {
    font-size:.48rem;
  }
  .console__top .mono {
    font-size:.45rem;
  }
  .audit-feature {
    padding:1rem;
  }
  .report-row {
    font-size:.63rem;
  }
  .audit-report {
    padding:1rem;
  }
  .section__title {
    font-size:2.1rem;
  }
  .about-card__name {
    display:block;
  }
  .audit-report__header .mono {
    font-size:.42rem;
  }
}
@media(prefers-reduced-motion:reduce) {
  html {
    scroll-behavior:auto;
  }
  *,*::before,*::after {
    animation:none!important;
    transition:none!important;
  }
  .reveals-enabled [data-reveal]:not(.is-visible) {
    opacity:1;
    translate:none;
  }
}
@media print {
  .site-header,.cta-bar,.motion-toggle,.console__modes {
    display:none!important;
  }
  .section {
    padding-block:2rem;
  }
  .reveals-enabled [data-reveal]:not(.is-visible) {
    opacity:1;
    translate:none;
  }
  .privacy-section {
    color:var(--ink);
    background:white;
  }
  .privacy-section p,.privacy-section .eyebrow {
    color:var(--text-2);
  }
  .audit-feature {
    background:var(--surface);
  }
  .audit-feature__copy h3 {
    color:var(--ink);
  }
  .service-card,.audit-report,.about-card {
    break-inside:avoid;
  }
}
/* Supporting policy and error pages */
.legal .section__title {
  max-width:none;
}
.notice {
  margin-top:2rem;
  padding:1.25rem 1.5rem;
  background:var(--surface);
  border:1px solid var(--line);
  border-left:2px solid var(--yellow);
  border-radius:var(--radius);
  color:var(--text-2);
  font-size:.9375rem;
  line-height:1.6;
}
.notice__title {
  margin-bottom:.375rem;
  font-family:var(--font-mono);
  font-size:.6875rem;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--yellow);
}
.legal__body {
  margin-top:2.5rem;
}
.legal__body h2 {
  font-size:1.125rem;
  letter-spacing:-.02em;
}
.legal__body p {
  color:var(--text-2);
  font-size:1rem;
}
.legal__list {
  margin:1.25rem 0 2rem;
  border-top:1px solid var(--line);
}
.legal__list li {
  padding-block:.75rem;
  border-bottom:1px solid var(--line);
  color:var(--text-2);
  font-size:.9375rem;
}
.lead {
  margin-top:1.5rem;
  font-size:1.125rem;
  color:var(--text-2);
}
.legal+.btn-row {
  margin-top:2rem;
}
html:not(.js) .console__bottom,html:not(.js) .motion-toggle {
  display:none;
}
html:not(.js) .home-console * {
  animation:none!important;
}

/* Three dot planes move at different depths; all remain behind content. */
main > section, .site-footer {
  position:relative;
  isolation:isolate;
}
.ambient-field {
  --parallax-x:0px;
  --parallax-y:0px;
  --dot-far:rgba(84,92,102,.15);
  --dot-mid:rgba(84,92,102,.18);
  --dot-near:rgba(26,122,75,.28);
  position:absolute;
  inset:0;
  z-index:-1;
  overflow:hidden;
  pointer-events:none;
  mask-image:linear-gradient(105deg,#000,rgba(0,0,0,.25) 45%,rgba(0,0,0,.6) 70%,#000);
}
.dot-layer {
  position:absolute;
  inset:-140px;
  background-repeat:repeat;
  transform:translate3d(calc(var(--parallax-x) * var(--depth)),calc(var(--parallax-y) * var(--depth)),0);
  transition:transform .18s ease-out;
}
.dot-layer--far { --depth:.22; --particle-color:var(--dot-far); }
.dot-layer--mid { --depth:.55; --particle-color:var(--dot-mid); }
.dot-layer--near { --depth:1; --particle-color:var(--dot-near); }
.ambient-dot {
  position:absolute;
  width:var(--size);
  height:var(--size);
  border-radius:50%;
  background:var(--particle-color);
  animation:particle-wander var(--duration) ease-in-out var(--delay) infinite alternate;
}
.ambient-dot--ring {
  background:transparent;
  border:1px solid var(--particle-color);
}
@keyframes particle-wander {
  0% { transform:translate3d(var(--x1),var(--y1),0); }
  45% { transform:translate3d(var(--x2),var(--y2),0); }
  100% { transform:translate3d(var(--x3),var(--y3),0); }
}
.ambient-field:not(.is-in-view) .ambient-dot,
body.motion-paused .ambient-dot,
body.page-hidden .ambient-dot { animation-play-state:paused; }
.privacy-section .ambient-field {
  --dot-far:rgba(255,255,255,.13);
  --dot-mid:rgba(255,255,255,.19);
  --dot-near:rgba(124,207,162,.34);
}
body.motion-paused .dot-layer { transition:none; }
@media(prefers-reduced-motion:reduce) {
  .dot-layer { transform:none; transition:none; }
}
@media print { .ambient-field { display:none; } }
