@charset "UTF-8";

/* A landscape invitation, independent of the other page sections. */
.closing-cta {
    --closing-height: clamp(360px, 26vw, 460px);
    min-height: var(--closing-height);
    background: var(--paper);
    color: #243e2c;
    isolation: isolate;
}
.closing-cta > img { width: 100%; object-position: center; }
.closing-cta .closing-overlay {
    width: 100%;
    pointer-events: none;
    background: radial-gradient(ellipse at 51% 30%, rgba(255,255,255,.38), transparent 54%);
}
.closing-cta .closing-inner {
    width: min(58%, 680px);
    min-height: var(--closing-height);
    margin: 0 auto;
    padding: 40px 0 32px;
    justify-content: center;
    align-items: center;
    text-align: center;
}
.closing-cta .closing-inner h2 {
    position: relative;
    margin: 0 0 24px;
    color: #203c28;
    font: 400 clamp(34px, 3vw, 44px)/1.35 "Klee One", "Yu Mincho", serif;
    letter-spacing: .07em;
    transform: rotate(-5deg);
}
.closing-cta .closing-inner h2::after {
    content: "";
    position: absolute;
    left: -4%;
    bottom: -8px;
    width: 116%;
    height: 1px;
    background: linear-gradient(90deg, #35553d 65%, transparent);
}
.closing-cta .closing-inner > p:not(.eyebrow):not(.closing-note) {
    margin: 0 0 20px;
    color: #303b32;
    font: 400 15px/1.8 var(--serif);
    letter-spacing: .025em;
}
.closing-cta .closing-actions {
    display: grid;
    gap: 12px;
    width: min(100%, 360px);
}
.closing-cta .closing-actions .button {
    position: relative;
    width: 100%;
    padding: 0 40px;
    gap: 12px;
    min-height: 60px;
    border: 0;
    font: 500 17px/1.5 var(--serif);
    letter-spacing: .035em;
    box-shadow: none;
}
.closing-cta .closing-actions .button-primary { background: #bd472f; }
.closing-cta .closing-actions .button-light {
    min-height: 52px;
    background: rgba(255,255,255,.96);
    color: #315d3c;
    font-size: 15px;
    letter-spacing: 0;
}
.closing-arrow {
    position: absolute;
    right: 10%;
    width: 9px;
    height: 9px;
    border-top: 1px solid currentColor;
    border-right: 1px solid currentColor;
    transform: rotate(45deg);
}
.closing-report-icon { flex: 0 0 auto; width: 20px; height: 24px; }
.closing-cta .button:hover { transform: translateY(-2px); }
.closing-cta .button:focus-visible { outline: 3px solid #244e32; outline-offset: 4px; }
.closing-side-note {
    position: absolute;
    top: 39%;
    right: 3.4%;
    color: #fff;
    text-shadow: 0 1px 5px rgba(12,35,27,.65);
}
.closing-side-note p {
    margin: 0;
    font: 400 15px/1.7 var(--serif);
    letter-spacing: .08em;
}
.closing-side-note > span { display: block; width: 48px; height: 1px; margin: 14px 0; background: rgba(255,255,255,.8); }
.closing-side-note p[lang="en"] { font: 500 14px/1.5 Georgia, serif; letter-spacing: .12em; }

@media (min-width: 641px) {
    .closing-cta .closing-inner > p:not(.eyebrow):not(.closing-note) {
        position: relative;
        isolation: isolate;
        color: #203127;
        font-size: 17px;
        font-weight: 500;
        text-shadow: 0 1px 2px rgba(255,255,255,.55);
    }
    /* A feathered light wash follows the copy rather than covering the landscape. */
    .closing-cta .closing-inner > p:not(.eyebrow):not(.closing-note)::before {
        content: "";
        position: absolute;
        z-index: -1;
        inset: -14px -44px;
        background: radial-gradient(ellipse, rgba(251,250,244,.88) 15%, rgba(251,250,244,.72) 48%, transparent 74%);
        filter: blur(6px);
        pointer-events: none;
    }
}

@media (min-width: 641px) and (max-width: 920px) {
    .closing-cta .closing-inner { width: 65%; padding-top: 32px; }
    .closing-cta .closing-actions { width: min(100%, 340px); }
    .closing-side-note { right: 2%; }
    .closing-side-note p { font-size: 12px; }
}
@media (max-width: 640px) {
    .closing-cta {
        --closing-height: 0px;
        --closing-scene-height: clamp(200px, 57vw, 260px);
    }
    .closing-cta > img { height: var(--closing-scene-height); object-position: 20% center; }
    .closing-cta .closing-overlay {
        height: calc(var(--closing-scene-height) + 1px);
        background: linear-gradient(180deg, transparent 72%, var(--paper) 100%);
    }
    .closing-cta .closing-inner {
        width: calc(100% - 40px);
        padding: calc(var(--closing-scene-height) + 8px) 0 32px;
    }
    .closing-cta .closing-inner h2 {
        margin-bottom: 24px;
        font-size: clamp(25px, 7.6vw, 32px);
        letter-spacing: 0;
        white-space: nowrap;
        transform: rotate(-2deg);
    }
    .closing-cta .closing-inner h2::after {
        left: 10%;
        bottom: -10px;
        width: 80%;
        background: linear-gradient(90deg, transparent, #68816b 15%, #68816b 85%, transparent);
    }
    .closing-cta .closing-inner > p:not(.eyebrow):not(.closing-note) {
        max-width: 320px;
        margin-bottom: 20px;
        font-size: 14px;
        line-height: 1.9;
        letter-spacing: 0;
        text-wrap: balance;
    }
    .closing-cta .closing-inner > p > br { display: none; }
    .closing-cta .closing-actions { width: min(100%, 320px); justify-items: center; gap: 6px; }
    .closing-cta .closing-actions .button { min-height: 52px; padding: 12px 32px; font-size: 15px; }
    .closing-cta .closing-actions .button-light {
        width: fit-content;
        max-width: 100%;
        min-height: 48px;
        padding: 12px 8px;
        gap: 8px;
        background: transparent;
        font-size: 14px;
    }
    .closing-cta .button-light .closing-arrow { position: static; width: 7px; height: 7px; margin-left: 4px; flex: 0 0 auto; }
    .closing-arrow { right: 20px; }
    .closing-report-icon { width: 17px; height: 21px; }
    .closing-side-note {
        position: relative;
        top: auto;
        right: auto;
        width: calc(100% - 48px);
        max-width: 320px;
        margin: 0 auto;
        padding: 16px 0 24px;
        border-top: 1px solid #d8ddd3;
        text-align: center;
        color: #3e5945;
        text-shadow: none;
    }
    .closing-side-note p { font-size: 14px; }
    .closing-side-note br { display: none; }
    .closing-side-note > span { display: none; }
    .closing-side-note p[lang="en"] { margin-top: 8px; font-size: 12px; letter-spacing: .06em; word-spacing: .1em; }
}
