:root{--paper:#f1efe9;--ink:#20231f;--muted:#666a64;--rule:#c3c3bb;--oxide:#435c4f;--wash:#dcddd6;--dark:#252a26;--light:#f6f4ee;--serif:"Iowan Old Style","Palatino Linotype",Georgia,serif;--sans:"Helvetica Neue",Arial,sans-serif;--mono:"Cascadia Mono","Courier New",monospace;--pad:clamp(1.25rem,4vw,4.5rem)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.55}svg{display:block;width:100%;height:auto}a{color:inherit}h1,h2,h3,p{margin-top:0}.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;top:0;left:1rem;padding:.8rem 1rem;background:var(--ink);color:white;z-index:20;transform:translateY(-120%)}.skip-link:focus{transform:none}.mono,.eyebrow,.section-tag{font-family:var(--mono);text-transform:uppercase;letter-spacing:.08em;font-size:.7rem}.site-header{height:76px;padding:0 var(--pad);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--rule);position:relative;z-index:10}.brand{display:flex;gap:1.25rem;text-decoration:none;font-weight:600}.brand-role{font-weight:400;color:var(--muted)}.site-nav{display:flex;gap:2rem}.site-nav a{text-decoration:none;font-size:.82rem}.site-nav a:hover,.site-nav a:focus-visible{color:var(--oxide)}.menu-toggle{display:none}.hero{min-height:calc(100vh - 76px);padding:2rem var(--pad) 1.25rem;display:grid;grid-template-columns:minmax(170px,.55fr) minmax(420px,1.25fr) minmax(400px,1fr);grid-template-rows:1fr auto;gap:2rem;border-bottom:1px solid var(--rule);overflow:hidden}.hero-index{padding-top:.5rem}.hero-copy{align-self:center;z-index:2}.hero h1{font-family:var(--serif);font-size:clamp(4.5rem,8.2vw,9rem);line-height:.79;font-weight:400;letter-spacing:-.045em;margin:.35rem 0 2rem;white-space:nowrap}.hero h1 em,.work-intro h2 em,.evidence-section h2 em,.contact-section h2 em{color:var(--oxide);font-weight:400}.hero-deck{max-width:580px;font-size:clamp(1rem,1.25vw,1.25rem);margin-left:22%;margin-bottom:2rem}.text-link{display:inline-block;margin-left:22%;font-size:.82rem;text-underline-offset:6px}.hero-drawing{align-self:center;margin-left:-8rem;color:var(--muted);opacity:.9}.linework path,.linework circle{fill:none;stroke:currentColor;stroke-width:1.3}.linework .heavy{stroke-width:4}.linework .dash{stroke-dasharray:7 7;opacity:.45}.linework .accent{stroke:var(--oxide);stroke-width:3}.linework .columns circle{fill:var(--ink)}.drawing-labels,.svg-copy{font:11px var(--mono);letter-spacing:.08em;fill:currentColor}.test-label{grid-column:1/-1;color:var(--muted);align-self:end}.work-intro{padding:8rem var(--pad);display:grid;grid-template-columns:.65fr 1.35fr .8fr;gap:3rem;border-bottom:1px solid var(--rule)}.work-intro h2,.evidence-section h2{font:400 clamp(3.5rem,6vw,6.5rem)/.92 var(--serif);letter-spacing:-.035em;margin:0}.work-intro>p{align-self:end;max-width:32rem}.project{padding:7rem var(--pad);border-bottom:1px solid var(--rule)}.project-heading{display:grid;grid-template-columns:.2fr 1.3fr .7fr;gap:2rem;align-items:start}.project-number{font-size:1rem}.project h2{font:400 clamp(4rem,8vw,8rem)/.85 var(--serif);letter-spacing:-.04em;margin:.5rem 0 4rem}.project-meta{margin:1rem 0 0}.project-meta div{display:grid;grid-template-columns:1fr 1.4fr;padding:.7rem 0;border-top:1px solid var(--rule)}.project-meta dt{font:10px var(--mono);text-transform:uppercase;letter-spacing:.08em}.project-meta dd{margin:0;font-size:.78rem}.evidence-figure{margin:0}.evidence-figure figcaption{font:10px/1.6 var(--mono);text-transform:uppercase;letter-spacing:.06em;display:flex;justify-content:space-between;gap:2rem;border-top:1px solid var(--ink);padding-top:.8rem;color:var(--muted)}.caption-title{color:var(--ink)}.riverline-program svg{background:#e3e1d7}.program-blocks rect{fill:none;stroke:var(--ink);stroke-width:1.4}.program-blocks rect:nth-child(3),.program-blocks rect:nth-child(5){fill:var(--wash)}.riverline-program .route{fill:none;stroke:var(--oxide);stroke-width:5}.riverline-sequence{display:grid;grid-template-columns:.65fr 1.35fr;gap:8vw;margin-top:7rem}.sequence-copy{max-width:24rem}.sequence-copy h3,.foundry-notes h3{font:400 2.6rem/1 var(--serif)}.sequence-frames{display:grid;grid-template-columns:repeat(4,1fr);min-height:300px}.sequence-frames div{position:relative;border:1px solid var(--rule);border-right:0;padding:1rem;display:flex;flex-direction:column;justify-content:space-between}.sequence-frames div:last-child{border-right:1px solid var(--rule)}.sequence-frames div:after{content:"";position:absolute;width:65%;height:55%;border:1px solid var(--ink);left:17%;top:24%}.sequence-frames div:nth-child(2):after{border-left:14px solid var(--oxide)}.sequence-frames div:nth-child(3):after{width:50%;left:25%}.sequence-frames div:nth-child(4):after{border-right:26px solid #c8c191}.sequence-frames i{font:10px var(--mono);font-style:normal}.sequence-frames span{font-size:.7rem}.project-foundry{background:var(--dark);color:var(--light)}.foundry-header{display:grid;grid-template-columns:.25fr .7fr 1.3fr .75fr;gap:2rem;align-items:start}.foundry-header h2{margin:0;color:var(--light)}.project-lede{margin-top:1rem}.foundry-composition{display:grid;grid-template-columns:1.5fr .55fr;gap:6vw}.foundry-main svg{background:#1d1f1b}.retained{fill:url(#hatch);stroke:#d9d5c9;stroke-width:2}.roof{fill:none;stroke:#d9d5c9;stroke-width:5}.new-work{fill:var(--oxide)}.new-line{fill:none;stroke:var(--oxide);stroke-width:5}.service{fill:#77786f}.project-foundry .svg-copy{fill:var(--light)}.project-foundry .evidence-figure figcaption{border-color:#8b8c83;color:#aaa99f}.project-foundry .caption-title{color:var(--light)}.foundry-notes{padding-top:6rem}.note-index{color:#aaa99f}.annotation-list{list-style:none;margin:3rem 0;padding:0}.annotation-list li{border-top:1px solid #5e6058;padding:1rem 0;font-size:.8rem}.annotation-list span{font-family:var(--mono);color:#aaa99f;margin-right:1.5rem}.project-foundry .project-meta div{border-color:#5e6058}.project-mesa{padding-bottom:9rem}.mesa-titleblock{display:grid;grid-template-columns:.35fr 1.3fr .6fr;gap:3rem;align-items:start}.mesa-titleblock h2{margin-top:0}.mesa-register{margin-left:12%;}.register-head,.unit-row{display:grid;grid-template-columns:70px minmax(300px,1.2fr) 1fr 130px;gap:2rem;align-items:center}.register-head{padding:.8rem 0;border-bottom:2px solid var(--ink)}.register-head span:first-child{grid-column:1/3}.unit-row{min-height:230px;border-bottom:1px solid var(--rule)}.unit-id{font-size:2rem}.unit-row svg{max-height:180px}.unit-row svg path{fill:none;stroke:var(--ink);stroke-width:2}.unit-row svg .accent{stroke:var(--oxide);stroke-width:5}.unit-row svg circle{fill:var(--wash)}.unit-row p{max-width:18rem;margin:0}.status{color:var(--muted)}.mesa-register figcaption{margin-top:1rem}.mesa-workflow{margin:6rem 0 0 12%;}.workflow-line{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--ink);border-bottom:1px solid var(--ink);padding:2rem 0;margin-top:1rem}.workflow-line span{font-family:var(--serif);font-size:1.45rem}.workflow-line i{font-style:normal;color:var(--oxide)}.evidence-section{padding:8rem var(--pad)}.evidence-section>header{display:grid;grid-template-columns:.55fr 1.2fr .65fr;gap:3rem;margin-bottom:6rem}.evidence-section>header p{align-self:end}.evidence-list{list-style:none;padding:0;margin:0 0 0 12%}.evidence-list li{display:grid;grid-template-columns:70px 1.2fr 1fr 130px;gap:2rem;align-items:center;border-top:1px solid var(--rule);padding:1.5rem 0}.evidence-list li:last-child{border-bottom:1px solid var(--rule)}.evidence-list h3,.evidence-list p{margin:0}.evidence-list h3{font:400 1.5rem var(--serif)}.ev-type{color:var(--oxide)}.process-section{background:#d5d2c6;padding:8rem var(--pad)}.process-intro{display:grid;grid-template-columns:.55fr 1.2fr .65fr;gap:3rem}.process-intro h2{font:400 clamp(4rem,7vw,7rem)/.9 var(--serif);margin:0}.process-steps{list-style:none;margin:7rem 0 6rem;padding:0;display:grid;grid-template-columns:repeat(5,1fr);border-top:1px solid var(--ink)}.process-steps li{min-height:270px;padding:1rem 1.4rem;border-right:1px solid var(--ink)}.process-steps li:first-child{border-left:1px solid var(--ink)}.process-steps h3{font:400 1.8rem var(--serif);margin-top:3rem}.process-steps p{font-size:.78rem}.step-num{color:var(--oxide)}.coord-boxes rect{fill:none;stroke:var(--ink);stroke-width:1.5}.coord-lines path{fill:none;stroke:var(--ink);stroke-width:1.5}.coord-lines .return{stroke:var(--oxide);stroke-dasharray:8 6}.centered{text-anchor:middle}.contact-section{min-height:82vh;padding:7rem var(--pad);display:grid;grid-template-columns:.45fr 1.55fr .7fr;grid-template-rows:auto 1fr auto;gap:2rem;background:var(--oxide);color:#f5eee2}.contact-section .eyebrow{grid-column:2}.contact-section h2{grid-column:2;align-self:center;font:400 clamp(5.5rem,10vw,11rem)/.78 var(--serif);letter-spacing:-.045em;margin:0}.contact-section h2 em{color:var(--dark)}.contact-note{grid-column:2;align-self:end;font-size:.8rem}.button{grid-column:3;grid-row:3;display:inline-flex;justify-content:center;align-items:center;border:1px solid currentColor;padding:1rem;text-decoration:none;font-size:.8rem}.disabled{opacity:.62;cursor:not-allowed}.site-footer{padding:1.5rem var(--pad);display:flex;justify-content:space-between;gap:2rem;align-items:center;font-size:.7rem}.site-footer a{text-underline-offset:4px}
:focus-visible{outline:3px solid #1d63d5;outline-offset:4px}@media(max-width:1000px){.hero{grid-template-columns:100px 1fr;grid-template-rows:auto auto auto}.hero-copy{padding:5rem 0}.hero-drawing{grid-column:2;margin:-8rem 0 0 18%;opacity:.45}.hero h1{font-size:clamp(4rem,11vw,7rem)}.work-intro,.evidence-section>header,.process-intro{grid-template-columns:1fr 2fr}.work-intro>p,.evidence-section>header>p,.process-intro>p{grid-column:2}.project-heading{grid-template-columns:100px 1fr}.project-meta{grid-column:2}.foundry-header{grid-template-columns:100px 1fr}.foundry-header h2{grid-column:2}.project-lede{grid-column:2}.foundry-composition{grid-template-columns:1fr}.foundry-notes{padding:2rem 0;display:grid;grid-template-columns:1fr 1fr;gap:2rem}.foundry-notes .annotation-list,.foundry-notes .project-meta{grid-column:auto}.mesa-titleblock{grid-template-columns:100px 1fr}.mesa-titleblock>p{grid-column:2}.mesa-register,.mesa-workflow{margin-left:0}.process-steps{grid-template-columns:repeat(3,1fr)}.process-steps li:nth-child(4){border-left:1px solid var(--ink)}.contact-section{grid-template-columns:100px 1fr}.contact-section .eyebrow,.contact-section h2,.contact-note{grid-column:2}.button{grid-column:2;grid-row:auto;width:max-content}}
@media(max-width:680px){:root{--pad:1.15rem}.site-header{height:64px;position:sticky;top:0;background:var(--paper)}.brand-role{display:none}.menu-toggle{display:block;border:0;background:none;font:12px var(--mono);text-transform:uppercase;padding:.75rem}.site-nav{display:none;position:absolute;top:64px;left:0;right:0;background:var(--paper);border-bottom:1px solid var(--ink);padding:1rem var(--pad);flex-direction:column;gap:0}.site-nav.open{display:flex}.site-nav a{padding:1rem 0;border-top:1px solid var(--rule)}.hero{min-height:auto;grid-template-columns:1fr;padding-top:1rem}.hero-index{display:none}.hero-copy{padding:4rem 0 1rem}.hero h1{font-size:clamp(3.4rem,17vw,5.4rem);white-space:normal}.hero-deck,.text-link{margin-left:0}.hero-drawing{grid-column:1;margin:-2rem -30% 0 5%;opacity:.5}.test-label{grid-column:1}.work-intro{padding-top:6rem;padding-bottom:6rem;grid-template-columns:1fr}.work-intro h2,.work-intro>p{grid-column:1}.work-intro h2,.evidence-section h2{font-size:3.5rem}.project{padding-top:5rem;padding-bottom:5rem}.project-heading,.foundry-header,.mesa-titleblock{grid-template-columns:1fr;gap:.75rem}.project-heading .project-meta,.foundry-header h2,.foundry-header .project-lede,.mesa-titleblock>p{grid-column:1}.project h2{font-size:3.8rem;margin-bottom:2rem}.project-meta div{grid-template-columns:1fr 1.6fr}.evidence-figure figcaption{display:block}.evidence-figure figcaption span{display:block;margin-bottom:.5rem}.riverline-program{margin-left:-1.15rem;margin-right:-1.15rem;overflow:hidden}.riverline-program svg{width:760px;max-width:none;transform:translateX(-70px)}.riverline-program figcaption{margin:0 1.15rem}.riverline-sequence{grid-template-columns:1fr;margin-top:5rem}.sequence-frames{grid-template-columns:1fr 1fr}.sequence-frames div{min-height:180px;border-right:1px solid var(--rule)}.foundry-composition{display:block}.foundry-main{margin:0 -1.15rem}.foundry-main figcaption{margin:0 1.15rem}.foundry-notes{display:block}.mesa-register{margin-top:2rem}.register-head{display:none}.unit-row{grid-template-columns:45px 1fr;gap:1rem;padding:2rem 0}.unit-row svg{grid-column:2}.unit-row p{grid-column:2}.unit-row .status{grid-column:2}.workflow-line{align-items:flex-start;flex-direction:column;gap:.6rem}.workflow-line i{transform:rotate(90deg)}.evidence-section,.process-section{padding-top:6rem;padding-bottom:6rem}.evidence-section>header,.process-intro{grid-template-columns:1fr}.evidence-section>header>p,.process-intro>p{grid-column:1}.evidence-list{margin:0}.evidence-list li{grid-template-columns:40px 1fr;padding:1.25rem 0;gap:.7rem}.evidence-list li p,.evidence-list li .ev-type{grid-column:2}.process-steps{grid-template-columns:1fr;margin-top:4rem}.process-steps li,.process-steps li:nth-child(4){min-height:auto;border-left:1px solid var(--ink);border-bottom:1px solid var(--ink)}.process-steps h3{margin:1.5rem 0 .5rem}.coordination-figure{overflow-x:auto}.coordination-figure svg{width:760px;max-width:none}.contact-section{min-height:75vh;grid-template-columns:1fr;display:flex;flex-direction:column}.contact-section h2{font-size:4.8rem;margin:auto 0}.site-footer{align-items:flex-start;flex-direction:column}.site-footer .mono{max-width:19rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
.fact-note{margin-top:2rem;padding-top:1rem;border-top:1px solid var(--rule);font-size:.78rem}.workflow-context{max-width:55rem}.contact-actions{grid-column:3;grid-row:3;display:flex;align-items:center;gap:1.5rem;flex-wrap:wrap}.contact-actions .button{grid-column:auto;grid-row:auto}.button:hover,.button:focus-visible{background:var(--dark);color:var(--light)}.phone-link{font-size:.8rem;text-underline-offset:5px}
.riverline-details{display:grid;gap:3rem}.structure-bar{display:grid;grid-template-columns:68fr 32fr;min-height:95px}.structure-bar span{display:flex;align-items:center;padding:1rem;font:10px var(--mono);text-transform:uppercase;letter-spacing:.06em}.retained-bar{background:var(--ink);color:var(--paper)}.new-bar{background:var(--oxide);color:white}
@media(max-width:1000px){.contact-actions{grid-column:2;grid-row:auto}}
@media(max-width:680px){.contact-actions{grid-column:auto;display:flex;align-items:flex-start;flex-direction:column}.contact-actions .button{width:100%}}
.contact-section{background:var(--dark);color:var(--light)}.contact-section h2 em{color:#a9b9ae}.contact-actions{align-items:stretch}.contact-actions .button{white-space:nowrap}.button-secondary{background:transparent}
.coordination-figure figcaption{color:#454a46}
@media(max-width:400px){.contact-section h2{font-size:4rem}}

/* Responsive integrity overrides: reserve independent space for hero copy and evidence. */
.hero{grid-template-columns:minmax(150px,.45fr) minmax(420px,1.15fr) minmax(360px,.9fr);grid-template-rows:auto 1fr auto}
.hero-copy{grid-column:2/4;align-self:start;padding-top:5vh}
.hero h1{font-size:clamp(4.5rem,8.2vw,8rem);line-height:.82;white-space:normal}
.hero-drawing{grid-column:3;grid-row:2;align-self:end;margin:0}
.scroll-cue{display:none;color:var(--oxide);font-weight:700}
@media(max-width:1100px) and (min-width:681px){
  .hero{grid-template-columns:100px minmax(0,1fr);grid-template-rows:auto auto auto}
  .hero-copy{grid-column:2;padding:5rem 0 1rem}
  .hero h1{font-size:clamp(4rem,10vw,6.5rem);white-space:normal}
  .hero-drawing{grid-column:2;grid-row:auto;margin:0 0 0 12%;opacity:.45}
}
@media(max-width:680px){
  .hero{grid-template-columns:1fr;grid-template-rows:auto}
  .hero-copy{grid-column:1;padding:4rem 0 1rem}
  .hero h1{font-size:clamp(3.4rem,17vw,5.4rem)}
  .hero-drawing{grid-column:1;grid-row:auto;margin:-2rem -30% 0 5%;opacity:.5}
  .riverline-program{overflow-x:auto;overscroll-behavior-inline:contain}
  .riverline-program svg{transform:none}
  .riverline-program figcaption,.coordination-figure figcaption{position:sticky;left:0;width:calc(100vw - 2.3rem)}
  .coordination-figure{overscroll-behavior-inline:contain}
  .scroll-cue{display:block;margin-bottom:.5rem}
}
