:root { --ink:#2f221d; --muted:#74665f; --red:#8f2027; --burgundy:#4a2422; --gold:#b18a4a; --gold-soft:#d9bb82; --cream:#fffaf5; --line:#eadfd5; }
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin:0; background:var(--cream); color:var(--ink); font-family:"Source Sans 3",sans-serif; font-size:17px; line-height:1.75; }
a { color:var(--red); }
.legal-nav { position:sticky; z-index:5; top:0; display:flex; align-items:center; justify-content:space-between; padding:14px max(24px, calc((100% - 1080px)/2)); border-bottom:1px solid rgba(217,187,130,.2); background:rgba(53,24,23,.95); color:#fff; backdrop-filter:blur(14px); }
.legal-brand { display:flex; align-items:center; gap:11px; color:#fff; text-decoration:none; line-height:1; }
.legal-brand img { width:45px; height:45px; padding:3px; border:1px solid rgba(217,187,130,.55); border-radius:50%; background:#fff; object-fit:cover; }
.legal-brand strong { display:block; font-family:"League Spartan",sans-serif; font-size:18px; }
.legal-brand small { display:block; margin-top:6px; color:var(--gold-soft); font-size:8px; font-weight:600; letter-spacing:.22em; text-transform:uppercase; }
.back-link { padding:9px 16px; border:1px solid rgba(255,255,255,.3); border-radius:99px; color:#fff; font-size:13px; text-decoration:none; }
.legal-hero { padding:100px 24px 90px; background:linear-gradient(150deg,#351817,#5c1f22 55%,#8f2027); color:#fff; text-align:center; }
.legal-hero>p { margin:0 0 16px; color:var(--gold-soft); font-size:11px; font-weight:700; letter-spacing:.23em; text-transform:uppercase; }
.legal-hero h1 { margin:0; font-family:"League Spartan",sans-serif; font-size:clamp(44px,7vw,76px); line-height:1; }
.legal-hero div { max-width:680px; margin:25px auto 17px; color:rgba(255,255,255,.78); }
.legal-hero small { color:var(--gold-soft); font-size:12px; }
.legal-content { width:min(100% - 40px,780px); margin:0 auto; padding:80px 0 100px; }
.legal-content h2 { margin:52px 0 12px; color:var(--burgundy); font-family:"League Spartan",sans-serif; font-size:29px; line-height:1.2; }
.legal-content h2:first-child { margin-top:0; }
.legal-content h3 { margin:30px 0 8px; color:var(--burgundy); font-family:"League Spartan",sans-serif; font-size:21px; }
.legal-content p { margin:0 0 17px; }
.legal-content ul { margin:12px 0 24px; padding-left:23px; }
.legal-content li { margin:7px 0; }
.legal-content .callout { margin:32px 0; padding:24px 27px; border-left:4px solid var(--gold); border-radius:0 8px 8px 0; background:#fff; box-shadow:0 8px 28px rgba(74,36,34,.06); }
.legal-content .action { display:inline-flex; margin-top:9px; padding:13px 21px; border-radius:99px; background:var(--red); color:#fff; font-weight:700; text-decoration:none; }
.public-form { position:relative; }
.form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px; }
.form-grid label { display:flex; flex-direction:column; gap:7px; }
.form-grid label>span { color:var(--burgundy); font-size:13px; font-weight:700; }
.form-grid input,.form-grid select,.form-grid textarea { width:100%; padding:13px 14px; border:1px solid #d9c9bd; border-radius:7px; background:#fff; color:var(--ink); font:inherit; font-size:16px; }
.form-grid textarea { resize:vertical; }
.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus { outline:none; border-color:var(--red); box-shadow:0 0 0 3px rgba(143,32,39,.1); }
.form-full { grid-column:1/-1; }
.form-privacy { margin:24px 0 18px!important; color:var(--muted); font-size:13px; }
.form-submit { padding:14px 24px; border:0; border-radius:99px; background:var(--red); color:#fff; font:700 14px "Source Sans 3",sans-serif; cursor:pointer; }
.form-submit:hover { background:var(--burgundy); }
.form-error { margin-bottom:24px; padding:14px 17px; border-left:4px solid #b42318; border-radius:0 6px 6px 0; background:#fef3f2; color:#912018; }
.form-success { padding:40px; border:1px solid var(--line); border-radius:10px; background:#fff; text-align:center; box-shadow:0 14px 40px rgba(74,36,34,.08); }
.form-success>span { display:grid; width:54px; height:54px; margin:0 auto 20px; place-items:center; border-radius:50%; background:#edf8f0; color:#2f855a; font-size:26px; }
.form-success h2 { margin-top:0; }
.form-trap { position:absolute!important; left:-10000px!important; width:1px!important; height:1px!important; overflow:hidden!important; }
.checkbox-field { display:grid!important; grid-template-columns:auto 1fr; align-items:start; gap:11px!important; }
.checkbox-field input { width:18px!important; height:18px; margin-top:4px; accent-color:var(--red); }
.checkbox-field span { font-weight:400!important; line-height:1.5; }
.legal-footer { display:flex; align-items:center; justify-content:space-between; gap:24px; padding:36px max(24px, calc((100% - 1080px)/2)); background:#351817; color:rgba(255,255,255,.62); font-size:13px; }
.legal-footer nav { display:flex; flex-wrap:wrap; gap:22px; }
.legal-footer a { color:rgba(255,255,255,.72); text-decoration:none; }
@media(max-width:600px){.legal-hero{padding:75px 22px 70px}.legal-content{padding:55px 0 70px}.legal-footer{align-items:flex-start;flex-direction:column}.legal-brand span{display:none}.form-grid{grid-template-columns:1fr}.form-full{grid-column:auto}.form-success{padding:30px 20px}}
