/* Extracted from the site's shared page styles (scripts/patch-site.mjs) */

*{box-sizing:border-box}
html{scroll-behavior:smooth}
html{overflow-x:hidden}
body{margin:0;background:var(--bg-page);color:var(--text-primary);font-family:var(--font-body);overflow-x:hidden}
a{color:var(--tan-500);text-decoration:none}
a:hover{color:var(--tan-300)}
.eyebrow{font-family:var(--font-body);font-weight:600;font-size:13px;letter-spacing:.24em;text-transform:uppercase;color:var(--tan-500)}
.statement{font-family:var(--font-statement);font-weight:400;font-style:italic}
.rule{width:1px;height:56px;background:var(--tan-500);margin:0 auto}
.hrule{height:1px;background:linear-gradient(90deg,transparent,var(--tan-500),transparent);width:100%}
.wrap{max-width:1120px;margin:0 auto;padding:0 48px}
input,select,textarea{font-family:var(--font-body);background:var(--brown-900);border:1px solid var(--border-subtle);color:var(--text-primary);border-radius:var(--radius-md);padding:14px 16px;font-size:15px;width:100%}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--tan-500)}
label{display:block;font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--brown-400);margin-bottom:8px}
.land-map-el{width:100%;height:100%;background:var(--brown-900)}
.land-map-el .leaflet-control-zoom a{background:var(--brown-950);color:var(--cream-100);border-color:var(--border-subtle)}
.land-map-el .leaflet-control-zoom a:hover{background:var(--brown-900);color:var(--tan-500)}
.land-map-el .leaflet-control-attribution{background:rgba(10,11,13,0.55);color:rgba(255,255,255,0.7)}
.land-map-el .leaflet-control-attribution a{color:rgba(255,255,255,0.85)}
.land-map-el .leaflet-tile-pane{filter:grayscale(.2) sepia(.4) hue-rotate(48deg) saturate(1.35) brightness(.88) contrast(1.08)}

@media (max-width:1080px){nav.mainnav{display:none !important}.hamburger{display:inline-block !important}header{justify-content:center !important}header .hamburger{position:absolute !important;right:20px !important;top:50% !important;transform:translateY(-50%) !important}}
@media (max-width:860px){
  .site-header{padding:14px 20px !important}
  .hero-content{padding:0 24px !important}
  .hero-content h1{text-wrap:wrap !important}
  .site-logo{height:38px !important}
  .teaser-hero{min-height:78vh !important;padding-top:100px !important}
  .wrap{padding:0 24px}
  nav.mainnav{display:none !important}
  section{padding-left:24px !important;padding-right:24px !important;padding-top:72px !important;padding-bottom:72px !important}
  .shop-hero{padding-top:140px !important}
  .grid-2{grid-template-columns:1fr !important}
  .stack-mobile{grid-template-columns:1fr !important;gap:40px !important}
  .form-grid-2{grid-template-columns:1fr !important}
  .pill-grid{grid-template-columns:1fr !important}
  .months-grid{grid-template-columns:repeat(6,1fr) !important}
  .price-grid{grid-template-columns:1fr !important}
  .ecology-grid{grid-template-columns:1fr !important}
  .land-tilt{transform:none !important}
  .land-map-wrap{height:340px !important;box-shadow:0 16px 32px rgba(0,0,0,.4) !important}
  .land-info-card{width:min(260px,88vw) !important;padding:14px 16px !important}
  .inquire-side{border-left:none !important;padding-left:0 !important;margin-top:48px !important;padding-top:32px !important;border-top:1px solid var(--border-subtle)}
  header{padding-left:20px !important;padding-right:20px !important}
  .interest-popup{bottom:78px !important}
}
@media (min-width:861px){
  .mobile-inquire-bar{display:none !important}
}
@media (max-width:480px){
  .months-grid{grid-template-columns:repeat(4,1fr) !important}
}
.reveal{opacity:0;transform:translateY(38px) scale(.975);transition:opacity 1s cubic-bezier(.16,1,.3,1),transform 1s cubic-bezier(.16,1,.3,1)}
.reveal.in{opacity:1;transform:none}
.stagger.in{transition-delay:calc(var(--i, 0) * 90ms)}
.grain{position:fixed;inset:0;pointer-events:none;z-index:5;opacity:.06;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
.schematic{background-image:repeating-linear-gradient(45deg,rgba(255,255,255,0.035) 0,rgba(255,255,255,0.035) 1px,transparent 1px,transparent 26px)}
.corner{position:absolute;width:16px;height:16px;opacity:.65;pointer-events:none}
.lift{transition:transform .4s cubic-bezier(.2,.7,.2,1),box-shadow .4s ease}
.lift:hover{transform:translateY(-6px)}
.img-zoom{transition:transform .5s cubic-bezier(.2,.7,.2,1)}
.img-zoom img{transition:transform .6s cubic-bezier(.2,.7,.2,1)}
.img-zoom:hover img{transform:scale(1.05)}.clip-reveal{clip-path:inset(0 0 0 0)}.reveal.clip-reveal{clip-path:inset(0 100% 0 0);transition:clip-path 1.15s cubic-bezier(.16,1,.3,1),opacity 1.15s cubic-bezier(.16,1,.3,1)}.reveal.clip-reveal.in{clip-path:inset(0 0 0 0)}
@keyframes countPulse{0%{opacity:.4}100%{opacity:1}}
.count-in{animation:countPulse .6s ease}

.pill-btn{transition:transform .2s ease,border-color .2s ease,background .2s ease}
.pill-btn:hover{transform:translateY(-1px)}
.pill-btn:active{transform:scale(.98)}
@keyframes lightboxIn{from{opacity:0}to{opacity:1}}
.lightbox-in{animation:lightboxIn .25s ease}
@keyframes stepIn{from{opacity:0;transform:translateX(14px)}to{opacity:1;transform:none}}
.step-in{animation:stepIn .4s cubic-bezier(.2,.7,.2,1)}

/* Reduce Motion: drop the sliding/zooming, keep the gentle fades so the site still feels alive */
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto}
  .reveal,.reveal.clip-reveal{transform:none !important;clip-path:none !important;transition:opacity .9s ease !important}
  .lift:hover,.pill-btn:hover,.pill-btn:active,.img-zoom:hover img{transform:none !important}
  .mobile-menu-in,.mobile-link-in,.step-in{animation-name:mroFade !important}
}
@keyframes mroFade{from{opacity:0}to{opacity:1}}

/* page enter/exit transition */
body{opacity:1;transition:opacity .5s cubic-bezier(.4,0,.2,1)}
html.js-loading body{opacity:0}
html.js-leaving body{opacity:0;transition:opacity .28s ease}

/* nav link underline */
.nav-link{position:relative;padding-bottom:6px}
.nav-link::after{content:'';position:absolute;left:0;bottom:0;width:0;height:1px;background:var(--tan-500);transition:width .3s cubic-bezier(.2,.7,.2,1)}
.nav-link:hover::after,.nav-link.active::after{width:100%}

/* mobile menu entrance */
@keyframes menuDown{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}
.mobile-menu-in{animation:menuDown .28s cubic-bezier(.2,.7,.2,1)}
@keyframes linkIn{from{opacity:0;transform:translateX(-8px)}to{opacity:1;transform:none}}
.mobile-link-in{animation:linkIn .32s cubic-bezier(.2,.7,.2,1) both;animation-delay:calc(var(--i,0) * 60ms)}

/* logo + focus polish */
header a:has(img){transition:opacity .25s ease}
header a:has(img):hover{opacity:.82}
a:focus-visible,button:focus-visible{outline:2px solid var(--tan-500);outline-offset:3px;transition:outline-offset .15s ease}
