:root {
  --paper:#f6f7f0;
  --ink:#24352b;
  --forest:#193c31;
  --green:#416c48;
  --muted:#677265;
  --line:#dce1d5;
  --lime:#d3e5bd;
  --white:#fffefa;
  --text-small:.875rem;
  --text-ui:1rem;
  --text-body:1.125rem;
  --text-title:1.5rem;
  --text-section:clamp(2.25rem,4vw,3rem);
  --text-hero:clamp(3.5rem,5.8vw,5rem);
  --mono:"SFMono-Regular",Consolas,"Liberation Mono",monospace;
  --serif:Georgia,"Times New Roman",serif;
  --sans:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  color-scheme:light;
  font-family:var(--sans);
  color:var(--ink);
  background:var(--paper);
  font-synthesis:none;
}

* {
  box-sizing:border-box;
}

html {
  scroll-behavior:smooth;
  scroll-padding-top:32px;
}

body {
  margin:0;
  font-size:var(--text-ui);
  line-height:1.5;
  -webkit-font-smoothing:antialiased;
}

button,a {
  -webkit-tap-highlight-color:transparent;
}

a {
  color:inherit;
  text-decoration:none;
}

button {
  font:inherit;
}

button,a {
  touch-action:manipulation;
}

button {
  cursor:pointer;
}

button:focus-visible,a:focus-visible,[tabindex]:focus-visible {
  outline:3px solid #649665;
  outline-offset:5px;
}

p,h1,h2,h3 {
  margin:0;
}

svg {
  display:block;
}

::selection {
  background:var(--lime);
  color:var(--forest);
}

[hidden] {
  display:none!important;
}

.site-shell {
  max-width:1440px;
  margin:0 auto;
  padding:0 64px;
}

.sr-only {
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;
  border:0;
}

.skip-link {
  position:fixed;
  z-index:20;
  left:16px;
  top:-80px;
  background:var(--forest);
  color:white;
  padding:14px 22px;
}

.skip-link:focus {
  top:12px;
}

.site-header {
  height:88px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:34px;
  border-bottom:1px solid var(--line);
}

.wordmark {
  display:inline-flex;
  align-items:center;
  gap:10px;
  font-size:var(--text-title);
  font-weight:600;
  letter-spacing:-1.1px;
  white-space:nowrap;
}

.brand-mark {
  background:var(--forest);
  width:30px;
  height:31px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  color:var(--paper);
  font-size:29px;
  line-height:1;
  font-family:var(--serif);
  padding-bottom:6px;
  letter-spacing:-3px;
  border-radius:2px;
}

.brand-mark span {
  color:var(--lime);
  font-size:var(--text-title);
  padding-right:3px;
}

.brand-animation {
  position:relative;
  display:inline-flex;
  flex:none;
  isolation:isolate;
}

.brand-particles {
  position:absolute;
  left:-12px;
  top:-12px;
  pointer-events:none;
}

@media(prefers-reduced-motion:reduce) {
  .brand-animation>.brand-mark {
    opacity:1!important;
  }
  .brand-particles {
    display:none;
  }
}

.site-header nav {
  display:flex;
  align-items:center;
  gap:34px;
  margin-left:auto;
}

.nav-link {
  font-size:var(--text-ui);
  color:#53614f;
  transition:color .18s;
}

.nav-link:hover {
  color:var(--forest);
  text-decoration:underline;
  text-underline-offset:5px;
}

.nav-link[aria-current="page"] {
  color:var(--forest);
  text-decoration:underline;
  text-decoration-color:#829c72;
  text-underline-offset:7px;
}

.button {
  display:inline-flex;
  justify-content:center;
  align-items:center;
  gap:30px;
  padding:17px 23px;
  min-height:54px;
  font-size:var(--text-ui);
  font-weight:500;
  border:1px solid transparent;
  border-radius:3px;
  transition:background .18s,transform .18s,color .18s;
}

.button span {
  font-size:var(--text-title);
  font-weight:400;
  line-height:1;
}

.button:hover {
  transform:translateY(-2px);
}

.button-primary {
  background:var(--forest);
  color:var(--white);
}

.button-primary:hover {
  background:#2b5542;
}

.button-small {
  font-size:var(--text-ui);
  min-height:46px;
  padding:10px 16px;
  gap:24px;
}

.button-outline {
  border-color:#b9c4b2;
}

.button-outline:hover {
  background:#e9efdf;
}

.eyebrow {
  font-family:var(--mono);
  text-transform:uppercase;
  font-size:var(--text-small);
  letter-spacing:.04em;
  line-height:1.7;
  display:flex;
  gap:10px;
  align-items:center;
  font-weight:400;
}

.status-dot {
  height:6px;
  width:6px;
  border-radius:50%;
  background:#557d4c;
  display:inline-block;
  flex-shrink:0;
  box-shadow:0 0 0 3px #e5eddb;
}

.hero {
  display:grid;
  grid-template-columns:1fr 1.03fr;
  gap:48px;
  align-items:center;
  padding:32px 0 40px;
}

.hero-copy {
  padding-bottom:4px;
}

.hero h1 {
  font-family:var(--serif);
  font-size:var(--text-hero);
  font-weight:400;
  letter-spacing:-.045em;
  line-height:1.02;
  margin-top:20px;
}

.hero h1 em {
  font-weight:400;
  color:var(--green);
}

.hero-description {
  max-width:470px;
  font-size:var(--text-body);
  line-height:1.65;
  color:#4e5c4d;
  margin:22px 0 24px;
}

.report-scene {
  position:relative;
  min-width:0;
  padding:10px;
  isolation:isolate;
  background-image:linear-gradient(#e2e7d980 1px,transparent 1px),linear-gradient(90deg,#e2e7d980 1px,transparent 1px);
  background-size:42px 42px;
  background-position:center;
  border:1px solid #e3e8dc80;
  border-radius:4px;
}

.report-backdrop {
  position:absolute;
  z-index:-1;
  inset:38px 5px 31px 27px;
  background:#d7e5c8;
  border:1px solid #cbdcbb;
  border-radius:5px;
  transform:rotate(3deg);
}

.report-preview {
  position:relative;
  background:var(--white);
  border:1px solid #c9d2bf;
  border-radius:5px;
  box-shadow:0 12px 30px -24px #243b2999;
  overflow:hidden;
}

.draft-label {
  font-family:var(--mono);
  font-size:var(--text-small);
  border:1px solid #d4dbce;
  border-radius:3px;
  padding:4px 7px;
  color:#607055;
  margin-left:auto;
  white-space:nowrap;
}

.report-title {
  padding:16px 20px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  flex-wrap:wrap;
  gap:12px;
}

.micro-label {
  font-family:var(--mono);
  font-size:var(--text-small);
  letter-spacing:.02em;
  color:#5c6a56;
}

.report-title h2 {
  font-size:var(--text-title);
  font-family:var(--serif);
  font-weight:400;
  letter-spacing:-.5px;
}

.report-tabs {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  padding:0 22px;
  border-bottom:1px solid #e5e9df;
  gap:14px;
}

.report-tabs button {
  border:0;
  border-bottom:2px solid transparent;
  background:none;
  padding:10px 0;
  color:#5c6a56;
  font-family:var(--sans);
  font-size:var(--text-ui);
  text-align:left;
  white-space:nowrap;
}

.report-tabs button span {
  font-family:var(--sans);
  font-size:inherit;
  margin-left:0;
}

.report-tabs button[aria-selected=true] {
  border-bottom-color:var(--forest);
  color:var(--forest);
}

.report-tabs button:hover {
  color:var(--forest);
}

.report-panel {
  padding:16px 20px;
  min-height:0;
}

.report-summary {
  display:flex;
  justify-content:space-between;
  align-items:start;
  flex-wrap:wrap;
  margin-bottom:12px;
  gap:12px;
}

.report-summary .micro-label {
  display:block;
}

.report-summary strong {
  font-size:var(--text-title);
  font-weight:500;
  letter-spacing:-.6px;
  display:block;
  margin-top:5px;
  font-variant-numeric:tabular-nums;
}

.report-summary strong>span {
  color:#8b9484;
  font-weight:400;
}

.change-records {
  list-style:none;
  padding:0;
  margin:0;
}

.change-records li {
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:start;
  gap:6px 12px;
  padding:12px 0;
  border-bottom:1px solid #e8ecdf;
}

.change-records li>div {
  display:contents;
}

.change-records strong {
  display:block;
  font-size:var(--text-ui);
  font-weight:500;
  line-height:1.5;
  grid-column:1;
  grid-row:1;
}

.change-records p {
  font-size:var(--text-small);
  line-height:1.6;
  color:#5c6a56;
  grid-column:1/-1;
  grid-row:2;
}

.record-state {
  font-family:var(--sans);
  font-size:var(--text-small);
  line-height:1.8;
  color:#667b57;
  grid-column:2;
  grid-row:1;
}

.needs-review .record-state {
  color:#755922;
}

.report-finding {
  padding:8px 12px;
  margin-top:12px;
  background:#eef3e7;
  border-left:2px solid #8faa78;
  border-radius:2px;
  color:var(--forest);
}

.report-finding strong {
  font-size:var(--text-ui);
  font-weight:500;
}

.report-finding p {
  font-size:var(--text-small);
  line-height:1.65;
  color:#5c6a56;
  margin-top:6px;
}

.source-row {
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:start;
  gap:6px 12px;
  border-bottom:1px solid #e8ecdf;
  padding:12px 0;
}

.source-row>div {
  display:contents;
}

.source-row strong {
  display:block;
  font-size:var(--text-ui);
  font-weight:500;
  grid-column:1;
  grid-row:1;
}

.source-row div>span {
  display:block;
  font-size:var(--text-small);
  color:#5c6a56;
  grid-column:1/-1;
  grid-row:2;
}

.file-type {
  margin-left:auto;
  font-family:var(--mono);
  font-size:var(--text-small);
  border:1px solid #dfe6d5;
  padding:4px;
  color:#5c6a56;
  grid-column:2;
  grid-row:1;
}

.panel-footnote {
  font-size:var(--text-small);
  line-height:1.7;
  color:#5c6a56;
  margin-top:16px;
}

.report-summary .report-draft-title {
  font-size:var(--text-title);
  font-family:var(--serif);
  font-weight:400;
}

.report-line {
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:8px;
  border-bottom:1px solid #e8ecdf;
  padding:8px 0;
  font-size:var(--text-ui);
}

.document-status {
  font-size:var(--text-small);
  font-family:var(--sans);
  color:#667b57;
  white-space:nowrap;
}

.report-amount {
  font-variant-numeric:tabular-nums;
  white-space:nowrap;
}

.report-total {
  color:var(--forest);
  font-weight:600;
}

.pilot-section {
  background:var(--forest);
  color:var(--paper);
  border-radius:5px;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:100px;
  padding:58px 58px 54px;
}

.pilot-copy>.eyebrow {
  color:#a4bda0;
  font-size:var(--text-small);
}

.pilot-copy h2 {
  font-family:var(--serif);
  font-size:var(--text-section);
  letter-spacing:-1.9px;
  font-weight:400;
  line-height:1.1;
  margin:26px 0 23px;
}

.pilot-copy h2 em {
  color:var(--lime);
  font-weight:400;
}

.pilot-copy>p:not(.eyebrow) {
  font-size:var(--text-body);
  line-height:1.65;
  color:#d0ddc9;
  max-width:470px;
  margin-bottom:12px;
}

.pilot-scope {
  padding-top:6px;
}

.scope-row {
  display:flex;
  gap:21px;
  border-bottom:1px solid #3b5944;
  padding:26px 0;
}

.scope-row h3 {
  font-weight:500;
  font-size:var(--text-body);
  letter-spacing:-.2px;
}

.scope-row p {
  font-size:var(--text-body);
  color:#c3d2bf;
  margin-top:8px;
  line-height:1.6;
}

.scope-footer {
  font-family:var(--sans);
  font-size:var(--text-small);
  line-height:1.5;
  color:#c3d2bf;
  margin-top:14px;
  max-width:440px;
}

.contact-section {
  display:grid;
  grid-template-columns:1.1fr .9fr;
  gap:70px;
  align-items:center;
  padding:105px 0 96px;
}

.contact-section h2 {
  font-family:var(--serif);
  font-weight:400;
  font-size:var(--text-section);
  line-height:1.1;
  letter-spacing:-1.8px;
  margin-top:0;
}

.contact-section>div>p:last-child {
  font-size:var(--text-body);
  line-height:1.65;
  color:#4e5c4d;
  max-width:470px;
  margin-top:23px;
}

.contact-action {
  justify-self:end;
  max-width:350px;
}

.contact-button {
  min-width:236px;
  justify-content:space-between;
}

.founder-block {
  margin-bottom:22px;
}

.founder-name {
  font-size:var(--text-ui);
  font-weight:500;
}

.founder-bio {
  font-size:var(--text-ui);
  line-height:1.8;
  color:#6b7663;
  margin-top:7px;
}

.founder-profile {
  font-size:var(--text-ui);
  display:inline-block;
  margin-top:10px;
  text-decoration:underline;
  text-underline-offset:4px;
}

.button[aria-disabled=true] {
  opacity:.6;
  cursor:default;
}

.button[aria-disabled=true]:hover {
  transform:none;
}

.site-footer {
  border-top:1px solid var(--line);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  padding:30px 0 35px;
}

.site-footer .wordmark {
  font-size:var(--text-title);
}

.site-footer .brand-mark {
  width:30px;
  height:31px;
  font-size:29px;
}

.site-footer .brand-mark span {
  font-size:var(--text-title);
}

.site-footer>span {
  font-family:var(--sans);
  font-size:var(--text-small);
  color:#5c6a56;
}

@media(min-width:1440px) {
  .hero {
    gap:75px;
  }
  .report-scene {
    margin-left:10px;
    margin-right:10px;
  }
}

@media(max-width:1100px) {
  .site-shell {
    padding:0 40px;
  }
  .hero {
    gap:27px;
  }
  .hero h1 {
    letter-spacing:-3.7px;
  }
  .report-scene {
    padding-left:7px;
    padding-right:14px;
  }
  .report-tabs {
    gap:9px;
    padding:0 16px;
  }
  .report-panel {
    padding:19px 16px;
  }
  .report-title {
    padding-left:16px;
    padding-right:16px;
  }
  .pilot-section {
    gap:55px;
    padding:45px;
  }
}

@media(max-width:850px) {
  :root {
    --text-hero:clamp(4rem,10vw,5.5rem);
  }
  .site-shell {
    padding:0 30px;
  }
  .site-header {
    height:91px;
  }
  .site-header nav {
    gap:25px;
  }
  .hero {
    grid-template-columns:1fr;
    gap:44px;
    padding:56px 0 49px;
  }
  .hero-copy {
    max-width:620px;
  }
  .hero h1 {
    line-height:1;
    letter-spacing:-4.5px;
  }
  .hero h1 br:nth-of-type(2) {
    display:none;
  }
  .hero-description {
    max-width:430px;
  }
  .report-scene {
    width:100%;
    max-width:540px;
    justify-self:center;
    padding-left:24px;
    padding-right:31px;
    margin-bottom:7px;
  }
  .report-panel {
    padding:22px;
  }
  .report-tabs {
    padding:0 22px;
    gap:20px;
  }
  .report-title {
    padding:22px;
  }
  .pilot-section {
    grid-template-columns:1fr;
    gap:33px;
    padding:38px;
  }
  .pilot-copy>p:not(.eyebrow) {
    max-width:500px;
  }
  .scope-row {
    padding:21px 0;
  }
  .contact-section {
    gap:35px;
    padding:75px 0;
  }
  .contact-button {
    min-width:205px;
  }
  .site-footer {
    flex-wrap:wrap;
  }
}

@media(max-width:540px) {
  :root {
    --text-hero:clamp(3.25rem,16vw,4rem);
    --text-section:2.25rem;
  }
  .site-shell {
    padding:0 22px;
  }
  .site-header {
    height:83px;
  }
  .site-header .nav-link {
    display:none;
  }
  .site-header .button-small {
    padding:9px 12px;
    min-height:46px;
    gap:12px;
  }
  .hero {
    padding-top:43px;
    gap:37px;
  }
  .hero .eyebrow {
    letter-spacing:.7px;
  }
  .hero h1 {
    letter-spacing:-3.5px;
    margin-top:24px;
    line-height:1.02;
  }
  .hero h1 br:nth-of-type(2) {
    display:initial;
  }
  .hero-description {
    line-height:1.65;
    margin:24px 0;
  }
  .button-primary {
    padding:16px 20px;
    min-height:53px;
  }
  .report-scene {
    padding:12px 6px;
  }
  .report-backdrop {
    inset:32px 1px 28px 19px;
    transform:none;
  }
  .report-title {
    padding:17px 15px;
  }
  .report-tabs {
    padding:0 15px;
    gap:7px;
  }
  .report-tabs button {
    padding:10px 0;
  }
  .report-panel {
    padding:19px 15px;
  }
  .pilot-section {
    padding:31px 25px;
    gap:31px;
  }
  .pilot-copy>.eyebrow {
    letter-spacing:.7px;
  }
  .pilot-copy h2 {
    margin:24px 0 20px;
    letter-spacing:-1.6px;
  }
  .scope-row {
    padding:21px 0;
    gap:15px;
  }
  .contact-section {
    grid-template-columns:1fr;
    padding:62px 0;
    gap:27px;
  }
  .contact-section h2 {
    margin-top:0;
  }
  .contact-section>div>p:last-child {
    margin-top:19px;
  }
  .contact-action {
    justify-self:start;
    max-width:none;
    width:100%;
  }
  .contact-button {
    width:100%;
  }
  .site-footer {
    padding:25px 0 29px;
    gap:22px;
  }
}

.contract-economics {--text-hero:clamp(3rem,4.5vw,4rem);}
.contract-economics .hero h1 br {display:initial;}
.quote-preview .report-title {flex-wrap:nowrap;align-items:flex-start;padding:16px 20px;}
.quote-preview .report-title h2 {flex:1;min-width:0;line-height:1.2;}
.revision-source {display:flex;flex-wrap:wrap;gap:2px 12px;margin:0 20px;padding:10px 0;font-size:var(--text-small);color:#5c6a56;}
.revision-source strong {font-weight:500;color:var(--forest);}
.quote-preview .offer-terms {padding:4px 0;}
.quote-preview thead th:last-child .offer-terms {background:#edf3e6;border-radius:3px;}
.quote-comparison {margin:0 20px;}
.financing-table {width:100%;border-collapse:collapse;table-layout:fixed;font-size:var(--text-ui);font-variant-numeric:tabular-nums;}
.financing-table caption {text-align:left;color:#5c6a56;font-size:var(--text-small);padding-bottom:12px;}
.financing-table th,.financing-table td {padding:10px 6px;border-bottom:1px solid #e8ecdf;font-weight:400;vertical-align:middle;}
.financing-table th:first-child,.financing-table td:first-child {width:40%;padding-left:0;}
.financing-table th {text-align:left;color:var(--forest);}
.financing-table thead th {text-align:right;font-weight:500;}
.financing-table .offer-terms {display:block;margin-top:4px;font-size:var(--text-small);font-weight:400;color:#5c6a56;}
.financing-table td {text-align:right;white-space:nowrap;color:var(--forest);}
.financing-table tr>:last-child {padding-right:0;}
.financing-table .cash-outcome td {padding-top:14px;padding-bottom:14px;}
.cash-outcome strong {font-family:var(--serif);font-size:var(--text-section);line-height:1.1;font-weight:400;letter-spacing:-1px;}
.cash-share {display:block;margin-top:6px;font-size:var(--text-small);line-height:1.4;white-space:normal;}
.financing-table .cash-negative {color:#875438;background:#f8f0e7;}
.financing-table .cash-positive {color:var(--forest);background:#edf3e6;}
.quote-footnotes {margin:14px 20px;font-size:var(--text-small);color:#5c6a56;}
.quote-footnotes span {display:block;}
.quote-footnotes span+span {margin-top:4px;}
.quote-example-link {display:flex;align-items:center;gap:10px;min-height:48px;padding:12px 20px;border-top:1px solid #e8ecdf;font-size:var(--text-ui);color:var(--forest);}
.quote-example-link:hover {background:#f1f4e9;}
.quote-example-link:focus-visible {outline-offset:-4px;}

.contract-detail {margin-top:40px;padding:52px 0 56px;border-top:1px solid var(--line);scroll-margin-top:24px;}
.contract-detail:focus {outline:none;}
.contract-detail h2 {margin:0;font-family:var(--serif);font-size:var(--text-section);font-weight:400;letter-spacing:-.035em;line-height:1.1;}
.contract-detail-intro {max-width:800px;margin:16px 0 32px;font-size:var(--text-body);line-height:1.65;color:#4e5c4d;}
.contract-detail-grid {display:grid;grid-template-columns:minmax(0,1.65fr) minmax(220px,1fr);gap:40px;align-items:start;}
.contract-detail-results {min-width:0;}
.contract-detail-results .cash-outcome strong {font-size:var(--text-title);letter-spacing:-.5px;}
.contract-detail-results .quote-footnotes {margin:12px 0 28px;}
.contract-inputs {padding:22px 24px;background:#edf1e7;border-radius:3px;}
.contract-inputs h3 {font-size:var(--text-title);font-family:var(--serif);font-weight:400;color:var(--forest);}
.contract-inputs dl {margin:20px 0 0;}
.contract-inputs dl>div+div {margin-top:18px;}
.contract-inputs dt {font-size:var(--text-small);color:#5c6a56;}
.contract-inputs dd {margin:4px 0 0;font-size:var(--text-ui);color:var(--forest);}
.input-source {display:block;margin-top:4px;font-size:var(--text-small);color:#5c6a56;}
.quote-timeline {display:grid;gap:14px;font-size:var(--text-small);color:#5c6a56;}
.quote-timeline h3 {margin:0 0 2px;font-size:var(--text-ui);font-weight:500;color:var(--forest);}
.timeline-row {display:grid;grid-template-columns:1fr auto;gap:6px 12px;}
.timeline-track {grid-column:1/-1;width:100%;height:8px;background:#e8ecdf;border-radius:4px;overflow:hidden;}
.timeline-contract {fill:var(--green);}
.timeline-loan {fill:#a18b64;}

.calculation-notes {margin-top:28px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);color:#5c6a56;}
.calculation-notes summary {cursor:pointer;min-height:48px;padding:12px 0;font-size:var(--text-ui);color:var(--forest);}
.calculation-notes summary:focus-visible {outline:3px solid #649665;outline-offset:3px;}
.proposal-sources {padding:16px 0 24px;border-bottom:1px solid var(--line);}
.proposal-sources h3 {font-size:var(--text-ui);font-weight:500;color:var(--forest);margin-bottom:16px;}
.proposal-source-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;}
.proposal-excerpt {border-left:2px solid #b5c6a7;padding-left:16px;}
.proposal-excerpt h4 {margin:0 0 10px;font-size:var(--text-small);font-weight:400;}
.proposal-excerpt blockquote {margin:0;font-size:var(--text-ui);line-height:1.65;color:var(--forest);}
.proposal-excerpt mark {background:transparent;color:inherit;}
.proposal-excerpt:last-child mark {background:#dfeacd;}
.calculation-notes-grid {display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:36px;align-items:start;padding:16px 0;}
.quote-cash-table {width:100%;border-collapse:collapse;font-size:var(--text-ui);font-variant-numeric:tabular-nums;}
.quote-cash-table caption {text-align:left;color:var(--forest);font-weight:500;margin-bottom:12px;}
.quote-cash-table th,.quote-cash-table td {padding:12px 0;border-bottom:1px solid #e8ecdf;font-weight:400;}
.quote-cash-table th {text-align:left;padding-right:8px;}
.quote-cash-table th span {display:block;font-size:var(--text-small);margin-top:4px;}
.quote-cash-table thead th:not(:first-child) {text-align:right;padding-right:0;font-weight:500;}
.quote-cash-table td {text-align:right;padding-left:8px;white-space:nowrap;}
.calculation-method {font-size:var(--text-ui);line-height:1.65;}
.calculation-method p+p {margin-top:12px;}
.calculation-method strong {font-weight:500;color:var(--forest);}
.calculation-basis {margin:4px 0 20px;max-width:950px;font-size:var(--text-small);line-height:1.65;}

@media(min-width:851px) {
  .contract-economics .hero {grid-template-columns:.9fr 1.1fr;gap:40px;align-items:center;}
}
@media(max-width:850px) {
  .contract-detail-grid {gap:28px;}
  .contract-inputs {padding:20px;}
  .calculation-notes-grid {grid-template-columns:1fr;gap:24px;}
  .proposal-source-grid {grid-template-columns:1fr;}
}
@media(max-width:700px) {
  .contract-detail {padding:36px 0 40px;}
  .contract-detail-grid {grid-template-columns:1fr;gap:28px;}
  .contract-inputs dl {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 20px;}
  .contract-inputs dl>div+div {margin:0;}
}
@media(max-width:540px) {
  .contract-economics {--text-hero:clamp(2.5rem,11vw,3rem);}
  .contract-economics .hero h1 {letter-spacing:-.045em;}
  .quote-scene {padding:0;background:none;border:0;}
  .quote-scene .report-backdrop {display:none;}
  .quote-preview .report-title {padding:16px;}
  .revision-source {margin:0 16px;}
  .quote-comparison {margin:0 16px;}
  .financing-table thead,.financing-table tbody {display:block;}
  .financing-table tr {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 12px;padding:12px 0;border-bottom:1px solid var(--line);}
  .financing-table thead td {display:none;}
  .financing-table tbody th {grid-column:1/-1;}
  .financing-table th,.financing-table td,.financing-table th:first-child {width:auto;border:0;padding:0;text-align:left;}
  .financing-table .cash-outcome td {padding:10px 8px;}
  .quote-footnotes {margin:12px 16px;}
  .quote-example-link {padding:12px 16px;}
  .quote-cash-table thead,.quote-cash-table tbody {display:block;}
  .quote-cash-table tr {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 12px;padding:12px 0;border-bottom:1px solid var(--line);}
  .quote-cash-table thead td:first-child {display:none;}
  .quote-cash-table tbody th {grid-column:1/-1;}
  .quote-cash-table th,.quote-cash-table td,.quote-cash-table thead th:not(:first-child) {border:0;padding:0;text-align:left;}
}
@media(max-width:380px) {
  .contract-inputs dl {grid-template-columns:1fr;}
}

.contract-services .hero {display:block;padding:48px 0 44px;}
.contract-services .hero h1 {max-width:1000px;}
.contract-services .hero-description {max-width:640px;}
.service-areas {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-bottom:48px;}
.service-areas article {min-width:0;padding:28px;background:var(--white);border:1px solid var(--line);border-radius:4px;}
.service-areas h2 {font-family:var(--serif);font-size:var(--text-title);font-weight:400;line-height:1.2;color:var(--forest);}
.service-areas p {margin-top:10px;font-size:var(--text-body);line-height:1.6;color:#4e5c4d;}
.contract-services .contract-detail>.eyebrow {margin-bottom:16px;}
.analysis-grid {display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:48px;margin-top:32px;}
.analysis-reading h3 {font-size:var(--text-title);font-family:var(--serif);font-weight:400;color:var(--forest);line-height:1.2;}
.analysis-reading p {margin:12px 0 24px;font-size:var(--text-body);line-height:1.65;color:#4e5c4d;}
.analysis-reading p:last-child {margin-bottom:0;}
.contract-services .calculation-notes {margin-top:12px;}
@media(max-width:1100px) {
  .service-areas article {padding:24px;}
}
@media(min-width:851px) and (max-width:1100px) {
  .service-areas h2 {min-height:2.4em;}
}
@media(max-width:850px) {
  .contract-services .hero {padding:32px 0 36px;}
  .service-areas {grid-template-columns:1fr;gap:16px;margin-bottom:36px;}
  .analysis-grid {grid-template-columns:1fr;gap:24px;}
}

@media(max-width:700px) {
  .site-header {
    display:grid;
    grid-template-columns:1fr auto;
    height:auto;
    padding:16px 0 8px;
    gap:8px 12px;
  }
  .site-header .wordmark {
    grid-column:1;
    grid-row:1;
  }
  .site-header>.button {
    grid-column:2;
    grid-row:1;
  }
  .site-header nav {
    grid-column:1/-1;
    grid-row:2;
    margin-left:0;
    gap:24px;
  }
  .site-header .nav-link {
    display:inline-flex;
    align-items:center;
    min-height:44px;
  }
}

@media(min-width:851px) and (max-height:740px) {
  .site-header {
    height:76px;
  }
  .hero {
    padding:16px 0 20px;
  }
  .report-panel {
    padding-block:10px;
  }
}

@media(prefers-reduced-motion:reduce) {
  html {
    scroll-behavior:auto;
  }
  * {
    transition:none!important;
  }
}

.not-found {
  padding:90px 0;
}

.not-found h1 {
  font-family:var(--serif);
  font-size:var(--text-section);
  font-weight:400;
  letter-spacing:-2px;
  line-height:1.05;
  margin:28px 0;
}

.not-found>p:not(.eyebrow) {
  font-size:var(--text-body);
  line-height:1.8;
  color:var(--muted);
  max-width:400px;
  margin-bottom:28px;
}
