:root { --cream:#f5f0ea; --burgundy:#6b2138; --orange:#fa4d13; --blue:#b7d9fe; --ink:#2b1720; --line:rgba(107,33,56,.28); }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--ink); background:var(--cream); font-family:"DM Sans",sans-serif; font-size:17px; line-height:1.65; }
a { color:inherit; }
img { display:block; max-width:100%; }
.shell { width:min(980px,calc(100% - 40px)); margin-inline:auto; }
.topbar { display:flex; align-items:center; justify-content:space-between; min-height:88px; gap:24px; }
.brand { width:238px; }
.brand img { width:100%; height:56px; object-fit:contain; object-position:left center; }
.back-link { font-weight:600; text-decoration:none; }
.back-link:hover { text-decoration:underline; text-underline-offset:4px; }
.legal-hero { padding:clamp(60px,9vw,110px) 0 clamp(42px,7vw,76px); border-block:2px solid var(--burgundy); background:var(--blue); }
.eyebrow { margin:0 0 18px; color:var(--burgundy); font-size:.82rem; font-weight:600; letter-spacing:.11em; text-transform:uppercase; }
h1,h2 { color:var(--burgundy); font-family:"Fredoka",sans-serif; font-weight:400; letter-spacing:-.035em; line-height:1.02; text-wrap:balance; }
h1 { max-width:820px; margin:0; font-size:clamp(3.5rem,8vw,6.4rem); }
.legal-hero p:last-child { max-width:720px; margin:24px 0 0; font-size:clamp(1.08rem,2vw,1.3rem); }
.legal-content { padding:clamp(58px,9vw,100px) 0; }
.legal-content section { padding:0; }
.legal-content section + section { margin-top:52px; padding-top:52px; border-top:1px solid var(--line); }
.legal-content h2 { margin:0 0 18px; font-size:clamp(2rem,4.4vw,3.4rem); }
.legal-content h3 { margin:30px 0 10px; color:var(--burgundy); font-size:1.16rem; }
.legal-content p,.legal-content ul { max-width:780px; }
.legal-content button.back-link { padding:0; border:0; color:inherit; background:none; font:inherit; cursor:pointer; }
.legal-content li + li { margin-top:8px; }
.legal-data { display:grid; grid-template-columns:minmax(160px,.35fr) 1fr; gap:10px 24px; max-width:780px; margin:24px 0 0; padding:24px; border:2px solid var(--burgundy); border-radius:22px; background:#fff8; }
.legal-data dt { color:var(--burgundy); font-weight:600; }
.legal-data dd { margin:0; }
.pending { padding:.08em .35em; border-radius:5px; background:#ffe0d4; color:#842d10; font-weight:600; }
.notice { max-width:780px; margin:0 0 36px; padding:18px 20px; border-left:5px solid var(--orange); background:#fff8; }
.cookie-table { width:100%; max-width:780px; border-collapse:collapse; }
.cookie-table th,.cookie-table td { padding:14px; border:1px solid var(--line); text-align:left; vertical-align:top; }
.cookie-table th { color:var(--burgundy); background:var(--blue); }
footer { display:flex; align-items:flex-start; justify-content:space-between; gap:24px; padding-block:34px; border-top:1px solid var(--line); font-size:.94rem; }
.legal-links { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:10px; }
.legal-links a,.legal-links button { display:inline-flex; align-items:center; justify-content:center; min-height:42px; padding:7px 13px; border:1.5px solid var(--burgundy); border-radius:999px; color:inherit; background:transparent; font:inherit; font-weight:600; text-decoration:none; cursor:pointer; transition:background .2s ease,color .2s ease; }
.legal-links a:hover,.legal-links button:hover,.legal-links a:focus-visible,.legal-links button:focus-visible { outline:none; color:var(--cream); background:var(--burgundy); }
@media (max-width:640px) {
  .shell { width:min(100% - 24px,560px); }
  .topbar { min-height:76px; }
  .brand { width:180px; }
  .brand img { height:50px; }
  .legal-data { grid-template-columns:1fr; }
  .legal-data dd + dt { margin-top:8px; }
  .cookie-table { display:block; overflow-x:auto; }
  footer { flex-direction:column; }
  .legal-links { justify-content:flex-start; }
}
