/* ==========================================================================
   HAUS OF LESS | Legal Pages
   WordPress/editorial-inspired legal layout using the existing brand system.
   ========================================================================== */

.legal-hero{
    padding:12rem 0 5rem;
    background:var(--color-linen);
    border-bottom:1px solid var(--border-light);
}

.legal-hero__inner{
    max-width:980px;
    text-align:center;
}

.legal-hero h1{
    margin:1rem 0 1.25rem;
    font-family:var(--font-heading);
    font-size:clamp(3.25rem,6vw,5.5rem);
    line-height:1;
    color:var(--color-forest);
}

.legal-hero p{
    max-width:720px;
    margin:0 auto;
    color:var(--text-secondary);
    line-height:1.85;
    font-size:1.05rem;
}

.legal-updated{
    display:inline-block;
    margin-top:1.5rem;
    color:var(--text-muted);
    font-size:.85rem;
    letter-spacing:.04em;
}

.legal-section{
    padding:6rem 0 8rem;
    background:var(--color-white);
}

.legal-layout{
    display:grid;
    grid-template-columns:260px minmax(0, 820px);
    gap:5rem;
    align-items:start;
    justify-content:center;
}

.legal-sidebar{
    position:sticky;
    top:120px;
}

.legal-sidebar__card{
    display:flex;
    flex-direction:column;
    gap:.15rem;
    padding:1.4rem;
    border:1px solid var(--border-light);
    border-radius:18px;
    background:var(--color-linen);
}

.legal-sidebar__label{
    margin-bottom:.75rem;
    color:var(--color-brass);
    font-size:.72rem;
    font-weight:600;
    letter-spacing:.16em;
    text-transform:uppercase;
}

.legal-sidebar a{
    padding:.55rem .65rem;
    border-left:2px solid transparent;
    color:var(--text-secondary);
    text-decoration:none;
    font-size:.82rem;
    line-height:1.4;
    transition:color var(--transition), border-color var(--transition), background-color var(--transition);
}

.legal-sidebar a:hover{
    color:var(--color-forest);
    border-left-color:var(--color-brass);
    background:rgba(176,138,78,.08);
}

.legal-document{
    min-width:0;
    color:var(--text-secondary);
    font-family:var(--font-body);
    font-size:.96rem;
    line-height:1.85;
}

.legal-document > h1{
    display:none;
}

.legal-document h2{
    margin:3.5rem 0 1rem;
    padding-top:1rem;
    color:var(--color-forest);
    font-family:var(--font-heading);
    font-size:2rem;
    line-height:1.15;
    scroll-margin-top:120px;
}

.legal-document h3{
    margin:2.25rem 0 .75rem;
    color:var(--color-forest);
    font-family:var(--font-heading);
    font-size:1.45rem;
    line-height:1.2;
    scroll-margin-top:120px;
}

.legal-document p{
    margin:0 0 1.25rem;
}

.legal-document > div{
    margin:0;
}

.legal-document ul,
.legal-document ol{
    margin:0 0 1.5rem 1.35rem;
    padding-left:1rem;
}

.legal-document li{
    margin:.4rem 0;
}

.legal-document a{
    color:var(--color-forest);
    text-decoration:underline;
    text-decoration-color:rgba(176,138,78,.7);
    text-underline-offset:3px;
    transition:color var(--transition), text-decoration-color var(--transition);
}

.legal-document a:hover{
    color:var(--color-brass);
    text-decoration-color:var(--color-brass);
}

.legal-document strong{
    color:var(--color-charcoal);
}

.legal-lead{
    margin-bottom:2.5rem !important;
    padding:1.75rem 2rem;
    border-left:3px solid var(--color-brass);
    background:var(--color-linen);
    color:var(--color-charcoal);
    font-size:1.08rem;
    line-height:1.8;
}

.legal-contact-card{
    display:flex;
    flex-direction:column;
    gap:.35rem;
    margin:1.5rem 0 2rem !important;
    padding:1.5rem 1.75rem;
    border:1px solid var(--border-light);
    border-radius:18px;
    background:var(--color-linen);
}

.legal-note{
    margin-top:3rem !important;
    padding:1.25rem 1.5rem;
    border:1px solid rgba(176,138,78,.3);
    border-radius:14px;
    background:rgba(176,138,78,.06);
    font-size:.88rem;
}

.privacy-source > div:first-child,
.privacy-source > div:nth-child(2){
    margin-bottom:1rem;
}

.privacy-source > div:first-child h1{
    display:none;
}

@media(max-width:1000px){
    .legal-layout{
        grid-template-columns:1fr;
        gap:2.5rem;
    }
    .legal-sidebar{position:static;}
    .legal-sidebar__card{
        display:grid;
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:.15rem .5rem;
    }
    .legal-sidebar__label{grid-column:1/-1;}
}

@media(max-width:640px){
    .legal-hero{padding:9rem 0 4rem;}
    .legal-section{padding:4rem 0 5rem;}
    .legal-sidebar__card{grid-template-columns:1fr;}
    .legal-document{font-size:.92rem;}
    .legal-document h2{font-size:1.75rem;margin-top:2.75rem;}
    .legal-document h3{font-size:1.3rem;}
    .legal-lead{padding:1.25rem 1.2rem;}
}
