@import url('https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Newsreader:opsz,wght@6..72,400;6..72,500&display=swap');

:root{--paper:#fff3dc;--paper-deep:#f9e8c8;--ink:#12100d;--line:rgba(18,16,13,.53);--quiet:rgba(18,16,13,.66);--panel:rgba(255,243,220,.86);--accent:#66604d;--max:1180px}*{box-sizing:border-box}html{scroll-behavior:smooth;background:#29241e}body{margin:0;color:var(--ink);font-family:"DM Mono",ui-monospace,monospace;font-size:14px;line-height:1.6;background:#29241e}.tube-raster{position:fixed;inset:0;pointer-events:none;z-index:10;opacity:.2;background:repeating-linear-gradient(90deg,rgba(255,0,0,.16) 0 1px,rgba(0,255,0,.1) 1px 2px,rgba(0,90,255,.14) 2px 3px,transparent 3px 4px);mix-blend-mode:multiply}.field-guide{width:min(calc(100% - 32px),1480px);height:calc(100dvh - 32px);margin:16px auto;display:flex;flex-direction:column;overflow:hidden;border:2px solid #3e382f;border-radius:20px;background:var(--paper);box-shadow:0 14px 42px rgba(0,0,0,.36)}.guide-bar{position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:52px;padding:0 18px;border-bottom:1px solid var(--line);background:rgba(255,243,220,.97)}.wordmark{color:var(--ink);text-decoration:none;font-size:13px;letter-spacing:-.03em}.guide-bar nav{display:flex;gap:18px}.guide-bar nav a{color:var(--ink);text-decoration:none;font-size:11px}.guide-bar a:hover,.guide-bar a:focus-visible{text-decoration:underline;text-underline-offset:4px}.guide-stage{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;background-color:var(--paper);background-image:linear-gradient(rgba(255,243,220,.72),rgba(255,243,220,.72)),url('impeller-circuit-background-cream.png');background-size:auto,1086px auto;background-repeat:repeat,repeat-y;background-position:center}.intro,.chapter,.contact-strip{width:min(calc(100% - 48px),var(--max));margin-inline:auto}.intro{min-height:min(760px,calc(100dvh - 84px));padding:clamp(54px,11vh,132px) 0 72px}.kicker,.section-code,.chapter-label{margin:0 0 18px;font-size:10px;letter-spacing:.1em;color:var(--accent)}h1,h2,h3,h4,p{margin-top:0}h1,h2,h3{font-family:"Newsreader",Georgia,serif;font-weight:500;line-height:.94;letter-spacing:-.055em}h1{max-width:800px;margin-bottom:25px;font-size:clamp(58px,10vw,142px)}h2{font-size:clamp(46px,7vw,96px);margin-bottom:22px}h3{font-size:clamp(34px,4vw,56px);margin-bottom:18px}h4{font-size:14px;font-weight:500;letter-spacing:-.03em}.intro-copy,.repair-topline p,.it-layout p{max-width:580px;font-size:15px;color:var(--quiet)}.service-selector{display:grid;grid-template-columns:1fr 1fr;gap:14px;max-width:760px;margin-top:54px}.service-card{display:grid;min-height:155px;padding:18px;border:1px solid var(--line);color:var(--ink);background:var(--panel);text-decoration:none;transition:transform .18s ease,background .18s}.service-card:hover{transform:translateY(-4px);background:#fff8e9}.service-number{font-size:11px}.service-name{align-self:center;font-family:"Newsreader",Georgia,serif;font-size:clamp(27px,3vw,42px);line-height:.9;letter-spacing:-.05em}.service-note{font-size:10px;color:var(--quiet);align-self:end}.chapter{padding:84px 0;border-top:1px solid var(--line)}.chapter-label{display:flex;gap:14px}.chapter-label span:first-child{color:var(--ink)}.repair-topline{position:relative;display:grid;grid-template-columns:1fr minmax(250px,.72fr);gap:24px;align-items:end}.handpiece-drawing{max-width:560px;width:100%;justify-self:end;opacity:.8;filter:contrast(1.1)}.repair-index{display:grid;grid-template-columns:repeat(4,1fr);margin:34px 0 70px;border-top:1px solid var(--line);border-left:1px solid var(--line)}.repair-index a{display:grid;gap:19px;min-height:112px;padding:14px;color:var(--ink);text-decoration:none;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:rgba(255,243,220,.58);font-size:12px}.repair-index span{font-size:10px;color:var(--accent)}.repair-index a:hover{background:#fff9eb}.repair-section{padding:52px 0;border-top:1px solid var(--line)}.type-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.type-grid article{min-height:235px;padding:18px;border:1px solid var(--line);background:var(--panel)}.type-grid p{font-size:12px;color:var(--quiet)}.price-list{border-top:1px solid var(--line)}.price-list div{display:flex;justify-content:space-between;gap:22px;padding:16px 0;border-bottom:1px solid var(--line);font-size:12px}.price-list strong{font-weight:500;white-space:nowrap}.fine-print{max-width:640px;margin:18px 0 0;color:var(--quiet);font-size:11px}.process-list{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;list-style:none;padding:0;margin:0}.process-list li{display:grid;grid-template-columns:auto 1fr;gap:13px;padding:18px 0;border-top:1px solid var(--line)}.process-list li>span{font-size:10px;color:var(--accent)}.process-list strong{font-family:"Newsreader",Georgia,serif;font-size:28px;font-weight:500;letter-spacing:-.05em;line-height:1}.process-list p{margin:8px 0 0;color:var(--quiet);font-size:12px}.request-intro{max-width:650px;color:var(--quiet)}form{max-width:850px;margin-top:34px}.contact-fields{display:grid;grid-template-columns:1fr 1fr;gap:14px}label{display:grid;gap:7px;font-size:11px}input,select,textarea{width:100%;border:1px solid var(--line);border-radius:0;padding:12px;background:rgba(255,248,233,.82);color:var(--ink);font:12px "DM Mono",monospace}textarea{min-height:90px;resize:vertical}.unit{display:grid;grid-template-columns:1fr 1fr 1fr auto;gap:12px;margin-top:12px;padding:14px;border:1px solid var(--line);background:rgba(255,243,220,.72)}.unit .full{grid-column:1/-1}.unit-headline{display:flex;justify-content:space-between;align-items:baseline;margin-top:34px;border-bottom:1px solid var(--line)}.unit-headline h4{margin-bottom:9px;font-family:"Newsreader",Georgia,serif;font-size:28px;font-weight:500}.text-button{padding:0;border:0;background:transparent;color:var(--ink);font:11px "DM Mono",monospace;cursor:pointer;text-decoration:underline;text-underline-offset:4px}.remove-unit{padding:0;border:0;background:transparent;color:var(--accent);font:11px "DM Mono",monospace;cursor:pointer}.form-actions{display:flex;align-items:center;gap:18px;margin-top:22px}.form-actions p{max-width:320px;margin:0;color:var(--quiet);font-size:10px}.submit-button,.consult-button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:12px 16px;border:1px solid var(--ink);background:var(--ink);color:var(--paper);font:11px "DM Mono",monospace;text-decoration:none;cursor:pointer}.submit-button:hover,.consult-button:hover{background:var(--accent)}#repair-result{margin-top:18px}.result-card{padding:16px;border:1px solid var(--line);background:#fff8e8}.result-card p{margin-bottom:14px}.result-card a{display:inline-flex;margin-right:10px}.it-layout{display:grid;grid-template-columns:1fr .7fr;gap:36px;align-items:center}.it-layout img{width:min(100%,390px);justify-self:end;opacity:.72;filter:grayscale(1) contrast(1.1)}.contact-strip{padding:84px 0 66px;border-top:1px solid var(--line)}.contact-strip h2{font-size:clamp(42px,6vw,74px)}.contact-links{display:flex;flex-wrap:wrap;gap:8px 20px}.contact-links a,.contact-links span{font-size:12px;color:var(--ink)}.contact-links a{text-decoration:none;border-bottom:1px solid var(--line)}.contact-links span{color:var(--quiet)}
@media(max-width:720px){.field-guide{width:calc(100% - 16px);height:calc(100dvh - 16px);margin:8px auto;border-radius:14px}.guide-bar{min-height:48px;padding:0 11px}.wordmark{font-size:11px}.guide-bar nav{gap:10px}.guide-bar nav a{font-size:9px}.intro,.chapter,.contact-strip{width:min(calc(100% - 28px),var(--max))}.intro{min-height:calc(100dvh - 64px);padding:70px 0 46px}.service-selector,.repair-topline,.it-layout{grid-template-columns:1fr}.service-selector{margin-top:38px}.service-card{min-height:130px}.repair-topline{gap:4px}.handpiece-drawing{max-width:100%;width:100%;justify-self:start}.repair-index{grid-template-columns:1fr 1fr;margin-bottom:50px}.repair-index a{min-height:85px}.chapter{padding:60px 0}.type-grid,.process-list{grid-template-columns:1fr}.type-grid article{min-height:0}.price-list div{align-items:flex-start;flex-direction:column;gap:4px}.contact-fields,.unit{grid-template-columns:1fr}.unit{gap:12px}.unit .full{grid-column:auto}.form-actions{align-items:flex-start;flex-direction:column}.it-layout img{justify-self:start;width:240px}.contact-strip{padding:60px 0 48px}}

/* Match the current production CRT treatment and the finished card artwork. */
html,
body { background: #03040a; }

.tube-raster {
  z-index: 2147483000;
  opacity: 1;
  background:
    linear-gradient(rgba(18, 16, 16, 0) 50%, rgba(0, 0, 0, .22) 50%),
    linear-gradient(90deg, rgba(255, 0, 0, .05), rgba(0, 255, 0, .02), rgba(0, 0, 255, .05));
  background-size: 100% 2px, 3px 100%;
  mix-blend-mode: normal;
}

.field-guide {
  border-color: #dcdcdc;
  border-radius: 18px;
  box-shadow: 0 0 0 1px #111, 0 0 24px rgba(220, 220, 220, .14);
}

.guide-stage {
  overflow-x: hidden;
  background-image:
    linear-gradient(rgba(255, 243, 220, .48), rgba(255, 243, 220, .48)),
    url('breadboard-background-cream.png');
  background-size: auto, 1086px auto;
  background-repeat: repeat, repeat;
  background-position: center top;
}

.guide-stage h1,
.guide-stage h2,
.guide-stage h3,
.guide-stage h4,
.guide-stage p,
.guide-stage a,
.guide-stage label,
.guide-bar {
  text-shadow: 1px 0 rgba(255, 70, 110, .18), -1px 0 rgba(75, 205, 255, .20);
}

.service-note {
  display: grid;
  gap: 2px;
}

.repair-section {
  border-top: 0;
}

.impeller-crossing {
  position: relative;
  left: 50%;
  width: 112vw;
  max-width: none;
  height: clamp(150px, 22vw, 300px);
  margin: -28px 0 10px -56vw;
  overflow: hidden;
  background: transparent;
}

.impeller-crossing::before {
  content: "";
  position: absolute;
  inset: -18% -4%;
  background-image: url('impeller-rod-reference-cream.png');
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}

.repair-chapter,
.it-chapter {
  border-top: 0;
}

.custom-brand[hidden] {
  display: none;
}

.submit-button:disabled {
  cursor: wait;
  opacity: .62;
}

.result-card pre {
  margin: 16px 0 0;
  white-space: pre-wrap;
  font: 11px/1.55 "DM Mono", monospace;
}

.result-error {
  border-color: #8b342b;
}

.form-section-heading {
  margin: 30px 0 12px;
  padding-bottom: 8px;
  border-bottom: 1px solid var(--line);
  font: 500 12px/1.4 "DM Mono", monospace;
  letter-spacing: .06em;
  text-transform: uppercase;
}

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

.order-fields .full {
  grid-column: 1 / -1;
}

.unit .service-field {
  grid-column: span 2;
}

.sterile-confirmation {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 12px;
  align-items: start;
  margin-top: 24px;
  padding: 15px;
  border: 1px solid var(--line);
  background: rgba(255, 243, 220, .72);
}

.sterile-confirmation input {
  width: 18px;
  height: 18px;
  margin: 1px 0 0;
}

.order-cart {
  margin-top: 28px;
  border: 1px solid var(--line);
  background: rgba(255, 243, 220, .76);
}

.cart-heading {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 20px;
  padding: 18px;
  border-bottom: 1px solid var(--line);
}

.cart-heading .section-code {
  margin-bottom: 5px;
}

.cart-heading h4 {
  margin: 0;
  font: 500 24px/1 "Newsreader", Georgia, serif;
  letter-spacing: -.04em;
}

#cart-total {
  font: 500 36px/1 "Newsreader", Georgia, serif;
  letter-spacing: -.05em;
}

#cart-items {
  padding: 0 18px;
}

.cart-row {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  padding: 13px 0;
  border-bottom: 1px solid var(--line);
  font-size: 11px;
}

.cart-row:last-child {
  border-bottom: 0;
}

.cart-row strong {
  font-weight: 500;
  white-space: nowrap;
}

.order-cart > .fine-print {
  margin: 0;
  padding: 14px 18px;
  border-top: 1px solid var(--line);
}

.payment-choice {
  display: grid;
  grid-template-columns: 1.2fr 1fr;
  gap: 12px;
  margin: 28px 0 0;
  padding: 0;
  border: 0;
}

.payment-choice legend {
  grid-column: 1 / -1;
  width: 100%;
  margin-bottom: 9px;
  padding-bottom: 8px;
  border-bottom: 1px solid var(--line);
  font-size: 12px;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.payment-option {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 12px;
  min-height: 108px;
  padding: 16px;
  border: 1px solid var(--line);
  background: rgba(255, 243, 220, .74);
  color: var(--ink);
  cursor: pointer;
  transition: background .16s ease, color .16s ease, border-color .16s ease;
}

.payment-option:has(input:checked) {
  border-color: var(--ink);
  background: var(--ink);
  color: var(--paper);
}

.payment-option input {
  display: grid;
  place-items: center;
  appearance: none;
  width: 18px;
  height: 18px;
  margin: 2px 0 0;
  padding: 0;
  border: 1px solid currentColor;
  border-radius: 50%;
  background: transparent;
  color: var(--ink);
}

.payment-option:has(input:checked) input {
  color: var(--paper);
}

.payment-option input::before {
  content: "";
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: currentColor;
  transform: scale(0);
  transition: transform .12s ease;
}

.payment-option input:checked::before {
  transform: scale(1);
}

.payment-option:has(input:disabled) {
  cursor: not-allowed;
  opacity: .58;
}

.payment-note {
  grid-column: 1 / -1;
  margin: 0;
  color: var(--quiet);
  font-size: 10px;
}

.payment-option span {
  display: grid;
  align-content: start;
  gap: 8px;
}

.payment-option strong {
  font: 500 25px/1 "Newsreader", Georgia, serif;
  letter-spacing: -.04em;
}

.payment-option small {
  font-size: 10px;
  line-height: 1.5;
  opacity: .78;
}

@media(max-width:720px) {
  .field-guide { border-radius: 14px; }
  .guide-stage {
    background-size: auto, 760px auto;
    background-position: center top;
  }
  .impeller-crossing {
    width: 136vw;
    height: 146px;
    margin: -12px 0 4px -68vw;
  }
  .impeller-crossing::before {
    inset: -12% -8%;
    background-size: cover;
  }
  .order-fields {
    grid-template-columns: 1fr;
  }
  .payment-choice {
    grid-template-columns: 1fr;
  }
  .cart-heading {
    align-items: end;
  }
  .order-fields .full,
  .unit .service-field {
    grid-column: auto;
  }
}

/* Repair order: freely navigable progressive sections. */
.repair-topline {
  grid-template-columns: 1fr;
}

.form-step {
  min-width: 0;
  margin: 0;
  border: 0;
  border-top: 1px solid var(--line);
  background: rgba(255, 243, 220, .48);
}

.form-step:last-of-type {
  border-bottom: 1px solid var(--line);
}

.form-step > summary {
  display: grid;
  grid-template-columns: 38px minmax(180px, .7fr) 1fr auto;
  gap: 14px;
  align-items: center;
  min-height: 68px;
  padding: 14px 16px;
  cursor: pointer;
  list-style: none;
  text-shadow: 1px 0 rgba(255, 70, 110, .18), -1px 0 rgba(75, 205, 255, .20);
}

.form-step > summary > *,
.form-step-body,
.form-step-body label {
  min-width: 0;
}

.form-step > summary::-webkit-details-marker {
  display: none;
}

.form-step > summary::after {
  content: "+";
  font-size: 18px;
  line-height: 1;
}

.form-step[open] > summary::after {
  content: "−";
}

.form-step > summary span {
  color: var(--accent);
  font-size: 10px;
  letter-spacing: .08em;
}

.form-step > summary strong {
  font: 500 22px/1 "Newsreader", Georgia, serif;
  letter-spacing: -.04em;
}

.form-step > summary small {
  color: var(--quiet);
  font-size: 10px;
}

.form-step > summary:hover,
.form-step > summary:focus-visible {
  background: rgba(255, 248, 233, .76);
  outline: none;
}

.form-step[aria-disabled="true"] > summary {
  cursor: not-allowed;
  opacity: .55;
}

.form-step-body {
  padding: 8px 16px 22px;
}

.form-step-body.unit,
.form-step-body.order-fields,
.form-step-body.contact-fields {
  padding-top: 8px;
}

.form-step .unit-headline {
  margin-top: 0;
}

.payment-step .order-cart {
  margin-top: 0;
}

@media(max-width:720px) {
  .form-step > summary {
    grid-template-columns: 28px minmax(0, 1fr) auto;
    gap: 9px;
    min-height: 64px;
    padding: 12px;
  }

  .form-step > summary small {
    grid-column: 2;
    grid-row: 2;
  }

  .form-step > summary::after {
    grid-column: 3;
    grid-row: 1 / span 2;
  }

  .form-step-body {
    padding: 6px 12px 18px;
  }

  #repair-form,
  .contact-fields,
  .order-fields,
  .unit {
    width: 100%;
    min-width: 0;
  }
}

/* Current single-page field guide refinements. */
.guide-stage {
  scroll-behavior: smooth;
  scroll-padding-top: 24px;
}

.service-note span:first-child {
  color: var(--ink);
  font-size: 12px;
  font-weight: 500;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.impeller-crossing {
  height: clamp(180px, 37.4vw, 410px);
  margin-bottom: 38px;
}

.impeller-crossing::before {
  inset: 0 -4%;
  background-size: contain;
}

.service-instrument {
  display: block;
  width: 100%;
  height: 108px;
  margin: -4px 0 14px;
  object-fit: contain;
  filter: grayscale(1) contrast(1.15);
}

.electric-drawing-band {
  display: flex;
  justify-content: flex-end;
  min-height: 220px;
  padding-top: 22px;
}

.electric-drawing-band img {
  width: min(68%, 680px);
  height: 210px;
  object-fit: contain;
  filter: grayscale(1) contrast(1.15);
}

.portal-link {
  font-weight: 500;
}

@media(max-width:720px) {
  .impeller-crossing {
    height: 180px;
    margin-bottom: 30px;
  }

  .impeller-crossing::before {
    inset: 0 -8%;
    background-size: contain;
  }

  .electric-drawing-band {
    min-height: 150px;
  }

  .electric-drawing-band img {
    width: 100%;
    height: 150px;
  }
}
