:root {
  --color-brand-1: #1f00ff;
  --color-accent-2: #ff622b;
  --color-neutral-3: #ffffff;
  --color-neutral-4: #ececec;
  --color-neutral-5: #d3d3d3;
  --color-neutral-6: #212121;
  --color-neutral-7: #f2f2f2;
  --color-neutral-8: #f8f8f8;
  --surface-0: #ffffff;
  --surface-1: #f8f8f8;
  --surface-2: #f2f2f2;
  --surface-3: #ececec;
  --surface-4: #212121;
  --text-caption: 10px;
  --text-caption-line-height: 1.5;
  --text-caption-letter-spacing: 0.01px;
  --text-body-sm: 14px;
  --text-body-sm-line-height: 1.58;
  --text-body-sm-letter-spacing: 0.01px;
  --text-body: 17px;
  --text-body-line-height: 1.2;
  --text-body-letter-spacing: 0.01px;
  --text-subheading: 24px;
  --text-subheading-line-height: 1;
  --text-subheading-letter-spacing: 0.02px;
  --text-heading: 48px;
  --text-heading-line-height: 0.86;
  --text-heading-letter-spacing: 0px;
  --text-heading-lg: 95px;
  --text-heading-lg-line-height: 0.85;
  --text-heading-lg-letter-spacing: 0.03px;
  --text-display: 333px;
  --text-display-line-height: 0.79;
  --text-display-letter-spacing: 0.05px;
  --space-element-gap: 11px;
  --space-section-gap: 24px;
  --space-card-padding: 38px;
  --radius-button: 4.7619px;
  --font-body: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --font-display: Impact, Haettenschweiler, "Arial Narrow", sans-serif;

  --paper: var(--color-neutral-3);
  --ink: var(--color-neutral-6);
  --blueprint: var(--color-brand-1);
  --accent: var(--color-accent-2);
  --muted-surface: var(--color-neutral-7);
  --rule: var(--color-neutral-5);
  --radius-frame: 12px;
  --radius-panel: 10px;
  --radius-control: var(--radius-button);
  --gutter: 1rem;
  --section-space: calc(var(--space-section-gap) * 2);
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  background: var(--surface-0);
  color-scheme: light;
  scroll-behavior: auto;
}

body.pipe-dreams {
  margin: 0;
  background: var(--surface-0);
  color: var(--ink);
  font-family: var(--font-body);
  font-size: max(1rem, var(--text-body));
  line-height: max(1.5, var(--text-body-line-height));
  letter-spacing: max(0.01em, var(--text-body-letter-spacing));
  text-rendering: optimizeLegibility;
}

body.pipe-dreams * {
  min-width: 0;
}

body.pipe-dreams a {
  color: inherit;
}

body.pipe-dreams button,
body.pipe-dreams input,
body.pipe-dreams textarea {
  font: inherit;
}

body.pipe-dreams img {
  display: block;
  max-width: 100%;
}

body.pipe-dreams p {
  max-width: 56ch;
}

body.pipe-dreams h1,
body.pipe-dreams h2,
body.pipe-dreams h3,
body.pipe-dreams figure,
body.pipe-dreams dl,
body.pipe-dreams dd {
  margin: 0;
}

body.pipe-dreams h1,
body.pipe-dreams h2 {
  font-family: var(--font-display);
  font-weight: 400;
  text-transform: uppercase;
}

body.pipe-dreams h1,
body.pipe-dreams h2,
body.pipe-dreams h3 {
  text-wrap: balance;
}

body.pipe-dreams h1 {
  max-width: 11ch;
  font-size: clamp(2.375rem, calc(-0.482rem + 14.286vw), 3rem);
  line-height: max(1, var(--text-heading-lg-line-height));
  letter-spacing: max(0.02em, var(--text-heading-lg-letter-spacing));
}

body.pipe-dreams h2 {
  font-size: clamp(1.8125rem, calc(1.23rem + 2.381vw), 2.375rem);
  line-height: max(1.1, var(--text-heading-line-height));
  letter-spacing: max(0.02em, var(--text-heading-letter-spacing));
}

body.pipe-dreams h3 {
  font-family: var(--font-body);
  font-size: max(1.5rem, var(--text-subheading));
  font-weight: 600;
  line-height: max(1.2, var(--text-subheading-line-height));
  letter-spacing: max(0.02em, var(--text-subheading-letter-spacing));
}

body.pipe-dreams [hidden] {
  display: none;
}

body.pipe-dreams :focus-visible {
  outline: 3px solid var(--blueprint);
  outline-offset: 3px;
}

body.pipe-dreams .page-width {
  width: calc(100% - (2 * var(--gutter)));
  max-width: 1352px;
  margin-inline: auto;
}

body.pipe-dreams .skip-link {
  position: absolute;
  z-index: 10;
  top: 0;
  left: 1rem;
  transform: translateY(-120%);
  padding: 0.65rem 0.8rem;
  background: var(--ink);
  color: var(--paper);
  font-size: max(0.875rem, var(--text-body-sm));
  text-decoration: none;
}

body.pipe-dreams .skip-link:focus {
  transform: translateY(0);
}

body.pipe-dreams .site-header {
  background: var(--paper);
}

body.pipe-dreams .header-inner {
  min-height: 74px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-element-gap);
  padding-block: 0.8rem;
  border-bottom: 1px solid var(--rule);
}

body.pipe-dreams .wordmark {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  color: var(--ink);
  font-size: max(1rem, var(--text-body));
  font-weight: 700;
  letter-spacing: 0.01em;
  text-decoration: none;
}

body.pipe-dreams #site-nav {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  gap: var(--space-element-gap);
}

body.pipe-dreams #site-nav a {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  padding: 0.55rem 0.75rem;
  border: 1px solid transparent;
  border-radius: var(--radius-control);
  font-size: max(0.875rem, var(--text-body-sm));
  font-weight: 600;
  text-decoration: none;
}

body.pipe-dreams #site-nav a:hover {
  border-color: var(--blueprint);
  color: var(--blueprint);
}

body.pipe-dreams #site-nav a:active {
  background: var(--ink);
  border-color: var(--ink);
  color: var(--paper);
}

body.pipe-dreams #site-nav a.nav-action {
  background: var(--accent);
  border-color: var(--accent);
  color: var(--ink);
}

body.pipe-dreams #site-nav a.nav-action:hover {
  background: var(--blueprint);
  border-color: var(--blueprint);
  color: var(--paper);
}

body.pipe-dreams #main:focus {
  outline: none;
}

body.pipe-dreams .section {
  padding-block: var(--section-space);
}

body.pipe-dreams .hero-section {
  padding-top: 1.5rem;
}

body.pipe-dreams .hero-frame {
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(0, 0.92fr);
  grid-template-rows: 1fr auto;
  min-height: 41.25rem;
  padding: clamp(1rem, 3.125vw, var(--space-card-padding));
  overflow: hidden;
  border-radius: var(--radius-frame);
  background: var(--blueprint);
  color: var(--paper);
}

body.pipe-dreams .hero-copy {
  grid-column: 1;
  grid-row: 1;
  align-self: start;
  padding-top: 0.25rem;
}

body.pipe-dreams .eyebrow,
body.pipe-dreams .step-number,
body.pipe-dreams .card-kicker,
body.pipe-dreams .panel-label {
  margin: 0;
  font-size: max(0.875rem, var(--text-body-sm));
  line-height: max(1.5, var(--text-body-sm-line-height));
  letter-spacing: max(0.01em, var(--text-body-sm-letter-spacing));
  text-transform: uppercase;
}

body.pipe-dreams .eyebrow {
  display: flex;
  align-items: baseline;
  gap: var(--space-element-gap);
  margin-bottom: 1.25rem;
}

body.pipe-dreams .eyebrow-index {
  display: inline-block;
  min-width: 2ch;
  font-size: max(var(--text-caption), min(var(--text-body-sm), var(--text-display)));
  line-height: max(1, var(--text-caption-line-height));
  letter-spacing: max(0.02em, var(--text-caption-letter-spacing));
}

body.pipe-dreams .hero-copy .eyebrow-index {
  line-height: max(1, var(--text-display-line-height));
  letter-spacing: max(0.02em, var(--text-display-letter-spacing));
}

body.pipe-dreams .hero-media {
  grid-column: 2;
  grid-row: 1 / span 2;
  align-self: center;
  justify-self: end;
  width: min(100%, 32.5rem);
}

body.pipe-dreams .crop-window {
  position: relative;
  overflow: hidden;
  isolation: isolate;
  background: var(--surface-3);
}

body.pipe-dreams .crop-window img {
  position: absolute;
  top: var(--crop-top);
  left: var(--crop-left);
  width: var(--crop-scale);
  max-width: none;
  height: auto;
}

body.pipe-dreams .hero-crop {
  aspect-ratio: 433 / 389;
  border: 1px solid var(--paper);
  border-radius: var(--radius-panel);
  --crop-scale: 310.6235%;
  --crop-left: -105.0808%;
  --crop-top: -93.3162%;
}

body.pipe-dreams .hero-media figcaption {
  display: flex;
  justify-content: space-between;
  gap: var(--space-element-gap);
  padding-top: 0.7rem;
  color: var(--paper);
  font-size: max(0.875rem, var(--text-body-sm));
  line-height: max(1.58, var(--text-body-sm-line-height));
  letter-spacing: max(0.01em, var(--text-body-sm-letter-spacing));
}

body.pipe-dreams .hero-lower {
  grid-column: 1;
  grid-row: 2;
  align-self: end;
  max-width: 35rem;
  padding-top: 2rem;
}

body.pipe-dreams .hero-promise {
  margin: 0 0 1.5rem;
  max-width: 38ch;
  font-size: max(1rem, var(--text-body));
  line-height: max(1.5, var(--text-body-line-height));
  letter-spacing: max(0.01em, var(--text-body-letter-spacing));
}

body.pipe-dreams .action-row,
body.pipe-dreams .form-actions,
body.pipe-dreams .direct-contact {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--space-element-gap);
}

body.pipe-dreams .button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 0.65rem 1rem;
  border: 1px solid transparent;
  border-radius: var(--radius-control);
  cursor: pointer;
  font-size: max(0.875rem, var(--text-body-sm));
  font-weight: 600;
  line-height: 1.2;
  text-align: center;
  text-decoration: none;
}

body.pipe-dreams .button-primary {
  background: var(--accent);
  border-color: var(--accent);
  color: var(--ink);
}

body.pipe-dreams .button-primary:hover,
body.pipe-dreams .button-primary:focus-visible {
  background: var(--blueprint);
  border-color: var(--paper);
  color: var(--paper);
}

body.pipe-dreams .button-primary:active {
  background: var(--ink);
  border-color: var(--ink);
  color: var(--paper);
}

body.pipe-dreams .button-on-blue {
  border-color: var(--paper);
  color: var(--paper);
}

body.pipe-dreams .button-on-blue:hover,
body.pipe-dreams .button-on-blue:focus-visible {
  background: var(--paper);
  color: var(--blueprint);
}

body.pipe-dreams .button-on-blue:active {
  background: var(--ink);
  border-color: var(--ink);
  color: var(--paper);
}

body.pipe-dreams .section-heading {
  display: grid;
  grid-template-columns: minmax(10rem, 0.55fr) minmax(0, 1.45fr);
  gap: calc(var(--space-element-gap) * 3);
  align-items: end;
  margin-bottom: 2.5rem;
}

body.pipe-dreams .section-heading .eyebrow {
  align-self: start;
  color: var(--blueprint);
}

body.pipe-dreams .heading-copy > p {
  margin: 1rem 0 0;
  max-width: 46ch;
}

body.pipe-dreams .consultation-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: calc(var(--space-element-gap) * 2);
}

body.pipe-dreams .consultation-step {
  display: grid;
  gap: 1rem;
  align-content: start;
  padding-top: 1rem;
  border-top: 1px solid var(--rule);
}

body.pipe-dreams .step-crop {
  width: 100%;
  border: 1px solid var(--rule);
  border-radius: var(--radius-panel);
}

body.pipe-dreams .step-crop-copper {
  aspect-ratio: 409 / 339;
  --crop-scale: 328.6064%;
  --crop-left: -8.0685%;
  --crop-top: -119.469%;
}

body.pipe-dreams .step-crop-tools {
  aspect-ratio: 442 / 360;
  --crop-scale: 304.0724%;
  --crop-left: -204.0724%;
  --crop-top: -108.8889%;
}

body.pipe-dreams .step-crop-valve {
  aspect-ratio: 417 / 323;
  --crop-scale: 322.3022%;
  --crop-left: -211.5108%;
  --crop-top: -124.1486%;
}

body.pipe-dreams .step-copy {
  display: grid;
  gap: 0.5rem;
}

body.pipe-dreams .step-number,
body.pipe-dreams .card-kicker,
body.pipe-dreams .panel-label {
  color: var(--blueprint);
}

body.pipe-dreams .step-copy p:last-child,
body.pipe-dreams .proof-card p:not(.card-kicker):not(.card-note),
body.pipe-dreams .estimate-intro > p:not(.eyebrow):not(.draft-note):not(.coverage-note) {
  margin: 0;
}

body.pipe-dreams .section-caption {
  margin: 1.25rem 0 0;
  color: var(--ink);
  font-size: max(0.875rem, var(--text-body-sm));
  line-height: max(1.58, var(--text-body-sm-line-height));
  letter-spacing: max(0.01em, var(--text-body-sm-letter-spacing));
}

body.pipe-dreams #approach {
  padding-top: 0;
}

body.pipe-dreams .approach-frame {
  padding: clamp(1.5rem, 3vw, var(--space-card-padding));
  border-radius: var(--radius-panel);
  background: var(--muted-surface);
}

body.pipe-dreams .proof-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: calc(var(--space-element-gap) * 2);
}

body.pipe-dreams .proof-card {
  display: grid;
  align-content: start;
  gap: 0.8rem;
  min-height: 18rem;
  padding: clamp(1.25rem, 2.6vw, var(--space-card-padding));
  border: 1px solid var(--rule);
  border-radius: var(--radius-button);
  background: var(--paper);
}

body.pipe-dreams .proof-card h3 {
  max-width: 18ch;
}

body.pipe-dreams .proof-card .text-link,
body.pipe-dreams .footer-contact a,
body.pipe-dreams .text-link {
  width: fit-content;
  color: var(--blueprint);
  font-weight: 700;
  text-decoration-thickness: 1px;
  text-underline-offset: 0.2em;
}

body.pipe-dreams .text-link:hover,
body.pipe-dreams .text-link:focus-visible {
  color: var(--ink);
}

body.pipe-dreams .card-note {
  margin: auto 0 0;
  padding-top: 1rem;
  border-top: 1px solid var(--rule);
  color: var(--ink);
  font-size: max(0.875rem, var(--text-body-sm));
  line-height: max(1.58, var(--text-body-sm-line-height));
  letter-spacing: max(0.01em, var(--text-body-sm-letter-spacing));
}

body.pipe-dreams .estimate-section {
  padding-top: 0;
}

body.pipe-dreams .estimate-frame {
  display: grid;
  grid-template-columns: minmax(0, 0.68fr) minmax(0, 1.32fr);
  gap: calc(var(--space-element-gap) * 3);
  padding: clamp(1rem, 3.125vw, var(--space-card-padding));
  border-radius: var(--radius-frame);
  background: var(--blueprint);
  color: var(--paper);
}

body.pipe-dreams .estimate-intro {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 1.25rem;
  padding: 0.25rem;
}

body.pipe-dreams .estimate-intro .eyebrow {
  margin-bottom: 0;
}

body.pipe-dreams .estimate-intro h2 {
  max-width: 13ch;
}

body.pipe-dreams .estimate-intro > p {
  max-width: 34ch;
}

body.pipe-dreams .draft-note {
  margin: auto 0 0;
  max-width: 34ch;
  padding: 0.85rem 1rem;
  border: 1px solid var(--paper);
  border-radius: var(--radius-control);
  background: var(--paper);
  color: var(--ink);
  font-size: max(0.875rem, var(--text-body-sm));
  line-height: max(1.58, var(--text-body-sm-line-height));
  letter-spacing: max(0.01em, var(--text-body-sm-letter-spacing));
}

body.pipe-dreams .coverage-note {
  margin: 0;
  color: var(--paper);
  font-size: max(0.875rem, var(--text-body-sm));
  line-height: max(1.58, var(--text-body-sm-line-height));
  letter-spacing: max(0.01em, var(--text-body-sm-letter-spacing));
}

body.pipe-dreams .estimate-panel {
  padding: clamp(1.25rem, 3vw, var(--space-card-padding));
  border-radius: var(--radius-panel);
  background: var(--paper);
  color: var(--ink);
}

body.pipe-dreams .estimate-panel > .panel-label {
  margin-bottom: 0.9rem;
}

body.pipe-dreams .nojs-note {
  margin: 0 0 1rem;
  padding: 0.75rem 0.85rem;
  border: 1px solid var(--rule);
  border-radius: var(--radius-control);
  background: var(--surface-2);
  color: var(--ink);
  font-size: max(0.875rem, var(--text-body-sm));
  line-height: max(1.58, var(--text-body-sm-line-height));
  letter-spacing: max(0.01em, var(--text-body-sm-letter-spacing));
}

body.pipe-dreams.js .nojs-note {
  display: none;
}

body.pipe-dreams #request-preview fieldset {
  display: grid;
  gap: 1rem;
  margin: 0;
  padding: 0;
  border: 0;
}

body.pipe-dreams #request-preview fieldset:disabled .field-control,
body.pipe-dreams #request-preview fieldset:disabled input,
body.pipe-dreams #request-preview fieldset:disabled textarea {
  cursor: not-allowed;
}

body.pipe-dreams .field-group {
  display: grid;
  gap: 0.45rem;
}

body.pipe-dreams .field-group label {
  font-size: max(0.875rem, var(--text-body-sm));
  font-weight: 600;
  line-height: max(1.58, var(--text-body-sm-line-height));
  letter-spacing: max(0.01em, var(--text-body-sm-letter-spacing));
}

body.pipe-dreams .field-group input,
body.pipe-dreams .field-group textarea {
  width: 100%;
  min-height: 3.25rem;
  padding: 0.75rem 0.85rem;
  border: 1px solid var(--ink);
  border-radius: var(--radius-control);
  background: var(--color-neutral-8);
  color: var(--ink);
}

body.pipe-dreams .field-group input {
  background: var(--surface-1);
}

body.pipe-dreams .field-group textarea {
  min-height: 9rem;
  resize: vertical;
}

body.pipe-dreams .field-group input:disabled,
body.pipe-dreams .field-group textarea:disabled {
  background: var(--surface-3);
  color: var(--ink);
  opacity: 1;
}

body.pipe-dreams .field-group input[aria-invalid="true"],
body.pipe-dreams .field-group textarea[aria-invalid="true"] {
  border-color: var(--blueprint);
}

body.pipe-dreams .request-error {
  padding: 0.85rem 1rem;
  border: 1px solid var(--blueprint);
  border-left-width: 4px;
  border-radius: var(--radius-control);
  background: var(--surface-2);
  color: var(--ink);
  font-size: max(0.875rem, var(--text-body-sm));
  line-height: max(1.58, var(--text-body-sm-line-height));
  letter-spacing: max(0.01em, var(--text-body-sm-letter-spacing));
}

body.pipe-dreams .button-quiet,
body.pipe-dreams .button-outline {
  background: transparent;
  border-color: var(--ink);
  color: var(--ink);
}

body.pipe-dreams .button-quiet:hover,
body.pipe-dreams .button-quiet:focus-visible,
body.pipe-dreams .button-outline:hover,
body.pipe-dreams .button-outline:focus-visible {
  background: var(--blueprint);
  border-color: var(--blueprint);
  color: var(--paper);
}

body.pipe-dreams .button-quiet:active,
body.pipe-dreams .button-outline:active {
  background: var(--ink);
  border-color: var(--ink);
  color: var(--paper);
}

body.pipe-dreams .request-status {
  margin: 0;
  padding-top: 0.85rem;
  border-top: 1px solid var(--rule);
  color: var(--ink);
  font-size: max(0.875rem, var(--text-body-sm));
  line-height: max(1.58, var(--text-body-sm-line-height));
  letter-spacing: max(0.01em, var(--text-body-sm-letter-spacing));
}

body.pipe-dreams .request-summary {
  display: grid;
  gap: 0.8rem;
  padding: 1rem;
  border: 1px solid var(--blueprint);
  border-radius: var(--radius-panel);
  background: var(--surface-2);
}

body.pipe-dreams .request-summary h3 {
  font-size: max(1.25rem, var(--text-subheading));
  line-height: max(1.2, var(--text-subheading-line-height));
}

body.pipe-dreams .request-summary dl {
  display: grid;
  gap: 0.75rem;
}

body.pipe-dreams .request-summary dl > div {
  display: grid;
  gap: 0.2rem;
}

body.pipe-dreams .request-summary dt {
  color: var(--blueprint);
  font-size: max(0.875rem, var(--text-body-sm));
  font-weight: 700;
  line-height: max(1.58, var(--text-body-sm-line-height));
  text-transform: uppercase;
}

body.pipe-dreams .request-summary dd {
  overflow-wrap: anywhere;
}

body.pipe-dreams .direct-contact {
  margin-top: 1.5rem;
  padding-top: 1.25rem;
  border-top: 1px solid var(--rule);
}

body.pipe-dreams .direct-contact .button {
  flex: 1 1 12rem;
}

body.pipe-dreams .site-footer {
  padding-block: 0 var(--section-space);
}

body.pipe-dreams .footer-frame {
  padding: 1.6rem clamp(1rem, 2.65vw, var(--space-card-padding));
  border-radius: var(--radius-panel);
  background: var(--surface-4);
  color: var(--paper);
}

body.pipe-dreams .footer-grid {
  display: grid;
  grid-template-columns: 1.3fr 1fr auto;
  gap: calc(var(--space-element-gap) * 2);
  align-items: start;
}

body.pipe-dreams .footer-frame p {
  margin: 0;
  font-size: max(0.875rem, var(--text-body-sm));
  line-height: max(1.58, var(--text-body-sm-line-height));
  letter-spacing: max(0.01em, var(--text-body-sm-letter-spacing));
}

body.pipe-dreams .footer-frame .footer-name {
  margin-bottom: 0.35rem;
  color: var(--paper);
  font-family: var(--font-display);
  font-size: max(1.5rem, var(--text-subheading));
  line-height: max(1, var(--text-subheading-line-height));
  letter-spacing: max(0.02em, var(--text-subheading-letter-spacing));
  text-transform: uppercase;
}

body.pipe-dreams .footer-contact {
  display: grid;
  gap: 0.25rem;
}

body.pipe-dreams .footer-contact a,
body.pipe-dreams .footer-top {
  color: var(--paper);
}

body.pipe-dreams .footer-contact a:hover,
body.pipe-dreams .footer-contact a:focus-visible,
body.pipe-dreams .footer-top:hover,
body.pipe-dreams .footer-top:focus-visible {
  color: var(--accent);
}

body.pipe-dreams .footer-top {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  gap: 0.45rem;
  font-weight: 700;
  text-decoration-thickness: 1px;
  text-underline-offset: 0.2em;
}

body.pipe-dreams .footer-frame .footer-disclosure {
  margin-top: 1.25rem;
  padding-top: 0.85rem;
  border-top: 1px solid var(--color-neutral-5);
  color: var(--color-neutral-4);
}

body.pipe-dreams .visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

@media (min-width: 24.375rem) {
  body.pipe-dreams h1 {
    font-size: clamp(3rem, calc(2.1rem + 3.704vw), 3.875rem);
  }
}

@media (min-width: 48rem) {
  :root {
    --gutter: 1.5rem;
    --section-space: calc(var(--space-section-gap) * 3);
  }

  body.pipe-dreams h1 {
    font-size: clamp(3.875rem, calc(2.9375rem + 1.953vw), 4.1875rem);
  }

  body.pipe-dreams h2 {
    font-size: clamp(2.375rem, calc(1.66rem + 1.488vw), var(--text-heading));
  }

  body.pipe-dreams .hero-lower {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: calc(var(--space-element-gap) * 2);
    align-items: end;
  }

  body.pipe-dreams .hero-promise {
    margin-bottom: 0;
  }

  body.pipe-dreams .action-row {
    justify-content: flex-end;
  }
}

@media (min-width: 64rem) {
  :root {
    --gutter: 2rem;
  }

  body.pipe-dreams h1 {
    font-size: clamp(4.1875rem, calc(-0.12rem + 6.73vw), var(--text-heading-lg));
  }
}

@media (min-width: 90rem) {
  :root {
    --gutter: 2.75rem;
  }

  body.pipe-dreams .hero-frame {
    min-height: 45.625rem;
  }
}

@media (max-width: 47.99rem) {
  body.pipe-dreams .header-inner {
    align-items: flex-start;
    flex-wrap: wrap;
  }

  body.pipe-dreams #site-nav {
    width: 100%;
    justify-content: flex-start;
  }

  body.pipe-dreams .hero-frame {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: auto auto auto;
    min-height: 0;
    gap: 1.5rem;
  }

  body.pipe-dreams .hero-copy,
  body.pipe-dreams .hero-media,
  body.pipe-dreams .hero-lower {
    grid-column: 1;
    grid-row: auto;
  }

  body.pipe-dreams .hero-copy {
    padding-top: 0;
  }

  body.pipe-dreams .hero-media {
    width: min(100%, 15rem);
    justify-self: center;
  }

  body.pipe-dreams .hero-lower {
    padding-top: 0;
  }

  body.pipe-dreams .section-heading {
    grid-template-columns: minmax(0, 1fr);
    gap: 0.75rem;
    margin-bottom: 2rem;
  }

  body.pipe-dreams .consultation-grid,
  body.pipe-dreams .proof-grid,
  body.pipe-dreams .estimate-frame {
    grid-template-columns: minmax(0, 1fr);
  }

  body.pipe-dreams .consultation-grid {
    gap: 1rem;
  }

  body.pipe-dreams .consultation-step {
    grid-template-columns: 4rem minmax(0, 1fr);
    column-gap: 1rem;
    row-gap: 0;
    align-items: center;
    padding-top: 1rem;
  }

  body.pipe-dreams .step-crop {
    width: 4rem;
    height: 4rem;
    aspect-ratio: 1;
    grid-row: 1;
    border-radius: var(--radius-control);
  }

  body.pipe-dreams .step-crop-copper {
    --crop-scale: 396.4602%;
    --crop-left: -20.059%;
    --crop-top: -119.469%;
  }

  body.pipe-dreams .step-crop-tools {
    --crop-scale: 373.3333%;
    --crop-left: -261.9444%;
    --crop-top: -108.8889%;
  }

  body.pipe-dreams .step-crop-valve {
    --crop-scale: 416.4087%;
    --crop-left: -287.6161%;
    --crop-top: -124.1486%;
  }

  body.pipe-dreams .step-copy {
    grid-column: 2;
  }

  body.pipe-dreams .step-copy h3 {
    font-size: max(1.25rem, var(--text-body));
    line-height: max(1.2, var(--text-body-line-height));
  }

  body.pipe-dreams .step-copy p:last-child {
    font-size: max(0.875rem, var(--text-body-sm));
    line-height: max(1.58, var(--text-body-sm-line-height));
  }

  body.pipe-dreams .section-caption {
    margin-left: 5rem;
  }

  body.pipe-dreams .proof-card {
    min-height: 0;
  }

  body.pipe-dreams .estimate-frame {
    gap: 2rem;
  }

  body.pipe-dreams .estimate-intro {
    padding: 0;
  }

  body.pipe-dreams .draft-note {
    margin-top: 0.25rem;
  }

  body.pipe-dreams .footer-grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 1rem;
  }
}

@media (min-width: 48rem) and (max-width: 63.99rem) {
  body.pipe-dreams .hero-frame {
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: auto auto auto;
    min-height: 41.25rem;
    gap: 1.5rem;
  }

  body.pipe-dreams .hero-copy,
  body.pipe-dreams .hero-media,
  body.pipe-dreams .hero-lower {
    grid-column: 1;
    grid-row: auto;
  }

  body.pipe-dreams .hero-media {
    width: min(100%, 21.25rem);
    justify-self: center;
  }

  body.pipe-dreams .hero-lower {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: calc(var(--space-element-gap) * 2);
    align-items: end;
    padding-top: 0;
  }

  body.pipe-dreams .hero-promise {
    margin-bottom: 0;
  }

  body.pipe-dreams .action-row {
    justify-content: flex-end;
  }

  body.pipe-dreams .consultation-grid,
  body.pipe-dreams .proof-grid,
  body.pipe-dreams .estimate-frame {
    grid-template-columns: minmax(0, 1fr);
  }

  body.pipe-dreams .consultation-grid {
    gap: 1rem;
  }

  body.pipe-dreams .consultation-step {
    grid-template-columns: 4rem minmax(0, 1fr);
    column-gap: 1rem;
    row-gap: 0;
    align-items: center;
    padding-top: 1rem;
  }

  body.pipe-dreams .step-crop {
    width: 4rem;
    height: 4rem;
    aspect-ratio: 1;
    grid-row: 1;
    border-radius: var(--radius-control);
  }

  body.pipe-dreams .step-crop-copper {
    --crop-scale: 396.4602%;
    --crop-left: -20.059%;
    --crop-top: -119.469%;
  }

  body.pipe-dreams .step-crop-tools {
    --crop-scale: 373.3333%;
    --crop-left: -261.9444%;
    --crop-top: -108.8889%;
  }

  body.pipe-dreams .step-crop-valve {
    --crop-scale: 416.4087%;
    --crop-left: -287.6161%;
    --crop-top: -124.1486%;
  }

  body.pipe-dreams .step-copy {
    grid-column: 2;
  }

  body.pipe-dreams .step-copy h3 {
    font-size: max(1.25rem, var(--text-body));
    line-height: max(1.2, var(--text-body-line-height));
  }

  body.pipe-dreams .section-caption {
    margin-left: 5rem;
  }

  body.pipe-dreams .proof-card {
    min-height: 0;
  }
}

@media (max-width: 20rem) {
  body.pipe-dreams .page-width {
    width: calc(100% - 2rem);
  }

  body.pipe-dreams .hero-media {
    width: 13rem;
  }

  body.pipe-dreams .action-row,
  body.pipe-dreams .form-actions,
  body.pipe-dreams .direct-contact {
    align-items: stretch;
    flex-direction: column;
  }

  body.pipe-dreams .button {
    width: 100%;
  }
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }
}
