.farm-photo-section{display:block;background:#f1f0e7;padding-top:85px;padding-bottom:75px}
.farm-intro-row{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:end;margin-bottom:38px}
.farm-intro-copy>p{max-width:520px;color:var(--muted);font-size:1rem;line-height:1.7}
.farm-signature{display:flex;align-items:center;gap:14px;margin-top:22px}
.farm-signature img{width:57px;height:57px;padding:6px;background:#707038;border-radius:9px;object-fit:contain;flex-shrink:0}
.farm-signature>div{display:flex;flex-direction:column;gap:5px;font-size:.75rem;letter-spacing:.06em;color:#536224}
.farm-signature small{font-size:.65rem;letter-spacing:.12em;color:var(--muted)}
.farm-gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:230px 230px;gap:12px}
.farm-photo{border:0;padding:0;position:relative;overflow:hidden;min-width:0;display:block;text-align:left;background:#17362d;color:white;cursor:zoom-in}
.farm-photo-lead{grid-column:span 2;grid-row:span 2}
.farm-photo>img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .45s ease}
.farm-photo-lead>img{object-position:45% 70%}
.farm-photo:hover>img{transform:scale(1.025)}
.farm-photo:focus-visible{outline:3px solid #a77939;outline-offset:4px}
.farm-photo-caption{display:flex;gap:10px;align-items:center;position:absolute;bottom:0;left:0;right:0;padding:35px 15px 16px;background:linear-gradient(transparent,#071f21cc);font-size:.82rem;line-height:1.35;text-shadow:0 1px 3px #0009}
.farm-photo-lead .farm-photo-caption{padding:50px 24px 23px;font-size:1.05rem}
.farm-photo-number{font-size:.65rem;opacity:.8}
.farm-photo-expand{margin-left:auto;font-size:1.3rem;font-weight:300;flex-shrink:0}
.farm-gallery-footer{display:flex;align-items:center;justify-content:space-between;gap:30px;margin-top:22px}
.farm-gallery-footer p{font-size:.8rem;color:var(--muted)}
.farm-gallery-footer .text-link{font-size:.875rem;flex-shrink:0}
.farm-viewer{width:min(1160px,94vw);max-width:none;max-height:94vh;padding:18px 22px;border:1px solid #ffffff30;background:#0f2536;color:#faf7f0;overflow:auto}
.farm-viewer::backdrop{background:#05101ee8}
.farm-viewer-top,.farm-viewer-bottom{display:flex;align-items:center;gap:20px}
.farm-viewer-top{justify-content:space-between;margin-bottom:16px}
.farm-viewer-top h3{font:1rem Arial,sans-serif;letter-spacing:.06em}
.farm-viewer button{background:transparent;border:1px solid #ffffff50;color:inherit;min-width:44px;min-height:44px;padding:7px 15px}
.farm-viewer button:hover{background:#ffffff18}
.farm-viewer-close{font-size:.85rem}
.farm-viewer-image{display:block;width:100%;height:min(68vh,740px);object-fit:contain}
.farm-viewer-bottom{margin-top:16px;font-size:.9rem}
.farm-viewer-caption{flex:1}
.farm-viewer-count{white-space:nowrap;color:#d5c9b3;font-size:.8rem}
.farm-viewer-prev,.farm-viewer-next{font-size:1.6rem;line-height:1}
body.farm-viewer-open{overflow:hidden}
@media(min-width:1500px){.farm-gallery{grid-template-rows:270px 270px}}
@media(max-width:1100px){.farm-intro-row{gap:45px}.farm-gallery{grid-template-rows:200px 200px}.farm-photo-caption{font-size:.75rem;padding:35px 12px 13px;gap:8px}.farm-photo-number{display:none}}
@media(max-width:740px){.farm-photo-section{padding-top:60px;padding-bottom:55px}.farm-intro-row{grid-template-columns:1fr;gap:24px;margin-bottom:26px}.farm-signature{margin-top:18px}.farm-signature img{width:48px;height:48px;padding:5px;border-radius:8px}.farm-gallery{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:auto;gap:10px}.farm-photo{aspect-ratio:1.15}.farm-photo-lead{grid-column:span 2;grid-row:auto;aspect-ratio:1.3}.farm-photo-lead .farm-photo-caption{padding:40px 17px 17px;font-size:.95rem}.farm-gallery-footer{align-items:start;flex-direction:column;gap:15px}.farm-viewer{padding:12px;width:96vw}.farm-viewer-image{height:60vh}.farm-viewer-bottom{gap:10px}.farm-viewer-caption{font-size:.8rem}.farm-viewer-top h3{font-size:.85rem}}
@media(prefers-reduced-motion:reduce){.farm-photo>img{transition:none}.farm-photo:hover>img{transform:none}}

/* Farm overview, followed by hills, fields, the waterside garden and spring scenery. */
.farm-gallery{grid-template-rows:auto auto;}.farm-photo{aspect-ratio:1.4;}.farm-photo-lead{grid-column:1/-1;grid-row:auto;aspect-ratio:2.25;}.farm-photo-lead>img{object-position:center 72%;}
@media(min-width:1500px){.farm-gallery{grid-template-rows:auto auto;}}
@media(max-width:1100px){.farm-gallery{grid-template-rows:auto auto;}}
@media(max-width:740px){.farm-photo{aspect-ratio:1.25;}.farm-photo-lead{aspect-ratio:1.55;}}
