body.layout-l5 .invitation-phone.layout-l5 {
    min-height: 100vh;
    padding: 0 18px 48px;
}

body.layout-l5 .l5-hero {
    width: min(100%, 430px);
    min-height: 100vh;
    margin: 0 auto;
    display: grid;
    align-items: center;
    padding: 58px 0 70px;
}

body.layout-l5 .l5-hero-inner {
    width: 100%;
    text-align: center;
    padding: 24px 20px;
}

body.layout-l5 .l5-kicker {
    margin: 0 0 16px;
    font-size: .72rem;
    letter-spacing: .24em;
    text-transform: uppercase;
    color: rgba(75, 45, 36, .78);
}

body.layout-l5 .l5-name {
    margin: 0;
    font-size: clamp(2.8rem, 10vw, 4.4rem);
    line-height: .96;
    font-weight: 500;
    color: #2b201c;
    text-shadow: 0 2px 18px rgba(255,255,255,.85);
}

body.layout-l5 .l5-subtitle {
    margin: 14px auto 0;
    max-width: 280px;
    font-size: .95rem;
    line-height: 1.45;
    color: rgba(43, 32, 28, .72);
}

body.layout-l5 .l5-photo {
    width: min(72%, 245px);
    margin: 28px auto 0;
    padding: 7px;
    background: rgba(255,255,255,.42);
    box-shadow: 0 18px 38px rgba(45,25,18,.14);
}

body.layout-l5 .l5-photo img {
    display: block;
    width: 100%;
    aspect-ratio: 1 / 1.12;
    object-fit: cover;
}

body.layout-l5 .l5-message {
    margin: 26px auto 0;
    max-width: 315px;
    font-size: .98rem;
    line-height: 1.65;
    color: rgba(43, 32, 28, .82);
    text-shadow: 0 1px 14px rgba(255,255,255,.9);
}
