
@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@300;400;500;600;700&display=swap');

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

body{
    font-family:"Montserrat",sans-serif;

    background:linear-gradient(
        180deg,
        #faf7f5 0%,
        #f3ece7 100%
    );

    color:#222;
}

/* HERO */

.legal-hero{
    text-align:center;

    padding:12vh 5vw 6vh;
}

.legal-hero img{
    width:12vh;

    margin-bottom:2vh;
}

.legal-hero span{
    color:#c89b6d;

    letter-spacing:.4vh;

    font-size:.9rem;

    font-weight:600;
}

.legal-hero h1{
    font-size:clamp(2.5rem,6vw,5rem);

    margin:2vh 0;

    font-weight:600;

    line-height:1.1;
}

.legal-hero p{
    max-width:60rem;

    margin:auto;

    color:#777;

    line-height:1.8;
}

/* CONTAINER */

.legal-container{
    width:min(100rem,90%);

    margin:auto;

    padding-bottom:8vh;
}

/* CARD */

.legal-card{
    background:white;

    padding:6vh 4vw;

    border-radius:4vh;

    box-shadow:
    0 1.5vh 4vh rgba(0,0,0,.08);

    border:1px solid rgba(0,0,0,.05);
}

/* SECTIONS */

.legal-section{
    margin-bottom:5vh;
}

.legal-section:not(:last-child){
    padding-bottom:4vh;

    border-bottom:1px solid #eee;
}

.legal-section h2,
.legal-section h3{
    color:#c89b6d;

    margin-bottom:1.5vh;

    font-weight:600;
}

.legal-section h2{
    font-size:1.5rem;
}

.legal-section h3{
    font-size:1.2rem;
}

.legal-section p{
    color:#555;

    line-height:1.9;

    font-size:1rem;
}

/* MAP */

.map{
    margin-top:2vh;

    overflow:hidden;

    border-radius:2vh;
}

.map iframe{
    width:100%;

    height:40vh;

    border:none;
}

/* AGB HEADER */

.agb-header{
    text-align:center;

    margin:8vh 0 6vh;
}

.agb-header span{
    color:#c89b6d;

    letter-spacing:.3vh;

    font-size:.85rem;

    font-weight:600;
}

.agb-header h2{
    margin-top:1vh;

    font-size:2.2rem;

    color:#111;
}

/* LIST */

.service-list{
    margin-left:2rem;

    line-height:2;

    color:#555;
}

/* HIGHLIGHT */

.highlight-box{
    background:#faf7f5;

    border-left:.5vh solid #c89b6d;

    padding:2vh 2vw;

    border-radius:1.5vh;

    line-height:1.8;

    color:#555;
}

/* RESPONSIVE */

@media(max-width:768px){

    .legal-hero{
        padding-top:8vh;
    }

    .legal-card{
        padding:4vh 6vw;
    }

    .legal-hero img{
        width:9vh;
    }

    .map iframe{
        height:30vh;
    }

    .agb-header h2{
        font-size:1.8rem;
    }
}
