.legal-main{padding:60px 0 120px}.legal-container{max-width:960px;margin-inline:auto;padding-inline:24px}.legal-back-nav{margin-bottom:28px}.legal-back-link{color:var(--wine);font:600 13px/1 var(--sans);align-items:center;gap:8px;text-decoration:none;transition:opacity .2s,transform .2s;display:inline-flex}.legal-back-link:hover{opacity:.8;transform:translate(-2px)}.legal-eyebrow{color:var(--wine);font:700 11px/1.2 var(--sans);letter-spacing:.18em;text-transform:uppercase;align-items:center;gap:10px;margin:0 0 14px;display:inline-flex}.legal-eyebrow-line{background:var(--saffron);width:34px;height:1px}.legal-title{color:var(--ink);font:700 clamp(32px, 4vw, 48px)/1.08 var(--serif);letter-spacing:-.03em;margin:0 0 16px}.legal-subtitle{color:var(--muted);font:400 16px/1.65 var(--sans);max-width:780px;margin:0 0 28px}.legal-meta-card{border:1px solid var(--line);font:400 13px/1.6 var(--sans);color:var(--ink-soft);background:#fffefaeb;border-radius:16px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px 24px;margin-bottom:36px;padding:24px 28px;display:grid;box-shadow:0 10px 30px #42232c09}.legal-meta-item strong{letter-spacing:.08em;text-transform:uppercase;color:var(--wine);margin-bottom:2px;font-size:11px;display:block}.legal-toc-box{border:1px solid var(--line);background:#fbf8f3bf;border-radius:14px;margin-bottom:40px;padding:22px 28px}.legal-toc-title{font:700 13px/1.2 var(--sans);letter-spacing:.1em;text-transform:uppercase;color:var(--ink);margin:0 0 12px}.legal-toc-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:8px 20px;margin:0;padding:0;list-style:none;display:grid}.legal-toc-grid li a{font:500 13px/1.5 var(--sans);color:var(--wine);text-decoration:none;transition:color .15s}.legal-toc-grid li a:hover{color:var(--wine-deep);text-decoration:underline}.legal-card{border:1px solid var(--line);background:#fffefaf5;border-radius:24px;padding:44px 48px;box-shadow:0 16px 44px #42232c0a}@media (max-width:640px){.legal-card{border-radius:18px;padding:28px 22px}}.legal-section{border-top:1px solid var(--line);margin-top:40px;padding-top:36px}.legal-section:first-of-type{border-top:none;margin-top:0;padding-top:0}.legal-h2{color:var(--ink);font:700 clamp(20px, 2.4vw, 26px)/1.2 var(--serif);letter-spacing:-.02em;margin:0 0 18px}.legal-h3{color:var(--wine-deep);font:700 15px/1.4 var(--sans);letter-spacing:-.01em;margin:22px 0 10px}.legal-p{color:var(--ink-soft);font:400 15px/1.75 var(--sans);margin:0 0 14px}.legal-list{color:var(--ink-soft);font:400 15px/1.75 var(--sans);margin:0 0 16px 22px;padding:0}.legal-list li{margin-bottom:6px}.legal-notice{border-left:3px solid var(--wine);background:#f5eee5a6;border-radius:6px;margin:20px 0;padding:16px 20px}.legal-notice-title{font:700 12px/1.3 var(--sans);letter-spacing:.1em;text-transform:uppercase;color:var(--wine);margin:0 0 6px}.legal-notice-body{font:400 14px/1.65 var(--sans);color:var(--ink);margin:0}.legal-warning{border-left:3px solid var(--coral);background:#fef2f2b3;border-radius:6px;margin:22px 0;padding:16px 20px}.legal-warning-title{font:700 12px/1.3 var(--sans);letter-spacing:.1em;text-transform:uppercase;color:#991b1b;margin:0 0 6px}.legal-warning-body{font:400 14px/1.65 var(--sans);color:#450a0a;margin:0}.legal-table-wrap{border:1px solid var(--line);background:#fff;border-radius:12px;width:100%;margin:22px 0 26px;overflow-x:auto}.legal-table{border-collapse:collapse;text-align:left;width:100%;font:14px/1.6 var(--sans)}.legal-table th{background:var(--ink);color:#fffefa;font:600 12.5px/1.3 var(--sans);letter-spacing:.05em;text-transform:uppercase;border-bottom:1px solid var(--line);white-space:nowrap;padding:12px 18px}.legal-table td{border-bottom:1px solid var(--line);color:var(--ink-soft);vertical-align:top;padding:13px 18px}.legal-table tr:last-child td{border-bottom:none}.legal-table tr:nth-child(2n) td{background:#fbf8f38c}.legal-table strong{color:var(--ink);font-weight:600}.legal-contact-panel{border:1px solid var(--line);font:400 14px/1.7 var(--sans);color:var(--ink-soft);background:#fbf8f3d9;border-radius:14px;margin-top:36px;padding:24px 28px}
