.legal-page{background-color:var(--bg-main);justify-content:center;width:100%;padding:3em 2em 5em;display:flex}.legal-content{width:100%;max-width:820px;color:var(--text-main);line-height:1.65}.legal-content p,.legal-content li{text-align:justify;color:var(--text-main);font-size:1.05rem}.legal-content h1{color:var(--primary-hover);margin-bottom:.2em;font-size:clamp(2rem,6vw,2.8rem)}.legal-content p.legal-updated{text-align:center;color:var(--text-secondary);margin-top:0;margin-bottom:2.5em;font-size:.95rem}.legal-content h2{color:var(--primary-hover);border-bottom:2px solid var(--border-light);margin-top:2.2em;padding-bottom:.3em;font-size:1.6rem}.legal-content h3{color:var(--text-main);margin-top:1.6em;margin-bottom:.4em;font-size:1.15rem}.legal-content ul{padding-left:1.4em}.legal-content li{margin-bottom:.5em}.legal-content a{color:var(--primary)}.legal-content a:hover{color:var(--primary-hover)}.legal-content strong{color:var(--text-main)}.legal-callout{background-color:var(--primary-transparent);border-left:4px solid var(--primary);border-radius:8px;margin:1.8em 0;padding:1em 1.4em}.legal-callout p,.legal-callout ul{margin:.4em 0}.legal-table-wrapper{border:1px solid var(--border-light);border-radius:10px;margin:1.5em 0;overflow-x:auto}.legal-table{border-collapse:collapse;width:100%;min-width:560px;font-size:.98rem}.legal-table th,.legal-table td{text-align:left;border-bottom:1px solid var(--border-light);vertical-align:top;padding:.75em 1em}.legal-table thead th{background-color:var(--bg-surface);color:var(--text-main);font-weight:600}.legal-table tbody tr:last-child td{border-bottom:none}.legal-table tbody tr:nth-child(2n){background-color:var(--bg-surface)}.legal-table tbody tr:nth-child(odd){background-color:color-mix(in srgb, var(--bg-surface) 40%, transparent)}.legal-content dl{margin:1em 0}.legal-content dt{color:var(--primary-hover);margin-top:1em;font-weight:600}.legal-content dd{margin-bottom:.3em;margin-left:0}.contact-form{background-color:var(--bg-tertiary);border:1px solid var(--border-light);border-radius:12px;margin:1.8em 0;padding:1.6em}.contact-form-row{gap:1.2em;display:flex}.contact-form-row .input-group{flex:1;min-width:0}.contact-form .input-group{align-items:stretch;margin-bottom:1.2em}.contact-form .input-group label{font-size:1rem}.contact-form .input{width:100%}.contact-textarea{resize:vertical;font-family:inherit;line-height:1.5}.contact-select-wrapper{width:100%;position:relative}.contact-select{text-align:left;cursor:pointer;color:var(--text-main);justify-content:space-between;align-items:center;gap:.8em;font-family:inherit;display:flex}.contact-select-empty{color:var(--text-secondary)}.contact-select-chevron{color:var(--text-secondary);flex-shrink:0;transition:transform .25s,color .25s}.contact-select:hover .contact-select-chevron{color:var(--primary)}.contact-select-chevron-open{color:var(--primary);transform:rotate(180deg)}.input-error .contact-select-chevron{color:var(--error)}.legal-content .contact-options{z-index:20;background-color:var(--bg-surface);border:none;border-radius:8px;margin:0;padding:.25em;list-style:none;animation:.15s ease-in fadeIn;position:absolute;top:calc(100% + 4px);left:0;right:0;box-shadow:0 8px 20px #0000002e}.contact-option{cursor:pointer;color:var(--text-main);text-align:left;border-radius:6px;justify-content:space-between;align-items:center;gap:.8em;margin-bottom:0;padding:.4em .6em;font-size:.95rem;line-height:1.4;transition:background-color .15s;display:flex}.contact-option-active{background-color:var(--bg-surface-hover)}.contact-option-selected{background-color:var(--primary-transparent);color:var(--primary-hover);font-weight:600}.contact-form-actions{justify-content:flex-end;display:flex}.contact-submit{background-color:var(--primary);color:var(--text-inverse);align-items:center;gap:.5em;font-weight:600;display:inline-flex}.contact-submit:hover:not(:disabled){background-color:var(--primary-hover);color:var(--text-inverse)}.contact-submit:disabled:hover{background-color:var(--primary)}.contact-feedback{text-align:left;border-radius:8px;margin:1.2em 0 0;padding:.8em 1em;font-size:1rem}.contact-feedback-success{background-color:color-mix(in srgb, var(--green-color) 12%, transparent);border-left:4px solid var(--green-color)}.contact-feedback-error{background-color:var(--error-bg);border-left:4px solid var(--error)}.contact-form .error-text{text-align:left}@media (max-width:600px){.contact-form-row{flex-direction:column;gap:0}}
