/*
Theme Name: Bandy Farms — GeneratePress Child
Theme URI: https://trollhaven.org/
Description: Responsive Bandy Farms homepage inspired by the supplied storybook reference.
Author: Bandy Farms
Version: 1.5.0
Template: generatepress
Text Domain: bandy-farms
*/
:root{--ink:#171613;--paper:#eee1c7;--gold:#c3924c;--gold-light:#e8c991;--forest:#252719;--serif:Georgia,'Times New Roman',serif;--sans:Arial,Helvetica,sans-serif}
*{box-sizing:border-box}body{margin:0;background:var(--ink);color:var(--paper);font-family:var(--sans);font-size:14px;line-height:1.55}.site-header,.main-navigation{display:none}.site-content{max-width:none;padding:0}.site-content .content-area{float:none;width:100%}.site-content .site-main{margin:0}.site-content .inside-article{padding:0}.bf-home{overflow:hidden;background:var(--ink);color:var(--paper)}.bf-home a{color:inherit}.bf-home h1,.bf-home h2{font-family:var(--serif);font-weight:400;line-height:1.06}.bf-home p{margin:0 0 14px}.bf-eyebrow{color:var(--gold);font-size:11px;font-weight:700;letter-spacing:.23em;text-transform:uppercase}.bf-header{height:84px;position:relative;z-index:5;display:grid;grid-template-columns:145px 1fr 195px;align-items:center;gap:16px;padding:0 26px;background:#171512;border-bottom:1px solid #72532e;box-shadow:0 5px 18px #0007}.bf-wordmark{display:inline-block;color:var(--paper)!important;text-align:center;text-decoration:none;text-transform:uppercase;font-family:var(--serif);font-weight:bold;letter-spacing:.09em;font-size:22px;line-height:.76}.bf-wordmark span{display:block}.bf-wordmark small{display:block;margin-top:7px;color:var(--gold);font:700 7px var(--sans);letter-spacing:.3em}.bf-menu-logo-link{display:block;justify-self:start;width:76px;height:76px}.bf-menu-logo{display:block;width:100%;height:100%;object-fit:contain;mix-blend-mode:lighten}.bf-nav{display:flex;align-items:center;justify-content:center;gap:clamp(14px,2.4vw,31px)}.bf-nav a{color:#e5d7bd!important;text-decoration:none;text-transform:uppercase;font-size:9px;font-weight:700;letter-spacing:.15em;white-space:nowrap}.bf-nav a:hover,.bf-footer a:hover{color:var(--gold-light)!important}.bf-btn{display:inline-flex;justify-content:center;align-items:center;min-height:38px;padding:0 19px;border:1px solid #765826;background:#282a1b;color:#f6e8c9!important;text-decoration:none;text-transform:uppercase;text-align:center;font-size:9px;font-weight:700;letter-spacing:.14em;transition:background .2s}.bf-btn:hover{background:#41371f}.bf-btn--outline{background:rgba(18,17,14,.34);border-color:#c49a5e}.bf-header__cta{justify-self:end;min-width:178px;min-height:30px;padding:0 9px}
.bf-hero{height:clamp(470px,48vw,560px);min-height:470px;position:relative;display:flex;align-items:center;isolation:isolate;overflow:hidden;background:#211a13}.bf-hero__image{position:absolute;inset:0;z-index:-3;width:100%;height:100%;object-fit:cover;object-position:center 50%}.bf-hero:before{content:"";position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,rgba(11,10,8,.94) 0%,rgba(11,10,8,.82) 33%,rgba(11,10,8,.46) 54%,rgba(11,10,8,.08) 82%),linear-gradient(0deg,rgba(11,10,8,.5),transparent 42%)}.bf-hero__content{position:relative;z-index:auto;width:min(500px,48vw);margin-left:3.4%;padding:22px 0}.bf-hero h1{margin:8px 0 0;color:#f1dfbd;font-family:var(--serif);font-size:clamp(64px,9vw,112px);font-weight:bold;letter-spacing:.015em;line-height:.74;text-transform:uppercase;text-shadow:2px 4px 0 #412c17,0 6px 24px #000}.bf-hero h1 span{display:inline-block;margin:9px 0 0 44px;font-size:.52em;letter-spacing:.11em}.bf-hero h1.bf-hero__logo-wrap{margin:0 0 14px;font-size:0;line-height:0;text-shadow:none}.bf-hero__logo{display:block;width:min(100%,360px);height:auto;mix-blend-mode:lighten}.bf-est{margin:15px 0 7px 54px;color:#e1c181;font-family:var(--serif);font-size:13px;letter-spacing:.22em}.bf-est span{color:var(--gold)}.bf-years{width:max-content;max-width:100%;margin:0 0 24px;padding-top:8px;border-top:1px solid #a77939;color:#c48d3c;font-size:13px;letter-spacing:.18em;text-transform:uppercase}.bf-hero__tagline{font-family:var(--serif);font-size:clamp(19px,2.2vw,26px);line-height:1.2}.bf-hero__tagline em{color:#ce963c}.bf-hero__copy{color:#f1e5d0;font-size:13px;line-height:1.65}.bf-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:20px}
.bf-story{height:390px;display:grid;grid-template-columns:1fr 1.08fr;align-items:center;padding:0 4.2%;background:radial-gradient(ellipse at 22% 70%,#33271b 0,#1c1a16 58%);border-top:1px solid #493621;border-bottom:1px solid #493621}.bf-story__art{height:100%;display:flex;align-items:end;justify-content:center;overflow:hidden}.bf-story__art img{width:min(94%,450px);height:100%;object-fit:contain;object-position:center bottom;filter:drop-shadow(0 6px 16px #0008)}.bf-story__copy{padding:30px 2%}.bf-story h2{margin:9px 0 13px;color:#f0e2c4;font-size:clamp(31px,3.8vw,44px)}.bf-rule{display:flex;align-items:center;gap:10px;width:190px;margin:13px 0;color:#9a6a2d}.bf-rule:before,.bf-rule:after{content:"";height:1px;flex:1;background:#795527}.bf-rule span{font-size:9px}.bf-story__copy p{margin-bottom:12px;color:#d0c6b5;font-size:12px}.bf-story__copy .bf-btn{min-height:34px}
.bf-wedding{height:auto;aspect-ratio:2.5/1;position:relative;display:flex;align-items:center;isolation:isolate;overflow:hidden}.bf-wedding__image{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:contain;object-position:center}.bf-wedding__shade{position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(12,12,9,.88),rgba(12,12,9,.68) 30%,rgba(12,12,9,.05) 75%),linear-gradient(0deg,rgba(12,12,9,.25),transparent)}.bf-wedding__copy{position:relative;margin-left:4.5%;text-shadow:0 2px 7px #000}.bf-wedding h2{margin:7px 0;font-size:clamp(30px,3.5vw,40px)}.bf-wedding p{margin:0 0 10px;font-size:12px;line-height:1.5}.bf-wedding .bf-btn{min-height:34px;padding-inline:16px;font-size:9px}
.bf-duo{height:268px;display:grid;grid-template-columns:1fr 1fr;border-top:1px solid #846029;border-bottom:1px solid #846029}.bf-panel{position:relative;display:block;overflow:hidden;text-decoration:none!important;border-right:1px solid #876332}.bf-panel:last-child{border-right:0}.bf-panel>img:first-child{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .5s}.bf-panel:hover>img:first-child{transform:scale(1.025)}.bf-panel--stay>img:first-child{object-position:center 15%}.bf-panel__shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(12,12,9,.85),rgba(12,12,9,.38) 58%,rgba(12,12,9,.05)),linear-gradient(0deg,rgba(12,12,9,.25),transparent)}.bf-panel__copy{position:relative;z-index:1;display:flex;flex-direction:column;align-items:flex-start;height:100%;padding:15px 26px;color:#f0e1c4}.bf-panel__copy .bf-eyebrow{font-size:9px}.bf-panel__copy strong{margin:8px 0;font-family:var(--serif);font-size:clamp(23px,3vw,31px);font-weight:400;line-height:1.02}.bf-panel__copy strong em{color:#d7a057}.bf-panel__copy>span:not(.bf-eyebrow){font-size:11px;line-height:1.45}.bf-panel__copy b{margin-top:10px;padding:7px 12px;border:1px solid #84602e;background:#292819;color:#ead8b5;text-transform:uppercase;font-size:8px;letter-spacing:.13em}.bf-panel--experience .bf-panel__copy{max-width:72%}
.bf-anniversary{height:180px;display:grid;grid-template-columns:300px 1fr;align-items:center;gap:22px;padding:0 max(5%,calc((100% - 1000px)/2));background:radial-gradient(ellipse at 20% 50%,#322719,#1d1a16 55%);border-bottom:1px solid #513b20}.bf-anniversary__seal{width:205px;height:205px;justify-self:center;display:flex;flex-direction:column;align-items:center;justify-content:center;border:3px double #b98842;border-radius:50%;outline:1px solid #8b622c;outline-offset:4px;background:radial-gradient(circle,#332719,#171512 72%);color:#d3a157;text-align:center;text-transform:uppercase;transform:translateY(-4px);box-shadow:0 5px 18px #0008}.bf-anniversary__seal span{font-family:var(--serif);font-size:13px;letter-spacing:.16em}.bf-anniversary__seal strong{font-family:var(--serif);font-size:74px;font-weight:400;line-height:.85}.bf-anniversary__seal b{font-family:var(--serif);font-size:18px;letter-spacing:.16em}.bf-anniversary__seal small{margin-top:6px;padding:3px 9px;border:1px solid #9a6a2d;font-family:var(--serif);font-size:12px}.bf-anniversary__copy{text-align:center}.bf-anniversary__copy h2{margin:0;color:#bb8033;font-family:var(--sans);font-size:clamp(20px,2.7vw,28px);font-weight:bold;letter-spacing:.14em;text-transform:uppercase}.bf-anniversary__dates{color:#c99043;font-size:18px;letter-spacing:.25em}.bf-anniversary__copy p{margin:9px 0;color:#ded1bc;font-size:11px}.bf-anniversary__copy .bf-btn{min-height:30px}
.bf-closing{height:190px;position:relative;display:grid;place-items:center;isolation:isolate;overflow:hidden;background:#211b14}.bf-closing__image{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover;object-position:center 56%}.bf-closing__shade{position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(13,12,10,.52),rgba(13,12,10,.2),rgba(13,12,10,.48)),linear-gradient(0deg,rgba(13,12,10,.45),transparent)}.bf-closing__content{position:relative;text-align:center;text-shadow:0 2px 8px #000}.bf-closing h2{margin:0 0 15px;font-size:clamp(24px,3.2vw,35px)}.bf-closing h2 em{color:#d19a4d}.bf-closing__actions{display:flex;justify-content:center;gap:30px}.bf-closing__actions a{display:flex;flex-direction:column;align-items:center;gap:4px;text-decoration:none;text-transform:uppercase;font-size:8px;letter-spacing:.12em}.bf-closing__actions a span{width:40px;height:40px;display:grid;place-items:center;border:1px solid #bd8b49;border-radius:50%;color:#e8c68d;font-size:18px}
.bf-footer{min-height:124px;display:grid;grid-template-columns:150px 1.2fr 160px 120px;align-items:center;gap:25px;padding:18px max(5%,calc((100% - 1080px)/2));background:#171512;border-top:1px solid #503b22;color:#d5c8b3;font-size:9px}.bf-footer__brand{text-align:center}.bf-footer__story,.bf-footer__visit,.bf-footer__links{min-height:60px;padding-left:22px;border-left:1px solid #72532e}.bf-social{display:flex;gap:10px;margin-top:10px}.bf-social a{width:19px;height:19px;display:grid;place-items:center;border:1px solid #a68a5b;border-radius:50%;text-decoration:none;font-size:11px}.bf-footer__visit,.bf-footer__links{display:flex;flex-direction:column}.bf-footer__visit b,.bf-footer__links b{margin-bottom:5px;color:#c18b43;text-transform:uppercase;font-size:8px;letter-spacing:.17em}.bf-footer__links a,.bf-footer__visit a{text-decoration:none}
@media(max-width:760px){.bf-header{height:auto;min-height:64px;grid-template-columns:1fr auto;padding:9px 15px;gap:8px}.bf-wordmark{font-size:18px}.bf-nav{grid-column:1/-1;grid-row:2;gap:9px 16px;flex-wrap:wrap;padding:7px 0 3px}.bf-nav a{font-size:8px}.bf-header__cta{grid-column:2;grid-row:1}.bf-hero{height:auto;min-height:0;display:flex;flex-direction:column;align-items:stretch}.bf-hero__image{position:relative;inset:auto;z-index:0;display:block;width:100%;height:auto;object-fit:contain;object-position:center}.bf-hero:before{display:none}.bf-hero__content{width:90%;margin:0 auto;padding:24px 0 28px}.bf-hero h1{font-size:70px}.bf-hero__copy br{display:none}.bf-story{height:auto;min-height:310px;grid-template-columns:.75fr 1.25fr;padding:20px 5%}.bf-story__art img{max-height:260px}.bf-story h2{font-size:27px}.bf-story__copy p br{display:none}.bf-wedding{height:auto;aspect-ratio:auto;display:flex;flex-direction:column;align-items:stretch}.bf-wedding__image{position:relative;inset:auto;z-index:0;display:block;width:100%;height:auto;object-fit:contain}.bf-wedding__shade{display:none}.bf-wedding__copy{position:relative;margin:0;padding:24px 6%;background:#171613;text-shadow:none}.bf-duo{height:auto;grid-template-columns:1fr}.bf-panel{height:250px;border-right:0;border-bottom:1px solid #876332}.bf-panel--experience .bf-panel__copy{max-width:75%}.bf-anniversary{height:auto;min-height:220px;grid-template-columns:150px 1fr;gap:10px;padding:20px 12px}.bf-anniversary__seal{width:140px;height:140px}.bf-anniversary__seal strong{font-size:54px}.bf-anniversary__seal span{font-size:9px}.bf-anniversary__seal b{font-size:14px}.bf-anniversary__seal small{font-size:9px}.bf-anniversary__copy h2{font-size:18px}.bf-anniversary__dates{font-size:14px}.bf-closing{height:210px}.bf-footer{grid-template-columns:130px 1fr;gap:14px;padding:18px}.bf-footer__visit{grid-column:1/-1;padding:10px 0 0;border-left:0;border-top:1px solid #72532e}.bf-footer__links{grid-column:1/-1;flex-direction:row;flex-wrap:wrap;gap:6px 12px;padding:10px 0 0;border-left:0;border-top:1px solid #72532e}.bf-footer__links b{width:100%}}
@media(max-width:480px){.bf-hero{height:auto}.bf-hero__content{width:90%;padding-bottom:24px}.bf-hero h1{font-size:62px}.bf-hero__tagline{font-size:21px}.bf-actions{gap:8px}.bf-actions .bf-btn{width:100%}.bf-story{grid-template-columns:1fr;padding:14px 20px 26px}.bf-story__art{height:175px}.bf-story__art img{max-height:190px}.bf-story__copy{text-align:center}.bf-story h2{font-size:29px}.bf-rule{margin:12px auto}.bf-wedding{height:auto}.bf-wedding__copy{margin-left:6%}.bf-wedding h2{font-size:30px}.bf-panel{height:270px}.bf-panel__copy{padding:17px 22px}.bf-anniversary{grid-template-columns:1fr;text-align:center;padding:22px 16px}.bf-anniversary__seal{width:150px;height:150px}.bf-anniversary__copy{padding-bottom:4px}.bf-closing{height:230px}.bf-closing__content{max-width:90%;margin-left:32px}.bf-closing h2{font-size:27px}.bf-closing__actions{gap:12px}.bf-closing__actions a{font-size:6.5px}.bf-closing__actions a span{width:34px;height:34px}.bf-footer{grid-template-columns:1fr 1fr}.bf-footer__brand .bf-wordmark{font-size:19px}.bf-footer__story{padding-left:12px;font-size:8px}}

/* Show the complete Stay photo, including the daffodils and sunset. */
.bf-panel--stay{background:#171613}
.bf-panel--stay>img:first-child{object-fit:cover;object-position:center 58%}
@media(max-width:760px){.bf-panel--stay{height:auto;display:flex;flex-direction:column;align-items:stretch}.bf-panel--stay>img:first-child{position:relative;inset:auto;z-index:0;display:block;width:100%;height:auto;aspect-ratio:1844/853;object-fit:cover;object-position:center 58%;transform:none}.bf-panel--stay .bf-panel__shade{display:none}.bf-panel--stay .bf-panel__copy{height:auto;background:#171613}}

/* Stay photo: fit the full scene so the daffodils and sunset remain visible. */
.bf-panel--stay{background:#171613}
.bf-panel--stay>img:first-child{object-fit:cover;object-position:center 58%}
@media(max-width:760px){.bf-panel--stay{height:auto;display:flex;flex-direction:column;align-items:stretch}.bf-panel--stay>img:first-child{position:relative;inset:auto;z-index:0;display:block;width:100%;height:auto;aspect-ratio:1844/853;object-fit:cover;object-position:center 58%;transform:none}.bf-panel--stay .bf-panel__shade{display:none}.bf-panel--stay .bf-panel__copy{height:auto;background:#171613}}

/* Let the Stay row grow with the full, undistorted panoramic photo. */
.bf-duo{height:auto;align-items:stretch}
.bf-panel--stay{min-height:0;background:#171613}
.bf-panel--stay>img:first-child{position:relative;inset:auto;z-index:0;display:block;width:100%;height:auto;aspect-ratio:1844/853;object-fit:contain;object-position:center;transform:none}
.bf-panel--stay:hover>img:first-child{transform:none}
.bf-panel--stay .bf-panel__copy{position:absolute;inset:0;height:100%}
@media(max-width:760px){.bf-panel--stay>img:first-child{height:auto;aspect-ratio:1844/853;object-fit:contain;object-position:center}.bf-panel--stay .bf-panel__copy{position:relative;inset:auto;height:auto}}

/* Keep the Stay and Experience panels aligned to their image sizes. */
.bf-duo{height:auto;align-items:start}
.bf-panel--experience>img:first-child{position:relative;inset:auto;z-index:0;display:block;width:100%;height:auto;aspect-ratio:1844/853;object-fit:cover;object-position:center;transform:none}
.bf-panel--experience:hover>img:first-child{transform:none}
.bf-panel--experience .bf-panel__copy{position:absolute;inset:0;height:100%}
@media(max-width:760px){.bf-panel--experience{height:auto;display:flex;flex-direction:column}.bf-panel--experience>img:first-child{position:relative;inset:auto;z-index:0;display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:contain;object-position:center;transform:none}.bf-panel--experience .bf-panel__shade{display:none}.bf-panel--experience .bf-panel__copy{position:relative;inset:auto;height:auto;background:#171613}}

/* Final desktop panel sizing and responsive full-image behavior. */
.bf-duo{height:320px;align-items:stretch}
.bf-panel--stay>img:first-child,.bf-panel--experience>img:first-child{position:absolute;inset:0;z-index:0;width:100%;height:100%;aspect-ratio:auto;object-fit:cover;object-position:center;transform:none}
.bf-panel--stay .bf-panel__copy,.bf-panel--experience .bf-panel__copy{position:relative;inset:auto;height:100%}
.bf-panel--stay:hover>img:first-child,.bf-panel--experience:hover>img:first-child{transform:none}
@media(max-width:760px){.bf-duo{height:auto;grid-template-columns:1fr}.bf-panel--stay,.bf-panel--experience{height:auto;min-height:0;display:flex;flex-direction:column}.bf-panel--stay>img:first-child,.bf-panel--experience>img:first-child{position:relative;inset:auto;z-index:0;display:block;width:100%;height:auto;object-fit:contain;object-position:center;transform:none}.bf-panel--stay>img:first-child{aspect-ratio:1844/853}.bf-panel--experience>img:first-child{aspect-ratio:4/3}.bf-panel--stay .bf-panel__shade,.bf-panel--experience .bf-panel__shade{display:none}.bf-panel--stay .bf-panel__copy,.bf-panel--experience .bf-panel__copy{position:relative;inset:auto;height:auto;background:#171613}}

/* Keep overlay copy at the top of the aligned panels. */
.bf-panel--stay .bf-panel__copy,.bf-panel--experience .bf-panel__copy{position:absolute;inset:0;height:100%}
