:root { color-scheme: light; --ink: #283a2e; --cream: #f7f5eb; --accent: #365c3b; }
body { background: var(--cream); color: var(--ink); font-family: system-ui, sans-serif; line-height: 1.55; margin: 0; }
main { max-width: 70rem; margin: auto; padding: clamp(1rem, 4vw, 3rem); }
header { border-bottom: 1px solid #cbd8c6; padding-bottom: 2rem; margin-bottom: 2rem; }
header a { color: var(--accent); font-weight: 700; }
h1 { font-family: Georgia, serif; font-size: clamp(2.3rem, 5vw, 4rem); line-height: 1.1; margin-bottom: .4rem; }
#products { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 15rem), 1fr)); gap: 1.25rem; }
.product { background: #fff; border: 1px solid #d7e0d1; border-radius: .7rem; padding: 1rem; }
.product img { aspect-ratio: 16 / 9; width: 100%; object-fit: cover; border-radius: .35rem; }
.product h3 { font-family: Georgia, serif; font-size: 1.35rem; margin-bottom: .4rem; }
button { background: var(--accent); color: white; border: 0; border-radius: .35rem; padding: .65rem 1rem; cursor: pointer; }
button:disabled { opacity: .55; cursor: not-allowed; }
a { color: var(--accent); }
section { margin-block: 2rem; }
#reviews article { border-top: 1px solid #d7e0d1; padding: .75rem 0; }
blockquote { border-left: .25rem solid #cbd8c6; margin-left: 1rem; padding-left: 1rem; }
:focus-visible { outline: .2rem solid #ad7028; outline-offset: .2rem; }
