:root{
    --legal-bg:#f1efec;
    --legal-card:#f7f5f2;
    --legal-dark:#3f3d3b;
    --legal-muted:#77726e;
    --legal-accent:#9D7C67;
    --legal-accent-dark:#745744;
    --legal-line:rgba(72,72,72,.16);
}

body.legal-page{
    min-height:100vh;
    background:var(--legal-bg);
    color:var(--text-color);
    font-family:var(--font-mulish);
}

.legal-shell{
    width:min(1480px,calc(100% - 48px));
    margin:0 auto;
}

.legal-header{
    position:sticky;
    top:0;
    z-index:30;
    background:rgba(241,239,236,.88);
    backdrop-filter:blur(18px);
    border-bottom:1px solid var(--legal-line);
}

.legal-header__inner{
    min-height:76px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:24px;
}

.legal-brand{
    display:inline-flex;
    align-items:center;
    gap:14px;
    font-family:var(--font-mulish);
    text-transform:uppercase;
    letter-spacing:.12em;
    font-size:14px;
    font-weight:600;
}

.legal-brand::before{
    content:"";
    width:30px;
    height:1px;
    background:var(--legal-accent);
}

.legal-back{
    display:inline-flex;
    align-items:center;
    gap:10px;
    font-family:var(--font-roboto);
    font-size:13px;
    text-transform:uppercase;
    letter-spacing:.06em;
    color:var(--legal-muted);
    transition:color .25s ease;
}

.legal-back span{
    display:inline-block;
    transition:transform .25s ease;
}

.legal-back:hover{
    color:var(--legal-accent-dark);
}

.legal-back:hover span{
    transform:translateX(-4px);
}

.legal-hero{
    padding:clamp(72px,8vw,138px) 0 clamp(58px,6vw,92px);
    border-bottom:1px solid var(--legal-line);
    position:relative;
    overflow:hidden;
}

.legal-hero::after{
    content:"";
    position:absolute;
    right:-8vw;
    top:10%;
    width:34vw;
    aspect-ratio:1;
    border:1px solid rgba(157,124,103,.22);
    border-radius:50%;
    box-shadow:0 0 0 70px rgba(157,124,103,.035),0 0 0 140px rgba(157,124,103,.02);
    pointer-events:none;
}

.legal-hero__eyebrow{
    display:flex;
    align-items:center;
    gap:16px;
    margin-bottom:28px;
    font-family:var(--font-roboto);
    font-size:12px;
    font-weight:500;
    text-transform:uppercase;
    letter-spacing:.16em;
    color:var(--legal-accent-dark);
}

.legal-hero__eyebrow::before{
    content:"";
    width:46px;
    height:1px;
    background:var(--legal-accent);
}

.legal-hero__title{
    max-width: 1050px;
    margin: 0;
    font-size: clamp(38px,3vw,54px);
    line-height: 1.2;
    font-weight: 300;
    text-transform: uppercase;
}

.legal-hero__lead{
    max-width: 790px;
    margin: 36px 0 0;
    font-size: clamp(18px,1.2vw,18px);
    line-height: 1.6;
    font-weight: 300;
    color: var(--legal-muted);
}

.legal-hero__meta{
    margin-top:46px;
    display:flex;
    flex-wrap:wrap;
    gap:10px;
}

.legal-chip{
    display:inline-flex;
    align-items:center;
    min-height:40px;
    padding:0 16px;
    border:1px solid var(--legal-line);
    border-radius:999px;
    background:rgba(255,255,255,.28);
    font-family:var(--font-roboto);
    font-size:12px;
    letter-spacing:.04em;
    color:var(--legal-muted);
}

.legal-layout{
    display:grid;
    grid-template-columns:minmax(240px,330px) minmax(0,1fr);
    gap:clamp(44px,6vw,110px);
    padding:clamp(58px,7vw,110px) 0 120px;
}

.legal-nav{
    align-self:start;
    position:sticky;
    top:112px;
}

.legal-nav__label{
    margin-bottom:18px;
    font-family:var(--font-roboto);
    font-size:11px;
    font-weight:600;
    text-transform:uppercase;
    letter-spacing:.15em;
    color:var(--legal-accent-dark);
}

.legal-nav__list{
    margin:0;
    padding:0;
    list-style:none;
    border-top:1px solid var(--legal-line);
}

.legal-nav__link{
    display:grid;
    grid-template-columns:32px 1fr;
    gap:12px;
    padding:14px 0;
    border-bottom:1px solid var(--legal-line);
    font-size:14px;
    line-height:1.35;
    color:var(--legal-muted);
    transition:color .2s ease,padding-left .2s ease;
}

.legal-nav__link span:first-child{
    font-family:var(--font-roboto);
    font-size:11px;
    color:var(--legal-accent);
}

.legal-nav__link:hover{
    color:var(--legal-dark);
    padding-left:5px;
}

.legal-content{
    min-width:0;
}

.legal-note{
    display:grid;
    grid-template-columns:auto 1fr;
    gap:18px;
    margin-bottom:48px;
    padding:22px 24px;
    border:1px solid rgba(157,124,103,.28);
    background:rgba(157,124,103,.07);
}

.legal-note__mark{
    width:34px;
    height:34px;
    display:grid;
    place-items:center;
    border-radius:50%;
    border:1px solid rgba(157,124,103,.4);
    font-family:var(--font-roboto);
    font-size:13px;
    color:var(--legal-accent-dark);
}

.legal-note p{
    margin:2px 0 0;
    font-size:15px;
    line-height:1.65;
    color:var(--legal-muted);
}

.legal-section{
    scroll-margin-top:110px;
    padding:0 0 58px;
    margin:0 0 58px;
    border-bottom:1px solid var(--legal-line);
}

.legal-section:last-child{
    border-bottom:0;
    margin-bottom:0;
}

.legal-section__number{
    display:block;
    margin-bottom:14px;
    font-family:var(--font-roboto);
    font-size:12px;
    letter-spacing:.12em;
    color:var(--legal-accent);
}

.legal-section h2{
    max-width:900px;
    margin:0 0 28px;
    font-size:clamp(28px,2.6vw,44px);
    line-height:1.08;
    font-weight:400;
    letter-spacing:-.025em;
}

.legal-section h3{
    margin:30px 0 12px;
    font-size:19px;
    line-height:1.35;
    font-weight:500;
}

.legal-section p,
.legal-section li{
    font-size:16px;
    line-height:1.72;
    color:#615d59;
}

.legal-section p{
    margin:0 0 16px;
}

.legal-section ul,
.legal-section ol{
    margin:18px 0 0;
    padding-left:22px;
}

.legal-section li+li{
    margin-top:9px;
}

.legal-card-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:12px;
    margin:26px 0 8px;
}

.legal-card{
    min-height:152px;
    padding:22px;
    background:var(--legal-card);
    border:1px solid var(--legal-line);
}

.legal-card__label{
    display:block;
    margin-bottom:14px;
    font-family:var(--font-roboto);
    font-size:11px;
    font-weight:600;
    letter-spacing:.11em;
    text-transform:uppercase;
    color:var(--legal-accent);
}

.legal-card__value{
    font-size:17px;
    line-height:1.5;
    color:var(--legal-dark);
    overflow-wrap:anywhere;
}

.legal-table{
    width:100%;
    margin:26px 0 8px;
    border-collapse:collapse;
    background:rgba(255,255,255,.18);
}

.legal-table th,
.legal-table td{
    padding:17px 18px;
    border:1px solid var(--legal-line);
    text-align:left;
    vertical-align:top;
    font-size:14px;
    line-height:1.55;
}

.legal-table th{
    width:31%;
    font-family:var(--font-roboto);
    font-size:11px;
    text-transform:uppercase;
    letter-spacing:.08em;
    color:var(--legal-accent-dark);
    background:rgba(157,124,103,.04);
}

.legal-placeholder{
    display:inline;
    padding:2px 6px;
    background:rgba(157,124,103,.12);
    border-bottom:1px dashed var(--legal-accent);
    color:var(--legal-accent-dark);
}

.legal-link{
    color:var(--legal-accent-dark);
    border-bottom:1px solid rgba(116,87,68,.35);
    transition:border-color .2s ease;
}

.legal-link:hover{
    border-color:currentColor;
}

.legal-footer{
    padding:34px 0 42px;
    border-top:1px solid var(--legal-line);
}

.legal-footer__inner{
    display:flex;
    justify-content:space-between;
    align-items:flex-end;
    gap:34px;
}

.legal-footer__text{
    max-width:680px;
    margin:0;
    font-size:12px;
    line-height:1.6;
    color:var(--legal-muted);
}

.legal-footer__links{
    display:flex;
    flex-wrap:wrap;
    justify-content:flex-end;
    gap:18px;
    font-family:var(--font-roboto);
    font-size:12px;
    text-transform:uppercase;
    letter-spacing:.05em;
}

@media(max-width:980px){
    .legal-layout{
        grid-template-columns:1fr;
    }
    .legal-nav{
        position:relative;
        top:auto;
    }
    .legal-nav__list{
        display:grid;
        grid-template-columns:repeat(2,minmax(0,1fr));
        column-gap:26px;
    }
}

@media(max-width:680px){
    .legal-shell{
        width:min(100% - 28px,1480px);
    }
    .legal-header__inner{
        min-height:64px;
    }
    .legal-brand{
        font-size:12px;
    }
    .legal-back{
        font-size:11px;
    }
    .legal-hero{
        padding-top:60px;
    }
    .legal-hero::after{
        width:70vw;
        right:-35vw;
        top:28%;
    }
    .legal-hero__title{
        font-size:clamp(40px,14vw,68px);
    }
    .legal-hero__lead{
        margin-top:26px;
    }
    .legal-layout{
        padding-bottom:76px;
    }
    .legal-nav__list{
        grid-template-columns:1fr;
    }
    .legal-card-grid{
        grid-template-columns:1fr;
    }
    .legal-table,
    .legal-table tbody,
    .legal-table tr,
    .legal-table th,
    .legal-table td{
        display:block;
        width:100%;
    }
    .legal-table tr+tr{
        margin-top:10px;
    }
    .legal-table th{
        border-bottom:0;
    }
    .legal-note{
        grid-template-columns:1fr;
    }
    .legal-footer__inner{
        align-items:flex-start;
        flex-direction:column;
    }
    .legal-footer__links{
        justify-content:flex-start;
    }
}
