.legal-page{flex-direction:column;min-height:100svh;display:flex}.legal-header{z-index:40;padding:10px var(--gutter);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--line);background:#fff8f0e0;justify-content:space-between;align-items:center;gap:12px;display:flex;position:sticky;top:0}.legal-back{align-items:center;gap:8px;min-height:44px;padding-right:8px;display:inline-flex}.legal-back>svg{width:20px;height:20px;color:var(--text-muted);transition:transform var(--dur) var(--ease-out)}.legal-back:hover>svg{color:var(--text);transform:translate(-3px)}.legal-main{width:100%;max-width:760px;padding:clamp(32px, 6vw, 64px) var(--gutter) 64px;flex:1;margin:0 auto}.legal-title{font-family:var(--font-display);letter-spacing:-.035em;font-size:clamp(2.1rem,5vw,3rem);font-weight:800;line-height:1.05;margin-top:10px!important}.legal-updated{color:var(--text-muted);font-size:.9rem;margin-top:10px!important}.legal-intro{font-size:1.08rem;line-height:1.6;margin-top:20px!important}.legal-summary{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-card);margin-top:28px;padding:20px 22px}.legal-summary h2{color:var(--primary-text);letter-spacing:.12em;text-transform:uppercase;font-size:.78rem;font-weight:800}.legal-summary ul{gap:10px;display:grid;margin-top:12px!important}.legal-summary li{padding-left:22px;font-weight:500;position:relative}.legal-summary li:before{content:"";background:var(--primary);width:8px;height:8px;box-shadow:0 0 0 3px var(--primary-soft);border-radius:50%;position:absolute;top:.6em;left:2px}.legal-body h2,.legal-contact h2{font-family:var(--font-display);letter-spacing:-.02em;font-size:1.35rem;font-weight:700;line-height:1.25;margin-top:40px!important}.legal-body p,.legal-contact p{color:var(--text-muted);margin-top:10px!important}.legal-body ul,.legal-body ol{color:var(--text-muted);gap:8px;display:grid;margin-top:12px!important;padding-left:1.3rem!important}.legal-body ul{list-style:outside}.legal-body ol{list-style:decimal}.legal-body li::marker{color:var(--text-dim)}.legal-body strong{color:var(--text)}.legal-body a,.legal-contact a{color:var(--text);text-decoration:underline;text-decoration-color:var(--primary-line);text-underline-offset:3px;font-weight:600}.legal-body a:hover,.legal-contact a:hover{text-decoration-color:currentColor}.legal-table-wrap{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface);margin-top:14px;overflow-x:auto}.legal-table{border-collapse:collapse;width:100%;font-size:.95rem}.legal-table th,.legal-table td{border-bottom:1px solid var(--line);text-align:left;padding:12px 16px}.legal-table th{color:var(--text-muted);letter-spacing:.08em;text-transform:uppercase;font-size:.78rem;font-weight:800}.legal-table tbody tr:last-child td{border-bottom:0}.legal-table td:last-child{font-weight:700}.legal-note{font-size:.92rem;margin-top:32px!important}.legal-contact{border-top:1px solid var(--line);margin-top:48px;padding-top:8px}.legal-related{flex-wrap:wrap;gap:10px;margin-top:28px;display:flex}.legal-related a{border:1px solid var(--line-strong);border-radius:var(--radius-full);background:var(--surface);min-height:40px;transition:background-color var(--dur-fast) ease;align-items:center;padding:8px 16px;font-size:.9rem;font-weight:600;display:inline-flex}.legal-related a:hover{background:var(--surface-hover)}.contact-form{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-card);gap:18px;margin-top:28px;padding:clamp(20px,3vw,28px);display:grid}.contact-row{gap:18px;display:grid}@media (width>=560px){.contact-row{grid-template-columns:1fr 1fr}}.contact-field{flex-direction:column;gap:6px;min-width:0;font-size:.9rem;font-weight:600;display:flex}.contact-field input,.contact-field select,.contact-field textarea{border:1.5px solid var(--line-strong);background:var(--surface);width:100%;min-height:46px;color:var(--text);font:inherit;transition:border-color var(--dur-fast) ease, box-shadow var(--dur-fast) ease;border-radius:12px;padding:10px 14px;font-size:16px;font-weight:400}.contact-field textarea{resize:vertical;min-height:140px;line-height:1.5}.contact-field input::placeholder{color:#9a8fa1}.contact-field input:focus,.contact-field select:focus,.contact-field textarea:focus{border-color:var(--blue);box-shadow:0 0 0 3px var(--blue-soft);outline:none}.contact-field [aria-invalid=true]{border-color:var(--danger)}.contact-req{color:var(--danger)}.contact-optional{color:var(--text-muted);font-weight:400}.contact-error{color:var(--danger);font-size:.84rem;font-weight:500}.contact-hint{color:var(--text-muted);font-size:.86rem;font-weight:400}.contact-hint a{color:var(--text);text-decoration:underline;text-decoration-color:var(--primary-line);text-underline-offset:3px;font-weight:600}.contact-form .btn-primary{justify-self:start}.contact-honeypot{width:1px;height:1px;position:absolute;left:-10000px;overflow:hidden}.contact-sent{border:1px solid var(--success);border-radius:var(--radius-lg);background:#f0fdf4;align-items:flex-start;gap:14px;margin-top:28px;padding:24px;display:flex}.contact-sent>svg{width:28px;height:28px;color:var(--success);flex-shrink:0}.contact-sent h2{font-family:var(--font-display);font-size:1.3rem;font-weight:700}.contact-sent p{color:var(--text-muted);margin:4px 0 14px!important}.legal-footer{padding:24px var(--gutter);border-top:1px solid var(--line);background:var(--bg-raised);color:var(--text-dim);text-align:center;font-size:.85rem}
