/* ================================================================
   LEGAL PAGES — Editorial White Theme v4.0
   Playfair Display · Warm Cream · Antique Gold
   ================================================================ */

.legal-hero {
    position: relative;
    min-height: 46vh;
    display: flex; align-items: center; justify-content: center;
    text-align: center;
    padding: 9rem 2rem 6rem;
    background: var(--cream-alt);
    border-bottom: 1px solid var(--b-soft);
    overflow: hidden;
}
.legal-hero::before {
    content: '';
    position: absolute; inset: 0;
    background: url('assets/hero_banner.png') center/cover no-repeat;
    opacity: 0.055; filter: saturate(0.3) blur(2px);
}
.legal-hero::after {
    content: '';
    position: absolute; bottom: 0; left: 50%;
    transform: translateX(-50%);
    width: 55%; height: 2px;
    background: linear-gradient(to right, transparent, var(--gold), transparent);
}
.legal-hero-content {
    position: relative; z-index: 2; max-width: 780px;
    display: flex; flex-direction: column; align-items: center; gap: 1.2rem;
}
.legal-badge {
    font-family: var(--f-body); font-size: 0.78rem; font-weight: 700;
    letter-spacing: 5px; text-transform: none;
    color: var(--gold); background: var(--gold-bg);
    border: 1px solid var(--gold-border);
    padding: 0.45rem 1.4rem; border-radius: var(--rp);
    display: inline-block;
}
.legal-main-title {
    font-family: var(--f-display);
    font-size: clamp(2.2rem, 5vw, 3.8rem);
    font-weight: 700; color: var(--ink); letter-spacing: -0.02em;
}
.legal-hero-subtitle {
    font-family: var(--f-serif); font-style: italic; font-weight: 300;
    font-size: 1.1rem; color: var(--ink-soft); line-height: 1.65; max-width: 520px;
}

/* Legal Content */
.legal-section { padding: 7rem 0 9rem; background: var(--cream); }
.legal-card {
    max-width: 920px; margin: 0 auto;
    background: #fff; border: 1px solid var(--b-soft);
    border-top: 4px solid var(--gold); border-radius: var(--r3);
    padding: clamp(3rem, 5vw, 5.5rem) clamp(2rem, 5vw, 5rem);
    box-shadow: var(--sh-lg);
}
.legal-content-box { display: flex; flex-direction: column; gap: 3rem; }
.legal-block h3 {
    font-family: var(--f-body); font-size: 1.05rem; font-weight: 700;
    color: var(--ink); margin-bottom: 1rem;
    border-bottom: 1px solid var(--b-soft); padding-bottom: 0.65rem;
    text-transform: none; letter-spacing: 1.5px;
    display: flex; align-items: center; gap: 0.7rem;
}
.legal-block h3::before {
    content: '';
    display: inline-block;
    width: 4px; height: 1rem;
    background: var(--gold); border-radius: 2px; flex-shrink: 0;
}
.legal-block p {
    font-size: 0.94rem; color: var(--ink-soft); font-weight: 300;
    line-height: 1.85; margin-bottom: 0.9rem;
}
.legal-block ul {
    display: flex; flex-direction: column; gap: 0.85rem; margin-bottom: 1.5rem;
}
.legal-block ul li {
    font-size: 0.92rem; color: var(--ink-soft);
    position: relative; padding-left: 1.8rem;
    line-height: 1.65; font-weight: 300;
}
.legal-block ul li::before {
    content: '—'; position: absolute; left: 0;
    color: var(--gold); font-weight: 700;
}
.legal-block strong { color: var(--gold); font-weight: 900; }

@media (max-width: 768px) {
    .legal-hero { padding: 8rem 2rem 5rem; min-height: 38vh; }
    .legal-card { padding: 3rem 1.8rem; }
}
