:root { color: #40392f; background: #fbf4e8; font-family: Arial, Helvetica, sans-serif; line-height: 1.6; }
* { box-sizing: border-box; }
body { margin: 0; min-width: 320px; background: radial-gradient(circle at 8% 0%, rgba(213, 186, 128, .18), transparent 31rem), #fbf4e8; }
.site-header, main, footer { width: min(100% - 40px, 780px); margin-inline: auto; }
.site-header { min-height: 86px; display: flex; align-items: center; justify-content: space-between; gap: 20px; border-bottom: 1px solid rgba(112, 93, 63, .18); }
.brand { display: inline-flex; align-items: center; gap: 10px; color: #1d5338; text-decoration: none; font-family: Georgia, 'Times New Roman', serif; font-size: 29px; font-weight: 700; }
.brand-mark { display: grid; width: 34px; height: 34px; place-items: center; border: 1px solid #b28a42; border-radius: 50%; color: #a5792a; font-size: 20px; }
nav { display: flex; flex-wrap: wrap; justify-content: end; gap: 16px; }
nav a, footer a, .text-link { color: #1d5338; text-underline-offset: 4px; }
nav a[aria-current='page'] { color: #88601e; font-weight: 700; }
main { padding: 72px 0 82px; }
h1, h2 { color: #1d5338; font-family: Georgia, 'Times New Roman', serif; font-weight: 500; line-height: 1.16; }
h1 { margin: 0; font-size: clamp(2.45rem, 7vw, 4.6rem); letter-spacing: -.035em; }
h2 { margin: 0 0 13px; font-size: clamp(1.45rem, 4vw, 2.05rem); }
p { margin: 0 0 16px; }
.eyebrow { margin-bottom: 12px; color: #9b7435; font-size: .76rem; font-weight: 700; letter-spacing: .15em; }
.lead { max-width: 600px; margin-top: 20px; color: #655b4d; font-size: 1.12rem; }
.page-intro { padding-bottom: 40px; }
.actions { display: flex; align-items: center; flex-wrap: wrap; gap: 24px; margin-top: 30px; }
.button-link, button { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: 0 22px; border: 0; border-radius: 999px; background: #1d5338; color: white; cursor: pointer; font: inherit; font-weight: 700; text-decoration: none; }
.button-link:hover, button:hover { background: #143c28; }
.instructions, .request-form, .details { border-top: 1px solid rgba(112, 93, 63, .2); padding: 33px 0; }
ol { margin: 0 0 22px; padding-left: 1.35rem; }
li { margin-bottom: 8px; }
.notice { padding-left: 16px; border-left: 3px solid #b38941; color: #5c5143; }
.request-form { max-width: 590px; }
form { display: grid; gap: 9px; margin-top: 24px; }
label { font-size: .94rem; font-weight: 700; }
input, textarea { width: 100%; border: 1px solid rgba(112, 93, 63, .34); border-radius: 10px; background: rgba(255, 252, 246, .75); color: #40392f; font: inherit; padding: 13px 14px; }
input:focus, textarea:focus { outline: 3px solid rgba(178, 138, 66, .32); border-color: #8d692c; }
textarea { resize: vertical; }
form button { width: fit-content; margin-top: 10px; }
.fallback { margin-top: 20px; color: #655b4d; font-size: .94rem; }
.form-status { margin-top: 18px; padding: 13px 15px; border-radius: 10px; font-size: .95rem; }
.form-status.success { background: rgba(29, 83, 56, .1); color: #17442f; }
.form-status.error { background: rgba(155, 68, 45, .1); color: #7d3221; }
button:disabled { cursor: wait; opacity: .7; }
.policy-header { padding-bottom: 36px; border-bottom: 1px solid rgba(112, 93, 63, .2); }
.policy-header .lead { margin-top: 0; }
.policy-content { padding-top: 34px; }
.policy-content h1 { margin-bottom: 42px; font-size: clamp(2.3rem, 6vw, 3.8rem); }
.policy-content h2 { margin-top: 40px; }
.policy-content p { max-width: 720px; }
.policy-content .bullet { position: relative; padding-left: 20px; }
.policy-content .bullet::before { content: '•'; position: absolute; left: 4px; color: #a5792a; }
footer { display: flex; justify-content: space-between; gap: 20px; padding: 28px 0 38px; border-top: 1px solid rgba(112, 93, 63, .18); color: #766b5e; font-size: .9rem; }
@media (max-width: 580px) { .site-header, main, footer { width: min(100% - 32px, 780px); } .site-header { min-height: 74px; } .brand { font-size: 25px; } nav { gap: 11px; font-size: .85rem; } main { padding: 50px 0 60px; } footer { display: grid; } }
