
:root{--red:#7a1117;--dark:#310609;--black:#1f1f1f;--cream:#fbf8f1;--sand:#efe6d8;--line:#ded4c8;--gray:#606060}
*{box-sizing:border-box}
body{margin:0;background:var(--cream);color:var(--black);font-family:Georgia,'Times New Roman',serif;line-height:1.6}
a{color:var(--red);text-decoration:none}a:hover{text-decoration:underline}
.topbar{background:var(--dark);color:white;font-family:Arial,sans-serif;font-size:.9rem}
.topbar .wrap{max-width:1220px;margin:auto;padding:8px 22px;display:flex;justify-content:space-between;gap:18px;flex-wrap:wrap}
.topbar a{color:white}
header{background:white;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20}
.navwrap{max-width:1220px;margin:auto;padding:12px 22px;display:flex;justify-content:space-between;align-items:center;gap:20px}
.logo-small img{width:210px;max-height:85px;object-fit:contain}
nav{display:flex;gap:15px;flex-wrap:wrap;justify-content:flex-end;font-family:Arial,sans-serif;text-transform:uppercase;letter-spacing:.075em;font-size:.82rem;font-weight:700}
nav a{color:var(--black)}nav a.active,nav a:hover{color:var(--red);text-decoration:none}
.hero{background:white;text-align:center;padding:58px 22px 48px;border-bottom:1px solid var(--line)}
.hero img{width:min(940px,96vw);display:block;margin:0 auto 28px}
h1{font-size:clamp(2.4rem,5vw,4.8rem);line-height:1.05;margin:12px 0 18px}
h2{font-size:clamp(2rem,3.5vw,3.15rem);line-height:1.12;margin:0 0 18px}
h3{font-size:1.45rem;margin:0 0 10px}.lead{font-size:1.23rem;max-width:900px}
.eyebrow{font-family:Arial,sans-serif;text-transform:uppercase;letter-spacing:.18em;color:var(--red);font-weight:800;font-size:.8rem}
.btnrow{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;margin-top:30px}
.btn{display:inline-block;border:2px solid var(--red);padding:13px 20px;font-family:Arial,sans-serif;text-transform:uppercase;letter-spacing:.08em;font-weight:800;font-size:.82rem}
.primary{background:var(--red);color:white}.primary:hover{color:white}.outline{background:white;color:var(--red)}
.section{padding:72px 22px}.alt{background:var(--sand)}.container{max-width:1220px;margin:auto}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:34px}.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.card{background:white;border:1px solid var(--line);border-top:5px solid var(--red);padding:28px}.statement{background:white;border-left:7px solid var(--red);padding:24px 28px;font-size:1.15rem}
.pagehero{background:linear-gradient(90deg,rgba(49,6,9,.94),rgba(122,17,23,.70)),url('assets/roosevelt-arch-2.jpeg') center/cover no-repeat;color:white;padding:86px 22px}.pagehero .eyebrow{color:white}
.visual{background:linear-gradient(90deg,rgba(49,6,9,.94),rgba(122,17,23,.68)),url('assets/roosevelt-arch-1.jpeg') center/cover no-repeat;color:white;padding:90px 22px}.visual .eyebrow{color:white}
.profile{display:grid;grid-template-columns:220px 1fr;gap:28px;background:white;border:1px solid var(--line);border-left:7px solid var(--red);padding:28px;margin-bottom:24px}
.profile img{width:220px;height:220px;object-fit:cover;object-position:center top;border:1px solid var(--line)}
.photo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.photo-card{background:white;border:1px solid var(--line);overflow:hidden}.photo-card img{width:100%;height:255px;object-fit:cover;display:block}.photo-card p{font-family:Arial,sans-serif;color:var(--gray);padding:14px 16px;margin:0}
.feature{display:grid;grid-template-columns:1fr 1fr;gap:34px;align-items:center}.feature img{width:100%;height:460px;object-fit:cover;border:1px solid var(--line)}
.service-list{padding-left:20px}.contact{background:var(--dark);color:white;padding:36px}.contact a{color:white;font-weight:700}.logo-box{background:white;border:1px solid var(--line);padding:18px}.logo-box img{width:100%}
footer{background:#161616;color:white;padding:40px 22px;font-family:Arial,sans-serif}footer .wrap{max-width:1220px;margin:auto;display:grid;grid-template-columns:1fr 1.3fr 1fr;gap:24px}footer a{color:white}
@media(max-width:900px){.navwrap{flex-direction:column;align-items:flex-start}.logo-small img{width:260px}nav{justify-content:flex-start}.grid2,.grid3,.grid4,.feature,.profile,.photo-grid,footer .wrap{grid-template-columns:1fr}.profile img{width:100%;height:auto;max-height:360px}.section{padding:56px 20px}}
