@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Instrument+Serif&display=swap');

:root {
  color-scheme: light;
  --paper: #f4f0e5;
  --white: #fffcf4;
  --ink: #27382d;
  --muted: #515e4c;
  --accent: #9e402b;
  --wash: #e9eadc;
  --rule: #d1d2c2;
  --serif: 'Instrument Serif', Georgia, serif;
  font-family: 'DM Sans', system-ui, sans-serif;
  line-height: 1.6;
  color: var(--ink);
  background: var(--paper);
}

* { box-sizing: border-box; }
body { margin: 0; }
a { color: inherit; text-underline-offset: .2em; }
a:focus-visible { outline: 3px solid var(--accent); outline-offset: 4px; }
h1, h2, h3, p, dl, dd { margin: 0; }
.wrap { width: min(1120px, 100% - 44px); margin-inline: auto; }
.site-header, .footer { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 12px 28px; }
.site-header { padding-block: 20px; border-bottom: 1px solid var(--rule); }
.brand { font: 400 29px/1 var(--serif); text-decoration: none; }
.brand span, h1 span { color: var(--accent); }
nav, .actions { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 22px; }
nav a { font-weight: 600; text-decoration: none; }
nav a:hover, .text-link:hover, .footer a:hover { text-decoration: underline; }
.button { display: inline-block; padding: .65em 1.05em; border-radius: .55rem; background: var(--ink); color: var(--white); font-weight: 700; text-decoration: none; }
.button:hover { background: #415343; }
.hero { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); gap: clamp(32px, 6vw, 80px); align-items: center; padding-block: clamp(58px, 9vw, 126px); }
h1, .section > h2, .sample h2 { font: 400 1rem/.97 var(--serif); }
h1 { max-width: 11ch; font-size: clamp(3.4rem, 7.6vw, 7rem); }
.intro { max-width: 48ch; color: var(--muted); margin-block: 22px 28px; font-size: 1.11rem; }
.text-link { font-weight: 700; }
.hint { color: var(--muted); font-size: .88rem; margin-top: 12px; }
.sample { background: var(--white); border: 1px solid var(--rule); border-top: 4px solid var(--accent); border-radius: 0 0 .8rem .8rem; padding: clamp(22px, 4vw, 38px); box-shadow: 0 16px 32px #3c422b11; }
.label { text-transform: uppercase; letter-spacing: .1em; font-size: .75rem; color: var(--accent); font-weight: 700; }
.sample h2 { font-size: clamp(2rem, 4vw, 3.1rem); margin-block: 10px 18px; }
.sample-summary { display: flex; flex-wrap: wrap; column-gap: 20px; padding-block: 12px; border-block: 1px solid var(--rule); margin-bottom: 17px; }
.sample-summary > div { flex: 1 0 max-content; }
dt { font-size: .78rem; color: var(--muted); }
dd { font-weight: 700; }
.sample h3 { font-size: .9rem; }
.ingredient-list { padding: 0; list-style: none; margin-bottom: 0; }
.ingredient-list li { display: flex; justify-content: space-between; gap: 12px; padding-block: 5px; border-bottom: 1px solid var(--rule); }
.ingredient-list li:last-child { border: 0; }
.feature-band { background: var(--wash); }
.section { padding-block: clamp(40px, 6vw, 74px); scroll-margin-top: 1rem; }
.section > h2 { font-size: clamp(2.5rem, 5vw, 4rem); margin-bottom: 26px; }
.features, .plans { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 235px), 1fr)); gap: 16px; }
.features article, .plans article { background: var(--white); border: 1px solid var(--rule); border-radius: .65rem; padding: 22px; }
.features p, .plans p { color: var(--muted); margin-top: 8px; }
.plans .availability { color: var(--accent); font-weight: 700; margin-top: 16px; }
.plans ul { padding-inline-start: 1.25rem; margin-block: 10px 0; color: var(--muted); }
.plans article > .button { margin-top: 16px; }
.footer { padding-block: 21px; border-top: 1px solid var(--rule); }

@media (max-width: 780px) { .hero { grid-template-columns: 1fr; } }
@media (max-width: 490px) { .wrap { width: calc(100% - 32px); } nav { column-gap: 12px; font-size: .9rem; } }
