:root{--navy:#18242f;--ink:#1d252b;--cream:#f3efe4;--paper:#fffdf7;--gold:#f4c64e;--rust:#a94f36;--line:rgba(24,36,47,.18);--serif:Georgia,'Times New Roman',serif;--sans:Inter,Avenir,'Helvetica Neue',Arial,sans-serif}
.article-meta .reading-time{display:inline-block;white-space:nowrap;text-transform:none;letter-spacing:.02em;font-size:.8125rem}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--paper);font-family:var(--sans);font-size:17px;line-height:1.65}a{color:inherit}img{display:block;max-width:100%}.site-header{min-height:86px;display:flex;align-items:center;justify-content:space-between;padding:14px clamp(20px,5vw,76px);background:rgba(255,253,247,.96);position:sticky;top:0;z-index:20;border-bottom:1px solid var(--line);backdrop-filter:blur(12px)}.brand{display:flex;gap:13px;align-items:center;text-decoration:none}.brand-mark{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:var(--navy);color:var(--gold);font:700 12px var(--sans);letter-spacing:.12em}.brand strong,.brand small{display:block}.brand strong{font:600 21px var(--serif)}.brand small{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:#687078}.site-header nav{display:flex;align-items:center;gap:24px}.site-header nav a{text-decoration:none;font-size:14px;font-weight:650}.nav-pill{padding:10px 16px;border:1px solid var(--navy);border-radius:999px}.menu-button{display:none;border:0;background:none;font:700 14px var(--sans)}
.hero{min-height:calc(100vh - 86px);position:relative;display:flex;align-items:flex-end;overflow:hidden;background:var(--navy)}.hero-photo{position:absolute;inset:0;background-image:url('assets/beloit-river-sunrise.jpg');background-size:cover;background-position:center 48%;transform:scale(1.02)}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(11,20,28,.9) 0%,rgba(11,20,28,.5) 54%,rgba(11,20,28,.10)),linear-gradient(0deg,rgba(11,20,28,.78),transparent 55%)}.hero-copy{position:relative;z-index:1;color:white;max-width:860px;padding:10vh clamp(24px,8vw,118px) 12vh}.eyebrow{margin:0 0 15px;text-transform:uppercase;letter-spacing:.2em;font-size:12px;font-weight:800;color:var(--gold)}h1,h2,h3{font-family:var(--serif);font-weight:500;line-height:1.04}h1{font-size:clamp(50px,7.4vw,108px);margin:0 0 28px;letter-spacing:-.04em}.hero-intro{max-width:650px;font-size:clamp(18px,2.1vw,25px);line-height:1.45;margin:0 0 34px;color:#eef0ec}.primary-button{display:inline-block;text-decoration:none;background:var(--gold);color:var(--navy);font-weight:800;font-size:14px;padding:14px 22px;border-radius:2px}.photo-credit{position:absolute;right:22px;bottom:15px;z-index:2;color:rgba(255,255,255,.7);font-size:11px;margin:0}
.intro{padding:120px clamp(24px,8vw,120px);display:grid;grid-template-columns:60px 1.15fr .75fr;gap:clamp(24px,5vw,80px);align-items:start;background:var(--cream)}.section-number{font-size:12px;letter-spacing:.16em;color:#777;margin:8px 0}.intro h2,.section-heading h2,.preservation h2,.about h2{font-size:clamp(42px,5vw,72px);margin:0 0 24px;letter-spacing:-.025em}.intro>div p{font-size:20px;max-width:680px}.intro blockquote{border-top:4px solid var(--gold);margin:6px 0 0;padding:24px 0;font:italic 31px/1.3 var(--serif)}.intro cite{display:block;margin-top:18px;font:700 12px var(--sans);text-transform:uppercase;letter-spacing:.15em}
.stories{padding:120px clamp(24px,7vw,100px)}.section-heading{display:flex;justify-content:space-between;gap:40px;align-items:end;margin-bottom:60px}.section-heading>div{max-width:780px}.section-heading>p{max-width:390px;font-size:16px;color:#626a70}.eyebrow.dark{color:var(--rust)}.feature-story{display:grid;grid-template-columns:1.3fr 1fr;min-height:570px;background:var(--navy);color:white}.feature-story img{width:100%;height:100%;object-fit:cover}.story-body{padding:clamp(36px,6vw,80px);display:flex;flex-direction:column;justify-content:center}.story-tag{text-transform:uppercase;letter-spacing:.17em;font-size:11px;font-weight:850;color:var(--gold)}.story-body h3{font-size:clamp(37px,4vw,60px);margin:12px 0 24px}.story-body a{font-weight:800;text-underline-offset:5px;margin-top:12px}.story-body small{margin-top:38px;color:#aeb6bc;font-size:11px}.story-grid{display:grid;grid-template-columns:repeat(3,1fr);margin-top:28px;gap:28px}.story-card{padding:42px;min-height:390px;display:flex;flex-direction:column}.story-card.gold{background:var(--gold)}.story-card.gold .story-tag{color:var(--navy)}.story-card.navy{background:#263746;color:white}.story-card.paper{border:1px solid var(--line);background:var(--cream)}.story-card.rust-card{background:var(--rust);color:white}.story-card h3{font-size:34px;margin:10px 0 18px}.story-card p:not(.story-tag){font-size:15px}.card-link{font-size:14px;font-weight:800;text-underline-offset:5px;margin:8px 0 24px}.linked-card .read-time{margin-top:auto}.read-time{font-size:12px;font-weight:750;margin-top:auto;padding-top:24px;border-top:1px solid currentColor;opacity:.74}.archive-note{margin-top:48px;padding:26px 30px;border-left:4px solid var(--gold);background:#f7f4ec}.archive-note p{margin:0;max-width:880px}.text-link{font-weight:750;text-underline-offset:5px}
.newsletter{padding:90px clamp(24px,8vw,120px);background:var(--navy);color:white;display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,8vw,110px);align-items:center}.newsletter h2{font-size:clamp(38px,5vw,66px);margin:0 0 20px}.newsletter>div>p:last-child{max-width:650px;color:#dfe4e6;font-size:18px}.newsletter-form{display:grid;grid-template-columns:1fr 1fr;gap:16px}.newsletter-form label{font-size:14px;font-weight:800}.newsletter-form label span{font-weight:500;color:#aeb8be}.newsletter-form input{width:100%;margin-top:7px;padding:13px;border:1px solid rgba(255,255,255,.45);background:#fff;color:var(--ink);font:16px var(--sans)}.newsletter-form button{grid-column:1/-1;border:0;background:var(--gold);color:var(--navy);padding:14px 18px;font:800 14px var(--sans);cursor:pointer}.newsletter-form button:disabled{opacity:.6;cursor:wait}.newsletter-status{grid-column:1/-1;min-height:24px;margin:0;font-weight:800;color:var(--gold)}.newsletter-form small{grid-column:1/-1;color:#b8c0c5}.newsletter-honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}.preservation{padding:120px clamp(24px,8vw,120px);background:var(--rust);color:white;display:grid;grid-template-columns:1.3fr .7fr;gap:clamp(50px,10vw,150px);align-items:center}.preservation-copy{max-width:760px}.preservation-copy>p:last-child{font-size:20px}.preservation-note{border:1px solid rgba(255,255,255,.45);padding:46px}.preservation-note span{font:italic 58px var(--serif);color:var(--gold)}.preservation-note p{margin:24px 0 0;font-size:17px}.about{padding:120px clamp(24px,8vw,120px);display:grid;grid-template-columns:.65fr 1.35fr;gap:clamp(40px,9vw,140px)}.realtor-intro{max-width:440px}.realtor-portrait{width:min(100%,300px);margin:30px 0 0;position:relative}.realtor-portrait::before{content:"";position:absolute;inset:-9px 9px 9px -9px;border:1px solid var(--gold);z-index:-1}.realtor-portrait img{width:100%;height:auto;filter:saturate(.92)}.realtor-portrait figcaption{margin-top:10px;font-size:12px;font-weight:800;letter-spacing:.11em;text-transform:uppercase;color:#687078}.about-copy{max-width:800px}.about-copy>p{font-size:19px}.realtor-signoff{margin-top:34px;padding:24px 28px;border-left:5px solid var(--gold);background:var(--cream);display:grid;gap:3px}.realtor-signoff strong{font:600 25px var(--serif)}.realtor-signoff span{font-size:15px;font-weight:800}.realtor-signoff em{margin-top:10px;font:italic 18px/1.4 var(--serif)}.about-links{display:flex;align-items:center;flex-wrap:wrap;gap:14px 18px;margin-top:36px}.about-links span{font-size:12px;max-width:220px;color:#687078}.contact-button{display:inline-block;border:1px solid var(--navy);padding:12px 18px;text-decoration:none;font-size:14px;font-weight:800}.dark-button{background:var(--navy);color:white}footer{background:var(--navy);color:white;padding:55px clamp(24px,7vw,100px);display:grid;grid-template-columns:1fr 1fr 1fr;align-items:center;gap:25px;font-size:13px}footer p:last-child{text-align:right}.footer-brand{font:600 25px var(--serif);text-decoration:none;color:var(--gold)}
@media(max-width:900px){.site-header nav{position:absolute;top:86px;left:0;right:0;background:var(--paper);padding:24px;display:none;flex-direction:column;align-items:flex-start;border-bottom:1px solid var(--line)}.site-header nav.open{display:flex}.menu-button{display:block}.hero{min-height:760px}.intro,.newsletter,.preservation,.about{grid-template-columns:1fr}.section-number{display:none}.story-grid{grid-template-columns:1fr}.feature-story{grid-template-columns:1fr}.feature-story img{height:420px}.section-heading{display:block}.section-heading>p{max-width:560px}.about-links{align-items:flex-start;flex-direction:column}footer{grid-template-columns:1fr}footer p:last-child{text-align:left}}
@media(max-width:560px){body{font-size:16px}.site-header{height:75px;padding:0 18px}.brand strong{font-size:18px}.brand small{display:none}.site-header nav{top:75px}.hero{min-height:700px}.hero-copy{padding:80px 22px}.hero-photo{background-position:62% center}.photo-credit{left:22px;right:auto}.intro,.stories,.newsletter,.preservation,.about{padding:78px 22px}.newsletter-form{grid-template-columns:1fr}.newsletter-form button,.newsletter-status,.newsletter-form small{grid-column:1}.intro blockquote{font-size:26px}.feature-story img{height:290px}.story-body,.story-card{padding:30px}.story-card{min-height:330px}.preservation-note span{font-size:46px}footer{padding:44px 22px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.article-page{background:var(--paper)}.article-header{position:relative;min-height:70vh;display:flex;align-items:flex-end;overflow:hidden;background:var(--navy);color:white}.article-header img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.article-header::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(10,18,25,.92),rgba(10,18,25,.08) 72%)}.article-heading{position:relative;z-index:1;width:min(1050px,calc(100% - 48px));margin:0 auto;padding:90px 0 64px}.article-heading h1{max-width:950px;font-size:clamp(42px,6.4vw,86px);margin:10px 0 20px}.article-deck{max-width:760px;font-size:clamp(18px,2vw,24px);line-height:1.45;margin:0}.article-meta{margin:24px 0 0;font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:#d8dcd8}.article-content{width:min(780px,calc(100% - 48px));margin:0 auto;padding:80px 0 110px}.article-content p{font:21px/1.72 var(--serif);margin:0 0 28px}.article-content .lead{font-size:27px;line-height:1.55}.article-figure{width:min(1120px,calc(100% - 48px));margin:10px auto 70px}.article-figure img{width:100%;height:auto}.article-figure figcaption{font-size:13px;color:#687078;margin-top:12px}.article-callout{border-left:5px solid var(--gold);background:var(--cream);padding:28px 32px;margin:42px 0}.article-callout p{font:700 19px/1.55 var(--sans);margin:0}.article-sources{border-top:1px solid var(--line);padding-top:28px;margin-top:54px}.article-sources h2{font-size:28px;margin:0 0 12px}.article-sources p{font:15px/1.6 var(--sans);color:#59636b}.back-link{font-weight:750;text-underline-offset:5px}@media(max-width:600px){.article-header{min-height:620px}.article-heading{width:min(100% - 32px,1050px);padding-bottom:44px}.article-content,.article-figure{width:min(100% - 32px,1120px)}.article-content{padding:58px 0 78px}.article-content p{font-size:19px}.article-content .lead{font-size:23px}}
.newspaper-header img{object-position:center 32%;filter:contrast(1.03)}
.bank-header img{object-position:center 45%}
.paley-header img{object-position:center 44%}
.church-header img{object-position:center 48%}.article-figure-inline{width:100%;margin:48px 0}
.crist-header img{object-position:center 46%}
.lincoln-header img{object-position:center 42%}
.lustron-header img{object-position:center 52%}.address-section{background:var(--cream);margin:48px 0;padding:34px}.address-section h2{font-size:32px;margin:0 0 22px}.address-list{margin:0;padding-left:22px}.address-list li{margin:0 0 12px;font-size:16px;line-height:1.55}
.parker-header img{object-position:center 48%}
.federation-header img{object-position:center 46%}
.circus-header img{object-position:center 48%}
@media(max-width:900px){.article-page .site-header nav{display:flex;position:static;padding:0;border:0;background:transparent;flex-direction:row}.article-page .site-header nav a{font-size:13px}}

.conversation-section{padding:90px clamp(24px,8vw,120px);background:var(--cream);display:grid;grid-template-columns:.75fr 1.25fr;gap:clamp(42px,8vw,120px);align-items:start}.conversation-section h2{font-size:clamp(34px,4vw,54px);margin:0 0 22px}.share-actions{display:flex;flex-wrap:wrap;gap:10px}.share-actions a,.share-actions button,.comment-form>button{appearance:none;border:1px solid var(--navy);background:var(--navy);color:white;text-decoration:none;padding:12px 17px;font:800 14px var(--sans);cursor:pointer}.share-actions a:nth-child(n+2),.share-actions button[data-share="copy"]{background:transparent;color:var(--navy)}.share-status,.comment-status{min-height:24px;font-size:14px;font-weight:700;color:#4f5a62}.comments-intro{max-width:650px}.comment-form{margin-top:28px}.comment-fields{display:grid;grid-template-columns:1fr 1fr;gap:18px}.comment-form label{display:block;font-size:14px;font-weight:800;margin-bottom:18px}.comment-form label small{font-weight:500;color:#687078}.comment-form input,.comment-form textarea{display:block;width:100%;margin-top:7px;border:1px solid rgba(24,36,47,.34);background:var(--paper);color:var(--ink);font:16px/1.5 var(--sans);padding:12px}.comment-form textarea{resize:vertical}.comment-form>button:disabled{opacity:.55;cursor:wait}.comment-honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}.published-comments{margin-top:45px;padding-top:34px;border-top:1px solid var(--line)}.published-comments h3{font-size:30px;margin:0 0 22px}.published-comments article{border-left:4px solid var(--gold);background:var(--paper);padding:20px 24px;margin:0 0 16px}.published-comments article p{font:18px/1.6 var(--serif);margin:8px 0 0}.comments-empty,.comments-loading{color:#626a70;font-size:15px}@media(max-width:800px){.conversation-section{grid-template-columns:1fr}.comment-fields{grid-template-columns:1fr}}
