/* Extracted from immutable references/code2.html. Refinements live in fullmfg.css. */
:root {
      --navy-950: #07111f;
      --navy-900: #0a1727;
      --navy-850: #0d1d30;
      --navy-800: #11253a;
      --graphite: #17212d;
      --steel-700: #415166;
      --steel-500: #718096;
      --steel-300: #b8c2ce;
      --steel-200: #d7dee6;
      --steel-100: #e9eef3;
      --warm: #f7f6f2;
      --white: #ffffff;
      --red: #d84545;
      --red-dark: #b72f36;
      --blue: #3d80e4;
      --blue-soft: #e8f1ff;
      --green: #25a36a;
      --green-soft: #e5f8ef;
      --amber: #d88d26;
      --amber-soft: #fff2dc;
      --purple: #7e68d5;
      --shadow: 0 22px 70px rgba(7, 17, 31, 0.13);
      --shadow-soft: 0 12px 35px rgba(7, 17, 31, 0.08);
      --radius-xl: 28px;
      --radius-lg: 20px;
      --radius-md: 14px;
      --radius-sm: 10px;
      --max: 1440px;
      --header-h: 76px;
    }

/* Extracted from immutable references/code2.html. Refinements live in fullmfg.css. */
* {
      box-sizing: border-box;
    }

    html {
      scroll-behavior: smooth;
    }

    body {
      margin: 0;
      color: var(--navy-950);
      background: var(--warm);
      font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
      line-height: 1.5;
      overflow-x: hidden;
    }

    button,
    input,
    select,
    textarea {
      font: inherit;
    }

    button,
    a {
      -webkit-tap-highlight-color: transparent;
    }

    button {
      cursor: pointer;
    }

    a {
      color: inherit;
      text-decoration: none;
    }

    img,
    svg {
      display: block;
      max-width: 100%;
    }

    .container {
      width: min(var(--max), calc(100% - 40px));
      margin: 0 auto;
    }

    .eyebrow {
      display: inline-flex;
      align-items: center;
      gap: 9px;
      margin-bottom: 16px;
      color: var(--red);
      font-size: 0.73rem;
      font-weight: 850;
      letter-spacing: 0.16em;
      text-transform: uppercase;
    }

    .eyebrow::before {
      width: 28px;
      height: 2px;
      content: "";
      background: var(--red);
    }

    .section-heading {
      margin: 0;
      max-width: 800px;
      font-size: clamp(2rem, 4vw, 4.5rem);
      line-height: 0.98;
      letter-spacing: -0.055em;
    }

    .section-copy {
      max-width: 720px;
      margin: 22px 0 0;
      color: var(--steel-700);
      font-size: 1.08rem;
    }

    .muted {
      color: var(--steel-500);
    }

    .tiny {
      font-size: 0.78rem;
    }

    .kicker {
      color: var(--steel-500);
      font-size: 0.72rem;
      font-weight: 800;
      letter-spacing: 0.1em;
      text-transform: uppercase;
    }

    .btn {
      min-height: 46px;
      padding: 0 18px;
      border: 1px solid transparent;
      border-radius: 12px;
      font-weight: 800;
      transition: 180ms ease;
    }

    .btn:hover {
      transform: translateY(-2px);
    }

    .btn:active {
      transform: translateY(0);
    }

    .btn-primary {
      color: var(--white);
      background: var(--red);
      box-shadow: 0 10px 24px rgba(216, 69, 69, 0.22);
    }

    .btn-primary:hover {
      background: var(--red-dark);
    }

    .btn-dark {
      color: var(--white);
      background: var(--navy-950);
    }

    .btn-light {
      color: var(--navy-950);
      background: var(--white);
      border-color: var(--steel-200);
    }

    .btn-ghost {
      color: var(--navy-950);
      background: transparent;
      border-color: var(--steel-200);
    }

    .btn-block {
      width: 100%;
    }

    .icon-button {
      display: grid;
      width: 42px;
      height: 42px;
      padding: 0;
      border: 1px solid var(--steel-200);
      border-radius: 12px;
      background: var(--white);
      place-items: center;
    }

/* Extracted from immutable references/code2.html. Refinements live in fullmfg.css. */
/* Header */
    .site-header {
      position: sticky;
      z-index: 100;
      top: 0;
      height: var(--header-h);
      color: var(--white);
      background: rgba(7, 17, 31, 0.94);
      border-bottom: 1px solid rgba(255, 255, 255, 0.1);
      backdrop-filter: blur(18px);
    }

    .header-inner {
      display: flex;
      height: 100%;
      align-items: center;
      gap: 24px;
    }

    .logo {
      display: flex;
      min-width: 265px;
      align-items: center;
      gap: 12px;
    }

    .logo-mark {
      position: relative;
      display: grid;
      width: 38px;
      height: 38px;
      overflow: hidden;
      border: 1px solid rgba(255, 255, 255, 0.25);
      border-radius: 11px;
      background:
        linear-gradient(90deg, transparent 46%, rgba(255,255,255,.14) 47% 53%, transparent 54%),
        linear-gradient(transparent 46%, rgba(255,255,255,.14) 47% 53%, transparent 54%),
        var(--navy-800);
      place-items: center;
    }

    .logo-mark::before,
    .logo-mark::after {
      position: absolute;
      content: "";
    }

    .logo-mark::before {
      width: 17px;
      height: 17px;
      border: 3px solid white;
      border-radius: 4px;
    }

    .logo-mark::after {
      right: 0;
      bottom: 0;
      width: 12px;
      height: 4px;
      background: var(--red);
    }

    .logo-text strong,
    .logo-text span {
      display: block;
    }

    .logo-text strong {
      font-size: 0.87rem;
      line-height: 1.1;
      letter-spacing: 0.05em;
    }

    .logo-text span {
      margin-top: 3px;
      color: #a7b5c7;
      font-size: 0.63rem;
      letter-spacing: 0.1em;
      text-transform: uppercase;
    }

    .header-nav {
      display: flex;
      margin-left: auto;
      align-items: center;
      gap: 23px;
    }

    .header-nav a {
      color: #cbd4df;
      font-size: 0.87rem;
      font-weight: 650;
      transition: color 150ms ease;
    }

    .header-nav a:hover {
      color: var(--white);
    }

    .header-actions {
      display: flex;
      align-items: center;
      gap: 10px;
    }

    .header-actions .btn {
      min-height: 41px;
      padding-inline: 15px;
      font-size: 0.84rem;
    }

    .header-actions .btn-ghost {
      color: var(--white);
      border-color: rgba(255,255,255,.2);
    }

    .mobile-menu-btn {
      display: none;
      margin-left: auto;
      color: white;
      background: transparent;
      border-color: rgba(255,255,255,.2);
    }

    .mobile-menu {
      display: none;
      padding: 12px 20px 20px;
      background: var(--navy-950);
      border-top: 1px solid rgba(255,255,255,.1);
    }

    .mobile-menu.open {
      display: grid;
      gap: 6px;
    }

    .mobile-menu a {
      padding: 12px;
      color: #dce3eb;
      border-radius: 8px;
    }

/* Extracted from immutable references/code2.html. Refinements live in fullmfg.css. */
/* Hero */
    .hero {
      position: relative;
      overflow: hidden;
      color: var(--white);
      background:
        radial-gradient(circle at 78% 24%, rgba(61, 128, 228, 0.18), transparent 25%),
        radial-gradient(circle at 68% 80%, rgba(216, 69, 69, 0.12), transparent 27%),
        linear-gradient(135deg, #07111f 0%, #0a1829 52%, #10263d 100%);
    }

    .hero::before {
      position: absolute;
      inset: 0;
      content: "";
      opacity: 0.22;
      background-image:
        linear-gradient(rgba(255,255,255,.045) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,.045) 1px, transparent 1px);
      background-size: 50px 50px;
      mask-image: linear-gradient(to bottom, black, transparent 90%);
    }

    .hero-inner {
      position: relative;
      display: grid;
      min-height: 690px;
      padding: 78px 0 82px;
      align-items: center;
      grid-template-columns: minmax(0, 0.92fr) minmax(520px, 1.08fr);
      gap: 70px;
    }

    .location-pill {
      display: inline-flex;
      margin-bottom: 25px;
      padding: 8px 12px;
      align-items: center;
      gap: 9px;
      color: #d2dce7;
      border: 1px solid rgba(255,255,255,.15);
      border-radius: 999px;
      background: rgba(255,255,255,.05);
      font-size: 0.75rem;
      font-weight: 750;
      letter-spacing: 0.04em;
    }

    .flag-detail {
      display: grid;
      width: 22px;
      height: 14px;
      overflow: hidden;
      border-radius: 2px;
      background: repeating-linear-gradient(
        to bottom,
        #d34a4f 0 2px,
        #f6f4ef 2px 4px
      );
    }

    .flag-detail::before {
      width: 10px;
      height: 8px;
      content: "";
      background: #31558a;
    }

    .hero h1 {
      max-width: 690px;
      margin: 0;
      font-size: clamp(3.4rem, 6vw, 6.8rem);
      line-height: 0.9;
      letter-spacing: -0.067em;
    }

    .hero h1 em {
      color: transparent;
      background: linear-gradient(100deg, #fff 25%, #90b7ec);
      -webkit-background-clip: text;
      background-clip: text;
      font-style: normal;
    }

    .hero-copy {
      max-width: 620px;
      margin: 28px 0 0;
      color: #bcc8d7;
      font-size: 1.14rem;
      line-height: 1.7;
    }

    .hero-actions {
      display: flex;
      margin-top: 32px;
      flex-wrap: wrap;
      gap: 12px;
    }

    .hero .btn {
      min-height: 53px;
      padding-inline: 22px;
    }

    .hero .btn-light {
      color: white;
      background: rgba(255,255,255,.07);
      border-color: rgba(255,255,255,.16);
    }

    .hero-notes {
      display: flex;
      margin-top: 30px;
      flex-wrap: wrap;
      gap: 20px;
      color: #93a4b8;
      font-size: 0.77rem;
      font-weight: 650;
    }

    .hero-notes span {
      display: inline-flex;
      align-items: center;
      gap: 7px;
    }

    .hero-notes i {
      display: grid;
      width: 17px;
      height: 17px;
      color: white;
      border-radius: 50%;
      background: rgba(37,163,106,.75);
      font-size: 0.65rem;
      font-style: normal;
      place-items: center;
    }

    /* Hero dashboard */
    .hero-dashboard {
      position: relative;
      padding: 16px;
      color: var(--navy-950);
      border: 1px solid rgba(255,255,255,.17);
      border-radius: 28px;
      background: rgba(255,255,255,.08);
      box-shadow: 0 45px 100px rgba(0,0,0,.34);
      transform: perspective(1500px) rotateY(-3deg) rotateX(2deg);
      backdrop-filter: blur(12px);
    }

    .dashboard-window {
      overflow: hidden;
      border-radius: 19px;
      background: #f7f8fa;
    }

    .window-topbar {
      display: flex;
      height: 49px;
      padding: 0 16px;
      align-items: center;
      gap: 7px;
      background: white;
      border-bottom: 1px solid var(--steel-200);
    }

    .window-dot {
      width: 8px;
      height: 8px;
      border-radius: 50%;
      background: #ccd4dd;
    }

    .window-dot:first-child {
      background: var(--red);
    }

    .window-address {
      margin-left: 8px;
      padding: 6px 12px;
      color: var(--steel-500);
      border-radius: 7px;
      background: var(--steel-100);
      font-size: 0.65rem;
    }

    .window-content {
      display: grid;
      min-height: 455px;
      grid-template-columns: 140px 1fr;
    }

    .window-sidebar {
      padding: 20px 13px;
      color: #a6b2c1;
      background: var(--navy-950);
    }

    .mini-logo {
      width: 29px;
      height: 29px;
      margin-bottom: 25px;
      border: 2px solid white;
      border-radius: 8px;
    }

    .mini-nav-item {
      margin: 8px 0;
      padding: 8px 9px;
      border-radius: 7px;
      font-size: 0.63rem;
    }

    .mini-nav-item.active {
      color: white;
      background: rgba(255,255,255,.1);
    }

    .window-main {
      padding: 22px;
    }

    .preview-heading {
      display: flex;
      margin-bottom: 18px;
      align-items: flex-end;
      justify-content: space-between;
    }

    .preview-heading strong {
      display: block;
      font-size: 1rem;
    }

    .preview-heading span {
      color: var(--steel-500);
      font-size: 0.65rem;
    }

    .preview-badge {
      padding: 6px 8px;
      color: var(--green);
      border-radius: 6px;
      background: var(--green-soft);
      font-size: 0.56rem;
      font-weight: 800;
    }

    .mini-progress {
      display: flex;
      margin-bottom: 23px;
      align-items: center;
    }

    .mini-progress-step {
      position: relative;
      display: grid;
      flex: 1;
      color: var(--steel-500);
      font-size: 0.49rem;
      gap: 7px;
    }

    .mini-progress-step:not(:last-child)::after {
      position: absolute;
      z-index: 0;
      top: 5px;
      right: 7px;
      left: 10px;
      height: 1px;
      content: "";
      background: var(--steel-200);
    }

    .mini-progress-step i {
      position: relative;
      z-index: 1;
      width: 11px;
      height: 11px;
      border: 2px solid white;
      border-radius: 50%;
      background: var(--steel-300);
      box-shadow: 0 0 0 1px var(--steel-300);
    }

    .mini-progress-step.done i {
      background: var(--green);
      box-shadow: 0 0 0 1px var(--green);
    }

    .mini-progress-step.active i {
      background: var(--blue);
      box-shadow: 0 0 0 3px rgba(61,128,228,.17);
    }

    .preview-grid {
      display: grid;
      grid-template-columns: 1.35fr .65fr;
      gap: 12px;
    }

    .preview-card {
      min-height: 112px;
      padding: 14px;
      border: 1px solid var(--steel-200);
      border-radius: 12px;
      background: white;
    }

    .preview-card-title {
      margin-bottom: 13px;
      color: var(--steel-500);
      font-size: 0.58rem;
      font-weight: 800;
      letter-spacing: .06em;
      text-transform: uppercase;
    }

    .preview-price {
      font-size: 1.42rem;
      font-weight: 850;
      letter-spacing: -.04em;
    }

    .preview-price small {
      color: var(--steel-500);
      font-size: .58rem;
      font-weight: 600;
    }

    .bar-chart {
      display: flex;
      height: 67px;
      align-items: flex-end;
      gap: 6px;
    }

    .bar-chart span {
      flex: 1;
      border-radius: 3px 3px 0 0;
      background: #b9d2f5;
    }

    .bar-chart span:nth-child(2) { background: #8eb6ed; }
    .bar-chart span:nth-child(3) { background: var(--blue); }
    .bar-chart span:nth-child(4) { background: #75a5e8; }
    .bar-chart span:nth-child(5) { background: var(--red); }

    .preview-workflow {
      display: grid;
      margin-top: 12px;
      grid-template-columns: repeat(3, 1fr);
      gap: 8px;
    }

    .preview-workflow div {
      padding: 11px 9px;
      border: 1px solid var(--steel-200);
      border-radius: 9px;
      background: white;
      font-size: .55rem;
    }

    .preview-workflow strong {
      display: block;
      margin-bottom: 4px;
      font-size: .68rem;
    }

    .floating-unit-card {
      position: absolute;
      right: -20px;
      bottom: 62px;
      width: 180px;
      padding: 15px;
      border: 1px solid rgba(255,255,255,.18);
      border-radius: 16px;
      background: rgba(8, 23, 40, 0.94);
      box-shadow: 0 20px 45px rgba(0,0,0,.25);
      color: white;
      backdrop-filter: blur(15px);
      animation: float 4.5s ease-in-out infinite;
    }

    .floating-unit-card span {
      color: #9fb0c3;
      font-size: .63rem;
    }

    .floating-unit-card strong {
      display: block;
      margin-top: 3px;
      font-size: 1.45rem;
      letter-spacing: -.04em;
    }

    .floating-unit-card small {
      color: #67d59e;
      font-size: .61rem;
    }

    @keyframes float {
      50% { transform: translateY(-8px); }
    }

/* Extracted from immutable references/code2.html. Refinements live in fullmfg.css. */
/* Trust ribbon */
    .trust-ribbon {
      background: var(--white);
      border-bottom: 1px solid var(--steel-200);
    }

    .trust-inner {
      display: grid;
      min-height: 94px;
      align-items: center;
      grid-template-columns: 1.2fr repeat(4, 1fr);
    }

    .trust-lead {
      color: var(--steel-500);
      font-size: 0.76rem;
      font-weight: 850;
      letter-spacing: .1em;
      text-transform: uppercase;
    }

    .trust-item {
      padding: 10px 24px;
      border-left: 1px solid var(--steel-200);
    }

    .trust-item strong {
      display: block;
      color: var(--navy-950);
      font-size: 1.23rem;
      letter-spacing: -.03em;
    }

    .trust-item span {
      color: var(--steel-500);
      font-size: .72rem;
    }

/* Extracted from immutable references/code2.html. Refinements live in fullmfg.css. */
/* Project setup */
    .project-setup {
      padding: 110px 0;
    }

    .setup-layout {
      display: grid;
      margin-top: 45px;
      grid-template-columns: 1.15fr .85fr;
      gap: 24px;
    }

    .panel {
      border: 1px solid var(--steel-200);
      border-radius: var(--radius-xl);
      background: var(--white);
      box-shadow: var(--shadow-soft);
    }

    .panel-body {
      padding: 28px;
    }

    .panel-header {
      padding: 24px 28px;
      border-bottom: 1px solid var(--steel-200);
    }

    .panel-header h3 {
      margin: 0;
      font-size: 1.2rem;
      letter-spacing: -.025em;
    }

    .panel-header p {
      margin: 5px 0 0;
      color: var(--steel-500);
      font-size: .84rem;
    }

    .project-types {
      display: grid;
      margin-bottom: 26px;
      grid-template-columns: repeat(3, 1fr);
      gap: 10px;
    }

    .project-type {
      min-height: 94px;
      padding: 13px;
      text-align: left;
      color: var(--navy-950);
      border: 1px solid var(--steel-200);
      border-radius: 14px;
      background: white;
      transition: 160ms ease;
    }

    .project-type:hover {
      border-color: #a9bdd7;
      transform: translateY(-2px);
    }

    .project-type.selected {
      border-color: var(--blue);
      background: var(--blue-soft);
      box-shadow: 0 0 0 3px rgba(61,128,228,.1);
    }

    .project-type-icon {
      display: grid;
      width: 28px;
      height: 28px;
      margin-bottom: 10px;
      color: var(--blue);
      border-radius: 8px;
      background: var(--blue-soft);
      font-size: .8rem;
      font-weight: 900;
      place-items: center;
    }

    .project-type strong {
      display: block;
      font-size: .78rem;
      line-height: 1.25;
    }

    .form-grid {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 16px;
    }

    .field.full {
      grid-column: 1 / -1;
    }

    .field label {
      display: block;
      margin-bottom: 7px;
      color: var(--steel-700);
      font-size: .74rem;
      font-weight: 800;
    }

    .input,
    .select,
    .textarea {
      width: 100%;
      padding: 12px 13px;
      color: var(--navy-950);
      outline: none;
      border: 1px solid var(--steel-200);
      border-radius: 10px;
      background: #fcfcfb;
      transition: 150ms ease;
    }

    .textarea {
      min-height: 100px;
      resize: vertical;
    }

    .input:focus,
    .select:focus,
    .textarea:focus {
      border-color: var(--blue);
      box-shadow: 0 0 0 3px rgba(61,128,228,.1);
    }

    .input-prefix {
      position: relative;
    }

    .input-prefix span {
      position: absolute;
      top: 50%;
      left: 13px;
      color: var(--steel-500);
      transform: translateY(-50%);
    }

    .input-prefix .input {
      padding-left: 27px;
    }

    .dropzone {
      display: grid;
      min-height: 250px;
      padding: 28px;
      text-align: center;
      border: 2px dashed #bbc6d2;
      border-radius: 18px;
      background:
        linear-gradient(135deg, rgba(61,128,228,.04), transparent 50%),
        #fbfcfd;
      place-items: center;
      transition: 170ms ease;
    }

    .dropzone.dragover {
      border-color: var(--blue);
      background: var(--blue-soft);
      transform: scale(1.01);
    }

    .upload-icon {
      display: grid;
      width: 62px;
      height: 62px;
      margin: 0 auto 16px;
      color: var(--blue);
      border: 1px solid #bfd4f2;
      border-radius: 18px;
      background: var(--blue-soft);
      font-size: 1.5rem;
      place-items: center;
    }

    .dropzone strong {
      display: block;
      font-size: 1rem;
    }

    .dropzone p {
      margin: 6px 0 14px;
      color: var(--steel-500);
      font-size: .8rem;
    }

    .file-types {
      color: var(--steel-500);
      font-size: .68rem;
      font-weight: 750;
      letter-spacing: .04em;
    }

    .file-list {
      display: grid;
      margin-top: 15px;
      gap: 8px;
    }

    .file-item {
      display: flex;
      padding: 10px 12px;
      align-items: center;
      gap: 10px;
      border: 1px solid var(--steel-200);
      border-radius: 10px;
      background: white;
      animation: fadeIn 250ms ease;
    }

    .file-ext {
      display: grid;
      width: 34px;
      height: 34px;
      color: var(--red);
      border-radius: 8px;
      background: #fdeced;
      font-size: .55rem;
      font-weight: 900;
      place-items: center;
    }

    .file-info {
      flex: 1;
      min-width: 0;
    }

    .file-info strong {
      display: block;
      overflow: hidden;
      font-size: .73rem;
      text-overflow: ellipsis;
      white-space: nowrap;
    }

    .file-info span {
      color: var(--steel-500);
      font-size: .62rem;
    }

    .file-check {
      color: var(--green);
      font-weight: 900;
    }

/* Extracted from immutable references/code2.html. Refinements live in fullmfg.css. */
/* Workflow */
    .workflow-section {
      padding: 100px 0 125px;
      background:
        linear-gradient(rgba(255,255,255,.76), rgba(255,255,255,.76)),
        repeating-linear-gradient(90deg, transparent 0 79px, rgba(7,17,31,.035) 80px);
      border-top: 1px solid var(--steel-200);
    }

    .workflow-intro {
      display: flex;
      align-items: flex-end;
      justify-content: space-between;
      gap: 30px;
    }

    .workflow-intro .section-copy {
      margin-bottom: 5px;
    }

    .estimate-label {
      flex: 0 0 auto;
      padding: 12px 15px;
      color: var(--amber);
      border: 1px solid #ead2ac;
      border-radius: 12px;
      background: var(--amber-soft);
      font-size: .73rem;
      font-weight: 850;
    }

    /* Progress */
    .stage-progress-wrap {
      position: sticky;
      z-index: 45;
      top: calc(var(--header-h) + 12px);
      margin: 42px 0 28px;
      padding: 17px 18px;
      border: 1px solid var(--steel-200);
      border-radius: 18px;
      background: rgba(255,255,255,.94);
      box-shadow: var(--shadow-soft);
      backdrop-filter: blur(15px);
    }

    .stage-progress {
      display: grid;
      grid-template-columns: repeat(7, 1fr);
    }

    .progress-step {
      position: relative;
      display: grid;
      padding: 0 5px;
      text-align: center;
      color: var(--steel-500);
      border: 0;
      background: none;
      place-items: center;
      gap: 7px;
    }

    .progress-step:not(:last-child)::after {
      position: absolute;
      z-index: 0;
      top: 13px;
      right: -50%;
      width: 100%;
      height: 2px;
      content: "";
      background: var(--steel-200);
    }

    .progress-step.complete:not(:last-child)::after,
    .progress-step.configured:not(:last-child)::after {
      background: var(--green);
    }

    .progress-dot {
      position: relative;
      z-index: 1;
      display: grid;
      width: 28px;
      height: 28px;
      color: var(--steel-500);
      border: 2px solid var(--steel-200);
      border-radius: 50%;
      background: white;
      font-size: .67rem;
      font-weight: 900;
      place-items: center;
      transition: 160ms ease;
    }

    .progress-step.active .progress-dot {
      color: white;
      border-color: var(--red);
      background: var(--red);
      box-shadow: 0 0 0 5px rgba(216,69,69,.13);
    }

    .progress-step.complete .progress-dot,
    .progress-step.configured .progress-dot {
      color: white;
      border-color: var(--green);
      background: var(--green);
    }

    .progress-label {
      position: relative;
      z-index: 1;
      font-size: .66rem;
      font-weight: 800;
    }

    .progress-step.active .progress-label {
      color: var(--navy-950);
    }

    .workflow-layout {
      display: grid;
      align-items: start;
      grid-template-columns: minmax(0, 1fr) 340px;
      gap: 25px;
    }

    .stage-stack {
      display: grid;
      gap: 16px;
    }

    /* Stage cards */
    .stage-card {
      position: relative;
      overflow: hidden;
      border: 1px solid var(--steel-200);
      border-radius: 22px;
      background: white;
      box-shadow: 0 7px 24px rgba(7,17,31,.045);
      transition: 220ms ease;
    }

    .stage-card::before {
      position: absolute;
      top: 0;
      bottom: 0;
      left: 0;
      width: 4px;
      content: "";
      background: var(--steel-200);
    }

    .stage-card.active {
      border-color: #9db9df;
      box-shadow: 0 18px 55px rgba(7,17,31,.12);
    }

    .stage-card.active::before {
      background: var(--red);
    }

    .stage-card.configured::before {
      background: var(--green);
    }

    .stage-summary {
      display: grid;
      padding: 22px 24px;
      align-items: center;
      grid-template-columns: 66px minmax(0, 1fr) 160px 145px;
      gap: 20px;
    }

    .stage-number {
      display: grid;
      width: 55px;
      height: 55px;
      border: 1px solid var(--steel-200);
      border-radius: 16px;
      background: var(--warm);
      font-size: 1rem;
      font-weight: 900;
      place-items: center;
    }

    .stage-card.active .stage-number {
      color: white;
      border-color: var(--navy-950);
      background: var(--navy-950);
    }

    .stage-title-line {
      display: flex;
      align-items: center;
      flex-wrap: wrap;
      gap: 10px;
    }

    .stage-title {
      margin: 0;
      font-size: 1.05rem;
      letter-spacing: -.025em;
    }

    .status-pill {
      display: inline-flex;
      padding: 5px 8px;
      border-radius: 999px;
      color: var(--steel-700);
      background: var(--steel-100);
      font-size: .58rem;
      font-weight: 850;
      letter-spacing: .04em;
      text-transform: uppercase;
    }

    .status-pill.ready,
    .status-pill.in-progress {
      color: var(--blue);
      background: var(--blue-soft);
    }

    .status-pill.configured,
    .status-pill.complete {
      color: var(--green);
      background: var(--green-soft);
    }

    .status-pill.awaiting {
      color: var(--amber);
      background: var(--amber-soft);
    }

    .stage-description {
      margin: 7px 0 0;
      color: var(--steel-500);
      font-size: .78rem;
    }

    .selected-services {
      margin-top: 8px;
      color: var(--blue);
      font-size: .67rem;
      font-weight: 750;
    }

    .stage-meta {
      display: grid;
      gap: 7px;
    }

    .meta-row {
      display: flex;
      align-items: baseline;
      justify-content: space-between;
      gap: 8px;
      font-size: .67rem;
    }

    .meta-row span {
      color: var(--steel-500);
    }

    .meta-row strong {
      text-align: right;
      font-size: .73rem;
    }

    .stage-configure-btn {
      width: 100%;
      min-height: 42px;
      color: var(--navy-950);
      border: 1px solid var(--steel-200);
      border-radius: 10px;
      background: white;
      font-size: .72rem;
      font-weight: 850;
    }

    .stage-card.active .stage-configure-btn {
      color: white;
      border-color: var(--navy-950);
      background: var(--navy-950);
    }

    .stage-details {
      display: none;
      padding: 26px;
      border-top: 1px solid var(--steel-200);
      background: #fafbfc;
      animation: slideDown 240ms ease;
    }

    .stage-card.open .stage-details {
      display: block;
    }

    @keyframes slideDown {
      from { opacity: 0; transform: translateY(-8px); }
      to { opacity: 1; transform: translateY(0); }
    }

    @keyframes fadeIn {
      from { opacity: 0; transform: translateY(4px); }
      to { opacity: 1; transform: translateY(0); }
    }

    .detail-intro {
      display: flex;
      margin-bottom: 20px;
      align-items: center;
      justify-content: space-between;
      gap: 20px;
    }

    .detail-intro h4 {
      margin: 0;
      font-size: 1rem;
    }

    .detail-intro p {
      margin: 4px 0 0;
      color: var(--steel-500);
      font-size: .75rem;
    }

    .deliverable {
      max-width: 290px;
      padding: 10px 12px;
      color: var(--steel-700);
      border: 1px solid var(--steel-200);
      border-radius: 10px;
      background: white;
      font-size: .65rem;
    }

    .deliverable strong {
      color: var(--navy-950);
    }

    .options-grid {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 9px;
    }

    .service-option {
      position: relative;
    }

    .service-option input {
      position: absolute;
      opacity: 0;
      pointer-events: none;
    }

    .service-option label {
      display: flex;
      min-height: 62px;
      padding: 11px;
      align-items: flex-start;
      gap: 9px;
      border: 1px solid var(--steel-200);
      border-radius: 11px;
      background: white;
      transition: 150ms ease;
      cursor: pointer;
    }

    .service-option label::before {
      display: grid;
      width: 18px;
      height: 18px;
      flex: 0 0 auto;
      color: white;
      border: 1px solid #afbac7;
      border-radius: 5px;
      content: "";
      font-size: .65rem;
      font-weight: 900;
      place-items: center;
    }

    .service-option input:checked + label {
      border-color: var(--blue);
      background: var(--blue-soft);
    }

    .service-option input:checked + label::before {
      content: "✓";
      border-color: var(--blue);
      background: var(--blue);
    }

    .service-copy {
      display: block;
      min-width: 0;
      font-size: .7rem;
      line-height: 1.25;
    }

    .service-copy strong {
      display: block;
    }

    .service-copy span {
      display: block;
      margin-top: 4px;
      color: var(--steel-500);
      font-size: .61rem;
    }

    .config-grid {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 14px;
    }

    .config-field label {
      display: block;
      margin-bottom: 6px;
      color: var(--steel-700);
      font-size: .67rem;
      font-weight: 800;
    }

    .config-field .input,
    .config-field .select {
      padding: 10px 11px;
      font-size: .74rem;
    }

    .result-panel {
      display: grid;
      margin-top: 20px;
      padding: 18px;
      border: 1px solid #cbd6e3;
      border-radius: 15px;
      background: white;
      grid-template-columns: repeat(4, 1fr);
      gap: 12px;
    }

    .result-item {
      padding-right: 12px;
      border-right: 1px solid var(--steel-200);
    }

    .result-item:last-child {
      border-right: 0;
    }

    .result-item span {
      display: block;
      color: var(--steel-500);
      font-size: .61rem;
    }

    .result-item strong {
      display: block;
      margin-top: 4px;
      font-size: .94rem;
      letter-spacing: -.02em;
    }

    .recommendation-box {
      margin-top: 12px;
      padding: 14px;
      border-left: 3px solid var(--blue);
      border-radius: 0 10px 10px 0;
      background: var(--blue-soft);
      color: var(--steel-700);
      font-size: .72rem;
    }

    .recommendation-box strong {
      color: var(--navy-950);
    }

    .stage-footer-actions {
      display: flex;
      margin-top: 20px;
      align-items: center;
      justify-content: flex-end;
      gap: 10px;
    }

    /* Calendar */
    .calendar-wrap {
      display: grid;
      grid-template-columns: .85fr 1.15fr;
      gap: 18px;
    }

    .calendar {
      padding: 16px;
      border: 1px solid var(--steel-200);
      border-radius: 14px;
      background: white;
    }

    .calendar-head {
      display: flex;
      margin-bottom: 13px;
      align-items: center;
      justify-content: space-between;
      font-size: .78rem;
      font-weight: 850;
    }

    .calendar-grid {
      display: grid;
      grid-template-columns: repeat(7, 1fr);
      gap: 5px;
    }

    .calendar-day-name {
      padding: 4px 0;
      text-align: center;
      color: var(--steel-500);
      font-size: .55rem;
      font-weight: 800;
    }

    .calendar-day {
      display: grid;
      aspect-ratio: 1;
      padding: 0;
      color: var(--navy-950);
      border: 0;
      border-radius: 7px;
      background: transparent;
      font-size: .66rem;
      place-items: center;
    }

    .calendar-day.available {
      background: var(--blue-soft);
    }

    .calendar-day.selected {
      color: white;
      background: var(--blue);
    }

    .calendar-day.blank {
      pointer-events: none;
    }

    .time-slots {
      display: grid;
      margin-top: 12px;
      grid-template-columns: repeat(3, 1fr);
      gap: 8px;
    }

    .time-slot {
      padding: 9px 5px;
      color: var(--steel-700);
      border: 1px solid var(--steel-200);
      border-radius: 8px;
      background: white;
      font-size: .65rem;
      font-weight: 750;
    }

    .time-slot.selected {
      color: white;
      border-color: var(--blue);
      background: var(--blue);
    }

    /* Quantity buttons */
    .quantity-buttons {
      display: flex;
      margin-bottom: 18px;
      flex-wrap: wrap;
      gap: 8px;
    }

    .quantity-button {
      min-width: 73px;
      padding: 10px 12px;
      color: var(--navy-950);
      border: 1px solid var(--steel-200);
      border-radius: 9px;
      background: white;
      font-size: .72rem;
      font-weight: 850;
    }

    .quantity-button.selected {
      color: white;
      border-color: var(--navy-950);
      background: var(--navy-950);
    }

    /* Production comparison */
    .process-switch {
      display: inline-flex;
      padding: 4px;
      border-radius: 11px;
      background: var(--steel-100);
    }

    .process-switch button {
      padding: 8px 13px;
      color: var(--steel-700);
      border: 0;
      border-radius: 8px;
      background: transparent;
      font-size: .69rem;
      font-weight: 800;
    }

    .process-switch button.active {
      color: var(--navy-950);
      background: white;
      box-shadow: 0 2px 7px rgba(7,17,31,.09);
    }

    .comparison-panel {
      display: grid;
      margin-top: 17px;
      overflow: hidden;
      border: 1px solid var(--steel-200);
      border-radius: 15px;
      background: white;
      grid-template-columns: 1fr 1fr;
    }

    .comparison-col {
      padding: 18px;
    }

    .comparison-col + .comparison-col {
      background: #f0f6ff;
      border-left: 1px solid var(--steel-200);
    }

    .comparison-label {
      margin-bottom: 12px;
      color: var(--steel-500);
      font-size: .62rem;
      font-weight: 850;
      letter-spacing: .08em;
      text-transform: uppercase;
    }

    .comparison-process {
      margin-bottom: 18px;
      font-size: 1.05rem;
      font-weight: 850;
    }

    .comparison-row {
      display: flex;
      padding: 7px 0;
      justify-content: space-between;
      gap: 10px;
      border-bottom: 1px solid var(--steel-100);
      font-size: .68rem;
    }

    .comparison-row span {
      color: var(--steel-500);
    }

    /* Profit calculator */
    .profit-layout {
      display: grid;
      grid-template-columns: 1fr .85fr;
      gap: 18px;
    }

    .profit-results {
      display: grid;
      padding: 20px;
      color: white;
      border-radius: 15px;
      background: var(--navy-950);
      align-content: center;
      gap: 15px;
    }

    .profit-result-row {
      display: flex;
      align-items: flex-end;
      justify-content: space-between;
      gap: 10px;
    }

    .profit-result-row span {
      color: #9eafc1;
      font-size: .66rem;
    }

    .profit-result-row strong {
      font-size: 1rem;
    }

    .profit-result-row.highlight strong {
      color: #67d59e;
      font-size: 1.6rem;
      letter-spacing: -.04em;
    }

    /* Fulfillment */
    .fulfillment-costs {
      display: grid;
      margin-top: 18px;
      grid-template-columns: repeat(4, 1fr);
      gap: 10px;
    }

    .cost-card {
      padding: 14px;
      border: 1px solid var(--steel-200);
      border-radius: 11px;
      background: white;
    }

    .cost-card span {
      display: block;
      color: var(--steel-500);
      font-size: .6rem;
    }

    .cost-card strong {
      display: block;
      margin-top: 5px;
      font-size: .9rem;
    }

    /* Savings */
    .savings-opportunities {
      display: grid;
      margin-top: 18px;
      grid-template-columns: repeat(3, 1fr);
      gap: 10px;
    }

    .saving-card {
      padding: 16px;
      border: 1px solid var(--steel-200);
      border-radius: 12px;
      background: white;
    }

    .saving-card .saving-icon {
      display: grid;
      width: 31px;
      height: 31px;
      margin-bottom: 11px;
      color: var(--green);
      border-radius: 8px;
      background: var(--green-soft);
      place-items: center;
    }

    .saving-card strong {
      display: block;
      font-size: .75rem;
    }

    .saving-card b {
      display: block;
      margin: 6px 0 4px;
      color: var(--green);
      font-size: 1.15rem;
    }

    .saving-card span {
      color: var(--steel-500);
      font-size: .62rem;
    }

    /* Live quote */
    .quote-sidebar {
      position: sticky;
      top: 168px;
      overflow: hidden;
      border: 1px solid var(--steel-200);
      border-radius: 22px;
      background: white;
      box-shadow: var(--shadow);
    }

    .quote-head {
      padding: 20px;
      color: white;
      background:
        linear-gradient(135deg, rgba(61,128,228,.15), transparent 50%),
        var(--navy-950);
    }

    .quote-head-top {
      display: flex;
      align-items: center;
      justify-content: space-between;
    }

    .quote-head h3 {
      margin: 0;
      font-size: 1.06rem;
      letter-spacing: -.025em;
    }

    .live-dot {
      display: inline-flex;
      align-items: center;
      gap: 6px;
      color: #93e4bb;
      font-size: .59rem;
      font-weight: 850;
      letter-spacing: .06em;
      text-transform: uppercase;
    }

    .live-dot::before {
      width: 7px;
      height: 7px;
      border-radius: 50%;
      content: "";
      background: #47cf8b;
      box-shadow: 0 0 0 5px rgba(71,207,139,.12);
      animation: pulse 2s infinite;
    }

    @keyframes pulse {
      50% { box-shadow: 0 0 0 8px rgba(71,207,139,0); }
    }

    .quote-total-label {
      margin-top: 18px;
      color: #9fb0c3;
      font-size: .64rem;
    }

    .quote-total {
      margin-top: 2px;
      font-size: 2.15rem;
      font-weight: 900;
      letter-spacing: -.055em;
    }

    .quote-disclaimer {
      color: #8fa0b3;
      font-size: .57rem;
    }

    .quote-body {
      padding: 17px 20px 20px;
    }

    .quote-group {
      padding: 14px 0;
      border-bottom: 1px solid var(--steel-200);
    }

    .quote-group:first-child {
      padding-top: 0;
    }

    .quote-group-title {
      margin-bottom: 8px;
      color: var(--steel-500);
      font-size: .61rem;
      font-weight: 900;
      letter-spacing: .08em;
      text-transform: uppercase;
    }

    .quote-row {
      display: flex;
      padding: 4px 0;
      justify-content: space-between;
      gap: 10px;
      font-size: .67rem;
    }

    .quote-row span {
      color: var(--steel-500);
    }

    .quote-row strong {
      text-align: right;
    }

    .quote-row.emphasis {
      padding-top: 7px;
      font-size: .76rem;
    }

    .quote-row.emphasis strong {
      color: var(--green);
    }

    .quote-actions {
      display: grid;
      margin-top: 15px;
      grid-template-columns: 1fr 1fr;
      gap: 8px;
    }

    .quote-actions .btn {
      min-height: 39px;
      padding: 0 8px;
      font-size: .66rem;
    }

    .quote-actions .advance-btn {
      grid-column: 1 / -1;
    }

    .quote-note {
      margin-top: 12px;
      text-align: center;
      color: var(--steel-500);
      font-size: .57rem;
    }

    .mobile-quote-bar {
      display: none;
    }

/* Extracted from immutable references/code2.html. Refinements live in fullmfg.css. */
/* Dashboard preview */
    .dashboard-section {
      padding: 115px 0;
      color: white;
      background:
        radial-gradient(circle at 85% 20%, rgba(61,128,228,.16), transparent 28%),
        var(--navy-950);
    }

    .dashboard-section .section-copy {
      color: #9fb0c3;
    }

    .full-dashboard {
      display: grid;
      margin-top: 48px;
      overflow: hidden;
      color: var(--navy-950);
      border: 1px solid rgba(255,255,255,.14);
      border-radius: 24px;
      background: #f5f7f9;
      box-shadow: 0 40px 90px rgba(0,0,0,.3);
      grid-template-columns: 210px 1fr;
    }

    .dashboard-side {
      padding: 25px 17px;
      color: #9dabbc;
      background: #091522;
    }

    .dashboard-side .logo-mark {
      margin-bottom: 31px;
    }

    .dash-nav {
      display: grid;
      gap: 5px;
    }

    .dash-nav a {
      display: flex;
      padding: 10px;
      align-items: center;
      gap: 10px;
      border-radius: 8px;
      font-size: .7rem;
      font-weight: 650;
    }

    .dash-nav a.active {
      color: white;
      background: rgba(255,255,255,.09);
    }

    .dash-nav-icon {
      display: grid;
      width: 23px;
      height: 23px;
      border-radius: 6px;
      background: rgba(255,255,255,.07);
      font-size: .61rem;
      place-items: center;
    }

    .dashboard-content {
      padding: 25px;
    }

    .dashboard-top {
      display: flex;
      margin-bottom: 23px;
      align-items: center;
      justify-content: space-between;
      gap: 20px;
    }

    .dashboard-project h3 {
      margin: 0;
      font-size: 1.35rem;
      letter-spacing: -.035em;
    }

    .dashboard-project p {
      margin: 4px 0 0;
      color: var(--steel-500);
      font-size: .69rem;
    }

    .project-manager {
      display: flex;
      align-items: center;
      gap: 10px;
    }

    .avatar {
      display: grid;
      width: 38px;
      height: 38px;
      color: white;
      border-radius: 50%;
      background: linear-gradient(135deg, #3d80e4, #264d83);
      font-size: .71rem;
      font-weight: 900;
      place-items: center;
    }

    .project-manager span {
      display: block;
      color: var(--steel-500);
      font-size: .58rem;
    }

    .project-manager strong {
      display: block;
      font-size: .7rem;
    }

    .dashboard-cards {
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      gap: 12px;
    }

    .dashboard-stat {
      padding: 15px;
      border: 1px solid var(--steel-200);
      border-radius: 12px;
      background: white;
    }

    .dashboard-stat span {
      display: block;
      color: var(--steel-500);
      font-size: .6rem;
    }

    .dashboard-stat strong {
      display: block;
      margin-top: 5px;
      font-size: .88rem;
    }

    .dashboard-main-grid {
      display: grid;
      margin-top: 13px;
      grid-template-columns: 1.4fr .6fr;
      gap: 13px;
    }

    .dash-panel {
      padding: 18px;
      border: 1px solid var(--steel-200);
      border-radius: 14px;
      background: white;
    }

    .dash-panel-head {
      display: flex;
      margin-bottom: 16px;
      align-items: center;
      justify-content: space-between;
    }

    .dash-panel-head h4 {
      margin: 0;
      font-size: .83rem;
    }

    .dash-panel-head a {
      color: var(--blue);
      font-size: .61rem;
      font-weight: 800;
    }

    .timeline {
      display: grid;
      gap: 0;
    }

    .timeline-item {
      position: relative;
      display: grid;
      min-height: 45px;
      padding-left: 28px;
      align-items: start;
      grid-template-columns: 1fr auto;
      gap: 10px;
    }

    .timeline-item::before {
      position: absolute;
      z-index: 1;
      top: 3px;
      left: 3px;
      width: 10px;
      height: 10px;
      border: 2px solid white;
      border-radius: 50%;
      content: "";
      background: var(--steel-300);
      box-shadow: 0 0 0 1px var(--steel-300);
    }

    .timeline-item:not(:last-child)::after {
      position: absolute;
      top: 15px;
      bottom: -3px;
      left: 7px;
      width: 1px;
      content: "";
      background: var(--steel-200);
    }

    .timeline-item.done::before {
      background: var(--green);
      box-shadow: 0 0 0 1px var(--green);
    }

    .timeline-item.active::before {
      background: var(--blue);
      box-shadow: 0 0 0 4px rgba(61,128,228,.12);
    }

    .timeline-item strong {
      display: block;
      font-size: .68rem;
    }

    .timeline-item span {
      color: var(--steel-500);
      font-size: .58rem;
    }

    .timeline-item time {
      color: var(--steel-500);
      font-size: .56rem;
    }

    .quick-files {
      display: grid;
      gap: 8px;
    }

    .quick-file {
      display: flex;
      padding: 10px;
      align-items: center;
      gap: 9px;
      border: 1px solid var(--steel-100);
      border-radius: 9px;
    }

    .quick-file strong {
      display: block;
      font-size: .63rem;
    }

    .quick-file span {
      display: block;
      color: var(--steel-500);
      font-size: .53rem;
    }

    .dash-bottom-grid {
      display: grid;
      margin-top: 13px;
      grid-template-columns: repeat(3, 1fr);
      gap: 13px;
    }

    .inventory-bar {
      height: 7px;
      margin: 12px 0 6px;
      overflow: hidden;
      border-radius: 10px;
      background: var(--steel-100);
    }

    .inventory-bar span {
      display: block;
      width: 68%;
      height: 100%;
      border-radius: inherit;
      background: var(--blue);
    }

/* Extracted from immutable references/code2.html. Refinements live in fullmfg.css. */
/* Reshoring */
    .reshoring-section {
      padding: 115px 0;
      background: var(--white);
    }

    .reshoring-card {
      position: relative;
      display: grid;
      overflow: hidden;
      padding: 52px;
      color: white;
      border-radius: 28px;
      background:
        radial-gradient(circle at 95% 10%, rgba(216,69,69,.2), transparent 31%),
        linear-gradient(135deg, #0a1727, #102b45);
      grid-template-columns: .85fr 1.15fr;
      gap: 60px;
    }

    .reshoring-card::after {
      position: absolute;
      right: -120px;
      bottom: -180px;
      width: 440px;
      height: 440px;
      border: 1px solid rgba(255,255,255,.1);
      border-radius: 50%;
      content: "";
      box-shadow:
        0 0 0 55px rgba(255,255,255,.025),
        0 0 0 110px rgba(255,255,255,.018);
    }

    .reshoring-card .section-heading {
      font-size: clamp(2.3rem, 4vw, 4.6rem);
    }

    .reshoring-card .section-copy {
      color: #adbac9;
    }

    .reshoring-card .btn {
      margin-top: 27px;
    }

    .reshoring-metrics {
      position: relative;
      z-index: 1;
      display: grid;
      grid-template-columns: repeat(2, 1fr);
      gap: 11px;
    }

    .reshore-metric {
      padding: 17px;
      border: 1px solid rgba(255,255,255,.13);
      border-radius: 14px;
      background: rgba(255,255,255,.055);
      backdrop-filter: blur(8px);
    }

    .reshore-metric span {
      display: block;
      color: #9fb0c3;
      font-size: .62rem;
    }

    .reshore-metric strong {
      display: block;
      margin-top: 6px;
      font-size: 1.2rem;
      letter-spacing: -.025em;
    }

    .metric-change {
      color: #6cdba4 !important;
      font-size: .58rem !important;
    }

    /* Proof */
    .proof-section {
      padding: 110px 0;
      background: var(--warm);
    }

    .proof-stats {
      display: grid;
      margin-top: 45px;
      border-top: 1px solid var(--steel-200);
      border-bottom: 1px solid var(--steel-200);
      grid-template-columns: repeat(4, 1fr);
    }

    .proof-stat {
      padding: 28px;
      border-right: 1px solid var(--steel-200);
    }

    .proof-stat:last-child {
      border-right: 0;
    }

    .proof-stat strong {
      display: block;
      font-size: 2.1rem;
      letter-spacing: -.055em;
    }

    .proof-stat span {
      display: block;
      margin-top: 4px;
      color: var(--steel-500);
      font-size: .72rem;
    }

    .mock-label {
      margin-top: 9px;
      color: var(--amber);
      font-size: .58rem;
      font-weight: 800;
      text-transform: uppercase;
    }

    .testimonials {
      display: grid;
      margin-top: 28px;
      grid-template-columns: repeat(4, 1fr);
      gap: 14px;
    }

    .testimonial {
      display: flex;
      min-height: 260px;
      padding: 22px;
      flex-direction: column;
      border: 1px solid var(--steel-200);
      border-radius: 18px;
      background: white;
    }

    .quote-mark {
      color: var(--red);
      font-size: 2.5rem;
      font-family: Georgia, serif;
      line-height: .8;
    }

    .testimonial blockquote {
      margin: 17px 0;
      font-size: .84rem;
      line-height: 1.65;
    }

    .testimonial-person {
      display: flex;
      margin-top: auto;
      padding-top: 17px;
      align-items: center;
      gap: 10px;
      border-top: 1px solid var(--steel-100);
    }

    .testimonial-avatar {
      display: grid;
      width: 36px;
      height: 36px;
      color: white;
      border-radius: 50%;
      background: var(--navy-800);
      font-size: .67rem;
      font-weight: 900;
      place-items: center;
    }

    .testimonial-person strong,
    .testimonial-person span {
      display: block;
    }

    .testimonial-person strong {
      font-size: .7rem;
    }

    .testimonial-person span {
      color: var(--steel-500);
      font-size: .59rem;
    }

    /* CTA */
    .final-cta {
      padding: 100px 0;
      text-align: center;
      color: white;
      background:
        linear-gradient(rgba(7,17,31,.9), rgba(7,17,31,.9)),
        repeating-linear-gradient(45deg, #17283a 0 1px, transparent 1px 18px),
        var(--navy-950);
    }

    .final-cta h2 {
      max-width: 850px;
      margin: 0 auto;
      font-size: clamp(2.6rem, 5vw, 5.5rem);
      line-height: .95;
      letter-spacing: -.06em;
    }

    .final-cta p {
      max-width: 620px;
      margin: 23px auto 30px;
      color: #a8b6c6;
    }

    /* Footer */
    .site-footer {
      padding: 66px 0 25px;
      color: #a7b5c6;
      background: #050c15;
    }

    .footer-grid {
      display: grid;
      grid-template-columns: 2fr repeat(4, 1fr);
      gap: 35px;
    }

    .footer-brand .logo {
      margin-bottom: 18px;
    }

    .footer-brand p {
      max-width: 330px;
      font-size: .75rem;
      line-height: 1.7;
    }

    .made-statement {
      display: inline-flex;
      margin-top: 13px;
      padding: 8px 10px;
      align-items: center;
      gap: 8px;
      color: #d6dee7;
      border: 1px solid rgba(255,255,255,.12);
      border-radius: 9px;
      font-size: .63rem;
    }

    .footer-col h4 {
      margin: 0 0 16px;
      color: white;
      font-size: .73rem;
      letter-spacing: .04em;
    }

    .footer-col a {
      display: block;
      margin: 9px 0;
      color: #8e9daf;
      font-size: .67rem;
    }

    .footer-col a:hover {
      color: white;
    }

    .footer-bottom {
      display: flex;
      margin-top: 48px;
      padding-top: 22px;
      align-items: center;
      justify-content: space-between;
      gap: 20px;
      border-top: 1px solid rgba(255,255,255,.1);
      font-size: .61rem;
    }

/* Extracted from immutable references/code2.html. Refinements live in fullmfg.css. */
/* Modal & toast */
    .modal-backdrop {
      position: fixed;
      z-index: 300;
      inset: 0;
      display: none;
      padding: 20px;
      align-items: center;
      justify-content: center;
      background: rgba(4, 11, 20, .74);
      backdrop-filter: blur(8px);
    }

    .modal-backdrop.open {
      display: flex;
    }

    .modal {
      width: min(540px, 100%);
      overflow: hidden;
      border-radius: 22px;
      background: white;
      box-shadow: 0 40px 100px rgba(0,0,0,.35);
      animation: modalIn 220ms ease;
    }

    @keyframes modalIn {
      from { opacity: 0; transform: translateY(12px) scale(.98); }
      to { opacity: 1; transform: translateY(0) scale(1); }
    }

    .modal-head {
      display: flex;
      padding: 21px 23px;
      align-items: center;
      justify-content: space-between;
      border-bottom: 1px solid var(--steel-200);
    }

    .modal-head h3 {
      margin: 0;
      font-size: 1.08rem;
    }

    .modal-body {
      padding: 23px;
    }

    .modal-body p {
      margin-top: 0;
      color: var(--steel-700);
      font-size: .85rem;
    }

    .modal-summary {
      margin: 18px 0;
      padding: 15px;
      border: 1px solid var(--steel-200);
      border-radius: 12px;
      background: var(--warm);
    }

    .modal-summary-row {
      display: flex;
      padding: 5px 0;
      justify-content: space-between;
      gap: 15px;
      font-size: .75rem;
    }

    .modal-summary-row span {
      color: var(--steel-500);
    }

    .modal-actions {
      display: flex;
      margin-top: 20px;
      justify-content: flex-end;
      gap: 9px;
    }

    .toast-container {
      position: fixed;
      z-index: 500;
      top: 92px;
      right: 20px;
      display: grid;
      width: min(360px, calc(100% - 40px));
      gap: 10px;
    }

    .toast {
      display: flex;
      padding: 15px;
      align-items: center;
      gap: 12px;
      color: white;
      border: 1px solid rgba(255,255,255,.14);
      border-radius: 13px;
      background: rgba(7,17,31,.96);
      box-shadow: var(--shadow);
      animation: toastIn 260ms ease;
    }

    @keyframes toastIn {
      from { opacity: 0; transform: translateX(20px); }
      to { opacity: 1; transform: translateX(0); }
    }

    .toast-icon {
      display: grid;
      width: 29px;
      height: 29px;
      flex: 0 0 auto;
      border-radius: 50%;
      background: var(--green);
      place-items: center;
    }

    .toast strong,
    .toast span {
      display: block;
    }

    .toast strong {
      font-size: .76rem;
    }

    .toast span {
      color: #a9b7c6;
      font-size: .63rem;
    }

/* Extracted from immutable references/code2.html. Refinements live in fullmfg.css. */
/* Responsive */
    @media (max-width: 1200px) {
      .header-nav {
        gap: 13px;
      }

      .header-nav a {
        font-size: .78rem;
      }

      .hero-inner {
        grid-template-columns: 1fr 1fr;
        gap: 35px;
      }

      .stage-summary {
        grid-template-columns: 58px minmax(0,1fr) 130px 125px;
        gap: 12px;
      }

      .workflow-layout {
        grid-template-columns: minmax(0,1fr) 315px;
      }

      .options-grid {
        grid-template-columns: repeat(2, 1fr);
      }

      .testimonials {
        grid-template-columns: repeat(2, 1fr);
      }
    }

    @media (max-width: 1000px) {
      :root {
        --header-h: 68px;
      }

      .header-nav,
      .header-actions {
        display: none;
      }

      .mobile-menu-btn {
        display: grid;
      }

      .hero-inner {
        padding-top: 60px;
        grid-template-columns: 1fr;
      }

      .hero-copy-block {
        max-width: 760px;
      }

      .hero-dashboard {
        max-width: 760px;
      }

      .trust-inner {
        grid-template-columns: repeat(2, 1fr);
      }

      .trust-lead {
        padding: 22px 0;
        grid-column: 1 / -1;
      }

      .trust-item {
        padding: 15px 0;
        border-left: 0;
        border-top: 1px solid var(--steel-200);
      }

      .setup-layout {
        grid-template-columns: 1fr;
      }

      .workflow-layout {
        grid-template-columns: 1fr;
      }

      .quote-sidebar {
        display: none;
      }

      .stage-progress-wrap {
        top: calc(var(--header-h) + 6px);
        overflow-x: auto;
      }

      .stage-progress {
        min-width: 760px;
      }

      .mobile-quote-bar {
        position: fixed;
        z-index: 140;
        right: 10px;
        bottom: 10px;
        left: 10px;
        display: flex;
        padding: 11px 12px;
        align-items: center;
        justify-content: space-between;
        gap: 12px;
        color: white;
        border: 1px solid rgba(255,255,255,.15);
        border-radius: 16px;
        background: rgba(7,17,31,.95);
        box-shadow: 0 20px 55px rgba(0,0,0,.28);
        backdrop-filter: blur(15px);
      }

      .mobile-quote-total span,
      .mobile-quote-total strong {
        display: block;
      }

      .mobile-quote-total span {
        color: #99aabc;
        font-size: .57rem;
      }

      .mobile-quote-total strong {
        font-size: 1.15rem;
      }

      .mobile-quote-bar .btn {
        min-height: 40px;
        font-size: .68rem;
      }

      .reshoring-card {
        grid-template-columns: 1fr;
      }

      .proof-stats {
        grid-template-columns: repeat(2, 1fr);
      }

      .proof-stat:nth-child(2) {
        border-right: 0;
      }

      .proof-stat:nth-child(-n+2) {
        border-bottom: 1px solid var(--steel-200);
      }

      .footer-grid {
        grid-template-columns: 2fr repeat(2,1fr);
      }
    }

    @media (max-width: 760px) {
      .container {
        width: min(100% - 24px, var(--max));
      }

      .hero-inner {
        min-height: auto;
        padding: 52px 0 65px;
      }

      .hero h1 {
        font-size: clamp(3rem, 15vw, 5.3rem);
      }

      .hero-dashboard {
        padding: 9px;
        transform: none;
      }

      .window-content {
        min-height: 370px;
        grid-template-columns: 1fr;
      }

      .window-sidebar {
        display: none;
      }

      .preview-grid {
        grid-template-columns: 1fr;
      }

      .preview-card:nth-child(2) {
        display: none;
      }

      .floating-unit-card {
        right: -5px;
        bottom: 20px;
      }

      .project-setup,
      .workflow-section,
      .dashboard-section,
      .reshoring-section,
      .proof-section {
        padding: 78px 0;
      }

      .project-types {
        grid-template-columns: repeat(2, 1fr);
      }

      .form-grid,
      .config-grid {
        grid-template-columns: 1fr;
      }

      .stage-summary {
        padding: 18px;
        grid-template-columns: 48px minmax(0,1fr);
      }

      .stage-number {
        width: 43px;
        height: 43px;
        border-radius: 12px;
      }

      .stage-meta {
        padding-left: 59px;
        grid-column: 1 / -1;
      }

      .stage-summary > .stage-configure-btn {
        margin-left: 59px;
        width: auto;
        grid-column: 1 / -1;
      }

      .stage-details {
        padding: 18px;
      }

      .detail-intro {
        align-items: flex-start;
        flex-direction: column;
      }

      .options-grid {
        grid-template-columns: 1fr;
      }

      .result-panel {
        grid-template-columns: repeat(2,1fr);
      }

      .result-item:nth-child(2) {
        border-right: 0;
      }

      .calendar-wrap,
      .profit-layout {
        grid-template-columns: 1fr;
      }

      .comparison-panel {
        grid-template-columns: 1fr;
      }

      .comparison-col + .comparison-col {
        border-top: 1px solid var(--steel-200);
        border-left: 0;
      }

      .fulfillment-costs,
      .savings-opportunities {
        grid-template-columns: repeat(2,1fr);
      }

      .full-dashboard {
        grid-template-columns: 1fr;
      }

      .dashboard-side {
        display: none;
      }

      .dashboard-content {
        padding: 15px;
      }

      .dashboard-top {
        align-items: flex-start;
        flex-direction: column;
      }

      .dashboard-cards {
        grid-template-columns: repeat(2,1fr);
      }

      .dashboard-main-grid,
      .dash-bottom-grid {
        grid-template-columns: 1fr;
      }

      .reshoring-card {
        padding: 28px;
        gap: 34px;
      }

      .reshoring-metrics {
        grid-template-columns: 1fr;
      }

      .testimonials {
        grid-template-columns: 1fr;
      }

      .footer-grid {
        grid-template-columns: 1fr 1fr;
      }

      .footer-brand {
        grid-column: 1 / -1;
      }

      .footer-bottom {
        align-items: flex-start;
        flex-direction: column;
      }
    }

    @media (max-width: 500px) {
      .logo {
        min-width: auto;
      }

      .logo-text strong {
        max-width: 170px;
        font-size: .75rem;
      }

      .logo-text span {
        display: none;
      }

      .hero-actions {
        display: grid;
      }

      .hero-actions .btn {
        width: 100%;
      }

      .project-types,
      .result-panel,
      .fulfillment-costs,
      .savings-opportunities,
      .dashboard-cards,
      .proof-stats {
        grid-template-columns: 1fr;
      }

      .proof-stat {
        border-right: 0;
        border-bottom: 1px solid var(--steel-200);
      }

      .proof-stat:last-child {
        border-bottom: 0;
      }

      .time-slots {
        grid-template-columns: repeat(2, 1fr);
      }

      .quote-actions {
        grid-template-columns: 1fr;
      }

      .quote-actions .advance-btn {
        grid-column: auto;
      }
    }

    @media print {
      .site-header,
      .hero,
      .trust-ribbon,
      .project-setup,
      .stage-progress-wrap,
      .quote-sidebar,
      .mobile-quote-bar,
      .dashboard-section,
      .reshoring-section,
      .proof-section,
      .final-cta,
      .site-footer,
      .stage-configure-btn,
      .stage-footer-actions {
        display: none !important;
      }

      body {
        background: white;
      }

      .workflow-section {
        padding: 20px 0;
      }

      .stage-card {
        break-inside: avoid;
      }

      .stage-details {
        display: block !important;
      }
    }

/* FULL MFG refinements: canonical geometry and palette, accessible controls and real intake. */
:root{--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-6:24px;--space-8:32px;--space-12:48px;--space-16:64px;--space-24:96px;--font-body:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--font-mono:ui-monospace,SFMono-Regular,Consolas,monospace;--duration:180ms;--focus:0 0 0 3px #fff,0 0 0 6px var(--blue);--steel-500:#596b80;--red-action:#bf343b;--status-blue:#225eb1;--status-green:#147346;--status-amber:#84500b}
body{font-family:var(--font-body)}
[hidden]{display:none!important}html{scroll-padding-top:100px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:14px;line-height:1.3}.btn-primary{background:var(--red-action)}.btn:disabled{cursor:wait;opacity:.65;transform:none}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--blue);outline-offset:4px}button,input,select,textarea{min-width:0}.skip-link{position:fixed;top:10px;left:10px;z-index:1000;padding:12px 20px;background:white;color:var(--navy-950);transform:translateY(-160%)}.skip-link:focus{transform:none}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.logo{min-width:208px}.logo-text strong{font-size:1.55rem;letter-spacing:-.04em}.logo-text .brand-period{display:inline;color:var(--red);font-size:inherit}.logo-text>span{font-size:.57rem;letter-spacing:.12em}.logo-mark{flex-shrink:0}.header-inner{gap:20px}.header-nav{gap:20px}.header-nav a{font-size:.78rem}.header-nav li{display:block;list-style:none}.header-actions .btn{font-size:.75rem}.header-actions{gap:8px}.mobile-menu{max-height:calc(100dvh - var(--header-h));overflow:auto}.mobile-menu.open{display:grid}.mobile-menu a{min-height:44px}.site-header:has(.mobile-menu.open){z-index:200}.location-dot{width:7px;height:7px;border-radius:50%;background:var(--red);box-shadow:0 0 0 4px #d8454517}.hero-inner{gap:54px;min-height:710px}.hero h1{font-size:clamp(3.4rem,6vw,6.3rem);max-width:680px}.hero .eyebrow{font-size:.66rem}.hero-copy{font-size:1.03rem;max-width:540px}.hero-notes{gap:15px;font-size:.7rem}.hero-dashboard{margin-right:14px}.window-content{grid-template-columns:115px 1fr;min-height:420px}.window-main{padding:20px 17px}.window-address{font-family:var(--font-mono);font-size:.56rem;padding:5px 8px;white-space:nowrap}.preview-label{margin-left:auto;font-size:.58rem;color:var(--steel-700);white-space:nowrap}.preview-heading{gap:10px}.preview-heading strong{font-size:.91rem}.preview-heading span{font-size:.56rem}.preview-badge{white-space:nowrap;color:var(--status-green)}.mini-nav-item{font-size:.59rem;padding:8px 5px}.mini-progress-step{font-size:.49rem}.part-view{border:1px solid var(--steel-200);border-radius:10px;overflow:hidden;background:white}.part-view-label{padding:11px 12px;font-family:var(--font-mono);font-size:.51rem;border-bottom:1px solid var(--steel-100);display:flex;justify-content:space-between;color:var(--steel-700)}.part-view svg{width:100%;height:auto}.preview-workflow{margin-bottom:20px}.preview-workflow div{font-size:.5rem}.preview-workflow strong{font-size:.56rem}.floating-unit-card{bottom:28px;width:205px}.floating-unit-card strong{font-size:1.3rem}.floating-unit-card small{font-size:.65rem}.trust-lead{font-size:.69rem}.trust-item strong{font-size:1.06rem}
.project-setup{padding-bottom:58px}.project-category{border:0;padding:0;margin:34px 0 0}.project-types{grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.project-type{position:relative;cursor:pointer;min-height:174px;padding:19px 17px;display:block}.project-type input{position:absolute;opacity:0;inset:0;width:100%;height:100%;margin:0;cursor:pointer}.project-type:has(input:checked){border-color:var(--blue);background:var(--blue-soft);box-shadow:0 0 0 3px #3d80e414}.project-type:has(input:focus-visible){outline:3px solid var(--blue);outline-offset:4px}.project-type strong{font-size:.9rem}.category-description{display:block;margin-top:8px;font-size:.75rem;color:var(--steel-700);line-height:1.55}.type-arrow{position:absolute;top:20px;right:17px;font-size:1.1rem;color:var(--steel-500)}.setup-layout{margin-top:24px}.panel-header .kicker{display:block;margin-bottom:9px}.panel-body{padding:26px}.form-grid>.field>.field{height:100%}.field label{font-size:.79rem}.field-hint{display:block;margin:9px 0 0;color:var(--steel-700);font-size:.74rem;line-height:1.6}.field-hint a{color:var(--status-blue);text-decoration:underline}.file-picker{position:relative;cursor:pointer;overflow:hidden;margin:0 0 16px}.file-picker input{position:absolute;inset:0;width:100%;opacity:0;cursor:pointer}.file-picker:focus-within{outline:3px solid var(--blue);outline-offset:4px}.file-item{gap:12px}.file-info strong{font-size:.8rem}.file-info span{font-size:.7rem}.remove-file{flex-shrink:0;min-width:44px;min-height:44px;border:0;background:transparent;color:var(--steel-700);font-size:1.2rem}.file-types{font-size:.65rem;line-height:1.8}.inline-error{color:var(--red-dark);font-size:.8rem}.inline-error:empty{display:none}
.workflow-section{padding-top:70px}.workflow-intro{align-items:center}.stage-progress{grid-template-columns:repeat(8,minmax(0,1fr))}.stage-progress-wrap{margin-top:36px}.stage-summary{grid-template-columns:55px minmax(0,1fr) 130px;gap:20px;cursor:pointer;list-style:none}.stage-summary::-webkit-details-marker{display:none}.stage-description,.selected-services{display:block}.stage-title{font-size:1.1rem;font-weight:750}.stage-description{font-size:.79rem;color:var(--steel-700);line-height:1.6}.stage-summary .stage-configure-btn{display:flex;align-items:center;justify-content:center;gap:12px}.stage-details{display:block}.stage-card[open]{border-color:#9db9df;box-shadow:0 18px 55px #07111f14}.stage-card[open]::before{background:var(--red)}.stage-card[open] .stage-number{background:var(--navy-950);border-color:var(--navy-950);color:white}.stage-card[open] .stage-configure-btn{background:var(--navy-950);color:white;border-color:var(--navy-950)}.stage-card[open] .stage-configure-btn span{transform:rotate(45deg)}.stage-card.optional{background:#fdfdfc}.stage-status{font-size:.59rem}.status-pill.ready,.status-pill.in-progress{color:var(--status-blue)}.status-pill.awaiting{color:var(--status-amber)}.status-pill.complete,.status-pill.configured{color:var(--status-green)}.detail-intro h3{margin:0;font-size:1rem}.detail-intro p{font-size:.78rem}.deliverable{font-size:.7rem}.service-fieldset{padding:0;margin:0;border:0;min-width:0}.service-fieldset legend{font-size:.76rem;margin-bottom:10px;color:var(--steel-700);font-weight:700}.service-copy{font-size:.76rem}.service-copy span{font-size:.66rem;color:var(--steel-700)}.service-option input:focus-visible+label{outline:3px solid var(--blue);outline-offset:3px}.config-grid{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:20px}.config-grid .field:has(textarea){grid-column:1/-1}.progress-step{min-height:48px}.progress-label{font-size:.69rem}.progress-step.recommended .progress-dot{border-color:var(--blue);color:var(--status-blue)}.progress-step.active .progress-dot{color:white}.quote-total{font-size:1.55rem;line-height:1.3;margin:8px 0;overflow-wrap:anywhere}.quote-head h3{font-size:1.05rem}.quote-total-label{font-size:.73rem}.quote-disclaimer{font-size:.69rem;color:#b8c2ce}.quote-row{font-size:.77rem;padding:7px 0}.quote-row strong{max-width:65%;overflow-wrap:anywhere}.quote-group-title{font-size:.69rem}.summary-services,.summary-next{font-size:.76rem;color:var(--steel-700);line-height:1.7}.quote-actions .btn{font-size:.76rem;min-height:44px}.quote-note{font-size:.68rem}.quote-sidebar{top:175px}.consent{display:flex;gap:11px;align-items:flex-start;font-size:.8rem;color:var(--steel-700);margin:24px 0}.consent input{width:18px;height:18px;flex-shrink:0;margin-top:4px;accent-color:var(--status-blue)}.consent a{text-decoration:underline;text-underline-offset:3px}.honeypot{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.alert,#form-errors:not(:empty),#inquiry-error:not(:empty){padding:16px;border:1px solid #e4c8a2;border-radius:12px;background:var(--amber-soft);color:var(--status-amber);font-size:.86rem;margin:18px 0}.receipt{background:var(--green-soft);padding:22px;border-radius:14px;color:var(--status-green);margin-top:20px;overflow-wrap:anywhere}.receipt h3{margin:0 0 8px}.receipt p{margin:8px 0}.summary-dialog{border:1px solid var(--steel-200);padding:0;max-width:min(540px,calc(100% - 24px));max-height:85dvh;border-radius:22px;color:var(--navy-950)}.summary-dialog::backdrop{background:#07111fb8;backdrop-filter:blur(6px)}.summary-dialog .modal-actions{padding:0 24px 24px}.summary-dialog .quote-head{border-radius:14px}.summary-dialog .quote-body{padding-inline:0}.summary-dialog .quote-actions,.summary-dialog #draft-notice{display:none}
.section-top{display:flex;justify-content:space-between;align-items:flex-end;gap:35px}.section-top>.section-copy{max-width:400px;font-size:.95rem;line-height:1.75}.text-link{display:inline-flex;align-items:center;gap:16px;color:var(--navy-950);font-size:.85rem;font-weight:750;border-bottom:1px solid var(--steel-300);padding-bottom:5px}.text-link:hover{color:var(--red-dark)}.capabilities-section{background:white;padding:105px 0}.capability-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-top:42px}.capability-card{border:1px solid var(--steel-200);border-radius:18px;overflow:hidden;transition:transform 180ms,box-shadow 180ms}.capability-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-soft)}.capability-art{position:relative;height:180px;display:grid;place-items:center;background:linear-gradient(135deg,#e9eef3,#f7f6f2);overflow:hidden}.art-caption{position:absolute;left:16px;bottom:12px;color:var(--steel-700);font:9px var(--font-mono);letter-spacing:.1em}.art-cross{position:absolute;top:12px;right:16px;color:#8ea1b7}.technical-part{width:108px;height:80px;border:9px solid #748a9f;border-radius:10px;transform:rotate(-25deg) skewX(14deg);background:linear-gradient(135deg,#b9c7d5,#e9eef3);box-shadow:8px 15px 0 #a0b2c4,18px 24px 24px #07111f18;position:relative}.technical-part:before,.technical-part:after{content:"";position:absolute;width:10px;height:10px;border-radius:50%;background:#415166;top:10px;left:10px}.technical-part:after{left:auto;right:10px;top:auto;bottom:10px}.art-prototype .technical-part{border-radius:50%;width:92px;height:92px;border:16px solid #b9c7d5;background:#edf2f6;box-shadow:7px 14px 0 #8ea3b7,14px 21px 0 #71879c}.art-sourcing .technical-part{width:65px;height:65px;border-radius:4px;box-shadow:65px 0 0 #bac9d7,0 55px 0 #879caf,65px 55px 0 #d4dde5;transform:rotate(-30deg) skewX(18deg) translate(-12px,-20px)}.art-assembly .technical-part{width:120px;height:75px;border-width:5px;box-shadow:0 -18px 0 -3px #b3c1d0,0 -36px 0 -7px #d7e0e8,8px 15px 0 #91a6ba}.capability-copy{padding:22px}.capability-copy h3{font-size:1.07rem;letter-spacing:-.03em;display:flex;justify-content:space-between;gap:10px}.capability-copy h3 span{font-size:1rem;color:var(--red)}.capability-copy p{font-size:.79rem;line-height:1.7;color:var(--steel-700);margin-bottom:0}.capacity-note{font-size:.76rem;color:var(--steel-700);margin-top:24px}.dashboard-section .section-heading{max-width:790px}.dash-preview-nav{display:flex;gap:10px;align-items:center;font-size:.7rem;padding:10px;border-radius:8px}.dash-preview-nav.active{background:#ffffff12;color:white}.dashboard-caption{font:9px/1.8 var(--font-mono);letter-spacing:.12em;margin:40px 10px 0}.dashboard-project h3{font-size:1.35rem}.dashboard-cards .dashboard-stat span{font-size:.7rem}.dashboard-cards .dashboard-stat strong{font-size:.85rem}.timeline-item{min-height:65px}.timeline-item strong{font-size:.77rem}.timeline-item span{font-size:.69rem}.timeline-index{font:10px var(--font-mono)}.dash-panel h4{font-size:.85rem;margin-top:0}.quick-file strong{font-size:.73rem}.quick-file span{font-size:.66rem}.quick-file .file-ext{font-size:.62rem;flex-shrink:0}.light-link{color:white;margin-top:28px;border-color:#415166}.reshore-metric strong{font-size:1.06rem}.reshore-metric span{font-size:.73rem}.reshore-note{grid-column:1/-1;font-size:.73rem;color:#b8c2ce;margin-bottom:0}.principle-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;margin-top:18px;font-size:.9rem;color:var(--steel-700)}.proof-stat strong{color:var(--red);font-family:var(--font-mono);font-size:1.45rem}.proof-stat span{font-size:.88rem;color:var(--navy-950);font-weight:700}.centered{justify-content:center}.final-cta .btn{min-height:52px}.footer-col a{font-size:.75rem;line-height:1.7}.footer-brand .logo{color:white}.footer-bottom{font-size:.7rem}
.page-hero{padding:95px 0;color:white;background:radial-gradient(circle at 85% 20%,#3d80e425,transparent 35%),var(--navy-950)}.page-hero h1{font-size:clamp(2.7rem,5.5vw,6rem);letter-spacing:-.055em;line-height:1.04;max-width:1080px;margin:0}.page-hero p{max-width:740px;margin-top:24px;color:#b8c2ce;font-size:1.12rem;line-height:1.7}.page-content{padding:65px 0}.prose{max-width:960px}.prose h2{font-size:1.7rem;letter-spacing:-.03em;margin:45px 0 14px;line-height:1.15}.prose h2:first-child{margin-top:0}.prose p{font-size:1rem;color:var(--steel-700);line-height:1.8;margin-bottom:24px}.prose a{text-decoration:underline;color:var(--status-blue)}.login-layout,.inquiry-layout{display:grid;grid-template-columns:1.3fr .7fr;gap:50px;align-items:start}.inquiry-layout{max-width:1160px}.content-page{padding:80px 0}.portal-layout{display:grid;grid-template-columns:220px minmax(0,1fr);gap:30px}.portal-nav{display:grid;align-content:start;gap:8px}.portal-nav a{padding:12px 15px;border:1px solid var(--steel-200);border-radius:10px;font-size:.85rem}.portal-nav a[aria-current]{background:var(--navy-950);color:white}.table-wrap{overflow-x:auto}.data-table{width:100%;border-collapse:collapse;text-align:left;font-size:.8rem}.data-table th{font-size:.68rem;text-transform:uppercase;letter-spacing:.06em;background:var(--steel-100);color:var(--steel-700)}.data-table td,.data-table th{padding:14px;border-bottom:1px solid var(--steel-200)}.empty-state{padding:40px;border:1px dashed var(--steel-300);border-radius:15px}.empty-state h2{font-size:1.3rem}.tooltip{position:relative}.tooltip [role=tooltip]{display:none;position:absolute;bottom:100%;padding:8px;background:var(--navy-950);color:white;border-radius:7px;font-size:.75rem}.tooltip:hover [role=tooltip],.tooltip:focus-within [role=tooltip]{display:block}
@media(min-width:1600px){.hero-inner{min-height:760px}.hero h1{font-size:6.5rem}}
@media(max-width:1200px){.header-nav{gap:12px}.logo{min-width:180px}.header-nav a{font-size:.72rem}.header-actions .btn{padding-inline:12px}.hero-inner{gap:28px}.project-types{gap:8px}.project-type{padding:16px 13px}.stage-summary{grid-template-columns:48px minmax(0,1fr) 106px;gap:12px}.capability-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.capability-art{height:205px}}
@media(max-width:1000px){.hero-inner{min-height:auto;padding:60px 0 75px;gap:45px}.hero h1{max-width:680px}.hero-dashboard{width:100%;max-width:740px;margin-right:0}.window-content{grid-template-columns:140px 1fr}.project-types{grid-template-columns:repeat(3,minmax(0,1fr))}.project-type{min-height:165px}.stage-progress{min-width:700px}.quote-sidebar{display:none}.section-top{align-items:flex-start;flex-direction:column}.section-top>.section-copy{max-width:650px;margin-top:0}.mobile-quote-bar{display:flex}.mobile-quote-bar .btn{padding-inline:12px}.mobile-quote-total strong{font-size:.87rem}.site-footer{padding-bottom:100px}.workflow-intro .estimate-label{display:none}.full-dashboard{grid-template-columns:175px 1fr}.dashboard-main-grid{grid-template-columns:1fr}.dashboard-cards{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.hero h1{font-size:clamp(3.1rem,12vw,5.3rem)}.hero-copy{font-size:1rem}.hero .eyebrow{line-height:1.5;font-size:.59rem}.location-pill{font-size:.69rem}.hero-notes{gap:13px;font-size:.65rem}.window-content{grid-template-columns:1fr;min-height:360px}.window-main{padding:18px}.preview-grid{grid-template-columns:1fr}.preview-workflow{margin-bottom:35px}.floating-unit-card{width:178px;bottom:10px;right:0;padding:11px}.floating-unit-card strong{font-size:1.1rem}.project-types{grid-template-columns:repeat(2,minmax(0,1fr))}.project-type:last-child{grid-column:1/-1;min-height:120px}.project-type:last-child .project-type-icon{float:left;margin-right:15px;margin-bottom:35px}.project-setup{padding-bottom:40px}.project-type{min-height:177px}.panel-header,.panel-body{padding:20px}.form-grid{grid-template-columns:1fr}.workflow-section{padding-top:40px}.workflow-intro .section-heading{font-size:2.7rem}.stage-summary{grid-template-columns:43px minmax(0,1fr);padding:18px;gap:12px}.stage-summary .stage-configure-btn{grid-column:2;margin:4px 0 0;width:120px;min-height:40px}.stage-description{font-size:.77rem}.stage-title-line{gap:7px}.stage-title{font-size:1.05rem}.stage-status{font-size:.55rem}.config-grid{grid-template-columns:1fr}.stage-card{scroll-margin-top:165px}.stage-footer-actions{flex-wrap:wrap}.stage-footer-actions .btn{flex:1;font-size:.76rem}.progress-label{font-size:.65rem}.section-heading{font-size:clamp(2.2rem,7.4vw,3.5rem)}.section-copy{font-size:.96rem}.capabilities-section{padding:70px 0}.capability-grid{gap:12px}.capability-copy{padding:16px}.capability-copy h3{font-size:.98rem}.capability-copy p{font-size:.76rem}.capability-art{height:155px}.technical-part{scale:.8}.art-caption{font-size:7px;left:10px}.full-dashboard{grid-template-columns:1fr}.dashboard-side{display:none}.dash-bottom-grid{grid-template-columns:1fr}.dashboard-main-grid{grid-template-columns:1fr}.dashboard-top{gap:10px}.dashboard-project h3{font-size:1.15rem}.dashboard-project .kicker{font-size:.57rem}.dashboard-cards{grid-template-columns:repeat(2,1fr)}.dashboard-stat{padding:12px}.dash-panel{padding:15px}.dash-panel-head{gap:10px}.timeline-item{min-height:78px}.principle-grid{grid-template-columns:1fr;gap:0}.proof-stats{grid-template-columns:repeat(2,1fr)}.proof-stat{padding:22px 12px}.proof-stat span{font-size:.76rem}.proof-stat:nth-child(odd){border-right:1px solid var(--steel-200)}.reshoring-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.reshore-metric{padding:13px}.reshore-metric strong{font-size:.83rem}.reshore-metric span{font-size:.65rem}.final-cta{padding:75px 0}.final-cta h2{font-size:2.7rem}.final-cta .hero-actions{display:flex}.footer-grid{gap:25px}.page-hero{padding:64px 0}.page-hero p{font-size:1rem}.page-content{padding:45px 0}.login-layout,.inquiry-layout,.portal-layout{grid-template-columns:1fr;gap:30px}.portal-nav{display:flex;overflow:auto}.portal-nav a{white-space:nowrap}.prose h2{font-size:1.5rem}.footer-bottom{font-size:.65rem}}
@media(max-width:390px){.hero-actions .btn{font-size:.86rem}.hero h1{font-size:3.15rem}.logo-text strong{font-size:1.45rem}.window-address{font-size:.49rem}.preview-label{font-size:.5rem}.hero-dashboard{padding:7px}.preview-workflow{gap:5px}.preview-workflow div{padding:8px 5px;font-size:.47rem}.preview-workflow strong{font-size:.49rem}.project-type strong{font-size:.82rem}.category-description{font-size:.71rem}.capability-grid{grid-template-columns:1fr}.capability-art{height:185px}.stage-details{padding:16px}.mobile-quote-bar{gap:7px;padding:10px 9px}.mobile-quote-bar .btn{padding-inline:9px;font-size:.63rem}.mobile-quote-total strong{font-size:.73rem}.quote-total{font-size:1.3rem}.preview-heading strong{font-size:.82rem}.preview-badge{font-size:.51rem}.location-pill{font-size:.64rem}.hero-notes{font-size:.61rem}.trust-item strong{font-size:.98rem}.trust-item span{font-size:.64rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.hero-dashboard{transform:none}}
.eyebrow{color:var(--red-dark)}.hero .eyebrow,.dashboard-section .eyebrow,.reshoring-card .eyebrow,.final-cta .eyebrow,.page-hero .eyebrow{color:#f07b7b}.project-type-icon,.selected-services{color:var(--status-blue)}.estimate-label{color:var(--status-amber)}
.hero-inner>*,.setup-layout>*,.workflow-layout>*,.window-content>*,.form-grid>*,.config-grid>*{min-width:0}
@media(max-width:1000px){.hero-inner{grid-template-columns:minmax(0,1fr)}}
@media print{.site-header,.site-footer,.mobile-quote-bar,.quote-actions,.stage-footer-actions{display:none!important}.project-setup,.quote-sidebar{display:block!important}.workflow-layout{display:block}.stage-card{break-inside:avoid;box-shadow:none}.stage-details{display:block!important}.quote-sidebar{position:static;box-shadow:none}.hero{display:none}.stage-progress-wrap{display:none}}
.primary-menu{display:flex;gap:23px;align-items:center;list-style:none;margin:0;padding:0}
