:root{
  --paper:#F7F1E6; --surface:#FFFDF8; --crust:#EDE1CD;
  --ink:#241812; --ink-2:#5C4739; --mute:#8E7A68; --hair:#E1D5C1;
  --accent:#8E2C24; --gold:#C0873B;
}
*{ margin:0; padding:0; box-sizing:border-box; }
body{ background:var(--paper); color:var(--ink);
      font-family:'Karla',system-ui,-apple-system,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;
      font-size:17px; line-height:1.68; -webkit-font-smoothing:antialiased; }
h1,h2,h3{ font-family:'Fraunces',Georgia,'Times New Roman',serif; font-weight:600; letter-spacing:-.02em; line-height:1.06; }
a{ color:var(--accent); text-decoration:underline; text-underline-offset:3px; }
a:hover{ color:var(--ink); }
img,svg{ display:block; max-width:100%; }
:focus-visible{ outline:2px solid var(--accent); outline-offset:3px; }
::selection{ background:var(--accent); color:var(--paper); }

.wrap{ max-width:820px; margin:0 auto; padding:0 clamp(20px,5vw,32px); }

.legal-head{ background:var(--ink); padding:20px 0; }
.legal-head .wrap{ display:flex; align-items:center; justify-content:space-between; gap:20px; flex-wrap:wrap; }
.legal-head svg{ height:46px; width:auto; color:var(--paper); }
.legal-head a{ text-decoration:none; }
.legal-head a.back{ font-size:11.5px; font-weight:700; letter-spacing:.2em; text-transform:uppercase; color:rgba(247,241,230,.6); }
.legal-head a.back:hover{ color:var(--paper); }

main{ padding:clamp(46px,7vw,80px) 0 clamp(64px,8vw,100px); }
main h1{ font-size:clamp(34px,6vw,58px); margin-bottom:8px; }
main .lead{ font-size:11.5px; font-weight:700; letter-spacing:.2em; text-transform:uppercase; color:var(--mute); margin-bottom:40px; }
main h2{ font-size:25px; margin:38px 0 10px; }
main h3{ font-size:19px; margin:24px 0 6px; }
main p{ margin-bottom:12px; color:var(--ink-2); }
main ul, main ol{ margin:0 0 14px 20px; color:var(--ink-2); }
main li{ margin-bottom:6px; }
main address{ font-style:normal; margin-bottom:12px; color:var(--ink-2); }

.note{ background:var(--surface); border:1px solid var(--hair); border-left:3px solid var(--accent);
       padding:18px 20px; margin:26px 0; font-size:15px; color:var(--ink-2); }
.note strong{ color:var(--ink); }
.fill{ background:var(--crust); padding:1px 7px; font-size:.95em; color:var(--ink); }
table.allerg{ width:100%; border-collapse:collapse; margin:14px 0 18px; font-size:15.5px; }
table.allerg td{ border-bottom:1px solid var(--hair); padding:9px 10px 9px 0; color:var(--ink-2); }
table.allerg td:first-child{ width:52px; font-weight:700; color:var(--ink); }

footer{ background:var(--ink); color:rgba(247,241,230,.66); padding:26px 0; font-size:13.5px; }
footer .wrap{ display:flex; justify-content:space-between; gap:16px; flex-wrap:wrap; }
footer a{ margin-left:22px; text-decoration:none; color:rgba(247,241,230,.85); }
footer a:hover{ color:var(--paper); }
