/* Architectural studies: warm paper, graphite, and deliberately drawn copper. */
:root {
  --tech-ink: #33332f;
  --tech-muted: #746e63;
  --tech-line: #d2c9ba;
  --tech-copper: #9b7050;
  --tech-pencil: #8f897d;
  --tech-mono: 'SFMono-Regular', Consolas, 'Liberation Mono', monospace;
}

h1,
.hero h1,
.hero-copy h1,
.page-hero h1,
.art-intro h1,
.estimate-intro h1,
.quiet-hero h1 {
  font-family: var(--sans);
  font-size: clamp(64px, 5.4vw, 76px);
  font-weight: 500;
  line-height: 1.04;
  letter-spacing: -.055em;
  text-wrap: balance;
}

h1 em,
.hero-copy h1 em {
  font-family: inherit;
  font-size: inherit;
  font-weight: inherit;
  font-style: normal;
  color: #866347;
}

h2,
.closing h2,
.material-story h2 {
  font-family: var(--sans);
  font-size: clamp(42px, 4.05vw, 56px);
  font-weight: 500;
  line-height: 1.08;
  letter-spacing: -.045em;
  text-wrap: balance;
}

h2 em {
  font-family: var(--serif);
  font-size: 1.06em;
  font-weight: 400;
  font-style: italic;
  letter-spacing: -.015em;
  color: #88674e;
}

.hero {
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.07fr);
  min-height: 625px;
  gap: 48px;
  padding-top: 64px;
  padding-bottom: 60px;
}

.hero-copy { min-width: 0; }
.hero-copy h1 { margin-bottom: 25px; }
.hero .lede { max-width: 440px; font-size: 15px; line-height: 1.75; }
.hero .eyebrow { margin-bottom: 25px; }
.hero .fine { font-size: 12px; line-height: 1.7; }
.hero-actions { gap: 12px 22px; }
.hero-baseline { color: #746e63; letter-spacing: .08em; }

.artwork,
.hero-art,
.artwork .art-media,
.artwork .art-media img,
.artwork .drafting-drawing {
  transform: none !important;
}

.artwork {
  background: #f1ede4;
  border: 1px solid var(--tech-line);
  border-radius: 0;
  box-shadow: none;
}

.hero-art { width: 100%; margin: 0; box-shadow: none; }
.artwork .art-media { background: #f1ede4; }
.artwork .art-media img { animation: none !important; }
.hero-art .art-media img { aspect-ratio: 3 / 2; object-fit: cover; }
.drafting-drawing { display: block; width: 100%; height: auto; overflow: hidden; }
.artwork .drafting-drawing { filter: none; box-shadow: none; }

.art-topline,
.hero-art .art-topline,
.compact-art .art-topline {
  padding: 14px 18px;
  border-color: var(--tech-line);
  background: transparent;
  color: #746757;
  font-family: var(--tech-mono);
  font-size: 9px;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: .08em;
}

.art-edition { gap: 10px; color: #817461; }
.art-edition svg { width: 42px; stroke: #b2a28c; }

.artwork figcaption,
.compact-art figcaption {
  min-height: 58px;
  padding: 11px 18px;
  border-color: var(--tech-line);
  background: transparent;
  color: #716454;
  font-size: 11px;
  line-height: 1.5;
}

.artwork figcaption small { color: #837665; font-size: 10px; }
.artwork .motion-control { border-color: #c1b39e; border-radius: 0; color: #716454; }

.visual-tags { display: flex; flex-wrap: wrap; align-items: center; gap: 0; }
.visual-tags > span {
  display: inline-flex;
  align-items: center;
  padding: 0 11px;
  border: 0;
  border-radius: 0;
  font-family: var(--tech-mono);
  font-size: 9px;
  line-height: 1.35;
  letter-spacing: .04em;
}
.visual-tags > span:first-child { padding-left: 0; }
.visual-tags > span + span { border-left: 1px solid #c6b8a2; }
.visual-tags > span::before { content: none; }

.art-intro { gap: 48px; padding-top: 64px; padding-bottom: 40px; }
.art-intro .compact-art { max-width: 480px; }
.art-intro .lede { font-size: 15px; line-height: 1.75; }
.section-heading > p { font-size: 14px; line-height: 1.75; }
.section-copy { font-size: 15px; line-height: 1.8; }
.large-copy { font-size: 22px; letter-spacing: -.025em; }

.data-card h2,
.data-card h3,
.step h3,
.buyer-data-card h3,
.buyer-trust-grid h3,
.workflow-example h3 {
  font-family: var(--sans);
  font-size: 23px;
  font-weight: 500;
  line-height: 1.2;
  letter-spacing: -.03em;
}

.data-card h2,
.data-card h3 { margin-bottom: 15px; }
.data-card p,
.data-card .card-sub,
.step p,
.buyer-data-card p,
.buyer-trust-grid p,
.workflow-example li > p:last-child {
  font-size: 14px;
  line-height: 1.75;
}
.data-card .card-sub { color: #615d54; }
.data-card .index,
.step .index,
.buyer-data-card .index { font-family: var(--tech-mono); font-size: 10px; letter-spacing: .07em; }
.record-glyph { stroke: #9b8063; }
.record-glyph rect { fill: #f2ead980; }
.record-glyph circle { fill: #a47d59; }

.buyer-home { background: #eae3d7; border-color: #d2c9ba; }
.buyer-art-invite .art-media { border: 0; }
.buyer-art-invite p { font-size: 15px; line-height: 1.8; }
.buyer-data-grid { background: #f5f0e680; border-color: #cdbfaa; }
.buyer-data-card { border-color: #cdbfaa; padding: 28px; }
.buyer-home-bottom > p { font-size: 14px; }

.workflow-section { background: #ebe4d8; border-color: #d2c8b7; }
.workflow-specimen { background: #f4f0e7; border-color: #cbbca6; border-radius: 0; }
.specimen-toolbar { border-color: #d2c8b7; min-height: 76px; }
.workflow-switcher button { color: #756551; border-radius: 0; }
.workflow-switcher button[aria-pressed=true] { background: transparent; border-color: transparent; border-bottom-color: #8f6b47; color: #4c3d2e; }
.workflow-switcher button:hover { border-color: transparent; border-bottom-color: #b09a7c; }
.specimen-label,
.workflow-stage { color: #856a4c; font-family: var(--tech-mono); font-size: 9px; letter-spacing: .07em; }
.workflow-point { color: #725336; border-color: #bca17e; background: #f4f0e7; font-family: var(--tech-mono); border-radius: 0; }
.workflow-thread { stroke: #c7b390; }
.workflow-thread .signal-path { stroke: #9b7050; }
.specimen-bottom p { color: #786956; font-size: 12px; }

.industry-panorama { margin-top: 38px; margin-bottom: 40px; }
.industry-system {
  --motion-copper: #c09b77;
  margin: 0;
  overflow: hidden;
  border: 1px solid #48483f;
  border-radius: 0;
  background: #292a28;
  color: #f4f1e9;
}
.industry-system-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 24px;
  padding: 23px 28px;
  border-bottom: 1px solid #4c4b43;
}
.industry-system-header p { margin: 0; color: #ddd8ca; font-family: var(--tech-mono); font-size: 10px; line-height: 1.6; letter-spacing: .09em; }
.industry-system-header span { color: #b4aa98; font-family: var(--tech-mono); font-size: 10px; line-height: 1.5; }
.industry-system-header .eyebrow { margin-bottom: 12px; }
.industry-system-header h3 { color: #f4f1e9; font-family: var(--sans); font-size: 25px; font-weight: 500; line-height: 1.25; letter-spacing: -.03em; }
.industry-system-header .network-caption { max-width: 390px; font-family: var(--sans); font-size: 14px; line-height: 1.75; letter-spacing: 0; color: #c3bbae; }
.network-svg { display: block; width: 100%; height: auto; overflow: hidden; }
.network-mobile { display: none; }
.network-grid { fill: none; stroke: #79796a; stroke-width: .6; opacity: .3; }
.network-wire { fill: none; stroke: #a09683; stroke-width: 1.2; opacity: .6; }
.industry-system .signal-path { stroke: #c29169; stroke-width: 1.25; opacity: .85; }
.network-node { fill: #32332f; stroke: #787368; stroke-width: 1; }
.network-core { fill: #3b3832; stroke: #bdab8f; stroke-width: 1.2; }
.network-node:is(rect),
.network-node rect,
.network-core:is(rect),
.network-core rect { rx: 0; ry: 0; }
.network-node circle,
.network-core circle { fill: #bd9b77; stroke: none; }
.network-label { fill: #f3f2e9; stroke: none; font-family: var(--sans); font-size: 15px; font-weight: 500; letter-spacing: -.1px; }
.network-sub { fill: #bdb3a2; stroke: none; font-family: var(--tech-mono); font-size: 10px; font-weight: 400; letter-spacing: .4px; }
.industry-system figcaption {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 24px;
  padding: 17px 28px;
  border-top: 1px solid #4c4b43;
  color: #c3bbae;
  font-size: 12px;
  line-height: 1.7;
}
.industry-system figcaption p { margin: 0; max-width: 720px; }
.industry-system .motion-control { border-color: #877a64; border-radius: 0; color: #e1d8c6; background: transparent; flex: none; }
.industry-system .motion-control:hover { background: #423c31; }
.industry-system .motion-control:focus-visible { outline-color: #d7b18c; }
.industry-opportunities .industry-tile { border-radius: 0; font-size: 13px; line-height: 1.4; }
.industry-grid-note p { font-size: 13px; }

.closing { background: #e5dbca; padding-block: 80px; }
.closing::before,
.closing::after { border-color: #ad967438; }
.footer-signature p { font-family: var(--sans); font-size: clamp(27px, 2.7vw, 38px); font-weight: 500; letter-spacing: -.035em; line-height: 1.15; }
.footer-signature p em { font-family: var(--serif); font-size: 1.06em; }

@media (max-width: 1050px) {
  .hero { gap: 28px; min-height: 570px; padding-block: 48px; }
  .hero h1,
  .hero-copy h1 { font-size: 64px; }
  .hero-art .art-media img { aspect-ratio: 1.2; }
  .art-intro { gap: 30px; }
  .buyer-data-card { padding: 24px; }
  .workflow-example h3 { font-size: 21px; }
  .network-label { font-size: 16px; }
}

@media (max-width: 760px) {
  h1,
  .hero h1,
  .hero-copy h1,
  .page-hero h1,
  .art-intro h1,
  .estimate-intro h1,
  .quiet-hero h1 {
    font-size: clamp(44px, 11.9vw, 60px);
    line-height: 1.06;
    letter-spacing: -.05em;
  }
  h2,
  .closing h2,
  .material-story h2 { font-size: clamp(36px, 9.6vw, 46px); line-height: 1.1; }
  .hero { grid-template-columns: 1fr; min-height: 0; gap: 30px; padding-top: 38px; padding-bottom: 30px; }
  .hero-copy h1 { margin-bottom: 22px; }
  .hero .eyebrow { margin-bottom: 22px; }
  .hero .lede { margin-top: 22px; font-size: 15px; }
  .hero .fine { font-size: 11px; }
  .hero-art { max-width: 580px; margin-inline: auto; }
  .hero-art .art-media img { aspect-ratio: 3 / 2; }
  .art-topline,
  .hero-art .art-topline,
  .compact-art .art-topline { padding: 12px 14px; font-size: 8px; }
  .artwork figcaption,
  .compact-art figcaption { padding: 10px 13px; gap: 10px; }
  .visual-tags { gap: 0; }
  .visual-tags > span { padding-inline: 8px; font-size: 10px; }
  .art-intro { padding-top: 40px; padding-bottom: 30px; gap: 26px; }
  .art-intro .compact-art .art-media img { aspect-ratio: 3 / 2; }
  .section-heading > p { font-size: 14px; }
  .data-card h2,
  .data-card h3,
  .step h3,
  .buyer-data-card h3,
  .buyer-trust-grid h3,
  .workflow-example h3 { font-size: 22px; line-height: 1.23; }
  .buyer-data-card { padding: 22px 17px; }
  .buyer-data-card p,
  .buyer-trust-grid p { font-size: 14px; }
  .workflow-example li { border-color: #c6ae8c; }
  .workflow-point { background: #f4f0e7; }
  .industry-panorama { margin-top: 20px; margin-bottom: 28px; }
  .industry-system-header { padding: 17px 18px; gap: 10px; align-items: flex-start; }
  .industry-system-header p,
  .industry-system-header span { font-size: 9px; }
  .industry-system-header { flex-direction: column; gap: 12px; }
  .industry-system-header h3 { font-size: 23px; }
  .industry-system-header .network-caption { font-size: 14px; max-width: 480px; }
  .industry-system .network-svg { display: none; }
  .network-mobile { display: grid; justify-items: center; padding: 25px 18px; }
  .network-mobile-sources,
  .network-mobile-targets { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); width: 100%; gap: 8px; }
  .network-mobile-sources span,
  .network-mobile-targets span { display: flex; align-items: center; justify-content: center; min-height: 58px; padding: 11px 7px; border: 1px solid #777064; border-radius: 0; background: transparent; color: #e7e0d2; font-size: 14px; line-height: 1.4; text-align: center; overflow-wrap: anywhere; }
  .network-mobile-targets span { border-color: #776b5b; background: #3b3832; color: #eadccc; }
  .network-mobile-link { width: 100%; height: 42px; line-height: 0; color: #b09c7d; }
  .network-mobile-link svg { display: block; width: 100%; height: 42px; fill: none; stroke: #a48e6d; stroke-width: 1; }
  .network-mobile-core { display: flex; flex-direction: column; align-items: center; gap: 5px; min-width: 210px; max-width: 100%; padding: 18px 25px; background: #3b3832; border: 1px solid #bdab8f; border-radius: 0; color: #f4f1e9; text-align: center; }
  .network-mobile-core strong { font-size: 27px; font-weight: 600; letter-spacing: -.05em; line-height: 1.15; }
  .network-mobile-core span { color: #d3c5af; font-size: 14px; line-height: 1.5; }
  .industry-system figcaption { padding: 14px 18px; gap: 14px; font-size: 12px; align-items: flex-start; }
  .industry-opportunities .industry-tile { font-size: 12px; }
  .industry-grid-note p { font-size: 13px; }
  .closing { padding-block: 58px; }
  .footer-signature p { font-size: 28px; }
}

@media (max-width: 600px) {
  .industry-system figcaption { flex-direction: column; gap: 12px; }
  .industry-system figcaption .motion-control { align-self: flex-end; }
}

@media (max-width: 360px) {
  .hero-actions { gap: 8px; }
  .art-edition { gap: 7px; }
  .art-edition svg { width: 25px; }
  .visual-tags > span { padding-inline: 6px; font-size: 10px; }
  .industry-opportunities .industry-tile { font-size: 11px; }
  .network-mobile { padding-inline: 14px; }
  .network-mobile-sources,
  .network-mobile-targets { gap: 6px; }
  .network-mobile-sources span,
  .network-mobile-targets span { font-size: 13px; padding-inline: 5px; }
  .footer-signature p { font-size: 25px; }
}
