/* Contract-ready homepage additions — builds on styles.css */
.contract-home { overflow-x: hidden; }

.contract-hero {
  position: relative;
  padding: 96px 0 88px;
  overflow: hidden;
}
.contract-hero-glow {
  position: absolute;
  inset: -20% -10% auto -10%;
  height: 640px;
  pointer-events: none;
  background:
    radial-gradient(42% 45% at 26% 18%, rgba(255,49,49,.18), transparent 70%),
    radial-gradient(34% 40% at 78% 30%, rgba(99,102,241,.09), transparent 72%);
  filter: blur(6px);
}
.contract-hero-grid {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0,1.05fr) minmax(380px,.95fr);
  gap: 56px;
  align-items: center;
}
.contract-hero-copy h1 {
  max-width: 760px;
  margin: 18px 0 22px;
  font-size: clamp(42px, 6vw, 72px);
  line-height: 1.01;
  letter-spacing: -.035em;
}
.contract-hero-copy h1 .accent { color: var(--accent); }
.contract-lede {
  max-width: 690px;
  color: var(--text-dim);
  font-size: 18px;
  line-height: 1.65;
  margin: 0 0 28px;
}
.contract-hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-bottom: 30px;
}
.contract-proofline {
  display: flex;
  flex-wrap: wrap;
  gap: 12px 20px;
  color: var(--text-mute);
  font-size: 13px;
}
.contract-proofline span {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}
.contract-proofline span::before {
  content: "";
  width: 5px;
  height: 5px;
  border-radius: 999px;
  background: #5b5b63;
}

.system-map {
  border: 1px solid var(--border-strong);
  border-radius: 18px;
  background: linear-gradient(180deg, rgba(22,22,26,.96), rgba(11,11,14,.98));
  box-shadow: var(--shadow-card), 0 30px 80px -36px rgba(0,0,0,.75);
  overflow: hidden;
}
.system-map-head,
.system-map-foot {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 14px 16px;
  color: var(--text-dim);
  font-size: 12px;
  border-bottom: 1px solid var(--border);
}
.system-map-foot {
  border-bottom: 0;
  border-top: 1px solid var(--border);
}
.system-status-dot {
  width: 8px;
  height: 8px;
  border-radius: 999px;
  background: #35d07f;
  box-shadow: 0 0 16px rgba(53,208,127,.45);
}
.system-flow {
  padding: 16px;
  display: grid;
  gap: 9px;
}
.system-node {
  padding: 14px 15px;
  border: 1px solid var(--border);
  border-radius: 11px;
  background: rgba(255,255,255,.025);
}
.system-node b { display: block; font-size: 15px; margin-bottom: 3px; }
.system-node span { color: var(--text-mute); font-size: 12px; }
.system-arrow { text-align: center; color: var(--accent); line-height: 1; }

.contract-section {
  padding: 92px 0;
  border-top: 1px solid var(--border);
}
.contract-section-muted {
  background: linear-gradient(180deg, rgba(255,255,255,.018), rgba(255,255,255,.008));
}
.contract-section-head {
  max-width: 760px;
  margin-bottom: 40px;
}
.contract-section-head h2,
.local-offer-grid h2,
.contact-copy h2 {
  margin: 16px 0 14px;
  font-size: clamp(32px, 4vw, 48px);
  line-height: 1.08;
  letter-spacing: -.025em;
}
.contract-section-head p,
.local-offer-grid p,
.contact-copy > p {
  margin: 0;
  color: var(--text-dim);
  font-size: 16px;
  line-height: 1.7;
}

.solution-grid {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 16px;
}
.solution-card {
  position: relative;
  min-height: 330px;
  padding: 28px;
  border: 1px solid var(--border);
  border-radius: 16px;
  background: var(--bg-raised);
  box-shadow: 0 1px 0 rgba(255,255,255,.025) inset;
}
.solution-card-wide { grid-column: 1 / -1; min-height: 0; }
.solution-kicker {
  display: inline-flex;
  margin-bottom: 54px;
  color: var(--accent);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .12em;
}
.solution-card h3,
.workstream-card h3,
.engagement-grid h3 {
  margin: 0 0 12px;
  font-size: 23px;
  letter-spacing: -.02em;
}
.solution-card p,
.workstream-card p,
.engagement-grid p {
  color: var(--text-dim);
  line-height: 1.65;
}
.solution-card ul {
  margin: 22px 0 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 9px;
  color: var(--text-dim);
  font-size: 14px;
}
.solution-card li {
  position: relative;
  padding-left: 18px;
}
.solution-card li::before {
  content: "•";
  position: absolute;
  left: 0;
  color: var(--accent);
}
.solution-list-inline {
  grid-template-columns: repeat(2,minmax(0,1fr));
}

.buyer-grid,
.engagement-grid,
.workstream-grid {
  display: grid;
  grid-template-columns: repeat(4,minmax(0,1fr));
  gap: 14px;
}
.buyer-grid article,
.engagement-grid article,
.workstream-card {
  padding: 24px;
  border: 1px solid var(--border);
  border-radius: 14px;
  background: var(--bg-raised);
}
.buyer-grid b {
  display: block;
  margin-bottom: 8px;
  font-size: 16px;
}
.buyer-grid p {
  margin: 0;
  color: var(--text-dim);
  font-size: 14px;
  line-height: 1.6;
}

.delivery-steps {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 0;
  border: 1px solid var(--border);
  border-radius: 16px;
  overflow: hidden;
}
.delivery-steps li {
  display: grid;
  grid-template-columns: 80px 1fr;
  gap: 22px;
  padding: 24px 26px;
  background: var(--bg-raised);
  border-bottom: 1px solid var(--border);
}
.delivery-steps li:last-child { border-bottom: 0; }
.delivery-steps > li > span {
  color: var(--accent);
  font-weight: 700;
  letter-spacing: .08em;
  font-size: 13px;
}
.delivery-steps b { font-size: 18px; }
.delivery-steps p {
  margin: 6px 0 0;
  color: var(--text-dim);
  line-height: 1.6;
}

.workstream-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
.workstream-card { min-height: 230px; }
.workstream-tag {
  display: inline-block;
  margin-bottom: 36px;
  padding: 5px 9px;
  border: 1px solid var(--border);
  border-radius: 999px;
  color: var(--text-mute);
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: .1em;
}

.engagement-grid article { min-height: 210px; }

.local-offer-band {
  padding: 58px 0;
  border-top: 1px solid var(--border);
  border-bottom: 1px solid var(--border);
  background:
    radial-gradient(60% 160% at 0% 50%, rgba(255,49,49,.1), transparent 75%),
    var(--bg-raised);
}
.local-offer-grid {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 36px;
  align-items: center;
}
.local-offer-price {
  min-width: 260px;
  display: grid;
  justify-items: end;
  gap: 7px;
}
.local-offer-price > span { color: var(--text-mute); font-size: 12px; text-transform: uppercase; letter-spacing: .1em; }
.local-offer-price > b { font-size: 42px; letter-spacing: -.035em; }
.local-offer-price .btn { margin-top: 8px; }

.contact-grid {
  display: grid;
  grid-template-columns: .8fr 1.2fr;
  gap: 60px;
  align-items: start;
}
.contact-copy { position: sticky; top: 104px; }
.contact-notes {
  display: grid;
  gap: 12px;
  margin-top: 30px;
}
.contact-notes div {
  padding: 15px 16px;
  border: 1px solid var(--border);
  border-radius: 10px;
  background: var(--bg-raised);
}
.contact-notes b,
.contact-notes span { display: block; }
.contact-notes b { font-size: 14px; margin-bottom: 3px; }
.contact-notes span { color: var(--text-mute); font-size: 12px; }

.contact-panel {
  border: 1px solid var(--border-strong);
  border-radius: 18px;
  background: var(--bg-raised);
  padding: 28px;
  box-shadow: var(--shadow-card);
}
.contract-form-grid {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 18px;
}
.contract-form .field { display: flex; flex-direction: column; gap: 7px; }
.contract-form .field-full { grid-column: 1 / -1; }
.contract-form label {
  font-size: 13px;
  font-weight: 600;
  color: var(--text);
}
.contract-form .opt { color: var(--text-mute); font-weight: 400; }
.contract-form input,
.contract-form select,
.contract-form textarea {
  width: 100%;
  min-height: 46px;
  padding: 11px 12px;
  border: 1px solid var(--border-strong);
  border-radius: 9px;
  background: #0d0d10;
  color: var(--text);
  font: inherit;
  outline: none;
  transition: border-color .15s ease, box-shadow .15s ease;
}
.contract-form textarea { min-height: 150px; resize: vertical; }
.contract-form input:focus,
.contract-form select:focus,
.contract-form textarea:focus {
  border-color: rgba(255,87,87,.75);
  box-shadow: 0 0 0 3px rgba(255,49,49,.08);
}
.contract-form [aria-invalid="true"] { border-color: #ff5757; }
.contract-submit { margin-top: 22px; width: 100%; }
.form-note,
.form-legal {
  margin: 5px 0 0;
  color: var(--text-mute);
  font-size: 11px;
  line-height: 1.55;
}
.form-legal { margin-top: 12px; text-align: center; }
.form-legal a { text-decoration: underline; text-underline-offset: 2px; }
.honeypot {
  position: absolute !important;
  left: -9999px !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
}
.contract-success {
  text-align: center;
  padding: 36px 18px;
}
.contract-success .success-mark {
  display: grid;
  place-items: center;
  width: 46px;
  height: 46px;
  margin: 0 auto 18px;
  border-radius: 999px;
  color: #08130d;
  background: #4cdd8a;
  font-weight: 900;
}
.contract-success h3 { margin: 0 0 10px; font-size: 28px; }
.contract-success p { color: var(--text-dim); margin: 0 auto 22px; max-width: 530px; }

.contract-faq { max-width: 860px; }

[data-reveal] {
  opacity: 0;
  transform: translateY(16px);
  transition: opacity 520ms ease var(--reveal-delay,0ms), transform 520ms ease var(--reveal-delay,0ms);
}
[data-reveal].is-revealed {
  opacity: 1;
  transform: none;
}

@media (max-width: 980px) {
  .contract-hero-grid,
  .contact-grid {
    grid-template-columns: 1fr;
  }
  .contact-copy { position: static; }
  .buyer-grid,
  .engagement-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 720px) {
  .contract-hero { padding: 70px 0 64px; }
  .contract-hero-copy h1 { font-size: clamp(38px, 12vw, 58px); }
  .contract-section { padding: 70px 0; }
  .solution-grid,
  .workstream-grid,
  .buyer-grid,
  .engagement-grid,
  .contract-form-grid,
  .local-offer-grid {
    grid-template-columns: 1fr;
  }
  .solution-card-wide { grid-column: auto; }
  .solution-list-inline { grid-template-columns: 1fr; }
  .solution-card { min-height: 0; }
  .solution-kicker { margin-bottom: 30px; }
  .delivery-steps li {
    grid-template-columns: 48px 1fr;
    gap: 12px;
    padding: 20px;
  }
  .local-offer-price { justify-items: start; min-width: 0; }
  .contact-panel { padding: 20px; }
  .contract-proofline { display: grid; gap: 8px; }
}
@media (prefers-reduced-motion: reduce) {
  [data-reveal] { opacity: 1; transform: none; transition: none; }
}
