@font-face { font-family: 'Barlow'; font-weight: 400; font-display: swap; src: url('fonts/barlow-400-latin.woff2') format('woff2'); }
@font-face { font-family: 'Barlow'; font-weight: 500; font-display: swap; src: url('fonts/barlow-500-latin.woff2') format('woff2'); }
@font-face { font-family: 'Barlow'; font-weight: 700; font-display: swap; src: url('fonts/barlow-700-latin.woff2') format('woff2'); }

:root { --ink: #1c1712; --cream: #fbf6ea; --red: #ae402e; --yellow: #f5da82; --muted: #5d5247; --line: #e6dcc6; }
* { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body { margin: 0; background: var(--cream); color: var(--ink); font-family: 'Barlow', system-ui, sans-serif; font-size: 18px; line-height: 1.55; }
a { color: var(--red); }
.wrap { max-width: 720px; margin: 0 auto; padding: 0 20px; }
header { border-bottom: 1px solid var(--line); background: #fff; }
header .wrap { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding-top: 14px; padding-bottom: 14px; flex-wrap: wrap; }
.brand { display: flex; align-items: center; gap: 10px; text-decoration: none; color: var(--ink); font-weight: 700; font-size: 20px; }
.brand img { width: 36px; height: 36px; }
nav { display: flex; gap: 16px; flex-wrap: wrap; font-size: 16px; }
nav a { color: var(--ink); text-decoration: none; }
nav a:hover, nav a[aria-current] { color: var(--red); text-decoration: underline; }
main { padding: 40px 0 56px; }
h1 { font-size: 40px; line-height: 1.1; margin: 0 0 12px; }
h2 { font-size: 26px; margin: 36px 0 8px; }
p, li { color: var(--ink); }
.lead { font-size: 21px; color: var(--muted); }
.card { background: #fff; border: 1px solid var(--line); border-radius: 14px; padding: 22px; margin: 18px 0; }
.card h3 { margin: 0 0 4px; font-size: 24px; }
.price { display: inline-block; background: var(--yellow); border-radius: 999px; padding: 2px 14px; font-weight: 700; }
dl { margin: 12px 0 0; }
dt { font-weight: 700; margin-top: 12px; }
dd { margin: 2px 0 0; }
.button { display: inline-block; background: var(--red); color: #fff; text-decoration: none; padding: 10px 20px; border-radius: 999px; font-weight: 500; }
footer { border-top: 1px solid var(--line); background: #fff; padding: 24px 0; font-size: 15px; color: var(--muted); }
footer .wrap { display: flex; flex-direction: column; gap: 8px; }
footer a { color: var(--muted); }
.updated { color: var(--muted); font-size: 15px; }
@media (max-width: 520px) { h1 { font-size: 32px; } body { font-size: 17px; } }
