:root{--ink:#072847;--glaze:#2b5c94;--salt:#f4f6f8;--salt2:#e7ecf1;--line:#c9d4e0;--stone:#4a5560;--white:#fff;--cu:#a5612f;--cu-d:#7a4219;--cu-l:#e0b079;--ok:#2f6f52;--res:#8a5a00;--sold:#5b6673;
--fd:"Iowan Old Style","Palatino Linotype",Palatino,Georgia,serif;--ft:system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;--fm:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
--s1:.5rem;--s2:1rem;--s3:1.5rem;--s4:2.5rem;--s5:4rem;--s6:7rem;--max:1180px;--ease:cubic-bezier(.22,.61,.36,1)}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;background:var(--salt);color:var(--ink);font:1.0625rem/1.65 var(--ft);-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}a{color:var(--glaze)}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--glaze);outline-offset:3px}
.skip{position:absolute;left:-999px}.skip:focus{left:1rem;top:1rem;background:var(--white);padding:.5rem 1rem;z-index:99}
.wrap{max-width:var(--max);margin:0 auto;padding:0 clamp(1rem,4vw,2rem)}
h1,h2,h3{font-family:var(--fd);font-weight:600;line-height:1.08;margin:0 0 .5em;letter-spacing:-.01em}
h1{font-size:clamp(2.6rem,7vw+.5rem,6rem)}h2{font-size:clamp(1.9rem,3.2vw+1rem,3.2rem)}h3{font-size:clamp(1.25rem,1vw+1rem,1.6rem)}
.eyebrow{font:600 .8rem/1 var(--fm);letter-spacing:.14em;text-transform:uppercase;color:var(--cu-d);margin-bottom:1rem}
header.top{position:sticky;top:0;z-index:20;background:rgba(244,246,248,.94);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
header.top .wrap{display:flex;align-items:center;gap:1.5rem;min-height:68px}
.logo{display:flex;align-items:center}.logo img{height:34px;width:auto}
nav.main{margin-left:auto;display:flex;gap:1.25rem;align-items:center}nav.main a{color:var(--ink);text-decoration:none;font-size:.95rem;padding:.5rem 0;border-bottom:2px solid transparent}nav.main a:hover,nav.main a[aria-current]{border-color:var(--cu)}
.btn{display:inline-flex;align-items:center;min-height:48px;padding:.8rem 1.4rem;background:var(--ink);color:var(--white);text-decoration:none;font-weight:600;border:2px solid var(--ink);border-radius:2px;transition:background .16s var(--ease),color .16s var(--ease)}
.btn:hover{background:var(--white);color:var(--ink)}.btn.cu{background:var(--cu-l);border-color:var(--cu-l);color:var(--ink)}.btn.cu:hover{background:transparent;color:var(--white)}
.btn.ghost{background:transparent;color:var(--ink)}.btn.ghost:hover{background:var(--ink);color:var(--white)}.hero .btn.ghost{color:var(--white);border-color:var(--white)}.hero .btn.ghost:hover{background:var(--white);color:var(--ink)}
.menu-btn{display:none;margin-left:auto;background:none;border:2px solid var(--ink);padding:.5rem .9rem;font:600 .9rem var(--ft);color:var(--ink)}
.hero{position:relative;min-height:min(92vh,860px);display:flex;align-items:flex-end;color:var(--white);background:var(--ink)}
.hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.88}
.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(7,40,71,.15) 0%,rgba(7,40,71,.55) 55%,rgba(7,40,71,.92) 100%)}
.hero .wrap{position:relative;z-index:2;padding-bottom:var(--s4);padding-top:var(--s6)}
.hero h1{max-width:12ch}.hero .sub{font-family:var(--fd);font-size:clamp(1.2rem,1.4vw+1rem,1.8rem);max-width:34ch;margin:.2rem 0 1.2rem;color:var(--salt2)}
.hero .meta{font:.85rem var(--fm);letter-spacing:.06em;color:var(--cu-l);margin-bottom:1.6rem}
.cta-row{display:flex;gap:.8rem;flex-wrap:wrap}
.vis{position:absolute;right:1rem;bottom:.8rem;z-index:3;font:.72rem var(--fm);color:rgba(255,255,255,.8)}
.curve{background:var(--ink);color:var(--salt2);padding:1.2rem 0}.curve svg{width:100%;height:60px;display:block}.curve path{stroke:var(--cu-l);fill:none;stroke-width:2;stroke-dasharray:1200;stroke-dashoffset:1200;animation:draw 2.4s var(--ease) .3s forwards}
.curve text{font:11px var(--fm);fill:var(--salt2);letter-spacing:.1em}@keyframes draw{to{stroke-dashoffset:0}}
@media (prefers-reduced-motion:reduce){.curve path{animation:none;stroke-dashoffset:0}html{scroll-behavior:auto}}
section.s{padding:var(--s5) 0}section.alt{background:var(--white)}section.dark{background:var(--ink);color:var(--salt)}
.grid{display:grid;gap:var(--s3)}.g2{grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr))}.g3{grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr))}
.card{background:var(--white);border:1px solid var(--line);border-radius:6px;padding:1.4rem;box-shadow:0 1px 2px rgba(7,40,71,.06)}
.card h3{margin-bottom:.4em}.card p{margin:0;color:var(--stone)}
.src{font:.75rem var(--fm);color:var(--stone);margin-top:.6rem}
.draft{background:#fff3d6;border:1px solid #e6c36a;color:#5c4400;padding:.5rem .8rem;font:.8rem var(--fm);border-radius:3px;margin:0 0 1rem}
.ribbon{background:var(--ink);color:var(--cu-l);text-align:center;font:.75rem var(--fm);letter-spacing:.06em;padding:.45rem 1rem}
.timeline{display:grid;gap:var(--s3);grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));counter-reset:t}
.timeline>div{border-top:3px solid var(--cu);padding-top:1rem}.timeline .t{font:.8rem var(--fm);letter-spacing:.1em;color:var(--cu-d);text-transform:uppercase}
.finder{display:grid;gap:var(--s3);grid-template-columns:minmax(220px,300px) 1fr}
.filters{display:grid;gap:1rem;align-content:start}.filters label{font:600 .85rem var(--fm);letter-spacing:.05em;display:block;margin-bottom:.3rem}
select,input,textarea{width:100%;font:inherit;padding:.7rem .8rem;border:1px solid #8fa1b3;border-radius:2px;background:var(--white);color:var(--ink)}
.section-svg{width:100%;max-width:300px;border:1px solid var(--line);background:var(--white)}.section-svg g{cursor:pointer}.section-svg rect{fill:var(--salt2);stroke:var(--ink);stroke-width:1.5}.section-svg g[aria-pressed=true] rect,.section-svg g:hover rect{fill:var(--cu-l)}.section-svg text{font:12px var(--fm);fill:var(--ink)}
.units{display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(min(100%,230px),1fr))}
.unit{background:var(--white);border:1px solid var(--line);border-radius:6px;padding:1.1rem;text-decoration:none;color:var(--ink);display:block;transition:transform .2s var(--ease),box-shadow .2s var(--ease)}.unit:hover{transform:translateY(-3px);box-shadow:0 12px 32px rgba(7,40,71,.12)}
.unit b{font:600 1.1rem var(--fm)}.unit .n{font:600 2rem var(--fd)}.unit .row{display:flex;justify-content:space-between;color:var(--stone);font-size:.92rem;border-top:1px solid var(--line);padding-top:.5rem;margin-top:.5rem}
.badge{display:inline-block;font:.72rem var(--fm);padding:.2rem .5rem;border:1px solid var(--cu);color:var(--cu-d);border-radius:2px}
table.k{border-collapse:collapse;width:100%;background:var(--white)}table.k th,table.k td{text-align:left;padding:.7rem .9rem;border-bottom:1px solid var(--line);vertical-align:top}table.k th{font:600 .85rem var(--fm);color:var(--stone);width:38%}
.plan{border:1px solid var(--line);background:var(--white);padding:.5rem}
form.f{display:grid;gap:1rem;max-width:640px}.hp{position:absolute;left:-9999px}
footer{background:var(--ink);color:var(--salt2);padding:var(--s4) 0;margin-top:0}footer a{color:var(--cu-l)}footer .cols{display:grid;gap:var(--s3);grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}footer small{display:block;margin-top:2rem;color:#a9b8c8}
.lead{font-size:clamp(1.1rem,.6vw+1rem,1.35rem);max-width:60ch}.cols2{display:grid;gap:var(--s4);grid-template-columns:repeat(auto-fit,minmax(min(100%,360px),1fr));align-items:center}
.gal{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr))}.gal figure{margin:0;position:relative}.gal figcaption{font:.75rem var(--fm);color:var(--stone);padding-top:.4rem}
.legal h2{font-size:1.5rem;margin-top:2rem}.legal .ph{background:#fff3d6;padding:0 .25rem}
@media (max-width:860px){.finder{grid-template-columns:1fr}nav.main{display:none;position:absolute;top:68px;left:0;right:0;background:var(--salt);flex-direction:column;align-items:flex-start;padding:1rem 1.5rem;border-bottom:1px solid var(--line)}nav.main.open{display:flex}.menu-btn{display:block}}
