/* Related Contact development page only; absent from the public style manifest. */
.contact-pilot #samples,.contact-pilot #projects,.contact-pilot #sales{scroll-margin-top:120px;}
.contact-pilot{padding-top:var(--tao-space-5);padding-bottom:var(--tao-space-5);color:var(--tao-color-text);}
.contact-pilot .contact-intro{max-width:800px;margin:0 0 var(--tao-space-5);}
.contact-pilot h1{font-size:clamp(30px,5vw,52px);line-height:1.12;letter-spacing:-.035em;margin:var(--tao-space-2) 0;}
.contact-pilot h2{font-size:26px;line-height:1.25;margin:0 0 var(--tao-space-3);}
.contact-pilot p,.contact-pilot li{font-size:16px;line-height:1.6;}
.contact-pilot .contact-eyebrow{color:var(--tao-color-accent);font-weight:600;}
.contact-pilot .contact-breadcrumb{margin-bottom:var(--tao-space-3);line-height:1.6;}
.contact-pilot a{color:var(--tao-color-accent);text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere;}
.contact-pilot a:focus-visible{outline:2px solid var(--tao-color-focus-ring);outline-offset:4px;}
.contact-pilot .contact-breadcrumb a,.contact-pilot .contact-action,.contact-pilot .contact-link{display:inline-flex;align-items:center;min-height:44px;max-width:100%;}
.contact-pilot .contact-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:var(--tao-space-3);}
.contact-pilot .contact-card{min-width:0;padding:var(--tao-space-3);border:1px solid var(--tao-color-line);border-radius:var(--tao-radius-lg);background:var(--tao-color-surface);}
.contact-pilot .contact-address-line{margin:0 0 var(--tao-space-2);font-weight:600;overflow-wrap:anywhere;}
.contact-pilot .contact-action{padding:var(--tao-space-1) var(--tao-space-3);border-radius:var(--tao-radius-pill);background:var(--tao-color-accent);color:var(--tao-color-surface);text-decoration:none;}
.contact-pilot .contact-action:hover{background:var(--tao-color-accent-dark);}
.contact-pilot ul{padding-left:var(--tao-space-3);}
.contact-pilot .contact-notice{margin:var(--tao-space-5) 0 0;padding:var(--tao-space-2);border:1px solid var(--tao-color-line);border-radius:var(--tao-radius-md);background:var(--tao-color-soft);}
@media(max-width:1024px){.contact-pilot .contact-grid{grid-template-columns:minmax(0,1fr);}}
@media(max-width:640px){.contact-pilot .contact-card{padding:var(--tao-space-2);}}

/* Opt-in, contact-only editorial polish. This appends to assets/contact.css
   exclusively in --editorial-preview. Never affects homepage or public footer. */
.contact-pilot.tao-contact-editorial {
  --tao-contact-ink: #1d1d1f;
  --tao-contact-copy: #424245;
  --tao-contact-muted: #6e6e73;
  color: var(--tao-contact-ink);
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  letter-spacing: normal;
  padding-top: clamp(48px, 6vw, 80px);
  padding-bottom: clamp(64px, 8vw, 104px);
}

.contact-pilot.tao-contact-editorial .contact-breadcrumb {
  max-width: 1080px;
  margin: 0 auto 36px;
  font-size: 13px;
  line-height: 1.5;
  color: var(--tao-contact-muted);
}

.contact-pilot.tao-contact-editorial .contact-intro {
  max-width: 880px;
  margin: 0 auto clamp(40px, 5vw, 68px);
  text-align: center;
}

.contact-pilot.tao-contact-editorial .contact-eyebrow {
  margin: 0 0 12px;
  font-size: 13px;
  font-weight: 650;
  line-height: 1.5;
  letter-spacing: .05em;
}

.contact-pilot.tao-contact-editorial h1 {
  margin: 8px 0 24px;
  font-size: clamp(40px, 5vw, 64px);
  font-weight: 650;
  line-height: 1.1;
  letter-spacing: -.035em;
  text-wrap: balance;
}

.contact-pilot.tao-contact-editorial .contact-intro > h1 + p {
  margin: 0;
  font-size: clamp(19px, 1.8vw, 23px);
  line-height: 1.5;
  color: var(--tao-contact-copy);
}

.contact-pilot.tao-contact-editorial h2 {
  margin: 0 0 20px;
  font-size: clamp(24px, 2.3vw, 30px);
  font-weight: 620;
  line-height: 1.22;
  letter-spacing: -.02em;
}

.contact-pilot.tao-contact-editorial p,
.contact-pilot.tao-contact-editorial li {
  font-size: clamp(16px, 1.2vw, 17px);
  line-height: 1.7;
  letter-spacing: normal;
  color: var(--tao-contact-copy);
}

.contact-pilot.tao-contact-editorial .contact-grid {
  width: min(100%, 1080px);
  margin: 0 auto clamp(28px, 4vw, 48px);
  gap: clamp(16px, 2vw, 28px);
}

.contact-pilot.tao-contact-editorial .contact-card {
  padding: clamp(24px, 3vw, 40px);
  border-color: #e5e5ea;
  border-radius: 20px;
  background: #fafafa;
}

.contact-pilot.tao-contact-editorial .contact-address-line {
  font-size: clamp(19px, 2vw, 24px);
  line-height: 1.4;
  letter-spacing: -.018em;
  color: var(--tao-contact-ink);
}

.contact-pilot.tao-contact-editorial .contact-action {
  min-height: 44px;
  padding: 12px 22px;
  border-radius: 999px;
  background: var(--tao-color-accent);
  color: #fff;
  font-size: 15px;
  line-height: 1.4;
  font-weight: 600;
  text-decoration: none;
}

.contact-pilot.tao-contact-editorial .contact-action:hover {
  background: var(--tao-color-accent-dark);
}

.contact-pilot.tao-contact-editorial .contact-notice {
  max-width: 1080px;
  margin: 36px auto 0;
  padding: 18px 20px;
  border: 0;
  border-left: 2px solid var(--tao-color-accent);
  border-radius: 0 8px 8px 0;
  background: #f5f5f7;
}

.contact-pilot.tao-contact-editorial nav[aria-label="Contact topics"] {
  width: min(100%, 1080px);
  margin: 0 auto 40px;
}

.contact-pilot.tao-contact-editorial nav[aria-label="Contact topics"] ul {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.contact-pilot.tao-contact-editorial nav[aria-label="Contact topics"] a {
  min-height: 44px;
  padding: 11px 16px;
  border: 1px solid #d2d2d7;
  border-radius: 999px;
  background: #f5f5f7;
  color: var(--tao-contact-ink);
  font-size: 14px;
  line-height: 1.4;
  text-decoration: none;
}

@media (max-width: 640px) {
  .contact-pilot.tao-contact-editorial {
    padding-top: 40px;
    padding-bottom: 64px;
  }

  .contact-pilot.tao-contact-editorial h1 {
    font-size: clamp(36px, 9vw, 44px);
  }

  .contact-pilot.tao-contact-editorial .contact-card {
    padding: 22px;
  }

  .contact-pilot.tao-contact-editorial .contact-grid {
    grid-template-columns: minmax(0, 1fr);
  }
}
