:root{--bg:#f6f4ef;--card:#fff;--ink:#1d2330;--muted:#5a6272;--accent:#2f6f8f;--line:#e3dfd6}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.5 system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif}
a{color:var(--accent)}
.disclosure{background:#1d2330;color:#fff;font-size:.85rem;padding:.6rem 1rem;text-align:center;margin:0}
main,.footer-inner{max-width:40rem;margin:0 auto;padding:1.25rem 1rem}
header.hero{text-align:center;padding:1.5rem 1rem .5rem}
.logo{width:64px;height:64px}
h1{font-size:1.6rem;margin:.5rem 0 .25rem}
.tagline{color:var(--muted);margin:0}
.cards{display:grid;gap:1rem;list-style:none;padding:0;margin:1rem 0}
.card{background:var(--card);border:1px solid var(--line);border-radius:14px;overflow:hidden}
.card figure{margin:0;background:#eef2f5;position:relative}
.card img{display:block;width:100%;height:auto;aspect-ratio:16/9}
.card figcaption{position:absolute;left:.5rem;top:.5rem;background:rgba(29,35,48,.8);color:#fff;font-size:.72rem;padding:.1rem .45rem;border-radius:4px}
.card-body{padding:.9rem 1rem 1rem}
.card h2{font-size:1.15rem;margin:0 0 .35rem}
.card p{margin:0 0 .4rem}
.price-note{color:var(--muted);font-size:.9rem}
.prose h2{font-size:1.15rem;margin-top:1.5rem}
footer{border-top:1px solid var(--line);color:var(--muted);font-size:.9rem;text-align:center}
footer p{margin:.4rem 0}
@media (min-width:720px){main{max-width:64rem}.cards{grid-template-columns:repeat(3,1fr)}h1{font-size:2rem}}
