:root {
    color-scheme: light;
    font: 100%/1.55 -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    background: #fffaf1;
    color: #29372e;
}
* { box-sizing: border-box; }
body { margin: 0; }
a { color: #304e43; text-underline-offset: .22rem; }
a:focus-visible { outline: 3px solid #47694b; outline-offset: 4px; }
.top, footer { padding: 1.2rem max(1rem, 5vw); }
.top { display: flex; align-items: center; justify-content: space-between; gap: 1rem; flex-wrap: wrap; border-bottom: 1px solid #e4dcc9; }
.wordmark { width: 155px; height: auto; }
nav, .shops { display: flex; flex-wrap: wrap; gap: .55rem; }
nav a, .shops a { display: inline-flex; min-height: 44px; align-items: center; padding: .4rem .8rem; border-radius: .5rem; }
nav a { text-decoration: none; font-weight: 670; }
nav [aria-current] { background: #e4efe5; }
.frame { display: grid; grid-template-columns: 1.1fr .9fr; width: min(1080px, calc(100% - 2rem)); margin: clamp(1.5rem, 6vw, 5rem) auto; border: 1px solid #e4dcc9; border-radius: 1.15rem; overflow: hidden; background: #fffdf7; }
.copy { padding: clamp(1.35rem, 5vw, 3.8rem); }
h1 { margin: 0 0 .6rem; font: 500 clamp(2.35rem, 5vw, 4.5rem)/.98 "Iowan Old Style", Palatino, Georgia, serif; letter-spacing: -.045em; }
p { font-size: 1.125rem; }
.state { border-left: 3px solid #6d8966; background: #eaf0e3; padding: .65rem .85rem; }
.photo { display: block; width: 100%; height: 100%; min-height: 16rem; object-fit: cover; }
.shops a { border: 1px solid #cfd8ca; font-weight: 650; }
footer { border-top: 1px solid #e4dcc9; }
@media (max-width: 650px) {
    .frame { grid-template-columns: 1fr; }
    .photo { max-height: 240px; min-height: 0; }
}
