.cmp-page{
  font-variant-numeric:tabular-nums;
}
.cmp-page .cmp-hero{
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  align-items:start;
}
.cmp-hero>*{
  min-width:0;
}
.cmp-hero h1{
  font-size:clamp(2.5rem,3.5vw,3.2rem);
  line-height:var(--lh-heading);
}
.cmp-hero-lead{
  margin-top:var(--space-4);
}
.cmp-hero-note{
  margin-top:var(--space-3);
  color:#625B55;
}
.cmp-hero-follow{
  margin-top:var(--action-follow);
  margin-bottom:var(--space-4);
  color:#625B55;
  font-size:var(--text-sm);
}
.cmp-project{
  height:auto;
  min-width:0;
  padding:0;
  border-radius:var(--r-l);
  background:#E8ECFA;
  color:#23305E;
  --ink:#23305E;
  --ink-2:#23305E;
  --muted:#4F5A85;
  --line:#D3DAF1;
  text-align:left;
}
.cmp-project-head{
  padding:var(--space-5) var(--card-pad) var(--space-4);
}
.cmp-project-title{
  margin-top:var(--space-4);
  color:#23305E;
  font-family:var(--fh);
  font-size:var(--text-section);
  line-height:var(--lh-heading);
  letter-spacing:-.035em;
}
.cmp-project-rows{
  padding-inline:var(--card-pad);
}
.cmp-project-rows>div{
  display:grid;
  grid-template-columns:minmax(6rem,.45fr) minmax(0,1fr);
  gap:var(--space-3);
  align-items:start;
  padding-block:var(--space-3);
  border-top:1px solid #D3DAF1;
}
.cmp-project-rows dt,
.cmp-project-rows dd{
  min-width:0;
  overflow-wrap:break-word;
}
.cmp-project-rows dt{
  color:#23305E;
  font-weight:500;
}
.cmp-project-rows dd{
  color:#4F5A85;
}
.cmp-project-foot{
  display:flex;
  align-items:flex-start;
  gap:var(--space-3);
  margin:var(--space-4);
  padding:var(--card-pad);
  border-radius:var(--r-m);
  background:#FFFFFF;
  color:#23305E;
  --ink:#23305E;
  --ink-2:#23305E;
  --muted:#4F5A85;
  --line:#EBE6E1;
}
.cmp-project-foot svg{
  flex:0 0 20px;
  width:20px;
  height:20px;
  margin-top:var(--space-1);
}
.cmp-project-foot p{
  min-width:0;
  color:#23305E;
  font-size:var(--text-sm);
}
.cmp-section-head{
  margin-bottom:var(--space-6);
}
.cmp-section-head>p{
  max-width:56rem;
  margin-top:var(--space-3);
  color:#625B55;
}
.cmp-page .cmp-table{
  display:table;
  width:100%;
}
.cmp-table th,
.cmp-table td{
  text-align:left;
}
.cmp-table thead th:first-child{
  width:18%;
}
.cmp-table-note{
  margin-top:var(--space-4);
  color:#625B55;
  font-size:var(--text-sm);
  max-width:64rem;
}
.cmp-fit-band{
  background:#E2F1E9;
  color:#1F4A35;
  --ink:#1F4A35;
  --ink-2:#1F4A35;
  --muted:#456550;
  --line:var(--mint-line);
}
.cmp-fit-band .cmp-section-head h2{
  color:#1F4A35;
}
.cmp-fit-band .cmp-section-head>p{
  color:#456550;
}
.cmp-fit-grid{
  grid-template-columns:repeat(3,minmax(0,1fr));
}
.cmp-fit-grid>.c-card{
  background:#FFFFFF;
  color:#1E1A17;
  --ink:#1E1A17;
  --ink-2:#3B3531;
  --muted:#625B55;
  --line:#EBE6E1;
}
.cmp-spec-text{
  display:inline-block;
  margin-top:var(--space-2);
  font-family:var(--fm);
  font-size:var(--text-xs);
  font-weight:400;
}
.cmp-calculations{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:var(--space-4);
  align-items:start;
  margin-top:var(--space-5);
}
.cmp-calculations>.cmp-calc-card{
  height:auto;
  background:#F8F8FB;
  color:#1E1A17;
  --ink:#1E1A17;
  --ink-2:#3B3531;
  --muted:#625B55;
  --line:#EBE6E1;
}
.cmp-calc-card code{
  overflow-wrap:anywhere;
  white-space:normal;
}
.cmp-period-note{
  margin-top:var(--space-4);
}
.cmp-period-note>p{
  min-width:0;
}
.cmp-model-band{
  background:#F1E8F3;
  color:#4A2A52;
  --ink:#4A2A52;
  --ink-2:#4A2A52;
  --muted:#6F5577;
  --line:var(--lilac-line);
}
.cmp-model-band .cmp-section-head h2{
  color:#4A2A52;
}
.cmp-model-band .cmp-section-head>p,
.cmp-model-band>.container>.cmp-table-note{
  color:#6F5577;
}
.cmp-model-grid>.cmp-model-card{
  align-items:stretch;
  background:#FFFFFF;
  color:#1E1A17;
  --ink:#1E1A17;
  --ink-2:#3B3531;
  --muted:#625B55;
  --line:#EBE6E1;
}
.cmp-model-heading{
  min-width:0;
}
.cmp-model-heading>h3{
  margin-top:var(--space-3);
  color:#1E1A17;
}
.cmp-model-specs{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  width:100%;
  gap:var(--space-2);
}
.cmp-model-specs>div{
  min-width:0;
  overflow-wrap:break-word;
}
.cmp-model-price{
  font-size:var(--text-sm);
}
.cmp-client-summary{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  align-items:start;
  gap:var(--space-5);
  margin-top:var(--space-5);
}
.cmp-client-item{
  min-width:0;
}
.cmp-client-item>p{
  margin-top:var(--space-2);
  color:#625B55;
}
.cmp-page .c-closing-copy{
  min-width:0;
  text-align:left;
}
.cmp-page .c-closing-card>.c-actions{
  flex-direction:column;
  align-items:stretch;
  justify-content:center;
  gap:var(--action-gap);
}
.cmp-page>section:last-child{
  padding-bottom:var(--space-close);
}
@media(max-width:64rem){
  .cmp-page .cmp-hero{
    grid-template-columns:minmax(0,1fr);
  }
  .cmp-fit-grid{
    grid-template-columns:minmax(0,1fr);
  }
  .cmp-project{
    width:100%;
    height:auto;
  }
}
@media(max-width:42rem){
  .cmp-hero h1{
    font-size:var(--text-display);
  }
  .cmp-project-title{
    font-size:var(--text-section);
  }
  .cmp-project-head{
    padding-top:var(--card-pad);
  }
  .cmp-project-rows>div{
    grid-template-columns:minmax(0,1fr);
    gap:var(--space-2);
  }
  .cmp-calculations,
  .cmp-client-summary{
    grid-template-columns:minmax(0,1fr);
  }
  .cmp-page .c-closing-card>.c-actions{
    width:100%;
  }
}
