/* Shared styles for VisibilityHQ legal pages (privacy, terms, refund). */
@font-face { font-family: 'DM Sans'; font-style: normal; font-weight: 400; font-display: swap; src: url('/fonts/dmsans-400.woff2') format('woff2'); }
@font-face { font-family: 'DM Sans'; font-style: normal; font-weight: 600; font-display: swap; src: url('/fonts/dmsans-600.woff2') format('woff2'); }
@font-face { font-family: 'DM Sans'; font-style: normal; font-weight: 700; font-display: swap; src: url('/fonts/dmsans-700.woff2') format('woff2'); }
@font-face { font-family: 'Instrument Serif'; font-style: italic; font-weight: 400; font-display: swap; src: url('/fonts/instrument-serif-italic.woff2') format('woff2'); }

:root {
    --navy: #2D3561;
    --navy-dark: #1E2442;
    --red: #E8505B;
    --red-ink: #B0303A;
    --cream: #FDF8F5;
    --white: #FFFFFF;
    --gray-200: #E8EAF2;
    --gray-500: #6B7194;
    --gray-700: #3D4259;
}

* { margin: 0; padding: 0; box-sizing: border-box; }

body {
    font-family: 'DM Sans', -apple-system, BlinkMacSystemFont, sans-serif;
    color: var(--gray-700);
    background: var(--cream);
    line-height: 1.7;
    -webkit-font-smoothing: antialiased;
}

.legal-header {
    background: var(--white);
    border-bottom: 1px solid var(--gray-200);
    padding: 1.25rem 0;
}
.legal-container { max-width: 780px; margin: 0 auto; padding: 0 1.5rem; }
.legal-header .legal-container { display: flex; align-items: center; justify-content: space-between; }
.legal-logo { font-weight: 700; font-size: 1.2rem; color: var(--navy); text-decoration: none; }
.legal-logo span { color: var(--red); }
.legal-back { font-size: .9rem; color: var(--navy); text-decoration: none; font-weight: 600; }
.legal-back:hover { text-decoration: underline; }

main.legal { padding: 3rem 0 4rem; }
.legal h1 { font-size: 2.1rem; color: var(--navy); line-height: 1.2; margin-bottom: .5rem; font-weight: 700; }
.legal h1 em { font-family: 'Instrument Serif', serif; font-style: italic; font-weight: 400; color: var(--red); }
.legal .updated { color: var(--gray-500); font-size: .9rem; margin-bottom: 2.25rem; }
.legal h2 { font-size: 1.25rem; color: var(--navy); margin: 2.25rem 0 .75rem; font-weight: 700; }
.legal h3 { font-size: 1.02rem; color: var(--navy-dark); margin: 1.5rem 0 .5rem; font-weight: 600; }
.legal p, .legal li { font-size: 1rem; }
.legal p { margin-bottom: 1rem; }
.legal ul { margin: 0 0 1rem 1.25rem; }
.legal li { margin-bottom: .4rem; }
.legal a { color: var(--red-ink); }
.legal strong { color: var(--navy-dark); }
.legal .callout {
    background: var(--white);
    border: 1px solid var(--gray-200);
    border-left: 3px solid var(--red);
    border-radius: 8px;
    padding: 1rem 1.25rem;
    margin: 1.5rem 0;
    font-size: .95rem;
}

.legal-footer {
    border-top: 1px solid var(--gray-200);
    background: var(--white);
    padding: 2rem 0;
    text-align: center;
    font-size: .85rem;
    color: var(--gray-500);
}
.legal-footer a { color: var(--navy); text-decoration: none; margin: 0 .6rem; font-weight: 600; }
.legal-footer a:hover { text-decoration: underline; }
.legal-footer .copyright { margin-top: .75rem; }
