@layer properties {
  @supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))) {
    *,
    :before,
    :after,
    ::backdrop {
      --tw-rotate-x:initial;
      --tw-rotate-y:initial;
      --tw-rotate-z:initial;
      --tw-skew-x:initial;
      --tw-skew-y:initial;
      --tw-font-weight:initial;
      --tw-blur:initial;
      --tw-brightness:initial;
      --tw-contrast:initial;
      --tw-grayscale:initial;
      --tw-hue-rotate:initial;
      --tw-invert:initial;
      --tw-opacity:initial;
      --tw-saturate:initial;
      --tw-sepia:initial;
      --tw-drop-shadow:initial;
      --tw-drop-shadow-color:initial;
      --tw-drop-shadow-alpha:100%;
      --tw-drop-shadow-size:initial
    }
  }
}
@layer theme {
  :root,
  :host {
    --font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
    --font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
    --color-blue-600:oklch(54.6% .245 262.881);
    --color-gray-600:oklch(44.6% .03 256.802);
    --spacing:.25rem;
    --font-weight-bold:700;
    --default-font-family:var(--font-sans);
    --default-mono-font-family:var(--font-mono)
  }
}
@layer base {
  *,
  :after,
  :before,
  ::backdrop {
    box-sizing:border-box;
    border:0 solid;
    margin:0;
    padding:0
  }
  ::file-selector-button {
    box-sizing:border-box;
    border:0 solid;
    margin:0;
    padding:0
  }
  html,
  :host {
    -webkit-text-size-adjust:100%;
    tab-size:4;
    line-height:1.5;
    font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");
    font-feature-settings:var(--default-font-feature-settings,normal);
    font-variation-settings:var(--default-font-variation-settings,normal);
    -webkit-tap-highlight-color:transparent
  }
  hr {
    height:0;
    color:inherit;
    border-top-width:1px
  }
  abbr:where([title]) {
    -webkit-text-decoration:underline dotted;
    text-decoration:underline dotted
  }
  h1,
  h2,
  h3,
  h4,
  h5,
  h6 {
    font-size:inherit;
    font-weight:inherit
  }
  a {
    color:inherit;
    -webkit-text-decoration:inherit;
    text-decoration:inherit
  }
  b,
  strong {
    font-weight:bolder
  }
  code,
  kbd,
  samp,
  pre {
    font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);
    font-feature-settings:var(--default-mono-font-feature-settings,normal);
    font-variation-settings:var(--default-mono-font-variation-settings,normal);
    font-size:1em
  }
  small {
    font-size:80%
  }
  sub,
  sup {
    vertical-align:baseline;
    font-size:75%;
    line-height:0;
    position:relative
  }
  sub {
    bottom:-.25em
  }
  sup {
    top:-.5em
  }
  table {
    text-indent:0;
    border-color:inherit;
    border-collapse:collapse
  }
  :-moz-focusring {
    outline:auto
  }
  progress {
    vertical-align:baseline
  }
  summary {
    display:list-item
  }
  ol,
  ul,
  menu {
    list-style:none
  }
  img,
  svg,
  video,
  canvas,
  audio,
  iframe,
  embed,
  object {
    vertical-align:middle;
    display:block
  }
  img,
  video {
    max-width:100%;
    height:auto
  }
  button,
  input,
  select,
  optgroup,
  textarea {
    font:inherit;
    font-feature-settings:inherit;
    font-variation-settings:inherit;
    letter-spacing:inherit;
    color:inherit;
    opacity:1;
    background-color:#0000;
    border-radius:0
  }
  ::file-selector-button {
    font:inherit;
    font-feature-settings:inherit;
    font-variation-settings:inherit;
    letter-spacing:inherit;
    color:inherit;
    opacity:1;
    background-color:#0000;
    border-radius:0
  }
  :where(select:is([multiple],
  [size])) optgroup {
    font-weight:bolder
  }
  :where(select:is([multiple],
  [size])) optgroup option {
    padding-inline-start:20px
  }
  ::file-selector-button {
    margin-inline-end:4px
  }
  ::placeholder {
    opacity:1
  }
  @supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px) {
    ::placeholder {
      color:currentColor
    }
    @supports (color:color-mix(in lab,red,red)) {
      ::placeholder {
        color:color-mix(in oklab,currentcolor 50%,transparent)
      }
    }
  }
  textarea {
    resize:vertical
  }
  ::-webkit-search-decoration {
    -webkit-appearance:none
  }
  ::-webkit-date-and-time-value {
    min-height:1lh;
    text-align:inherit
  }
  ::-webkit-datetime-edit {
    display:inline-flex
  }
  ::-webkit-datetime-edit-fields-wrapper {
    padding:0
  }
  ::-webkit-datetime-edit {
    padding-block:0
  }
  ::-webkit-datetime-edit-year-field {
    padding-block:0
  }
  ::-webkit-datetime-edit-month-field {
    padding-block:0
  }
  ::-webkit-datetime-edit-day-field {
    padding-block:0
  }
  ::-webkit-datetime-edit-hour-field {
    padding-block:0
  }
  ::-webkit-datetime-edit-minute-field {
    padding-block:0
  }
  ::-webkit-datetime-edit-second-field {
    padding-block:0
  }
  ::-webkit-datetime-edit-millisecond-field {
    padding-block:0
  }
  ::-webkit-datetime-edit-meridiem-field {
    padding-block:0
  }
  ::-webkit-calendar-picker-indicator {
    line-height:1
  }
  :-moz-ui-invalid {
    box-shadow:none
  }
  button,
  input:where([type=button],
  [type=reset],
  [type=submit]) {
    appearance:button
  }
  ::file-selector-button {
    appearance:button
  }
  ::-webkit-inner-spin-button {
    height:auto
  }
  ::-webkit-outer-spin-button {
    height:auto
  }
  [hidden]:where(:not([hidden=until-found])) {
    display:none!important
  }
}
@layer components;
@layer utilities {
  .visible {
    visibility:visible
  }
  .static {
    position:static
  }
  .start {
    inset-inline-start:var(--spacing)
  }
  .hidden {
    display:none
  }
  .transform {
    transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)
  }
  .font-bold {
    --tw-font-weight:var(--font-weight-bold);
    font-weight:var(--font-weight-bold)
  }
  .text-blue-600 {
    color:var(--color-blue-600)
  }
  .text-gray-600 {
    color:var(--color-gray-600)
  }
  .filter {
    filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)
  }
}
:root {
  --ink:#111613;
  --ink-soft:#1a211d;
  --paper:#f2f0e9;
  --paper-deep:#e4e0d5;
  --acid:#c9ef49;
  --acid-dark:#9ebd30;
  --muted:#6f756f;
  --line:#11161329;
  --display:"Archivo Black", sans-serif;
  --body:"DM Sans", sans-serif;
  --mono:"IBM Plex Mono", monospace
}
* {
  box-sizing:border-box
}
html {
  scroll-behavior:smooth
}
body {
  background:var(--paper);
  color:var(--ink);
  font-family:var(--body);
  -webkit-font-smoothing:antialiased;
  margin:0
}
body:before {
  content:"";
  pointer-events:none;
  z-index:50;
  opacity:.055;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.8'/%3E%3C/svg%3E");
  position:fixed;
  inset:0
}
a {
  color:inherit;
  text-decoration:none
}
button,
input,
textarea {
  font:inherit
}
button,
a {
  -webkit-tap-highlight-color:transparent
}
:focus-visible {
  outline:2px solid var(--acid-dark);
  outline-offset:4px
}
.site-header {
  color:var(--paper);
  z-index:20;
  background:#111613ed;
  border-bottom:1px solid #ffffff1c;
  justify-content:space-between;
  align-items:center;
  width:100%;
  height:82px;
  padding:0 clamp(22px,5vw,76px);
  display:flex;
  position:absolute;
  top:0
}
.brand {
  align-items:center;
  gap:13px;
  display:inline-flex
}
.brand-mark {
  grid-template-columns:repeat(3,5px);
  gap:3px;
  display:grid;
  transform:rotate(-8deg)
}
.brand-mark span {
  background:var(--acid);
  height:29px;
  display:block
}
.brand-mark span:nth-child(2) {
  height:21px;
  margin-top:8px
}
.brand-mark span:nth-child(3) {
  height:13px;
  margin-top:16px
}
.brand-copy {
  flex-direction:column;
  display:flex
}
.brand-copy strong {
  font-family:var(--display);
  letter-spacing:.03em;
  font-size:14px
}
.brand-copy small {
  color:var(--acid);
  font:500 9px/1.4 var(--mono);
  letter-spacing:.18em
}
.site-nav {
  align-items:center;
  gap:clamp(20px,2.5vw,42px);
  display:flex
}
.site-nav>a:not(.nav-cta) {
  color:#c3c6c3;
  font:500 12px var(--mono);
  letter-spacing:.05em;
  position:relative
}
.site-nav>a:not(.nav-cta):after {
  background:var(--acid);
  content:"";
  transform-origin:0;
  width:100%;
  height:2px;
  transition:transform .25s;
  position:absolute;
  bottom:-9px;
  left:0;
  transform:scaleX(0)
}
.site-nav>a:hover:after {
  transform:scaleX(1)
}
.nav-cta {
  background:var(--acid);
  color:var(--ink);
  align-items:center;
  gap:18px;
  padding:13px 17px;
  font-size:13px;
  font-weight:600;
  transition:background .2s,transform .2s;
  display:flex
}
.nav-cta:hover,
.button-primary:hover {
  background:#dafb6b;
  transform:translateY(-2px)
}
.menu-button {
  color:var(--paper);
  background:0 0;
  border:0;
  padding:5px;
  display:none
}
.hero {
  background:var(--ink);
  color:var(--paper);
  min-height:850px;
  padding:168px clamp(22px,7vw,112px) 85px;
  position:relative;
  overflow:hidden
}
.hero-grid {
  background-image:linear-gradient(#ffffff0b 1px,#0000 1px),linear-gradient(90deg,#ffffff0b 1px,#0000 1px);
  background-size:62px 62px;
  position:absolute;
  inset:0;
  -webkit-mask-image:linear-gradient(90deg,#0000,#000 20%,#000);
  mask-image:linear-gradient(90deg,#0000,#000 20%,#000)
}
.hero:after {
  background:var(--acid);
  content:"";
  filter:blur(100px);
  opacity:.09;
  width:280px;
  height:280px;
  position:absolute;
  top:24%;
  right:13%
}
.hero-content {
  z-index:3;
  max-width:740px;
  position:relative
}
.eyebrow {
  color:var(--acid);
  font:500 11px var(--mono);
  letter-spacing:.13em;
  text-transform:uppercase;
  align-items:center;
  gap:11px;
  display:flex
}
.eyebrow span {
  background:currentColor;
  width:32px;
  height:1px
}
.eyebrow.dark {
  color:#667135
}
.hero h1 {
  font-family:var(--display);
  letter-spacing:-.065em;
  text-transform:uppercase;
  margin:35px 0 30px;
  font-size:clamp(62px,7.7vw,124px);
  line-height:.98;
}
.hero h1 span {
  color:#0000;
  -webkit-text-stroke:1.5px #f2f0e973;
  display:block
}
.hero-lead {
  color:#aeb5af;
  max-width:660px;
  margin:0;
  font-size:clamp(17px,1.55vw,21px);
  line-height:1.65
}
.hero-actions {
  align-items:center;
  gap:34px;
  margin-top:45px;
  display:flex
}
.button {
  cursor:pointer;
  border:0;
  justify-content:center;
  align-items:center;
  gap:24px;
  padding:18px 22px;
  font-weight:600;
  transition:background .2s,transform .2s;
  display:inline-flex
}
.button-primary {
  background:var(--acid);
  color:var(--ink)
}
.text-link {
  color:#d9ddd9;
  font:500 12px var(--mono);
  border-bottom:1px solid #ffffff47;
  align-items:center;
  gap:12px;
  padding-bottom:8px;
  display:flex
}
.hero-notes {
  color:#7f8781;
  font:400 10px var(--mono);
  letter-spacing:.04em;
  text-transform:uppercase;
  flex-wrap:wrap;
  gap:23px;
  margin-top:56px;
  display:flex
}
.hero-notes span {
  align-items:center;
  gap:7px;
  display:flex
}
.hero-notes svg {
  color:var(--acid)
}
.chip-stage {
  z-index:2;
  width:min(46vw,650px);
  height:530px;
  position:absolute;
  top:165px;
  right:-70px
}
.chip-stage:before {
  content:"";
  border:1px solid #c9ef492e;
  position:absolute;
  inset:42px;
  transform:rotate(7deg)
}
.chip {
  z-index:4;
  background:linear-gradient(145deg,#262e29,#121714);
  border:1px solid #c9ef4980;
  width:280px;
  height:250px;
  padding:68px 38px 30px;
  position:absolute;
  top:116px;
  left:145px;
  transform:rotate(-7deg);
  box-shadow:0 32px 80px #00000073,inset 0 0 0 10px #1c231f
}
.chip:before,
.chip:after {
  background:repeating-linear-gradient(90deg,var(--acid) 0 3px,transparent 3px 11px);
  content:"";
  opacity:.6;
  height:12px;
  position:absolute;
  left:18px;
  right:18px
}
.chip:before {
  top:-13px
}
.chip:after {
  bottom:-13px
}
.chip-corner {
  border-left:18px solid var(--acid);
  border-top:18px solid #0000;
  width:0;
  height:0;
  position:absolute;
  bottom:14px;
  right:14px
}
.chip-label {
  color:var(--acid);
  font:500 10px var(--mono);
  letter-spacing:.24em;
  display:block
}
.chip strong {
  font:22px/1.1 var(--display);
  letter-spacing:-.03em;
  margin-top:8px;
  display:block
}
.chip small {
  color:#6f7a73;
  font:7px var(--mono);
  letter-spacing:.08em;
  margin-top:7px;
  display:block
}
.chip-code {
  color:#727a75;
  font:7px var(--mono);
  position:absolute;
  bottom:22px
}
.chip-orbit {
  border:1px solid #c9ef4938;
  border-radius:50%;
  position:absolute
}
.orbit-one {
  width:430px;
  height:370px;
  top:57px;
  left:72px
}
.orbit-two {
  width:540px;
  height:490px;
  top:-2px;
  left:16px;
  transform:rotate(24deg)
}
.solder-grid {
  opacity:.55;
  grid-template-columns:repeat(6,5px);
  gap:14px;
  display:grid;
  position:absolute;
  top:305px;
  left:450px;
  transform:rotate(-7deg)
}
.solder-grid i {
  background:var(--acid);
  border-radius:50%;
  width:5px;
  height:5px;
  box-shadow:0 0 8px #c9ef4961
}
.trace {
  transform-origin:0;
  background:#c9ef496b;
  height:1px;
  position:absolute
}
.trace:after {
  background:var(--acid);
  content:"";
  border-radius:50%;
  width:5px;
  height:5px;
  position:absolute;
  top:-2px;
  right:0
}
.trace-one {
  width:190px;
  top:96px;
  left:12px;
  transform:rotate(19deg)
}
.trace-two {
  width:150px;
  top:170px;
  right:40px;
  transform:rotate(-38deg)
}
.trace-three {
  width:170px;
  bottom:60px;
  left:104px;
  transform:rotate(-28deg)
}
.stage-label {
  color:#667069;
  font:8px var(--mono);
  letter-spacing:.17em;
  position:absolute
}
.stage-label-top {
  top:45px;
  right:110px
}
.stage-label-bottom {
  bottom:43px;
  left:150px
}
.scroll-marker {
  color:#707873;
  font:8px var(--mono);
  letter-spacing:.2em;
  transform-origin:0;
  align-items:center;
  gap:14px;
  display:flex;
  position:absolute;
  bottom:36px;
  left:clamp(22px,5vw,76px);
  transform:rotate(-90deg)
}
.scroll-marker i {
  background:#707873;
  width:48px;
  height:1px;
  display:block
}
.reveal {
  animation:.8s cubic-bezier(.2,.7,.2,1) both reveal
}
.reveal-delay-2 {
  animation-delay:.2s
}
@keyframes reveal {
  0% {
    opacity:0;
    transform:translateY(25px)
  }
  to {
    opacity:1;
    transform:translateY(0)
  }
}
.signal-strip {
  background:var(--acid);
  padding:13px 0;
  overflow:hidden
}
.signal-track {
  font:500 10px var(--mono);
  letter-spacing:.08em;
  white-space:nowrap;
  justify-content:center;
  align-items:center;
  gap:25px;
  display:flex
}
.signal-track i {
  background:var(--ink);
  width:5px;
  height:5px;
  transform:rotate(45deg)
}
.section-shell {
  max-width:1460px;
  margin:0 auto;
  padding-left:clamp(22px,6vw,90px);
  padding-right:clamp(22px,6vw,90px)
}
.services {
  padding-top:125px;
  padding-bottom:125px
}
.section-heading {
  grid-template-columns:1.2fr .8fr;
  align-items:end;
  gap:80px;
  margin-bottom:72px;
  display:grid
}
.section-heading h2,
.symptoms h2,
.contact h2 {
  font:clamp(47px,5.2vw,78px)/.96 var(--display);
  letter-spacing:-.055em;
  text-transform:uppercase;
  margin:27px 0 0
}
.section-heading>p {
  color:var(--muted);
  max-width:500px;
  margin:0 0 8px;
  font-size:17px;
  line-height:1.7
}
.services-grid {
  grid-template-columns:1.35fr .85fr 1.05fr;
  display:grid
}
.service-card {
  border-left:1px solid var(--line);
  flex-direction:column;
  justify-content:space-between;
  min-height:390px;
  padding:27px 29px 28px;
  transition:background .25s,transform .25s;
  display:flex
}
.service-card:nth-child(4) {
  grid-column:2/4;
  min-height:310px
}
.service-card:hover {
  background:var(--ink);
  color:var(--paper);
  transform:translateY(-7px)
}
.service-topline {
  color:#8c918d;
  font:10px var(--mono);
  justify-content:space-between;
  align-items:flex-start;
  display:flex
}
.service-card:hover .service-topline svg,
.service-card:hover a {
  color:var(--acid)
}
.service-tag {
  color:#747c54;
  font:500 9px var(--mono);
  letter-spacing:.13em
}
.service-card h3 {
  font:29px/1 var(--display);
  letter-spacing:-.035em;
  text-transform:uppercase;
  margin:13px 0 18px
}
.service-card p {
  color:var(--muted);
  max-width:390px;
  margin:0;
  font-size:14px;
  line-height:1.65
}
.service-card:hover p {
  color:#aab0ab
}
.service-card a {
  font:500 10px var(--mono);
  letter-spacing:.08em;
  text-transform:uppercase;
  align-items:center;
  gap:8px;
  margin-top:30px;
  display:flex
}
.bga-section {
  background:var(--ink);
  color:var(--paper);
  grid-template-columns:1fr 1fr;
  min-height:790px;
  display:grid
}
.bga-visual {
  background:#171d19;
  justify-content:center;
  align-items:center;
  display:flex;
  position:relative;
  overflow:hidden
}
.bga-visual:before {
  content:"";
  background-image:linear-gradient(#ffffff0a 1px,#0000 1px),linear-gradient(90deg,#ffffff0a 1px,#0000 1px);
  background-size:43px 43px;
  position:absolute;
  inset:0
}
.bga-board {
  border:1px solid #c9ef494d;
  width:470px;
  height:470px;
  position:relative;
  transform:rotate(-6deg)
}
.board-frame {
  border:1px solid #c9ef491f;
  position:absolute;
  inset:24px
}
.board-chip {
  color:var(--acid);
  background:#202722;
  border:1px solid #7d913d;
  justify-content:center;
  align-items:center;
  width:190px;
  height:190px;
  display:flex;
  position:absolute;
  top:124px;
  left:138px
}
.board-points {
  grid-template-columns:repeat(7,5px);
  gap:17px;
  display:grid;
  position:absolute;
  top:72px;
  left:48px
}
.board-points i {
  background:#5d6b35;
  border-radius:50%;
  width:5px;
  height:5px
}
.board-points i:nth-child(3n) {
  background:var(--acid)
}
.board-label {
  color:#626b65;
  font:8px var(--mono);
  letter-spacing:.12em;
  position:absolute
}
.label-a {
  bottom:35px;
  left:35px
}
.label-b {
  top:34px;
  right:32px
}
.bga-copy {
  align-self:center;
  padding:85px clamp(40px,7vw,110px)
}
.bga-copy h2 {
  font:clamp(48px,5vw,78px)/.96 var(--display);
  letter-spacing:-.055em;
  text-transform:uppercase;
  margin:28px 0 32px
}
.bga-copy h2 em,
.contact h2 em {
  color:var(--acid);
  font-style:normal
}
.bga-lead {
  color:#aab0ab;
  max-width:600px;
  font-size:17px;
  line-height:1.72
}
.bga-points {
  border-top:1px solid #ffffff21;
  margin-top:38px
}
.bga-points div {
  border-bottom:1px solid #ffffff21;
  grid-template-columns:35px 1fr;
  align-items:center;
  gap:20px;
  padding:17px 0;
  display:grid
}
.bga-points span {
  color:var(--acid);
  font:9px var(--mono)
}
.bga-points p {
  color:#c4c9c5;
  margin:0;
  font-size:14px
}
.warning-note {
  border-left:2px solid var(--acid);
  background:#c9ef4914;
  align-items:flex-start;
  gap:14px;
  margin-top:35px;
  padding:18px;
  display:flex
}
.warning-note svg {
  color:var(--acid);
  flex:none
}
.warning-note p {
  color:#adb3ae;
  margin:0;
  font-size:12px;
  line-height:1.6
}
.warning-note strong {
  color:var(--paper)
}
.symptoms {
  grid-template-columns:.8fr 1.2fr;
  gap:90px;
  padding-top:125px;
  padding-bottom:125px;
  display:grid
}
.symptoms-title {
  position:relative
}
.laptop-line {
  color:#1116131f;
  width:240px;
  margin-top:60px
}
.laptop-line svg {
  width:100%;
  height:auto
}
.symptom-list {
  border-top:1px solid var(--line)
}
.symptom-list a {
  border-bottom:1px solid var(--line);
  grid-template-columns:42px 1fr 25px;
  align-items:center;
  gap:20px;
  padding:23px 12px;
  transition:background .2s,padding .2s;
  display:grid
}
.symptom-list a:hover {
  background:var(--acid);
  padding-left:20px;
  padding-right:20px
}
.symptom-list span {
  color:#8f948f;
  font:9px var(--mono)
}
.symptom-list strong {
  font-size:17px;
  font-weight:500
}
.symptom-list svg {
  transition:transform .2s
}
.symptom-list a:hover svg {
  transform:translate(4px)
}
.process {
  background:var(--ink-soft);
  color:var(--paper);
  padding:115px 0
}
.process-heading {
  justify-content:space-between;
  align-items:end;
  display:flex
}
.process-heading h2 {
  font:clamp(46px,4.8vw,72px)/.96 var(--display);
  letter-spacing:-.055em;
  text-transform:uppercase;
  margin:26px 0 0
}
.process-grid {
  grid-template-columns:repeat(4,1fr);
  margin-top:75px;
  display:grid
}
.process-grid article {
  border-left:1px solid #ffffff21;
  min-height:300px;
  padding:20px 24px
}
.process-grid article>span {
  color:#6e766f;
  font:9px var(--mono)
}
.process-icon {
  color:var(--acid);
  margin:58px 0 32px
}
.process-icon svg {
  stroke-width:1.3px;
  width:35px;
  height:35px
}
.process-grid h3 {
  font:20px var(--display);
  letter-spacing:-.02em;
  text-transform:uppercase;
  margin:0 0 13px
}
.process-grid p {
  color:#8f9791;
  margin:0;
  font-size:13px;
  line-height:1.6
}
.contact {
  grid-template-columns:.9fr 1.1fr;
  gap:clamp(50px,9vw,140px);
  padding-top:130px;
  padding-bottom:130px;
  display:grid
}
.contact-copy>p:not(.eyebrow):not(.contact-note) {
  color:var(--muted);
  max-width:520px;
  font-size:16px;
  line-height:1.7
}
.contact h2 em {
  color:#75833c
}
.contact-meta {
  border-top:1px solid var(--line);
  max-width:510px;
  margin-top:45px
}
.contact-meta>div {
  border-bottom:1px solid var(--line);
  align-items:center;
  gap:17px;
  padding:18px 4px;
  display:flex
}
.contact-meta svg {
  color:#75833c
}
.contact-meta span {
  flex-direction:column;
  font-size:13px;
  display:flex
}
.contact-meta small {
  color:#8b908c;
  font:8px var(--mono);
  letter-spacing:.13em;
  margin-bottom:4px
}
.contact-note {
  color:#949994;
  font:9px/1.6 var(--mono);
  max-width:480px
}
.form-panel {
  border-top:4px solid var(--ink);
  background:#e6e3da;
  min-height:570px;
  padding:clamp(27px,4vw,55px)
}
.form-row {
  grid-template-columns:1fr 1fr;
  gap:24px;
  display:grid
}
.form-panel form>label,
.form-row label {
  color:#626762;
  font:500 9px var(--mono);
  letter-spacing:.08em;
  text-transform:uppercase;
  flex-direction:column;
  gap:10px;
  margin-bottom:25px;
  display:flex
}
.form-panel input,
.form-panel textarea {
  color:var(--ink);
  font:15px var(--body);
  resize:vertical;
  text-transform:none;
  background:0 0;
  border:0;
  border-bottom:1px solid #a9aaa4;
  border-radius:0;
  outline:none;
  width:100%;
  padding:9px 1px 13px;
  transition:border-color .2s
}
.form-panel textarea {
  border:1px solid #b9bab4;
  min-height:130px;
  padding:15px
}
.form-panel input:focus,
.form-panel textarea:focus {
  border-color:#657130
}
.form-submit {
  width:100%;
  margin-top:7px
}
.form-submit:disabled {
  cursor:wait;
  opacity:.65
}
.hidden-field {
  display:none
}
.privacy-line {
  color:#858a85;
  font:8px var(--mono);
  justify-content:center;
  align-items:center;
  gap:7px;
  margin:16px 0 0;
  display:flex
}
.form-error {
  color:#9b352e;
  text-align:center;
  margin:15px 0 0;
  font-size:12px;
  line-height:1.5
}
.form-message {
  text-align:center;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  min-height:460px;
  display:flex
}
.form-message svg {
  color:#6f7f2d
}
.form-message h3 {
  font:32px var(--display);
  text-transform:uppercase;
  margin:20px 0 10px
}
.form-message p {
  color:var(--muted);
  max-width:340px
}
.form-message button {
  border:0;
  border-bottom:1px solid var(--ink);
  cursor:pointer;
  font:10px var(--mono);
  text-transform:uppercase;
  background:0 0;
  margin-top:15px;
  padding:5px 0
}
footer {
  color:var(--paper);
  background:#0e120f;
  justify-content:space-between;
  align-items:center;
  padding:38px clamp(22px,5vw,76px);
  display:flex
}
.footer-brand {
  transform-origin:0;
  transform:scale(.9)
}
.footer-brand .brand-mark span {
  height:24px
}
.footer-brand .brand-copy strong {
  font-size:12px
}
footer>p {
  color:#6e756f;
  font:8px var(--mono);
  letter-spacing:.07em
}
.footer>a:last-child {
  font:8px var(--mono);
  letter-spacing:.12em;
  align-items:center;
  gap:8px;
  display:flex
}
.footer>a:last-child svg {
  transform:rotate(180deg)
}
@media(max-width:1080px) {
  .chip-stage {
    opacity:.6;
    right:-220px
  }
  .hero-content {
    max-width:680px
  }
  .services-grid {
    grid-template-columns:1fr 1fr
  }
  .service-card:nth-child(4) {
    grid-column:auto
  }
  .bga-section {
    grid-template-columns:.85fr 1.15fr
  }
  .bga-board {
    transform:rotate(-6deg)scale(.75)
  }
  .symptoms {
    gap:45px
  }
  .process-grid {
    grid-template-columns:1fr 1fr
  }
  .process-grid article {
    border-bottom:1px solid #ffffff21
  }
}
@media(max-width:760px) {
  .site-header {
    height:70px;
    position:absolute
  }
  .menu-button {
    display:block
  }
  .site-nav {
    background:var(--ink);
    opacity:0;
    pointer-events:none;
    z-index:-1;
    border-bottom:1px solid #ffffff26;
    flex-direction:column;
    align-items:stretch;
    gap:0;
    width:100%;
    padding:85px 22px 25px;
    transition:opacity .2s,transform .2s;
    position:absolute;
    top:0;
    left:0;
    transform:translateY(-15px)
  }
  .site-nav.is-open {
    opacity:1;
    pointer-events:auto;
    transform:translateY(0)
  }
  .site-nav>a:not(.nav-cta) {
    border-bottom:1px solid #ffffff1a;
    padding:17px 0;
    font-size:13px
  }
  .nav-cta {
    justify-content:space-between;
    margin-top:20px
  }
  .hero {
    min-height:810px;
    padding-top:135px
  }
  .hero h1 {
    font-size:clamp(55px,17vw,82px)
  }
  .hero-lead {
    font-size:16px
  }
  .hero-actions {
    flex-direction:column;
    align-items:flex-start;
    gap:24px;
    margin-top:35px
  }
  .hero-notes {
    gap:13px;
    margin-top:38px
  }
  .chip-stage {
    opacity:.32;
    transform-origin:100% 100%;
    width:620px;
    height:330px;
    top:auto;
    bottom:-95px;
    right:-160px;
    transform:scale(.7)
  }
  .scroll-marker {
    display:none
  }
  .signal-track {
    justify-content:flex-start;
    width:max-content;
    animation:18s linear infinite ticker
  }
  @keyframes ticker {
    to {
      transform:translate(-50%)
    }
  }
  .services,
  .symptoms,
  .contact {
    padding-top:85px;
    padding-bottom:85px
  }
  .section-heading {
    grid-template-columns:1fr;
    align-items:start;
    gap:30px;
    margin-bottom:50px
  }
  .section-heading h2,
  .symptoms h2,
  .contact h2 {
    font-size:47px
  }
  .services-grid {
    grid-template-columns:1fr
  }
  .service-card {
    border-bottom:1px solid var(--line);
    min-height:340px
  }
  .service-card:nth-child(4) {
    min-height:340px
  }
  .bga-section {
    grid-template-columns:1fr
  }
  .bga-visual {
    min-height:470px
  }
  .bga-board {
    transform:rotate(-6deg)scale(.72)
  }
  .bga-copy {
    padding:75px 24px
  }
  .bga-copy h2 {
    font-size:48px
  }
  .symptoms {
    grid-template-columns:1fr
  }
  .laptop-line {
    display:none
  }
  .symptom-list strong {
    font-size:14px
  }
  .process {
    padding:85px 0
  }
  .process-heading {
    flex-direction:column;
    align-items:start
  }
  .process-heading h2 {
    font-size:45px
  }
  .process-grid {
    grid-template-columns:1fr;
    margin-top:50px
  }
  .process-grid article {
    min-height:auto;
    padding:24px 12px 30px
  }
  .process-icon {
    margin:32px 0 24px
  }
  .contact {
    grid-template-columns:1fr
  }
  .form-row {
    grid-template-columns:1fr;
    gap:0
  }
  .form-panel {
    padding:30px 22px
  }
  footer {
    flex-direction:column;
    align-items:flex-start;
    gap:25px
  }
  .footer-brand {
    transform:none
  }
  footer>p {
    line-height:1.6
  }
}
@media(prefers-reduced-motion:reduce) {
  html {
    scroll-behavior:auto
  }
  *,
  :before,
  :after {
    transition-duration:.01ms!important;
    animation-duration:.01ms!important;
    animation-iteration-count:1!important
  }
}
@property --tw-rotate-x {
  syntax:"*";
  inherits:false
}
@property --tw-rotate-y {
  syntax:"*";
  inherits:false
}
@property --tw-rotate-z {
  syntax:"*";
  inherits:false
}
@property --tw-skew-x {
  syntax:"*";
  inherits:false
}
@property --tw-skew-y {
  syntax:"*";
  inherits:false
}
@property --tw-font-weight {
  syntax:"*";
  inherits:false
}
@property --tw-blur {
  syntax:"*";
  inherits:false
}
@property --tw-brightness {
  syntax:"*";
  inherits:false
}
@property --tw-contrast {
  syntax:"*";
  inherits:false
}
@property --tw-grayscale {
  syntax:"*";
  inherits:false
}
@property --tw-hue-rotate {
  syntax:"*";
  inherits:false
}
@property --tw-invert {
  syntax:"*";
  inherits:false
}
@property --tw-opacity {
  syntax:"*";
  inherits:false
}
@property --tw-saturate {
  syntax:"*";
  inherits:false
}
@property --tw-sepia {
  syntax:"*";
  inherits:false
}
@property --tw-drop-shadow {
  syntax:"*";
  inherits:false
}
@property --tw-drop-shadow-color {
  syntax:"*";
  inherits:false
}
@property --tw-drop-shadow-alpha {
  syntax:"<percentage>";
  inherits:false;
  initial-value:100%
}
@property --tw-drop-shadow-size {
  syntax:"*";
  inherits:false
}
