/* Give the homepage story and anniversary their own breathing room. */
body.home .bf-home .bf-story {
    height:auto;
    min-height:0;
    display:grid;
    grid-template-columns:minmax(0,480px) minmax(0,560px);
    justify-content:center;
    align-items:center;
    gap:clamp(36px,6vw,96px);
    padding:clamp(48px,5vw,80px) max(24px,calc((100% - 1200px)/2));
}
body.home .bf-home .bf-story__art {
    height:auto;
    min-width:0;
    align-items:center;
    justify-content:center;
    overflow:visible;
}
body.home .bf-home .bf-story__art img {
    display:block;
    width:min(100%,450px);
    max-height:none;
    height:auto;
    object-fit:contain;
}
body.home .bf-home .bf-story__copy {padding:0;min-width:0;}
body.home .bf-home .bf-story__copy h2 {
    font-size:clamp(32px,3vw,44px);
    line-height:1.15;
    margin:12px 0 20px;
}
body.home .bf-home .bf-story__copy p {
    max-width:46ch;
    font-size:15px;
    line-height:1.8;
    margin:18px 0 24px;
}
body.home .bf-home .bf-story .bf-btn,
body.home .bf-home .bf-anniversary .bf-btn {min-height:44px;font-size:10px;}
body.home .bf-home .bf-anniversary {
    height:auto;
    min-height:0;
    display:grid;
    grid-template-columns:280px minmax(0,656px);
    justify-content:center;
    align-items:center;
    gap:clamp(32px,5vw,64px);
    padding:48px max(24px,calc((100% - 1000px)/2));
}
body.home .bf-home .bf-anniversary__seal {
    justify-self:center;
    position:relative;
    width:280px;
    height:280px;
    border:0;
    outline:0;
    border-radius:0;
    box-shadow:none;
    background:transparent url('assets/bandy-farms-50-years-badge-600.webp') center/contain no-repeat;
}
body.home .bf-home .bf-anniversary__seal > * {
    position:absolute;
    width:1px;
    height:1px;
    padding:0;
    margin:-1px;
    overflow:hidden;
    clip:rect(0,0,0,0);
    white-space:nowrap;
    border:0;
}
body.home .bf-home .bf-anniversary__copy {min-width:0;}
body.home .bf-home .bf-anniversary__copy h2 {
    font-size:clamp(22px,2.3vw,30px);
    line-height:1.3;
}
body.home .bf-home .bf-anniversary__dates {margin-top:8px;}
body.home .bf-home .bf-anniversary__copy p {
    font-size:14px;
    line-height:1.8;
    margin:16px 0 22px;
}
@media(max-width:760px) {
    body.home .bf-home .bf-story {
        grid-template-columns:minmax(0,560px);
        gap:32px;
        padding:48px 24px;
    }
    body.home .bf-home .bf-story__art img {width:min(100%,400px);}
    body.home .bf-home .bf-anniversary {
        grid-template-columns:200px minmax(0,1fr);
        gap:24px;
        padding:40px 24px;
    }
    body.home .bf-home .bf-anniversary__seal {width:200px;height:200px;}
}
@media(max-width:540px) {
    body.home .bf-home .bf-anniversary {grid-template-columns:minmax(0,1fr);gap:28px;}
    body.home .bf-home .bf-anniversary__seal {width:240px;height:240px;}
    body.home .bf-home .bf-anniversary__copy {text-align:center;}
}

/* Phone cards: full photographs followed by their text, without opaque overlays. */
@media(max-width:760px) {
    body.home .bf-home .bf-wedding,
    body.home .bf-home .bf-panel--stay,
    body.home .bf-home .bf-panel--experience {
        display:flex;
        flex-direction:column;
        align-items:stretch;
        height:auto;
        min-height:0;
        aspect-ratio:auto;
    }
    body.home .bf-home .bf-wedding__image,
    body.home .bf-home .bf-panel > img:first-child {
        position:relative;
        inset:auto;
        z-index:0;
        display:block;
        flex:none;
        width:100%;
        height:auto;
        aspect-ratio:auto;
        object-fit:contain;
        object-position:center;
        transform:none;
    }
    body.home .bf-home .bf-wedding__shade,
    body.home .bf-home .bf-panel__shade {display:none;}
    body.home .bf-home .bf-wedding__copy,
    body.home .bf-home .bf-panel .bf-panel__copy {
        position:relative;
        inset:auto;
        flex:none;
        width:auto;
        max-width:none;
        height:auto;
        margin:0;
        background:#171613;
    }
}

/* A compact pond banner framed around the photograph's upper half. */
body.home .bf-home .bf-closing {
    width:100%;
    min-width:0;
    box-sizing:border-box;
    height:clamp(280px,23.72vw,380px);
    min-height:0;
    aspect-ratio:auto;
}
body.home .bf-home .bf-closing__image {
    height:200%;
    object-fit:cover;
    object-position:center top;
}
@media(max-width:760px) {
    body.home .bf-home .bf-closing {height:240px;}
}
