/* The four customer outcomes use open editorial rows and product illustrations. */
[id] { scroll-margin-top: 100px; }
button:focus-visible, a:focus-visible, input:focus-visible, [tabindex]:focus-visible { outline: 2px solid #249d77; outline-offset: 5px; }
.hero-content { width: min(1000px, 76vw); }
.hero h1 { font-size: clamp(58px, 7.2vw, 124px); line-height: .94; }
.hero-status { margin: 22px 0 0; color: var(--muted); font: 10px/1.6 Consolas, monospace; letter-spacing: .06em; }
.workflow { min-height: 240vh; }
.customer-value .belief-grid { grid-template-columns: 1.15fr .85fr; }
.customer-value h2 { font-size: clamp(46px, 5.6vw, 90px); }
.customer-value em { font-style: normal; color: #23775c; }
.value-row {
  max-width: var(--content); margin: 90px auto 0; padding-top: 75px;
  border-top: 1px solid var(--line-dark); display: grid;
  grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr);
  gap: clamp(40px, 6vw, 100px); align-items: center;
}
.value-number, .visual-eyebrow { margin: 0 0 30px; font: 10px/1.5 Consolas, monospace; letter-spacing: .13em; color: #466359; }
.value-copy h3 { margin: 0 0 26px; font-size: clamp(31px, 3.5vw, 55px); font-weight: 530; letter-spacing: -.05em; line-height: 1.08; }
.value-copy > p:not(.value-number) { max-width: 530px; font-size: 15px; line-height: 1.75; color: #526159; }
.value-copy > p.value-pain { color: #233b31; font-size: 17px; }
.value-receipt { margin-top: 28px; padding: 16px 0 16px 18px; border-left: 2px solid #2e9470; }
.value-receipt span { display: block; margin-bottom: 7px; color: #36614e; font: 10px Consolas, monospace; letter-spacing: .1em; }
.value-receipt strong { font-size: 17px; font-weight: 620; line-height: 1.4; }
.value-copy > p.availability { margin-top: 17px; font-size: 12px; color: #647169; }
.budget-illustration, .template-illustration, .deployment-illustration { padding: clamp(24px, 3.5vw, 52px); background: #e4e7de; }
.budget-input { display: grid; gap: 13px; color: #526159; font-size: 13px; }
.budget-input > span { width: fit-content; display: flex; align-items: center; gap: 9px; border-bottom: 1px solid #94a197; padding-bottom: 7px; color: var(--ink); font: 17px Consolas, monospace; }
.budget-input input { width: 150px; border: 0; border-radius: 0; color: var(--ink); background: transparent; font: 26px Consolas, monospace; }
.market-choice { display: flex; margin-top: 28px; border-bottom: 1px solid #afbbb1; }
.market-choice button { flex: 1; min-height: 44px; border: 0; border-bottom: 2px solid transparent; background: none; color: #647169; cursor: pointer; font-size: 12px; }
.market-choice button.active { color: #15543e; border-bottom-color: #23775c; font-weight: 650; }
#archive-total { display: block; padding-top: 25px; color: #0b3021; font-size: clamp(46px, 6.3vw, 92px); letter-spacing: -.065em; font-weight: 550; line-height: 1.1; overflow-wrap: anywhere; }
.budget-equation { margin: 12px 0 34px; color: #526159; font-size: 13px; }
.budget-timeline { display: flex; gap: 15px; align-items: center; color: #647169; font: 10px Consolas, monospace; }
.budget-timeline i { height: 16px; flex: 1; background: repeating-linear-gradient(90deg, #6a8b7a 0 1px, transparent 1px 10px); }
.visual-note { margin: 24px 0 0; color: #596b60; font-size: 11px; line-height: 1.7; }
.visual-note a { text-decoration: underline; text-underline-offset: 3px; }
.template-observation { font-size: clamp(20px, 2vw, 28px); line-height: 1.3; letter-spacing: -.03em; }
.template-rules { margin: 28px 0 0; }
.template-rules > div { display: grid; grid-template-columns: 76px 1fr; gap: 16px; padding: 15px 0; border-top: 1px solid var(--line-dark); }
.template-rules dt { color: #647169; font: 11px/1.6 Consolas, monospace; }
.template-rules dd { margin: 0; font-size: 13px; line-height: 1.6; }
.template-footer { padding-top: 18px; border-top: 1px solid var(--line-dark); }
.template-footer > span { display: block; margin-bottom: 8px; color: #647169; font: 10px Consolas, monospace; letter-spacing: .05em; }
.template-footer strong { color: #175a41; font-weight: 600; }
.template-footer small { margin-left: 5px; font: 10px Consolas, monospace; }
.trade-viewer { overflow: hidden; background: #0b1714; color: var(--paper); box-shadow: 0 18px 44px rgba(7,17,15,.13); }
.viewer-header { display: flex; justify-content: space-between; gap: 12px; padding: 18px; border-bottom: 1px solid var(--line); font: 9px Consolas, monospace; letter-spacing: .08em; }
.viewer-header strong { color: #8b9993; font-weight: 400; }
.viewer-choices { display: flex; padding: 0 10px; }
.viewer-choices button { flex: 1; min-height: 46px; border: 0; border-bottom: 2px solid transparent; background: none; color: #a3b2a9; font: 10px Consolas, monospace; cursor: pointer; transition: color .2s, background .2s; }
.viewer-choices button.active { color: var(--accent); border-color: var(--accent); background: rgba(141,255,215,.05); }
.viewer-chart { display: block; width: 100%; height: auto; background: #08110f; }
.viewer-grid path { fill: none; stroke: #1a2c24; stroke-width: 1; }
.viewer-chart text { font: 11px Consolas, monospace; }
.viewer-metrics { margin: 0; display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid var(--line); }
.viewer-metrics > div { padding: 15px 10px; }
.viewer-metrics dt { margin-bottom: 6px; color: #8b9993; font: 9px Consolas, monospace; text-transform: uppercase; }
.viewer-metrics dd { margin: 0; white-space: nowrap; color: #e8eee8; font: 11px Consolas, monospace; }
.viewer-metrics > div:last-child dd { color: var(--accent); }
.viewer-reason { margin: 0; padding: 15px 18px; border-top: 1px solid var(--line); color: #b7c8bd; font-size: 12px; line-height: 1.6; }
.viewer-note { padding: 0 18px 17px; margin: 0; color: #84998d; font-size: 10px; line-height: 1.6; }
.deployment-path { list-style: none; padding: 0; margin: 0 0 26px; }
.deployment-path li { display: grid; grid-template-columns: 36px 1fr; gap: 12px; padding-bottom: 27px; position: relative; }
.deployment-path li:not(:last-child)::after { content: ''; position: absolute; left: 13px; top: 29px; bottom: 5px; width: 1px; background: #aebfb1; }
.deployment-path li > span { width: 27px; height: 27px; display: grid; place-items: center; border: 1px solid #a0b5a7; border-radius: 50%; font: 10px Consolas, monospace; color: #27573f; }
.deployment-path strong { font-size: 16px; font-weight: 600; }
.deployment-path p { margin: 5px 0 0; color: #5a6a60; font-size: 12px; }
.deployment-outputs { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; border-top: 1px solid var(--line-dark); padding-top: 25px; }
.deployment-outputs span { font: 9px Consolas, monospace; color: #526c5d; letter-spacing: .05em; }
.deployment-outputs strong { display: block; margin-top: 10px; font-size: 19px; font-weight: 550; letter-spacing: -.035em; line-height: 1.2; }
.deployment-outputs p { font-size: 12px; line-height: 1.6; color: #5a6a60; }
.deployment-status { border-top: 1px solid var(--line-dark); margin-top: 22px; padding-top: 16px; font: 9px/1.6 Consolas, monospace; color: #5a6a60; letter-spacing: .05em; }
.comparison-scroll { max-width: var(--content); margin: 65px auto 0; overflow-x: auto; }
.diy-table { border-collapse: collapse; width: 100%; min-width: 660px; text-align: left; }
.diy-table th, .diy-table td { padding: 25px 28px 25px 0; border-bottom: 1px solid var(--line-dark); vertical-align: top; }
.diy-table thead th { color: #657168; font: 10px/1.6 Consolas, monospace; text-transform: uppercase; letter-spacing: .06em; }
.diy-table tbody th { width: 20%; font-size: 15px; font-weight: 600; }
.diy-table td { width: 40%; font-size: 14px; line-height: 1.7; color: #5e6c62; }
.diy-table td:last-child { color: #17452f; font-weight: 550; }
.research-demo-note { margin: 0; padding: 12px 16px; font: 10px/1.5 Consolas, monospace; color: #8b9993; border-top: 1px solid var(--line); }
@media (max-width: 920px) {
  .workflow { min-height: auto; }
  .hero-content { width: min(760px, 90vw); }
  .customer-value .belief-grid, .value-row { grid-template-columns: minmax(0, 1fr); }
  .value-row { gap: 32px; margin-top: 70px; padding-top: 55px; }
  .value-copy > p:not(.value-number) { max-width: 660px; }
  .value-copy h3 { font-size: clamp(34px, 5.3vw, 50px); }
  .budget-illustration, .template-illustration, .deployment-illustration, .trade-viewer { width: 100%; max-width: 700px; }
}
@media (max-width: 640px) {
  .hero { min-height: 100svh; padding-top: calc(var(--header-h) + 35px); padding-bottom: 110px; }
  .hero-content { width: 100%; }
  .hero-status { max-width: 270px; font-size: 9px; }
  .hero h1 { font-size: clamp(38px, 12.4vw, 78px); line-height: .96; }
  .value-number { margin-bottom: 22px; }
  .value-copy h3 { font-size: 33px; }
  .value-copy > p:not(.value-number) { font-size: 14px; }
  .value-copy > p.value-pain { font-size: 16px; }
  .value-copy > p.availability { font-size: 12px; }
  .viewer-header { padding: 14px 12px; font-size: 8px; }
  .viewer-header strong { max-width: 90px; text-align: right; }
  .viewer-choices button { font-size: 9px; }
  .viewer-metrics { grid-template-columns: repeat(2, 1fr); }
  .viewer-metrics > div { padding: 12px; }
  .template-rules > div { grid-template-columns: 60px 1fr; gap: 10px; }
  .deployment-outputs { gap: 15px; }
  .deployment-outputs strong { font-size: 17px; }
}
