.nov-copy {margin-block:2rem;min-width:0}
.nov-copy h2,.nov-projects h2 {text-wrap:balance}
.nov-copy p,.nov-projects p {line-height:1.8}
.nov-copy a,.nov-projects a:not(.button),.nov-capacity a {text-decoration:underline;text-underline-offset:.2em}
.nov-projects {padding-block:clamp(2rem,5vw,4.5rem);background:#f5f8f8}
.nov-projects h2,.nov-capacity h2 {font-size:clamp(1.55rem,3.4vw,2.35rem);line-height:1.25;margin:0 0 1rem}
.nov-projects .intro {max-width:55em}
.nov-pair {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(1.2rem,3vw,2.5rem);margin:1.6rem 0}
.nov-pair article {min-width:0}
.nov-pair figure {margin:0}
.nov-pair img {width:100%;height:clamp(190px,22vw,280px);display:block;object-fit:cover}
.nov-pair figcaption {color:#45545a;font-size:.88rem;margin:.4em 0 1em}
.nov-pair h3,.nov-capacity h3 {margin:.9rem 0 .35rem;font-size:1.2rem}
.nov-pair p {margin:.4rem 0}
.nov-pair a,.nov-capacity a {display:inline-block;padding:.45rem 0}
.nov-contact {display:flex;align-items:center;flex-wrap:wrap;gap:.7rem;margin-top:1rem}
.nov-table {table-layout:fixed;width:100%;max-width:100%;border-collapse:collapse;margin:1rem 0 1.4rem;font:inherit}
.nov-table caption {text-align:left;padding:.5rem 0;font-weight:650}
.nov-table td,.nov-table th {white-space:normal;overflow-wrap:anywhere;border:1px solid #bdcacc;padding:.65em .85em;text-align:left;vertical-align:top;line-height:1.6}
.nov-table :first-child:is(td,th) {width:25%}
.nov-table thead th {color:#173a42;background:#e9f1f1}
.nov-table tbody th {color:#293c41;font-weight:600}
.nov-capacity {padding-block:2rem}
.nov-capacity .shell>div {max-width:56em}
.nov-capacity p {line-height:1.8;margin:.2rem 0 .8rem}
@media(max-width:650px){.nov-pair{grid-template-columns:1fr}.nov-pair img{height:auto;max-height:300px}.nov-table td,.nov-table th{padding:.5em}.nov-table :first-child:is(td,th){width:28%}}
@media print {.nov-table tr{break-inside:avoid}.nov-table{font-size:10pt}}
