:root {
  --paper:#f5f3ee;
  --white:#fff;
  --ink:#171a18;
  --graphite:#1f2a25;
  --teal:#168c7c;
  --amber:#d98e28;
  --mist:#dce7e2;
  --line:rgba(23,26,24,.16);
  --muted:#59605a;
  --mono:"IBM Plex Mono",ui-monospace,monospace;
  --sans:"Source Sans 3",sans-serif;
}

* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--ink); background:var(--paper); font-family:var(--sans); line-height:1.5; }
a { color:inherit; }
h1,h2,p { margin-top:0; }
.lead-shell { width:min(1180px,calc(100% - 4rem)); margin:0 auto; }

.lead-hero {
  padding:clamp(3.5rem,7vw,6.5rem) 0;
  color:var(--paper);
  background-color:var(--graphite);
  background-image:linear-gradient(rgba(245,243,238,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(245,243,238,.035) 1px,transparent 1px);
  background-size:42px 42px;
}
.lead-grid { display:grid; grid-template-columns:minmax(0,.8fr) minmax(480px,1.2fr); gap:clamp(2rem,5vw,4.5rem); align-items:start; }
.lead-copy { padding-top:1rem; }
.lead-eyebrow,.section-label,.panel-step { font:500 .68rem var(--mono); letter-spacing:.07em; text-transform:uppercase; }
.lead-eyebrow { display:flex; align-items:center; gap:.65rem; margin-bottom:1.35rem; color:#bce2da; }
.lead-eyebrow::before { width:22px; height:1px; content:""; background:var(--amber); }
h1 { max-width:760px; margin-bottom:1.4rem; font-size:clamp(3.25rem,5.8vw,5.9rem); line-height:.92; letter-spacing:-.025em; }
.lead-intro { max-width:660px; color:rgba(245,243,238,.74); font-size:1.15rem; }
.lead-proof { display:grid; grid-template-columns:repeat(3,1fr); max-width:620px; margin:2.4rem 0; border-top:1px solid rgba(245,243,238,.2); border-bottom:1px solid rgba(245,243,238,.2); }
.lead-proof span { min-width:0; padding:1rem 1rem 1rem 0; color:rgba(245,243,238,.66); font-size:.83rem; }
.lead-proof strong { display:block; color:var(--paper); font-size:1.45rem; line-height:1.1; }
.included .section-label { margin-bottom:.8rem; color:#bce2da; }
.included ul { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.65rem 1.5rem; margin:0; padding:0; list-style:none; }
.included li { position:relative; padding-left:1rem; color:rgba(245,243,238,.78); }
.included li::before { position:absolute; top:.68em; left:0; width:5px; height:5px; content:""; background:var(--teal); }

.download-panel { scroll-margin-top:90px; padding:clamp(1.4rem,3vw,2.25rem); color:var(--ink); background:var(--white); border-top:4px solid var(--teal); box-shadow:0 20px 60px rgba(7,15,11,.22); }
.download-panel .panel-step { margin-bottom:.8rem; color:var(--teal); }
.download-panel h2 { max-width:500px; margin-bottom:.65rem; font-size:clamp(2rem,3.4vw,3rem); line-height:1; }
.download-panel > p:not(.panel-step) { margin-bottom:1.5rem; color:var(--muted); }
.immediate-contact { display:flex; flex-wrap:wrap; gap:.55rem; margin:-.35rem 0 1.2rem; }
.contact-action { display:inline-flex; min-height:44px; align-items:center; justify-content:center; padding:.65rem .85rem; color:var(--teal); border:1px solid var(--teal); border-radius:4px; font:500 .67rem var(--mono); letter-spacing:.04em; text-decoration:none; text-transform:uppercase; }
.contact-action--primary { color:var(--paper); background:var(--teal); }
.contact-action:hover { color:var(--paper); background:#0f7568; }
form { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.75rem 1rem; }
.form-field { display:flex; min-width:0; flex-direction:column; gap:.4rem; }
.form-field--wide,.lead-button,.privacy-note { grid-column:1 / -1; }
label { margin-top:.15rem; color:var(--graphite); font:500 .66rem var(--mono); letter-spacing:.04em; text-transform:uppercase; }
label span { color:var(--muted); font-weight:400; }
input,select,textarea { width:100%; min-height:48px; padding:.75rem .85rem; color:var(--ink); background:var(--white); border:1px solid rgba(23,26,24,.28); border-radius:4px; font:400 1rem var(--sans); }
textarea { min-height:112px; resize:vertical; }
input:focus,select:focus,textarea:focus,.lead-button:focus-visible,.text-link:focus-visible,.contact-action:focus-visible { outline:3px solid rgba(22,140,124,.32); outline-offset:2px; border-color:var(--teal); }
.website-field { position:absolute; left:-10000px; width:1px; height:1px; overflow:hidden; }
.lead-button { min-height:50px; margin-top:.8rem; padding:.8rem 1rem; cursor:pointer; color:var(--paper); background:var(--teal); border:1px solid var(--teal); border-radius:4px; font:500 .7rem var(--mono); letter-spacing:.045em; text-transform:uppercase; }
.lead-button:hover { background:#0f7568; }
.lead-button:disabled { cursor:wait; opacity:.65; }
.privacy-note { margin:.55rem 0 0; color:var(--muted); font-size:.78rem; line-height:1.4; }
.form-status:not(:empty) { margin-top:1rem; padding:1rem; border-left:3px solid var(--teal); background:var(--mist); }
.form-status.is-error:not(:empty) { border-left-color:#a34733; background:#f4e4df; }
.form-status p { margin-bottom:.65rem; }
.form-status p:last-child { margin-bottom:0; }
.form-status a { display:inline-flex; min-height:44px; align-items:center; color:#0f7568; font-weight:700; }
.status-actions { display:flex; flex-wrap:wrap; gap:.35rem 1rem; }

.next-step { padding:clamp(3.5rem,6vw,5.5rem) 0; border-bottom:1px solid var(--line); }
.next-step-grid { display:grid; grid-template-columns:1.1fr .7fr; gap:clamp(2rem,7vw,7rem); align-items:end; }
.section-label { margin-bottom:.9rem; color:var(--teal); }
.next-step h2 { max-width:760px; margin-bottom:0; font-size:clamp(2.35rem,4.5vw,4.4rem); line-height:.96; }
.next-step-grid > div:last-child p { color:var(--muted); font-size:1.05rem; }
.text-link { display:inline-flex; min-height:44px; align-items:center; gap:.55rem; color:var(--teal); font:500 .74rem var(--mono); letter-spacing:.04em; text-transform:uppercase; text-underline-offset:5px; }

footer { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:1.5rem 2rem; color:rgba(245,243,238,.65); background:#151a17; }
footer p,footer a { margin:0; font:400 .64rem var(--mono); letter-spacing:.04em; text-decoration:none; text-transform:uppercase; }
.footer-logo { color:var(--paper); font-weight:500; }
.footer-logo span { color:var(--amber); }

@media (max-width:850px) {
  .lead-shell { width:min(100% - 2rem,620px); }
  .lead-hero { padding:2.8rem 0 1rem; }
  .lead-grid,.next-step-grid { grid-template-columns:1fr; gap:2rem; }
  .lead-copy { padding:0; }
  h1 { font-size:clamp(2.75rem,12.5vw,4.1rem); }
  .lead-intro { font-size:1rem; }
  .lead-proof { margin:1.7rem 0; }
  .lead-proof span { padding:.85rem .4rem .85rem 0; font-size:.72rem; }
  .lead-proof strong { font-size:1.2rem; }
  .included ul { grid-template-columns:1fr; gap:.45rem; }
  .download-panel { margin:0 -1rem; padding:1.4rem 1rem 1.55rem; box-shadow:none; }
  .download-panel h2 { font-size:2.35rem; }
  form { grid-template-columns:1fr; }
  .form-field--wide,.lead-button,.privacy-note { grid-column:auto; }
  .immediate-contact { display:grid; grid-template-columns:1fr 1fr; }
  .next-step { padding:3rem 0; }
  .next-step-grid { gap:1.4rem; }
  footer { align-items:flex-start; flex-direction:column; }
}

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