/* Page-specific styles for the legal/utility pages (terms, privacy, cookies, contact). */
.legal-hero{background:var(--navy-deep);color:var(--on-navy);padding:172px 0 56px;}
.legal-hero .container{max-width:820px;}
.legal-hero h1{font-size:clamp(30px,4vw,44px);font-weight:700;line-height:1.15;}
.legal-hero .updated{margin-top:14px;font-family:var(--font-mono);font-size:12.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--on-navy-soft);}

.legal-body{padding:64px 0 96px;}
.legal-body .container{max-width:820px;}
.legal-body h2{font-size:22px;font-weight:700;margin-top:44px;margin-bottom:14px;color:var(--ink);}
.legal-body h2:first-child{margin-top:0;}
.legal-body h3{font-family:var(--font-body);font-size:15.5px;font-weight:700;margin-top:24px;margin-bottom:8px;color:var(--ink);}
.legal-body p{margin-top:12px;font-size:15px;line-height:1.75;color:var(--ink-soft);}
.legal-body ul, .legal-body ol{margin:12px 0 0;padding-left:22px;color:var(--ink-soft);font-size:15px;line-height:1.75;}
.legal-body li{margin-top:6px;}
.legal-body a{color:var(--indigo);text-decoration:underline;}
.legal-body strong{color:var(--ink);}
.legal-toc{background:var(--surface-alt);border:1px solid var(--border);border-radius:var(--r-md);padding:20px 24px;margin-bottom:8px;}
.legal-toc p{margin-top:0;font-size:13px;font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.06em;color:var(--ink-faint);}
.legal-toc ol{margin-top:10px;padding-left:20px;columns:2;gap:24px;}
.legal-toc li{font-size:13.5px;line-height:1.7;}
@media (max-width:640px){ .legal-toc ol{columns:1;} }
.legal-note-box{margin-top:36px;padding:18px 20px;background:var(--indigo-soft);border-radius:var(--r-md);font-size:13.5px;line-height:1.65;color:var(--ink-soft);}

/* Contact page */
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:start;}
@media (max-width:820px){ .contact-grid{grid-template-columns:1fr;gap:36px;} }
.contact-info h2{font-size:20px;font-weight:700;margin-top:0;}
.contact-info p{margin-top:10px;font-size:14.5px;line-height:1.7;color:var(--ink-soft);}
.contact-info .contact-line{margin-top:20px;}
.contact-info .contact-line a{color:var(--indigo);text-decoration:underline;font-weight:600;}
.contact-form{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-card);padding:28px;}
.form-field{margin-bottom:18px;}
.form-field label{display:block;font-size:13px;font-weight:600;color:var(--ink);margin-bottom:6px;}
.form-field input, .form-field textarea{
  width:100%;padding:12px 14px;border-radius:var(--r-sm);border:1px solid var(--border);
  background:var(--surface-alt);color:var(--ink);font-family:var(--font-body);font-size:14.5px;
  transition:border-color .18s ease, box-shadow .18s ease;
}
.form-field input:focus, .form-field textarea:focus{
  outline:none;border-color:var(--indigo);box-shadow:0 0 0 3px var(--indigo-soft);
}
.form-field textarea{resize:vertical;min-height:120px;}
.form-status{margin-top:14px;font-size:13.5px;line-height:1.6;padding:12px 14px;border-radius:var(--r-sm);display:none;}
.form-status.visible{display:block;}
.form-status.success{background:var(--success-soft);color:var(--success);}
.form-status.error{background:var(--critical-soft);color:var(--critical);}
.form-submit{margin-top:4px;}
.form-submit[data-loading="true"]{opacity:.7;pointer-events:none;}
.form-field input[type="file"]{
  width:100%;padding:10px 12px;border-radius:var(--r-sm);border:1px dashed var(--border);
  background:var(--surface-alt);color:var(--ink-soft);font-family:var(--font-body);font-size:13.5px;
}
.form-hint{margin-top:6px;font-size:12.5px;color:var(--ink-faint);}
