
@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Libre+Baskerville:wght@400;700&display=swap');
:root{--olive:#66735b;--ink:#26352c;--cream:#f7f4ec;--gold:#bd9f72;--mist:#e9ece3}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:'DM Sans',sans-serif}a{color:inherit}h1,h2,h3{font-family:'Libre Baskerville',Georgia,serif;font-weight:400;line-height:1.25}p{line-height:1.8}img{max-width:100%}.skip{position:absolute;top:-100px;left:12px;z-index:100;background:#fff;padding:12px}.skip:focus{top:12px}.header{position:absolute;z-index:20;top:0;width:100%;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px clamp(18px,4vw,64px);background:linear-gradient(#14251fd9,#14251f00);color:white}.header.solid{position:relative;background:var(--ink)}.logo{display:block;flex-shrink:0}.logo img{display:block;width:clamp(94px,10vw,142px);height:auto;max-height:150px;object-fit:contain}.nav{display:flex;align-items:center;gap:clamp(12px,1.8vw,27px)}.nav a{text-decoration:none;font-size:12px;font-weight:600;letter-spacing:.075em}.nav a:hover,.nav a:focus-visible{text-decoration:underline}.cta{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;font-size:12px;letter-spacing:.11em;text-transform:uppercase;font-weight:700;padding:15px 21px;background:var(--gold);color:#182820;border:1px solid var(--gold);transition:filter .2s}.cta:hover{filter:brightness(1.08)}.cta.secondary{background:transparent;color:inherit;border-color:currentColor}.menu-toggle{display:none}.hero{position:relative;min-height:720px;height:94svh;background:#25382d url('assets/panorama-web.webp') center/cover;color:#fff;overflow:hidden}.hero video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.overlay{position:absolute;inset:0;background:linear-gradient(90deg,#15261ed9,#172a1e66 75%),linear-gradient(0deg,#17271d88,transparent 60%)}.hero-inner{position:relative;z-index:2;display:flex;flex-direction:column;justify-content:center;height:100%;padding:175px 9% 75px;max-width:880px}.kicker{text-transform:uppercase;letter-spacing:.22em;font-size:11px;font-weight:700}.hero h1{font-size:clamp(44px,5.5vw,78px);letter-spacing:-.04em;margin:22px 0}.hero p{font-size:clamp(16px,1.6vw,20px);max-width:560px}.hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:25px}.hero-actions .cta.secondary{border-color:#ffffffb0;color:#fff}.hero-caption{position:absolute;z-index:2;bottom:26px;right:5%;font-size:11px;letter-spacing:.15em;text-transform:uppercase}.section{padding:clamp(68px,8vw,120px) 7%}.section-inner{max-width:1200px;margin:auto}.section-title{text-align:center;max-width:760px;margin:0 auto 45px}.section-title h2{font-size:clamp(32px,3.8vw,53px);margin:15px 0}.section-title p{color:#5d675d}.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.tile img{width:100%;height:310px;object-fit:cover;display:block}.tile h3{font-size:23px;margin:23px 0 8px}.tile p{color:#5d675d;font-size:14px;margin:0}.split{display:grid;grid-template-columns:1fr 1fr;align-items:center;background:var(--mist)}.split img{width:100%;height:580px;object-fit:cover;display:block}.split-content{padding:10% 12%}.split-content h2{font-size:clamp(31px,3.4vw,49px)}.split-content p{color:#566358}.destinations{display:grid;grid-template-columns:repeat(3,1fr);gap:28px 36px}.destination{border-top:1px solid #a7b1a2;padding-top:18px}.destination h3{font-size:21px;margin:0 0 8px}.destination p{color:#566358;font-size:14px;margin:0}.gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.gallery a{display:block;overflow:hidden}.gallery img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block;transition:transform .3s}.gallery a:hover img{transform:scale(1.035)}.reviews{background:#ede9de;text-align:center}.review-links{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-top:24px}.booking{background:var(--ink);color:white;text-align:center}.booking h2{font-size:clamp(32px,4vw,52px)}.booking p{color:#e1e5de}.booking-links{display:flex;justify-content:center;gap:14px;flex-wrap:wrap;margin-top:22px}.footer{background:#1d2b22;color:white;text-align:center;padding:50px 20px}.footer img{width:160px;height:auto;object-fit:contain}.footer p{font-size:13px;color:#d1d9cf}.owner-hero{background:var(--cream);text-align:center;padding:85px 7% 55px}.owner-hero h1{font-size:clamp(40px,5vw,68px)}.owner-hero p{max-width:720px;margin:auto;color:#566358}.owner-banner{width:100%;height:min(62vw,670px);object-fit:cover;object-position:center 43%;display:block}.owner-pair{display:grid;grid-template-columns:1fr 1fr;gap:7%;align-items:center;max-width:1200px;margin:auto}.owner-pair img{width:100%;height:550px;object-fit:cover}.owner-pair h2{font-size:clamp(32px,3.5vw,49px)}.owner-pair p{color:#566358}.owner-vision{background:var(--mist);text-align:center}.owner-vision p{max-width:800px;margin:auto;color:#566358}.owner-photos{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.owner-photos img{width:100%;height:330px;object-fit:cover}.owner-photos figcaption{font-size:13px;margin-top:10px;color:#566358}.owner-photos figure{margin:0}a:focus-visible,button:focus-visible{outline:3px solid #e3bb73;outline-offset:4px}@media(max-width:900px){.header{padding:12px 20px}.logo img{width:96px}.menu-toggle{display:block;border:1px solid #ffffff8a;background:#1f332b;color:white;padding:12px;font:600 13px 'DM Sans';cursor:pointer}.nav{display:none;position:absolute;top:100%;left:0;right:0;background:#26352c;padding:18px 22px;flex-direction:column;align-items:stretch;gap:0}.nav.open{display:flex}.nav a{padding:13px 8px}.nav .cta{margin-top:8px}.hero{min-height:630px}.hero-inner{padding:150px 7% 80px}.grid3,.destinations{grid-template-columns:repeat(2,1fr)}.split{grid-template-columns:1fr}.split img{height:390px}.split-content{padding:65px 8%}.gallery{grid-template-columns:repeat(3,1fr)}.owner-pair{grid-template-columns:1fr}.owner-pair img{height:400px}.owner-photos{grid-template-columns:repeat(2,1fr)}}@media(max-width:560px){.hero h1{font-size:44px}.hero{height:87svh}.hero-caption{display:none}.grid3,.destinations{grid-template-columns:1fr}.gallery{grid-template-columns:repeat(2,1fr)}.tile img{height:270px}.owner-banner{height:430px}.owner-photos{grid-template-columns:1fr}.owner-photos img{height:300px}.section{padding:65px 7%}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero video{display:none}*{transition:none!important}}

/* Brand refinement: horizontal, transparent, accessible lockup */
.header{min-height:110px;background:linear-gradient(180deg,rgba(16,32,24,.96),rgba(16,32,24,.76) 72%,rgba(16,32,24,.1))}
.header.solid{background:#26352c}
.logo.brand-lockup{display:flex;align-items:center;gap:12px;min-width:0;text-decoration:none;color:#f7f4ec}
.logo.brand-lockup img.brand-barn{width:100px;height:74px;max-height:none;object-fit:contain;flex:none}
.brand-words{display:flex;flex-direction:column;gap:7px;white-space:nowrap}
.brand-words strong{font:400 clamp(16px,1.7vw,25px)/1 Georgia,serif;letter-spacing:.085em}
.brand-words small{font:600 9px/1.2 Arial,sans-serif;letter-spacing:.19em;color:#e0d9c9}
@media(max-width:1100px){.logo.brand-lockup img.brand-barn{width:76px;height:56px}.brand-words strong{font-size:17px}.brand-words small{font-size:8px;letter-spacing:.12em}.nav{gap:10px}.nav a{font-size:11px}}
@media(max-width:560px){.header{min-height:84px}.logo.brand-lockup{gap:6px}.logo.brand-lockup img.brand-barn{width:58px;height:48px}.brand-words strong{font-size:14px;letter-spacing:.035em}.brand-words small{font-size:7px;letter-spacing:.06em}}

/* Gauntlet finish: maintain generous wordmark legibility and avoid nav collisions */
@media (min-width:901px) and (max-width:1250px){.header{flex-wrap:wrap;justify-content:center;row-gap:6px;padding-top:14px;padding-bottom:16px}.nav{justify-content:center;flex-wrap:wrap}.hero-inner{padding-top:205px}}
@media(max-width:900px){.header{min-height:90px}.logo.brand-lockup img.brand-barn{width:74px;height:58px}.brand-words strong{font-size:17px}}
@media(max-width:420px){.brand-words strong{font-size:13px}.brand-words small{font-size:7px}.logo.brand-lockup img.brand-barn{width:53px;height:44px}.menu-toggle{padding:10px 8px;font-size:12px}}
@media(prefers-reduced-motion:reduce){.gallery img{transform:none!important}}

/* V11 PHOTO-SAFE RULES: preserve full compositions and people. */
.owner-banner {display:block;width:min(100%,760px);height:auto;max-height:none;object-fit:contain;object-position:center;margin:0 auto;}
.owner-pair img {width:100%;height:auto;max-height:none;object-fit:contain;object-position:center;display:block;}
.owner-photos img {width:100%;height:auto;max-height:none;object-fit:contain;object-position:center;display:block;}
.owner-photos figure {align-self:start;}
.tile img {width:100%;height:auto;aspect-ratio:auto;object-fit:contain;display:block;}
.split img {width:100%;height:auto;max-height:none;object-fit:contain;display:block;}
.gallery {align-items:start;}
.gallery a {overflow:visible;align-self:start;}
.gallery img {width:100%;height:auto;aspect-ratio:auto;object-fit:contain;display:block;transition:none;}
.gallery a:hover img {transform:none;}
@media(max-width:900px){.owner-pair img,.split img {height:auto;max-height:none;}.owner-banner{height:auto;max-height:none;}}
@media(max-width:560px){.owner-banner{height:auto;max-height:none;}.owner-photos img,.tile img{height:auto;max-height:none;}}
/* Better rhythm for portrait and landscape photography together. */
.owner-banner-wrap {padding:0 7% 40px;background:var(--cream);}
.owner-banner-wrap img {box-shadow:0 12px 40px rgba(30,40,30,.09);}
.owner-photos {align-items:start;}
.owner-photos figure {background:#fff;padding:10px 10px 14px;box-shadow:0 5px 20px rgba(30,40,30,.05);}
.owner-photos figcaption {padding:0 4px;}

/* V13 review candidate: complete barn mark, stable media and motion controls. */
.logo.brand-lockup img.brand-barn{width:78px;height:65px}
.video-toggle{position:absolute;z-index:4;right:5%;bottom:58px;background:#182b23e8;color:white;border:1px solid #fff9;padding:11px 15px;font:600 12px 'DM Sans',sans-serif;cursor:pointer;min-height:44px}
.video-toggle[hidden]{display:none}
.stay-facts{font-weight:700;color:var(--ink)!important}
.owner-photos{grid-template-columns:repeat(2,minmax(0,1fr));max-width:850px;margin:auto}
.nav a[aria-current="page"]{text-decoration:underline;text-underline-offset:5px}
@media(max-width:900px){.logo.brand-lockup img.brand-barn{width:65px;height:55px}.owner-pair{row-gap:28px}}
@media(max-width:560px){.logo.brand-lockup img.brand-barn{width:48px;height:42px}.hero{height:auto;min-height:760px}.hero-inner{min-height:760px;padding:135px 7% 110px}.hero h1{font-size:clamp(36px,10.3vw,44px)}.hero-actions{gap:12px;margin-top:18px}.hero-actions .cta{width:100%}.video-toggle{bottom:22px;right:7%}.owner-photos{grid-template-columns:1fr}.owner-banner{max-width:480px}.owner-pair{gap:28px}}

/* V14: restore the complete original farm logo. No redrawn barn. */
.logo.original-logo{display:block;flex:0 0 auto}
.logo.original-logo img{display:block;width:140px;height:140px;max-height:none;object-fit:contain}
.header{min-height:168px}
@media(min-width:901px) and (max-width:1250px){.header{min-height:220px}.hero-inner{padding-top:250px}}
@media(max-width:900px){.header{min-height:128px}.logo.original-logo img{width:100px;height:100px}.hero-inner{padding-top:165px}}
@media(max-width:560px){.hero-inner{padding-top:165px}}

/* V15: personal story and gardens, using the existing farm visual language. */
.bio-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(28px,5vw,72px)}
.bio{border-top:1px solid #a7b1a2;padding-top:26px}.bio h3{font-size:30px;margin:0 0 18px}.bio p{color:#566358}
.text-link{display:inline-block;font-weight:700;text-underline-offset:5px;line-height:1.7;padding:8px 0}
.growing-preview,.flowers-section{background:var(--mist)}
.growing-highlights,.plant-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
.growing-highlights h3,.plant-card h3{font-size:24px}.growing-highlights p{color:#566358}.center{text-align:center;margin:32px 0 0}
.plant-card{padding:28px;background:#eeebe3;border-top:2px solid var(--gold)}.plant-card h3{margin:0 0 18px}.plant-card ul{padding-left:20px;line-height:1.9}.plant-card p{font-size:14px;color:#566358}
.flower-layout{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);align-items:center;gap:clamp(28px,6vw,80px)}
.flower-layout figure{margin:0}.flower-layout img{display:block;width:100%;height:auto}.flower-layout figcaption{font-size:13px;color:#566358;margin-top:12px}.flower-layout h2,.kitchen-garden h2{font-size:clamp(32px,3.8vw,53px)}
.flower-list{padding-left:20px;line-height:2}.kitchen-garden{max-width:850px}.garden-note{font-size:14px;color:#566358;border-top:1px solid #bcc5b7;padding-top:20px}
@media(max-width:1000px){.growing-highlights,.plant-grid{grid-template-columns:1fr}.flower-layout{grid-template-columns:1fr}.flower-layout figure{max-width:440px;margin:auto}.bio-grid{gap:32px}}
@media(max-width:700px){.bio-grid{grid-template-columns:1fr}}
