.legal-page {
    background: var(--paper, #fbfaf6);
    color: var(--text, #314138);
}

.legal-hero {
    min-height: 410px;
    padding: 105px 9vw 80px;
    display: flex;
    align-items: flex-end;
    position: relative;
    overflow: hidden;
    background: #9DAC99;
}

.legal-hero::after {
    content: "";
    position: absolute;
    width: 300px;
    height: 300px;
    top: 55px;
    right: 9vw;
    border: 1px solid rgba(49, 65, 56, .18);
    border-radius: 50%;
}

.legal-hero > div {
    width: min(100%, 1000px);
    position: relative;
    z-index: 1;
}

.legal-hero .label {
    margin: 0 0 18px;
    color: #405047;
}

.legal-hero h1 {
    max-width: 900px;
    margin: 0;
    color: #26332B;
    font: 400 clamp(52px, 7vw, 100px)/.98 "Playfair Display", Georgia, serif;
}

.legal-intro {
    max-width: 760px;
    margin: 30px 0 0;
    color: #344139;
    font: 500 16px/1.75 "Montserrat", Arial, sans-serif;
}

.legal-content {
    width: min(100% - 44px, 1050px);
    margin: 0 auto;
    padding: 90px 0 110px;
}

.legal-section {
    display: grid;
    grid-template-columns: 70px minmax(0, 1fr);
    gap: 30px;
    padding: 38px 0;
    border-top: 1px solid #D7DDD4;
}

.legal-section:first-child {
    border-top: 0;
    padding-top: 0;
}

.legal-number {
    color: #829080;
    font: 500 12px/1 "Montserrat", Arial, sans-serif;
    letter-spacing: .14em;
}

.legal-section h2 {
    margin: -8px 0 16px;
    color: #314138;
    font: 400 clamp(28px, 3vw, 40px)/1.15 "Playfair Display", Georgia, serif;
}

.legal-section p {
    max-width: 820px;
    margin: 0;
    color: #58635B;
    font: 400 15px/1.85 "Montserrat", Arial, sans-serif;
}

.legal-section .legal-details {
    margin-top: 15px;
    color: #314138;
    font-size: 13px;
}

.legal-contact {
    margin-top: 34px;
    padding: 34px 38px;
    border-left: 4px solid #9DAC99;
    background: #EEF1EB;
}

.legal-contact p {
    margin: 0 0 9px;
    color: #58635B;
    font-size: 13px;
}

.legal-contact a {
    color: #314138;
    font: 500 clamp(18px, 2.5vw, 26px)/1.3 "Playfair Display", Georgia, serif;
    text-decoration: underline;
    text-decoration-color: #9DAC99;
    text-underline-offset: 6px;
}

.legal-updated {
    margin: 28px 0 0;
    color: #7A857D;
    font-size: 10px;
    letter-spacing: .08em;
    text-transform: uppercase;
}

/* Compatibility with the existing Terms page. */
.legal-page > .label,
.legal-page > h1,
.legal-page > h2,
.legal-page > p,
.legal-page > ul,
.legal-page > .btn {
    width: min(100% - 44px, 980px);
    margin-right: auto;
    margin-left: auto;
}

.legal-page > .label { padding-top: 85px; }
.legal-page > h1 { margin-top: 18px; font-size: clamp(46px, 6vw, 76px); }
.legal-page > h2 { margin-top: 55px; font-size: clamp(30px, 4vw, 44px); }
.legal-page > p,.legal-page > li,.legal-page > ul { color: #58635B; line-height: 1.8; }
.legal-page > .btn { display: block; width: max-content; margin-top: 32px; margin-bottom: 90px; }

/* Booking, cancellation and experience policy */
.policy-page{padding-bottom:110px}
.policy-page .legal-intro{max-width:780px;margin-bottom:72px;font-size:18px;line-height:1.85}
.policy-section{max-width:900px;margin:0 0 58px;padding:0 0 52px;border-bottom:1px solid rgba(49,65,56,.16)}
.policy-section:last-of-type{border-bottom:0}
.policy-section h2{margin:0 0 25px;color:#2f3b33;font:400 clamp(30px,3.5vw,46px)/1.18 "Playfair Display",Georgia,serif}
.policy-section p{max-width:850px;margin:0 0 18px;color:#58635b;font:400 15px/1.9 "Montserrat",Arial,sans-serif}
.policy-refund-list{display:grid;gap:0;margin:0;padding:0;list-style:none;border-top:1px solid rgba(49,65,56,.16)}
.policy-refund-list li{padding:20px 0;border-bottom:1px solid rgba(49,65,56,.16);color:#39463e;font:500 15px/1.65 "Montserrat",Arial,sans-serif}
.policy-contact{max-width:900px;margin-top:35px;padding:38px 42px;background:#eef0eb}
.policy-contact p{margin:0 0 9px;color:#58635b;font:400 14px/1.7 "Montserrat",Arial,sans-serif}
.policy-contact a{color:#314138;font:600 14px "Montserrat",Arial,sans-serif;text-decoration:none;border-bottom:1px solid #9dac99}
@media(max-width:620px){.policy-page{padding-bottom:75px}.policy-page .legal-intro{margin-bottom:52px;font-size:16px}.policy-section{margin-bottom:42px;padding-bottom:38px}.policy-contact{padding:28px 24px}}

@media (max-width: 620px) {
    .legal-hero {
        min-height: 390px;
        padding: 90px 22px 60px;
    }

    .legal-hero::after {
        width: 150px;
        height: 150px;
        right: -45px;
        top: 65px;
    }

    .legal-hero h1 { font-size: clamp(48px, 15vw, 68px); }
    .legal-intro { font-size: 14px; }
    .legal-content { width: min(100% - 36px, 1050px); padding: 65px 0 80px; }
    .legal-section { grid-template-columns: 1fr; gap: 15px; padding: 32px 0; }
    .legal-section h2 { margin-top: 0; }
    .legal-contact { padding: 28px 24px; }
    .legal-contact a { overflow-wrap: anywhere; }
}
