/* self-hosted fonts (src/fonts, SIL Open Font License) */
@font-face{font-family:"Cormorant Garamond";font-style:normal;font-weight:400;font-display:swap;src:url(fonts/cormorant-garamond-latin-400-normal.woff2) format("woff2")}@font-face{font-family:"Cormorant Garamond";font-style:normal;font-weight:500;font-display:swap;src:url(fonts/cormorant-garamond-latin-500-normal.woff2) format("woff2")}@font-face{font-family:"Cormorant Garamond";font-style:normal;font-weight:600;font-display:swap;src:url(fonts/cormorant-garamond-latin-600-normal.woff2) format("woff2")}@font-face{font-family:"Cormorant Garamond";font-style:italic;font-weight:400;font-display:swap;src:url(fonts/cormorant-garamond-latin-400-italic.woff2) format("woff2")}@font-face{font-family:"Inter";font-style:normal;font-weight:400;font-display:swap;src:url(fonts/inter-latin-400-normal.woff2) format("woff2")}@font-face{font-family:"Inter";font-style:normal;font-weight:500;font-display:swap;src:url(fonts/inter-latin-500-normal.woff2) format("woff2")}@font-face{font-family:"Inter";font-style:normal;font-weight:600;font-display:swap;src:url(fonts/inter-latin-600-normal.woff2) format("woff2")}
:root{--radius:6px;--river:#2f5d73;--river-d:#1d3b4a;--gold:#c9a24a;--forest:#2f4a36;--cream:#f6f1e7;--paper:#fbf8f2;--ink:#22261f;--mute:#5d6358;--serif:"Cormorant Garamond",Georgia,serif;--sans:"Inter",system-ui,-apple-system,Segoe UI,Roboto,sans-serif;--max:1180px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:400 18px/1.7 var(--sans);-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}a{color:var(--river)}a:hover{color:var(--forest)}
.skip{position:absolute;left:-999px}.skip:focus{left:12px;top:12px;z-index:99;background:#fff;padding:8px 12px}
h1,h2,h3{font-family:var(--serif);font-weight:500;line-height:1.08;letter-spacing:-.01em;margin:0 0 .4em}
h1{font-size:clamp(2.6rem,7vw,5.5rem)}h2{font-size:clamp(2rem,4.4vw,3.5rem)}h3{font-size:1.75rem}
.eyebrow{font:600 .74rem/1 var(--sans);letter-spacing:.22em;text-transform:uppercase;color:var(--gold);margin:0 0 1.1rem}
.wrap{max-width:var(--max);margin:0 auto;padding:0 24px}.narrow{max-width:720px}
.lead{font-family:var(--serif);font-size:clamp(1.35rem,2.4vw,1.85rem);line-height:1.45;color:var(--forest)}
section{padding:clamp(64px,10vw,140px) 0}
/* nav */
.nav{position:fixed;inset:0 0 auto;z-index:50;display:flex;align-items:center;justify-content:space-between;padding:18px 24px;transition:background .4s,box-shadow .4s;color:#fff}
.nav.solid,.nav.plain{background:rgba(251,248,242,.94);backdrop-filter:blur(10px);color:var(--ink);box-shadow:0 1px 0 rgba(0,0,0,.06)}
.brand{font-family:var(--serif);font-size:1.35rem;color:inherit;text-decoration:none;letter-spacing:.02em}.brand small{display:block;font:500 .62rem/1 var(--sans);letter-spacing:.24em;text-transform:uppercase;opacity:.75;margin-top:3px}
.nav ul{list-style:none;display:flex;gap:22px;margin:0;padding:0}.nav ul a{color:inherit;text-decoration:none;font-size:.82rem;letter-spacing:.06em}.nav ul a[aria-current]{border-bottom:1px solid var(--gold)}@media(min-width:981px){.nav ul{align-items:center}.nav ul li.cta a{display:inline-block;white-space:nowrap;padding:9px 16px;border-radius:999px;background:var(--forest);color:#fff;letter-spacing:.08em;text-transform:uppercase;font-size:.72rem;box-shadow:0 4px 14px rgba(20,30,20,.18);transition:background .3s}.nav ul li.cta a:hover{background:var(--river)}}@media(min-width:981px) and (max-width:1199px){.nav ul li.cta{display:none}}
.menu{display:none;background:none;border:1px solid currentColor;color:inherit;border-radius:999px;padding:7px 14px;font:inherit;font-size:.8rem}
@media(max-width:980px){.menu{display:block}.nav ul{position:fixed;inset:64px 0 auto;flex-direction:column;gap:0;background:var(--paper);padding:10px 24px 24px;display:none;box-shadow:0 20px 40px rgba(0,0,0,.12)}.nav ul.open{display:flex}.nav ul a{display:block;padding:12px 0;color:var(--ink);font-size:1rem;border-bottom:1px solid #e8e1d3}}
/* hero */
.hero{position:relative;height:100svh;min-height:560px;display:flex;align-items:flex-end;color:#fff;overflow:hidden;padding:0}
.hero video,.hero .poster{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,20,15,.35) 0%,rgba(10,20,15,0) 30%,rgba(10,20,15,.15) 55%,rgba(10,20,15,.72) 100%)}
.hero .wrap{position:relative;z-index:2;padding-bottom:clamp(48px,9vh,110px);width:100%}
.hero p.sub{font-family:var(--serif);font-size:clamp(1.25rem,2.4vw,1.8rem);max-width:640px;margin:0 0 28px;opacity:.95}
.hero .eyebrow{color:#ecd9a4}
.btn{display:inline-block;padding:14px 26px;border-radius:999px;border:1px solid currentColor;text-decoration:none;font-size:.85rem;letter-spacing:.08em;text-transform:uppercase;margin:0 10px 10px 0;transition:all .3s}
.btn.solid{background:var(--gold);border-color:var(--gold);color:#1d1a10}.btn.solid:hover{background:#d8b45f;color:#1d1a10}
.hero .btn{color:#fff}.hero .btn:hover{background:#fff;color:var(--ink)}
.vidtoggle{position:absolute;z-index:3;right:20px;bottom:20px;background:rgba(0,0,0,.35);color:#fff;border:1px solid rgba(255,255,255,.5);border-radius:999px;padding:8px 14px;font:inherit;font-size:.75rem;cursor:pointer}
.pagehero{height:72svh;min-height:440px}
/* facts */
.facts{background:var(--forest);color:var(--cream);padding:0}
.facts ul{list-style:none;margin:0 auto;padding:34px 24px;display:grid;grid-template-columns:repeat(5,1fr);gap:18px;max-width:var(--max)}
.facts li{border-left:1px solid rgba(246,241,231,.25);padding-left:16px}.facts b{display:block;font:500 1.55rem/1.1 var(--serif);color:#f0dca6}.facts span{font-size:.8rem;letter-spacing:.04em;opacity:.85}
@media(max-width:860px){.facts ul{grid-template-columns:1fr 1fr}.facts li:last-child{grid-column:span 2}}
/* split */
.split{display:grid;grid-template-columns:1.05fr 1fr;gap:clamp(32px,6vw,90px);align-items:center}.split.rev>:first-child{order:2}
@media(max-width:860px){.split{grid-template-columns:1fr}.split.rev>:first-child{order:0}}
figure{margin:0}figure img{width:100%;height:auto;border-radius:var(--radius)}figcaption{font:italic 400 .95rem/1.45 var(--serif);color:var(--mute);margin-top:10px}
.tall img{aspect-ratio:4/5;object-fit:cover}.wide img{aspect-ratio:16/9;object-fit:cover}
.bleed{padding:0}.bleed img{width:100%;height:78vh;min-height:360px;object-fit:cover}
/* inquiry flow: brochure row, showing form, contact bar */
.brochure{background:var(--paper);border-bottom:1px solid #e6dfcf}.brochure .wrap{display:grid;grid-template-columns:repeat(5,1fr)}
.brochure a{display:block;padding:26px 18px 24px;text-decoration:none;color:var(--forest);font:500 1.45rem/1.15 var(--serif);border-left:1px solid #e6dfcf;transition:background .3s}.brochure a:first-child{border-left:0}
.brochure a span{display:block;font:600 .68rem/1 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:#8a6a1f;margin-bottom:9px}.brochure a:hover{background:var(--cream);color:var(--river)}
.brochure a.go{background:var(--forest);color:#f6f1e7}.brochure a.go span{color:#ecd9a4}.brochure a.go:hover{background:#26402e;color:#fff}
@media(max-width:860px){.brochure .wrap{grid-template-columns:1fr 1fr;padding:0}.brochure a{border-left:0;border-top:1px solid #e6dfcf;padding:18px 24px;font-size:1.25rem}.brochure a:nth-child(even){border-left:1px solid #e6dfcf}.brochure a.go{grid-column:1/-1}}
form.inquire{display:grid;grid-template-columns:1fr 1fr;align-items:end;gap:16px 18px;background:#fffdf8;border:1px solid #e3dccb;border-radius:12px;padding:clamp(20px,3vw,32px)}
form.inquire label{display:block;font-size:.8rem;letter-spacing:.06em;color:var(--forest);font-weight:500}form.inquire label span{color:var(--mute);font-weight:400;letter-spacing:0}form.inquire .wide,form.inquire .fine,form.inquire button{grid-column:1/-1}
form.inquire input,form.inquire select,form.inquire textarea{display:block;margin-top:6px;font:400 1rem/1.4 var(--sans);color:var(--ink);background:#fff;border:1px solid #cfc6b3;border-radius:8px;padding:11px 12px;min-height:46px;width:100%}
form.inquire input:focus,form.inquire select:focus,form.inquire textarea:focus{outline:2px solid #c9a24a;outline-offset:1px;border-color:#c9a24a}
form.inquire button{justify-self:start;margin:4px 0 0;cursor:pointer;font:inherit;font-size:.85rem;letter-spacing:.08em;text-transform:uppercase}form.inquire .fine{font-size:.75rem;color:var(--mute);margin:0}
.callline a{white-space:nowrap}@media(max-width:600px){form.inquire{grid-template-columns:1fr}}
form.inquire .check{display:flex;align-items:center;gap:10px;font-size:.95rem;letter-spacing:0;color:var(--ink);cursor:pointer}form.inquire .check input{width:22px;height:22px;min-height:0;margin:0;padding:0;accent-color:var(--forest)}
form.inquire .hp{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}form.inquire{position:relative}form.inquire .cf-turnstile{grid-column:1/-1;min-height:65px}
form.inquire .formmsg{grid-column:1/-1;margin:0;font-size:.9rem;color:#9a3b1e}form.inquire .formmsg:empty{display:none}form.inquire button[disabled]{opacity:.6;cursor:wait}
.thanks{background:#fffdf8;color:var(--ink);border:1px solid #e3dccb;border-radius:12px;padding:clamp(22px,3vw,34px)}.thanks h3{font:500 2rem/1.15 var(--serif);color:var(--forest);margin:0 0 8px}.thanks .eyebrow{color:#8a6a1f}.thanks a{color:var(--forest)}
.river .visit{align-items:center}.river .callline a{color:#f0dca6}
form.inquire[hidden],.thanks[hidden]{display:none}.river .thanks .eyebrow,.thanks .eyebrow{color:#8a6a1f}.river .thanks a{color:var(--forest)}
.actbar{position:fixed;z-index:45;right:20px;bottom:20px;display:flex;gap:8px;opacity:0;transform:translateY(16px);pointer-events:none;transition:opacity .4s,transform .4s}
.actbar.on{opacity:1;transform:none;pointer-events:auto}.actbar a{background:rgba(251,248,242,.96);color:var(--forest);border:1px solid #d9cfb9;border-radius:999px;padding:11px 18px;font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;text-decoration:none;box-shadow:0 8px 24px rgba(20,30,20,.14)}
.actbar a.go{background:var(--forest);border-color:var(--forest);color:#fff}.actbar a:hover{background:var(--cream);color:var(--river)}.actbar a.go:hover{background:#26402e;color:#fff}
@media(min-width:861px){.actbar a:not(.go){display:none}}
@media(max-width:860px){.actbar{left:0;right:0;bottom:0;gap:0;background:rgba(251,248,242,.97);border-top:1px solid #e3dccb;padding:8px 10px calc(8px + env(safe-area-inset-bottom));backdrop-filter:blur(8px)}.actbar a{flex:1;text-align:center;box-shadow:none;margin:0 4px;padding:12px 4px;font-size:.72rem;letter-spacing:.05em;white-space:nowrap;border-radius:10px}.actbar a.go{flex:1.7}footer{padding-bottom:110px}}
@media(prefers-reduced-motion:reduce){.actbar{transition:none}}
.cream{background:var(--cream)}.river{background:var(--river-d);color:#eef2f1}.river .lead{color:#f0dca6}.river a{color:#f0dca6}
blockquote{margin:0;font-family:var(--serif);font-size:clamp(1.5rem,3vw,2.3rem);line-height:1.35;color:var(--forest)}blockquote cite{display:block;margin-top:16px;font:500 .78rem/1 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--mute);font-style:normal}
.river blockquote{color:#f6f1e7}
.list{columns:2;column-gap:40px;padding-left:1.1em}.list li{margin:0 0 6px}@media(max-width:600px){.list{columns:1}}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:28px}.card{background:#fff;border-radius:var(--radius);overflow:hidden;box-shadow:0 1px 2px rgba(0,0,0,.05)}.card .b{padding:22px 24px 26px}.card img{aspect-ratio:3/2;object-fit:cover;width:100%}
.landwater{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,4vw,56px);margin-top:26px}.landwater>div{background:#fffdf8;border:1px solid #e3dccb;border-radius:12px;padding:clamp(20px,3vw,32px)}.landwater h3{margin-bottom:14px}.landwater dl.spec dd{font-variant-numeric:tabular-nums}
.grown{list-style:none;margin:0;padding:0}.grown li{padding:14px 0;border-bottom:1px solid #e3dccb}.grown li:first-child{padding-top:0}.grown b{display:block;font:500 1.25rem/1.3 var(--serif);color:var(--forest);margin-bottom:2px}
.pair.two{grid-template-columns:1fr 1fr;align-self:start}
@media(max-width:860px){.landwater{grid-template-columns:1fr}}
.note{font-size:.82rem;color:var(--mute);border-top:1px solid #e3dccd;padding-top:14px;margin-top:28px}
.timeline{border-left:1px solid var(--gold);margin:0;padding:0 0 0 28px;list-style:none}.timeline li{position:relative;margin:0 0 34px}.timeline li:before{content:"";position:absolute;left:-34px;top:.6em;width:11px;height:11px;border-radius:50%;background:var(--gold)}.timeline b{font:500 1.35rem var(--serif);display:block;color:var(--forest)}
.placeholder{border:1px dashed #c8bda4;padding:28px;border-radius:var(--radius);color:var(--mute);background:#fffdf8}
.mp{position:relative;display:block;width:100%;aspect-ratio:16/9;margin-top:24px;padding:0;border:0;border-radius:var(--radius);overflow:hidden;background:#1f2a1e;cursor:pointer}.mp img{width:100%;height:100%;object-fit:cover;opacity:.82;transition:opacity .4s,transform 1.2s cubic-bezier(.2,.7,.2,1)}.mp:hover img{opacity:.95;transform:scale(1.02)}
.mp span{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);background:rgba(251,248,242,.95);color:var(--forest);border-radius:999px;padding:14px 26px;font:500 .85rem/1 var(--sans);letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;box-shadow:0 10px 30px rgba(0,0,0,.25)}
.mp.on{cursor:default}.mp iframe{position:absolute;inset:0;width:100%;height:100%;border:0}@media(max-width:600px){.mp{aspect-ratio:4/5}}@media(prefers-reduced-motion:reduce){.mp img{transition:none}}
/* gallery */
.filters{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 30px}.filters button{font:inherit;font-size:.8rem;border:1px solid #cfc6b3;background:none;border-radius:999px;padding:7px 15px;cursor:pointer}.filters button[aria-pressed=true]{background:var(--forest);color:#fff;border-color:var(--forest)}
.masonry{columns:3 300px;column-gap:16px}.masonry a{display:block;margin:0 0 16px;break-inside:avoid;overflow:hidden;border-radius:var(--radius)}.masonry img{transition:transform .8s cubic-bezier(.2,.7,.2,1)}.masonry a:hover img{transform:scale(1.04)}
.jnav{display:flex;flex-wrap:wrap;gap:6px 22px;margin-top:26px;padding-top:18px;border-top:1px solid #e3dccb}.jnav a{font:500 1.15rem/1.6 var(--serif);color:var(--forest);text-decoration:none;border-bottom:1px solid transparent}.jnav a:hover{border-bottom-color:#c9a24a}
.chapter{padding-top:clamp(40px,6vw,80px);padding-bottom:0;scroll-margin-top:70px}.chapter h2{margin-bottom:.2em}.chapter .narrow{color:var(--mute);margin:0 0 26px}
.masonry.jlead{columns:auto;margin-bottom:16px}.masonry.jlead a{margin:0}.masonry.jlead img{width:100%;max-height:82vh;object-fit:cover;border-radius:var(--radius)}
.masonry.jrest img{width:100%;height:auto;border-radius:var(--radius)}@media(max-width:600px){.masonry.jlead{margin-bottom:8px}}
.level{margin-top:34px}.level h3{margin-bottom:4px}.level p{margin:0 0 16px;color:var(--mute)}
.lb{position:fixed;inset:0;z-index:100;background:rgba(12,16,13,.94);display:none;align-items:center;justify-content:center;flex-direction:column}.lb.on{display:flex}.lb img{max-width:92vw;max-height:82vh;object-fit:contain}.lb p{color:#e8e2d6;font:italic 400 1.1rem/1.4 var(--serif);margin:14px 16px 12px;text-align:center}.lbcta{color:#fff;border:1px solid rgba(255,255,255,.55);border-radius:999px;padding:9px 18px;font:500 .74rem/1 var(--sans);letter-spacing:.12em;text-transform:uppercase;text-decoration:none}.lbcta:hover,.lbcta:focus-visible{background:#fff;color:var(--forest)}.lb button{position:absolute;background:none;border:0;color:#fff;font-size:2.2rem;cursor:pointer;padding:16px}.lb .x{top:6px;right:10px}.lb .p{left:6px}.lb .n{right:6px}
/* films */
.yt{position:relative;aspect-ratio:16/9;background:#000 center/cover no-repeat;border-radius:var(--radius);overflow:hidden;cursor:pointer;border:0;width:100%;padding:0}.yt:after{content:"";position:absolute;inset:0;background:rgba(0,0,0,.25);transition:.3s}.yt:hover:after{background:rgba(0,0,0,.1)}.yt span{position:absolute;z-index:2;left:50%;top:50%;transform:translate(-50%,-50%);width:76px;height:76px;border-radius:50%;background:rgba(255,255,255,.9)}.yt span:after{content:"";position:absolute;left:31px;top:24px;border:14px solid transparent;border-left:22px solid var(--forest);border-right:0}.yt iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
video.film{width:100%;border-radius:var(--radius);background:#000}
/* at a glance + interactive map + loop controls */
.glance{background:var(--paper)}.glance h2{max-width:14ch}
.figs{list-style:none;margin:36px 0 0;padding:0;display:grid;grid-template-columns:repeat(6,1fr);border-top:1px solid #e3dccb;border-bottom:1px solid #e3dccb}
.figs li{padding:26px 18px 24px;border-left:1px solid #e3dccb}.figs li:first-child{border-left:0;padding-left:0}
.figs b{display:block;font:500 clamp(2rem,3.4vw,2.9rem)/1 var(--serif);color:var(--forest);font-variant-numeric:lining-nums tabular-nums;letter-spacing:-.01em}
.figs span{display:block;margin-top:10px;font-size:.78rem;line-height:1.45;color:var(--mute)}
.glancegrid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px 44px;margin-top:40px}.glancegrid h3{font-size:1.35rem;margin-bottom:6px}.glancegrid p{margin:0;font-size:.95rem}
.glance .fine{font-size:.75rem;color:var(--mute);margin-top:34px;border-top:1px solid #e3dccb;padding-top:14px}
@media(max-width:980px){.figs{grid-template-columns:repeat(3,1fr)}.figs li:nth-child(4){border-left:0;padding-left:0}.figs li:nth-child(n+4){border-top:1px solid #e3dccb}.glancegrid{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.figs{grid-template-columns:1fr 1fr}.figs li{padding:18px 12px 16px}.figs li:nth-child(odd){border-left:0;padding-left:0}.figs li:nth-child(4){border-left:1px solid #e3dccb;padding-left:12px}.figs li:nth-child(n+3){border-top:1px solid #e3dccb}.glancegrid{grid-template-columns:1fr;gap:22px}}
.mapwrap{position:relative;width:fit-content;max-width:100%;margin:0 auto}.maphots{position:absolute;inset:0;pointer-events:none}
.hot{position:absolute;width:30px;height:30px;margin:-15px 0 0 -15px;border-radius:50%;border:0;padding:0;background:transparent;cursor:pointer;pointer-events:auto}
.hot:before{content:"";position:absolute;inset:7px;border-radius:50%;background:#c9a24a;box-shadow:0 0 0 3px rgba(251,248,242,.9),0 2px 8px rgba(0,0,0,.45);transition:transform .3s}
.hot:hover:before,.hot.on:before{transform:scale(1.25)}.hot.on:after{content:"";position:absolute;inset:-6px;border-radius:50%;border:2px solid #f0dca6;animation:ring 1.8s ease-out infinite}
@keyframes ring{from{transform:scale(.6);opacity:1}to{transform:scale(1.5);opacity:0}}
.mapui{padding:22px 24px 6px;max-width:var(--max);margin:0 auto}.mapui .eyebrow{color:#ecd9a4;margin-bottom:12px}
.maphint{color:#d6dedb;font-size:.9rem;line-height:1.5;margin:-4px 0 14px}
.ghhint{color:var(--mute);font-size:.92rem;margin:26px 0 -14px}
.mappill{position:absolute;right:14px;top:14px;margin:0;background:rgba(18,26,20,.8);color:#fbf8f2;font-size:.78rem;letter-spacing:.03em;line-height:1.3;padding:7px 13px;border-radius:999px;pointer-events:none;transition:opacity .5s}.mapwrap.used .mappill{opacity:0}
.maphots.pulse .hot:after{content:"";position:absolute;inset:-6px;border-radius:50%;border:2px solid #f0dca6;animation:ring 1.3s ease-out 2}
.mapchips{display:flex;flex-wrap:wrap;gap:8px}.mapchips button{font:inherit;font-size:.8rem;color:#f6f1e7;background:rgba(255,255,255,.06);border:1px solid rgba(246,241,231,.35);border-radius:999px;padding:8px 14px;min-height:36px;cursor:pointer}
.mapchips button:hover{background:rgba(255,255,255,.14)}.mapchips button[aria-pressed=true]{background:#f0dca6;color:#1d1a10;border-color:#f0dca6}
.mappop{position:absolute;z-index:5;width:300px;max-width:calc(100% - 16px);background:var(--paper);color:var(--ink);border-radius:10px;overflow:hidden;box-shadow:0 14px 40px rgba(0,0,0,.35)}
.mappop img{display:block;width:100%;height:150px;object-fit:cover}.mappop>div{padding:14px 16px 16px}.mappop h3{font-size:1.35rem;margin:0 0 4px;padding-right:30px}.mappop img+div h3{padding-right:0}.mappop p{margin:0 0 8px;font-size:.92rem}.mappop a{font-size:.8rem;letter-spacing:.08em;text-transform:uppercase}
.mappop .x{position:absolute;top:8px;right:8px;width:34px;height:34px;border-radius:50%;border:0;padding:0;background:rgba(251,248,242,.94);color:var(--ink);font-size:1.35rem;line-height:1;cursor:pointer;box-shadow:0 1px 4px rgba(0,0,0,.28)}
@media(max-width:600px){.hot{width:32px;height:32px;margin:-16px 0 0 -16px}.hot:before{inset:10px;box-shadow:0 0 0 2px rgba(251,248,242,.9),0 1px 5px rgba(0,0,0,.45)}.mappop{position:fixed;left:0!important;right:0;top:auto!important;bottom:0;width:auto;max-width:none;max-height:72svh;overflow:auto;z-index:60;border-radius:14px 14px 0 0;padding-bottom:env(safe-area-inset-bottom)}.mappop img{height:170px}}
figure.loop{position:relative}.looptoggle{position:absolute;right:12px;bottom:12px;background:rgba(0,0,0,.42);color:#fff;border:1px solid rgba(255,255,255,.55);border-radius:999px;padding:7px 14px;font:inherit;font-size:.72rem;letter-spacing:.06em;cursor:pointer}
@media(prefers-reduced-motion:reduce){.hot.on:after{animation:none}.hot:before{transition:none}.maphots.pulse .hot:after{display:none}.mappill{transition:none}}
section[id^=ch-],#studio,#barn,#sauna{scroll-margin-top:64px}.rail{display:none}@media(min-width:1100px){.rail{position:fixed;z-index:40;right:14px;top:50%;transform:translateY(-50%);display:flex;flex-direction:column;gap:2px;padding:8px 2px;border-radius:999px;background:rgba(251,248,242,.88);box-shadow:0 4px 18px rgba(20,30,20,.10);opacity:0;pointer-events:none;transition:opacity .4s}.rail.on{opacity:1;pointer-events:auto}.rail a{position:relative;display:flex;align-items:center;min-height:26px;padding:0 4px;color:var(--mute);text-decoration:none;font:600 .68rem/1 var(--sans);letter-spacing:.1em}.rail a b{font-weight:600;width:26px;text-align:center;padding:4px 0;border-right:2px solid #d9cfb9;transition:border-color .3s,color .3s}.rail a span{position:absolute;right:calc(100% + 10px);top:50%;margin-top:-13px;pointer-events:none;opacity:0;transform:translateX(6px);transition:opacity .25s,transform .25s;background:rgba(251,248,242,.96);color:var(--forest);padding:6px 10px;border-radius:999px;box-shadow:0 4px 14px rgba(20,30,20,.12);white-space:nowrap;letter-spacing:.04em;font-weight:500;text-transform:none;font-size:.78rem}.rail a:hover span,.rail a:focus-visible span{opacity:1;transform:none}.rail a.on b{color:var(--forest);border-right-color:var(--forest)}.rail a:hover b{color:var(--forest)}}@media(prefers-reduced-motion:reduce){.rail,.rail a span,.rail a b{transition:none}}
/* buyers */
.price{font:500 clamp(2.6rem,6vw,4.2rem)/1 var(--serif);color:var(--forest);margin:.1em 0 .2em}
dl.spec{display:grid;grid-template-columns:auto 1fr;gap:10px 28px;margin:0}dl.spec dt{font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;color:var(--mute);padding-top:3px}dl.spec dd{margin:0}
/* footer */
footer{background:#1b2a20;color:#cfd6cc;padding:70px 0 40px;font-size:.88rem}footer a{color:#f0dca6}footer .cols{display:grid;grid-template-columns:2fr 1fr 1fr;gap:40px}@media(max-width:760px){footer .cols{grid-template-columns:1fr}}footer .brand{color:#fff;font-size:1.6rem}footer ul{list-style:none;padding:0;margin:0}footer li{margin:0 0 6px}footer .fine{margin-top:44px;border-top:1px solid rgba(255,255,255,.12);padding-top:18px;font-size:.75rem;opacity:.7}
.next{display:block;text-decoration:none;color:inherit;background:var(--cream);padding:70px 0;text-align:center}.next span{font:500 clamp(1.8rem,4vw,3rem) var(--serif);color:var(--forest)}.next:hover span{color:var(--river)}
/* home story chapters */
.promise{padding:clamp(48px,7vw,90px) 0 0}.promise .lead{font-size:clamp(1.5rem,2.8vw,2.15rem);line-height:1.35;text-align:center;margin:0 auto}
.chap h2{max-width:22ch}.chap .narrow{margin-bottom:0}
.bcards{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.bcard{display:block;background:#fffdf8;border:1px solid #e3dccb;border-radius:var(--radius);overflow:hidden;color:inherit;text-decoration:none;transition:box-shadow .3s}.bcard:hover{box-shadow:0 12px 30px rgba(20,30,20,.1)}
.striphead{display:flex;justify-content:space-between;align-items:baseline;gap:16px}.striphead .note{margin:0}.istrip{display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 36px)/3.15);gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding:0 2px;padding:2px 2px 14px;margin-top:8px;overscroll-behavior-x:contain}.istrip:focus-visible{outline:2px solid var(--river);outline-offset:4px}.itile{scroll-snap-align:start;display:block;color:inherit;text-decoration:none;background:#fffdf8;border:1px solid #e3dccb;border-radius:var(--radius);overflow:hidden}.itile img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover}.itile b{display:block;font:500 1.25rem/1.25 var(--serif);color:var(--forest);padding:12px 14px 2px}.itile span{display:block;font-size:.85rem;color:var(--mute);padding:0 14px 14px}@media(max-width:760px){.istrip{grid-auto-columns:82%;gap:12px}}
.bcard img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover}.bcard h3{font-size:1.35rem;margin:16px 18px 4px}.bcard p{margin:0 18px 18px;font-size:.9rem;color:var(--mute)}
.strip{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;margin-top:28px}.strip img{width:100%;height:auto;aspect-ratio:3/4;object-fit:cover;border-radius:var(--radius)}.strip figcaption b{display:block;font:500 1.2rem/1.2 var(--serif);color:var(--forest);margin-bottom:2px}
table.drive{border-collapse:collapse;margin:6px 0 16px;width:100%;font-variant-numeric:tabular-nums}table.drive th,table.drive td{text-align:left;padding:10px 0;border-bottom:1px solid #e3dccb;vertical-align:top}table.drive th{font:500 1.15rem/1.3 var(--serif);color:var(--forest);padding-right:18px;white-space:nowrap}
@media(max-width:980px){.bcards{grid-template-columns:1fr 1fr}}
@media(max-width:860px){.strip{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:62%;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:8px}.strip figure{scroll-snap-align:start}}
@media(max-width:600px){.bcards{gap:10px}.bcard h3{font-size:1.15rem;margin:12px 12px 2px}.bcard p{margin:0 12px 12px;font-size:.82rem}}
/* reveal */
.rv{opacity:0;transform:translateY(28px);transition:opacity 1.1s cubic-bezier(.2,.7,.2,1),transform 1.1s cubic-bezier(.2,.7,.2,1)}.rv.in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.rv{opacity:1;transform:none;transition:none}html{scroll-behavior:auto}.masonry img{transition:none}}
.no-js .rv{opacity:1;transform:none}
.oldgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:30px;margin-top:36px}
.oldsite{background:#fff;border-radius:var(--radius);box-shadow:0 18px 40px rgba(30,40,30,.14);overflow:hidden}.oldsite .bar{height:26px;background:#ece6da;display:flex;gap:6px;align-items:center;padding:0 12px}.oldsite .bar i{width:9px;height:9px;border-radius:50%;background:#cfc5b2}.oldsite img{border-radius:0}.oldsite figcaption{padding:10px 14px 14px;margin:0}
.card .ph{aspect-ratio:3/2;background:linear-gradient(135deg,#e9e1cf,#d8cdb3)}.montage{text-align:center;padding:60px 20px;font-family:var(--serif);font-size:1.3rem}
.nav ul{gap:16px}
.card img{height:auto}.card figure img{aspect-ratio:3/2;object-fit:cover}
.masonry img{width:100%;height:auto}
/* r1 fixes */
.hero .eyebrow{color:#fff8e8;text-shadow:0 1px 8px rgba(0,0,0,.55);white-space:nowrap}
.hero .eyebrow .long{display:inline}
.hero .factline{font:500 .9rem/1.5 var(--sans);letter-spacing:.06em;margin:0 0 22px;text-shadow:0 1px 8px rgba(0,0,0,.55)}
.lb img:not([src]){display:none}
.lb{touch-action:pan-y pinch-zoom}.lb img{-webkit-user-drag:none;user-select:none}[data-g][hidden]{display:none}.gfilt{margin:26px 0 0}.gfilt+.jnav{margin-top:18px}
@media(max-width:980px){.nav{padding:14px 24px}.menu{margin-right:0}}
.propmap{padding:0;background:var(--forest)}.propmap img{display:block;width:auto;max-width:100%;height:auto;max-height:min(78vh,calc(100vh - 150px));max-height:min(78svh,calc(100svh - 150px))}  /* the whole map fits on one screen */.propmap figcaption{color:var(--cream);padding:12px 24px 18px;font-size:.85rem;text-align:center}
.specs{display:grid;grid-template-columns:max-content 1fr;gap:10px 28px;margin:22px 0 0}.specs dt{font-weight:600}.specs dd{margin:0}@media(max-width:600px){.specs{grid-template-columns:1fr;gap:2px}.specs dd{margin-bottom:10px}}
.loop{margin:28px 0 0}.loopv{position:relative}.loop video{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;border-radius:var(--radius);background:#1f2a1e}
/* page background loops (tools/farmvideos.py bg): the video covers the hero photo; the pause control sits above the text */
.hero .bgv{z-index:0}.hero .wrap{position:relative;z-index:1}.hero>.looptoggle{z-index:2;right:16px;bottom:16px}
.vband{position:relative;padding:0;height:min(62vh,640px);overflow:hidden;background:#1f2a1e}.vband video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
@media(max-width:980px){.nav nav{position:absolute;right:0;top:0;width:0;height:0}}
@media(max-width:600px){.masonry.gal{columns:2;column-gap:8px}.masonry.gal a{margin-bottom:8px}}
.factline .nw{white-space:nowrap}@media(max-width:700px){.factline>span{display:block}.factline .sep{display:none}}
.hero .eyebrow{font-size:.82rem;color:#fff;text-shadow:0 1px 3px rgba(0,0,0,.8),0 0 14px rgba(0,0,0,.6)}
.feat .split{grid-template-columns:1.6fr 1fr;align-items:center}.feat .split.rev{grid-template-columns:1fr 1.6fr}.feat figure.big img{width:100%;height:auto;border-radius:var(--radius)}
@media(max-width:860px){.feat .split,.feat .split.rev{grid-template-columns:1fr}}
.pair{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.pair.three{grid-template-columns:repeat(3,1fr)}.pair img{width:100%;height:100%;aspect-ratio:4/3;object-fit:cover;border-radius:var(--radius);display:block}
@media(max-width:600px){.pair,.pair.three{grid-template-columns:repeat(2,1fr);gap:8px}}
section{padding-top:clamp(56px,7vw,96px);padding-bottom:clamp(56px,7vw,96px)}
.pair.five{grid-template-columns:repeat(5,1fr)}@media(max-width:860px){.pair.five{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.masonry{columns:2;column-gap:8px}.masonry a{margin-bottom:8px}}
.lic{margin:8px 0 6px;padding-left:1.1em}.lic li{margin:2px 0}
.hero:before{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(90deg,rgba(10,20,15,.55) 0%,rgba(10,20,15,.28) 38%,rgba(10,20,15,0) 70%)}
.why{background:var(--paper)}.whygrid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin-top:26px}.whygrid h3{margin:0 0 8px}.whygrid p{margin:0}
.rcard{display:block;padding:24px;border:1px solid #e3dccb;border-radius:var(--radius);background:#fffdf8;color:inherit;text-decoration:none;transition:box-shadow .3s}.rcard:hover{box-shadow:0 10px 30px rgba(0,0,0,.08)}.rcard span{display:inline-block;margin-top:12px;font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;color:var(--forest)}
#documents .whygrid>.rcard:last-child:nth-child(3n+1){grid-column:1/-1}
.factslegal{background:var(--paper);border-top:1px solid #e3dccb}.fl{display:grid;grid-template-columns:repeat(3,1fr);gap:0 32px;margin:26px 0 18px}.fl>div{padding:14px 0;border-bottom:1px solid #e3dccb}.fl dt{font:600 .7rem/1.3 var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--mute);margin-bottom:4px}.fl dd{margin:0;font-variant-numeric:tabular-nums}@media(max-width:860px){.fl{grid-template-columns:1fr 1fr}}@media(max-width:600px){.fl{grid-template-columns:1fr}}
.spfig img{width:100%;height:auto;border-radius:var(--radius)}.spfig>a{display:block}.spfig figcaption{margin-top:10px;font-size:.9rem;color:var(--mute)}.spkey{columns:2 280px;column-gap:40px;margin:26px 0 0;padding-left:1.2em}.spkey li{break-inside:avoid;margin:0 0 10px}.spkey b{display:block;font:500 1.15rem/1.3 var(--serif);color:var(--forest)}
@page{size:letter;margin:.4in}@media print{.nav,.actbar,footer,.next,.noprint,.skip{display:none!important}body{background:#fff;font-size:9pt}.siteplan{padding:0!important}.siteplan .eyebrow{margin-bottom:4pt}.siteplan h1{font-size:22pt;margin:0 0 4pt}.siteplan .lead{font-size:11pt;margin:0 0 8pt;max-width:none}.spfig img{width:auto;max-width:100%;max-height:6.3in;margin:0 auto}.spkey{columns:3;column-gap:16pt;font-size:8pt;line-height:1.3;margin-top:8pt}.spkey li{margin:0 0 4pt}.spkey b{font-size:10pt}.siteplan .fine{font-size:7pt;margin-top:6pt}}
@media(max-width:860px){.whygrid{grid-template-columns:1fr;gap:18px}}
@media(max-width:600px){.cap8 .feat figure img,.cap8 figure.wide img,.cap8 figure.tall img{height:auto;aspect-ratio:var(--r,auto);object-fit:contain}.cap8 section{padding-top:32px;padding-bottom:32px}.cap8 .split{gap:18px}}body:has(main.cap8) .pagehero{height:56svh;min-height:380px}
@media(max-width:600px){footer .cols{display:grid;grid-template-columns:1fr 1fr;gap:14px}footer .cols>div:first-child{grid-column:1/-1}footer ul li a{font-size:.85rem}footer{padding-top:36px}.next{padding:36px 24px}}
.pair.five.six{grid-template-columns:repeat(6,1fr)}@media(max-width:860px){.pair.five.six{grid-template-columns:repeat(3,1fr)}}
@media(max-width:600px){.pair>a:last-child:nth-child(odd){grid-column:1/-1}.pair>a:last-child:nth-child(odd) img{aspect-ratio:16/9}}
@media(max-width:600px){.hero .eyebrow{letter-spacing:.1em;white-space:normal;overflow-wrap:anywhere;max-width:100%;line-height:1.5}.nav .brand small{white-space:normal}}
.river figcaption,.river .note{color:#d6dedb}.zonemap{margin:22px 0 0}.zonemap img{display:block;width:100%;height:auto;border-radius:10px;background:#fbf8f2;cursor:zoom-in}.zonemap figcaption{font-size:.78rem;line-height:1.5;margin-top:10px}.zonemap figcaption a{color:inherit}.river .spec dt{color:#cfd8d5}
@media(max-width:600px){.pagehero .poster[src*="back-acreage-looking-north"]{object-position:12% 50%}}
/* polish r2 */
.eyebrow{color:#8a6a1f}.hero .eyebrow,.river .eyebrow,.propmap .eyebrow,footer .eyebrow{color:#ecd9a4}.hero .eyebrow{color:#fff}
:focus-visible{outline:2px solid #c9a24a;outline-offset:3px}
@media(min-width:981px){.nav{padding-left:max(24px,calc((100vw - var(--max))/2 + 24px));padding-right:max(24px,calc((100vw - var(--max))/2 + 24px))}}
.masonry.tiles{columns:auto;display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.masonry.tiles a{margin:0}.masonry.tiles img{aspect-ratio:4/3;object-fit:cover;height:100%}
.masonry.tiles[data-n="1"]{grid-template-columns:1fr;max-width:860px}.masonry.tiles[data-n="1"] img{aspect-ratio:16/9}
.masonry.tiles[data-n="2"]{grid-template-columns:repeat(2,1fr)}.masonry.tiles[data-n="4"]{grid-template-columns:repeat(4,1fr)}
.masonry.tiles:not([data-n="4"])>a:last-child:nth-child(3n+1):not(:first-child){grid-column:span 3}.masonry.tiles:not([data-n="4"])>a:last-child:nth-child(3n+1):not(:first-child) img{aspect-ratio:21/9}
@media(max-width:860px){.masonry.tiles,.masonry.tiles[data-n="4"]{grid-template-columns:repeat(2,1fr);gap:8px}.masonry.tiles[data-n="1"]{grid-template-columns:1fr}.masonry.tiles>a{grid-column:auto!important}.masonry.tiles>a:last-child:nth-child(odd):not(:first-child){grid-column:1/-1!important}.masonry.tiles>a:last-child:nth-child(odd):not(:first-child) img{aspect-ratio:16/9}.masonry.tiles img{aspect-ratio:4/3}}
.cards.seasons{grid-template-columns:repeat(3,1fr)}@media(max-width:980px){.cards.seasons{grid-template-columns:repeat(2,1fr)}}@media(max-width:600px){.cards.seasons{grid-template-columns:1fr}}
.cards.seasons .b p:not(.eyebrow){display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.h3{font-size:1.6rem;margin-top:1.2em}
.shortfilms{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:30px 28px;margin-top:26px}.shortfilms figure{margin:0}.shortfilms video{display:block;width:100%;height:auto;aspect-ratio:16/9;border-radius:var(--radius);background:#1d2a20}.shortfilms figcaption{margin-top:10px;font-size:.9rem;color:var(--mute)}.shortfilms figcaption b{display:block;font:500 1.3rem/1.3 var(--serif);color:var(--ink)}
.rcard a{color:inherit}.rcard p a{color:var(--river)}
@media(max-width:760px){footer li a,.eyebrow a{display:inline-block;padding:6px 0}footer li{margin:0}}
picture{display:contents}
.ferry{margin:6px 0 14px;padding:12px 16px;border-left:3px solid var(--river);background:rgba(47,93,115,.07)}.ferry b{color:var(--river)}.drive.access th[scope=col]{font:600 .7rem/1.2 var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--mute);padding-bottom:8px}.drive.access td{padding-right:14px}
@media(max-width:600px){.drive.access th[scope=col]{display:none}.drive.access tr{display:block;padding:10px 0;border-bottom:1px solid #e3dccb}.drive.access th,.drive.access td{display:block;border:0;padding:2px 0}.drive.access td:nth-of-type(1):before{content:"Distance: "}.drive.access td:nth-of-type(2):before{content:"Gravel: "}.drive.access td:nth-of-type(3):before{content:"Crosses the Fraser: "}}
/* Motion (design system): a slow push-in on page-hero stills and a gentle parallax on full-bleed photos; none on reduced motion */
@keyframes pushin{from{transform:scale(1.06)}to{transform:scale(1)}}.pagehero .poster{animation:pushin 14s cubic-bezier(.2,.6,.3,1) both}
.bleed{overflow:hidden}.bleed img{display:block;transform:translate3d(0,var(--py,0px),0) scale(1.12);will-change:transform}
@media(prefers-reduced-motion:reduce){.pagehero .poster{animation:none}.bleed img{transform:none;will-change:auto}}
/* Water page: how the water moves (spring -> brook -> pump house / pond) */
.wflow{list-style:none;margin:30px 0 0;padding:0;display:grid;grid-template-columns:1fr 1fr 2.1fr;gap:34px;align-items:center}.wflow>li{position:relative}.wflow>li:not(:last-child):after{content:"\2192";position:absolute;right:-26px;top:50%;transform:translateY(-50%);font:400 1.6rem/1 var(--serif);color:var(--gold)}
.wflow>li>b,.wflow ul li{display:block}.wflow>li:not(.wsplit),.wflow ul li{background:#fffdf8;border:1px solid #e3dccb;border-radius:var(--radius,6px);padding:18px 18px 16px}.wflow b{display:block;font:500 1.35rem/1.2 var(--serif);color:var(--forest);margin-bottom:6px}.wflow span{display:block;font-size:.92rem;line-height:1.5;color:var(--mute)}
.wflow ul{list-style:none;margin:0;padding:0;display:grid;gap:14px}.wflow4{grid-template-columns:1fr 1fr 2fr 1.2fr}
@media(max-width:860px){.wflow{grid-template-columns:1fr;gap:30px}.wflow>li:not(:last-child):after{content:"\2193";right:auto;left:50%;top:auto;bottom:-27px;transform:translateX(-50%)}}
img.zoom{cursor:zoom-in}img.zoom:focus-visible{outline:2px solid var(--river);outline-offset:3px}
.tourch{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0 4px}.tourch button{font:500 .78rem/1 var(--sans);letter-spacing:.06em;border:1px solid #cfc6b3;background:none;border-radius:999px;padding:8px 14px;cursor:pointer;color:var(--forest)}.tourch button:hover,.tourch button:focus-visible{background:var(--forest);color:#fff;border-color:var(--forest)}

/* buyers page: buildings and services table (a stacked card per building on phones) */
table.improve{border-collapse:collapse;width:100%;margin-top:26px;font-variant-numeric:tabular-nums}table.improve th,table.improve td{text-align:left;padding:12px 18px 12px 0;border-bottom:1px solid #e3dccb;vertical-align:top}table.improve thead th{font:600 .74rem/1.2 var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--mute)}table.improve tbody th{font:500 1.2rem/1.3 var(--serif);color:var(--forest);white-space:nowrap}table.improve td.na::before{content:"\2014";color:#b9b09c}
@media(max-width:700px){table.improve thead{display:none}table.improve tr{display:block;padding:12px 0;border-bottom:1px solid #e3dccb}table.improve th,table.improve td{display:block;border:0;padding:2px 0}table.improve td.na{display:none}table.improve td[data-k]::before{content:attr(data-k) ": ";font-weight:600}}
.wildlife{max-width:720px;margin:72px 0 0}.wildlife h2{margin-top:.1em}.wildlife.withphoto{max-width:none;display:grid;grid-template-columns:1.1fr 1fr;gap:clamp(28px,5vw,70px);align-items:center}.weagle{margin:0}.weagle img{width:100%;height:auto;border-radius:var(--radius)}@media(max-width:860px){.wildlife.withphoto{grid-template-columns:1fr}}
.filmband{padding-top:0}.filmband figure{margin:0}.filmband figcaption{font-size:.85rem;color:var(--mute);margin-top:10px}
