/* Legal pages (privacy policy, account deletion): the welcome page's fonts and colours, a farm header and one readable
   cream card. No scripts, no tracking, nothing loaded from other sites. */
@font-face{font-family:DM Sans;src:url('/assets/fonts/dm-sans-regular.ttf') format('truetype');font-display:swap}
@font-face{font-family:Outfit;src:url('/assets/fonts/outfit-bold.ttf') format('truetype');font-weight:600 900;font-display:swap}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;min-height:100vh;font-family:'DM Sans',system-ui,sans-serif;font-size:16px;line-height:1.65;color:#3d3923;background:#f1e9dc}
a{color:#5b6b2f;text-decoration-thickness:1px;text-underline-offset:3px}
a:hover{color:#3f4c1d}
a:focus-visible{outline:3px solid #d6ae4b;outline-offset:2px;border-radius:4px}

.legal-hero{position:relative;isolation:isolate;padding:28px 20px 96px;text-align:center;color:#fffdf2;background:#3a361a}
.legal-hero::before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,#2c2912cc,#3a361ad9 70%,#3a361a),url('/assets/farm-welcome.webp') center 40%/cover no-repeat}
.legal-logo{display:inline-block}
.legal-logo img{display:block;width:112px;height:auto}
.legal-hero .eyebrow{margin:14px 0 4px;font-size:11px;font-weight:800;letter-spacing:.16em;color:#f3d98f}
.legal-hero h1{margin:0;font:700 clamp(32px,6vw,48px)/1.1 'Outfit',sans-serif;letter-spacing:-.02em}
.legal-hero .updated{margin:10px 0 0;font-size:14px;color:#e8e0c8}

.legal-card{position:relative;width:min(820px,calc(100% - 32px));margin:-64px auto 0;padding:clamp(22px,5vw,48px);background:#fffdf6;border:1px solid #fffdf2;border-radius:26px;box-shadow:0 22px 80px #2d2c1133,0 3px 0 #ded1c8}
.legal-card h2{margin:40px 0 10px;font:700 24px/1.25 'Outfit',sans-serif;color:#3d3923;scroll-margin-top:16px}
.legal-card h2:first-of-type{margin-top:28px}
.legal-card h3{margin:24px 0 6px;font:700 18px/1.3 'Outfit',sans-serif;color:#4a4130}
.legal-card p{margin:0 0 12px}
.legal-card ul,.legal-card ol{margin:0 0 14px;padding-left:22px}
.legal-card li{margin:0 0 6px}
.legal-card li::marker{color:#9a8457}
.legal-card strong{color:#2f2c1a}

.legal-summary{margin:0 0 8px;padding:18px 20px;border:1px solid #e8d7a8;border-radius:18px;background:linear-gradient(135deg,#fbefc8,#fdf8ec)}
.legal-summary h2{margin:0 0 8px!important;font-size:19px}
.legal-summary ul{margin:0;padding-left:20px}

.legal-toc{margin:22px 0 0;padding:16px 20px;border:1px solid #e8ded2;border-radius:18px;background:#f7f2ea}
.legal-toc p{margin:0 0 6px;font-size:12px;font-weight:800;letter-spacing:.12em;color:#8a7c69}
.legal-toc ol{columns:2;column-gap:28px;margin:0;padding-left:20px;font-size:14px}
.legal-toc li{break-inside:avoid;margin:0 0 4px}

.legal-contact{margin:10px 0 14px;padding:14px 18px;border-left:4px solid #b9a36a;border-radius:0 14px 14px 0;background:#f7f2ea;font-size:15px;line-height:1.6}

.legal-table{width:100%;margin:6px 0 16px;border-collapse:collapse;font-size:14px;line-height:1.5}
.legal-table th,.legal-table td{padding:10px 12px;border-bottom:1px solid #e8ded2;text-align:left;vertical-align:top}
.legal-table th{font-size:12px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:#8a7c69;background:#f7f2ea}
.legal-table code{font-size:13px;word-break:break-all}
code{padding:1px 5px;border-radius:6px;background:#f0ebe3;font-size:.9em}

.legal-steps{counter-reset:step;list-style:none;padding:0!important}
.legal-steps li{position:relative;margin:0 0 12px;padding:14px 16px 14px 58px;border:1px solid #e8ded2;border-radius:16px;background:#fbf8f2}
.legal-steps li::before{counter-increment:step;content:counter(step);position:absolute;left:16px;top:14px;display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#685e3f;color:#fffdf0;font:700 14px 'Outfit',sans-serif}
.legal-button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;margin:6px 0 12px;padding:12px 20px;border-radius:11px;border:1px solid #5b5133;background:#685e3f;color:#fffdf0!important;box-shadow:0 3px 0 #494125;font-weight:800;font-size:15px;text-decoration:none}
.legal-button:hover{background:#5b5237}

.legal-footer{display:flex;flex-wrap:wrap;justify-content:center;gap:6px 18px;width:min(820px,calc(100% - 32px));margin:28px auto 0;padding:0 0 40px;font-size:13px;color:#7d7060}
.legal-footer a{color:#5d5436}

@media(max-width:640px){
 body{font-size:15px}
 .legal-hero{padding-bottom:84px}
 .legal-logo img{width:92px}
 .legal-card{border-radius:22px}
 .legal-card h2{font-size:21px;margin-top:32px}
 .legal-toc ol{columns:1}
 .legal-table thead{display:none}
 .legal-table,.legal-table tbody,.legal-table tr,.legal-table td{display:block;width:100%}
 .legal-table tr{padding:10px 0;border-bottom:1px solid #e8ded2}
 .legal-table td{padding:2px 0;border:0}
 .legal-table td[data-label]::before{content:attr(data-label) ': ';font-weight:800;color:#8a7c69}
}

/* 404: the farm behind one small cream card with the tractor, a big 404 and the way back. */
body.not-found{min-height:100vh;min-height:100svh;background:#3a361a}
body.not-found::before{content:'';position:fixed;inset:0;z-index:-1;background:linear-gradient(180deg,#2c291299,#3a361acc),url('/assets/farm-welcome.webp') center 40%/cover no-repeat}
.nf-wrap{min-height:100vh;min-height:100svh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;padding:24px 16px;text-align:center}
.nf-card{width:min(440px,100%);padding:26px 26px 30px;background:#fffdf6;border:1px solid #fffdf2;border-radius:26px;box-shadow:0 22px 80px #2d2c114d,0 3px 0 #ded1c8}
.nf-art{display:block;width:132px;height:132px;margin:-6px auto 0;filter:drop-shadow(0 8px 12px #3a361a33)}
.nf-code{margin:2px 0 0;font:700 64px/1 'Outfit',sans-serif;letter-spacing:-.03em;color:#d9c9a3}
.nf-card h1{margin:6px 0 8px;font:700 28px/1.15 'Outfit',sans-serif;color:#3d3923}
.nf-card p:not(.nf-code){margin:0 auto 16px;max-width:320px;color:#7a6c58}
.nf-button{width:100%;margin:4px 0 0}
.nf-footer{display:flex;gap:16px;font-size:12px;color:#efe6cfcc}
.nf-footer a{color:#fff5da}

/* Our Facebook page: a small "f" at the end of the footer, in the footer's own colour. */
.footer-social{display:inline-flex;align-items:center;justify-content:center;align-self:center;width:20px;height:20px;border-radius:50%;opacity:.85;text-decoration:none}
.footer-social:hover,.footer-social:focus-visible{opacity:1}
.footer-social svg{display:block}
