
/* ============ THE LAND PAGE (/the-land) ============ */
.hero.landhero::before{background-image:url('../Images/2026/land-river-fall.jpg');background-image:image-set(url('../Images/2026/land-river-fall.webp') type('image/webp'),url('../Images/2026/land-river-fall.jpg') type('image/jpeg'));background-position:center 55%}
@media(max-width:760px){.hero.landhero::before{background-image:url('../Images/2026/land-river-fall-800.jpg');background-image:image-set(url('../Images/2026/land-river-fall-800.webp') type('image/webp'),url('../Images/2026/land-river-fall-800.jpg') type('image/jpeg'))}}
.land-inner>*{min-width:0}
.land-facts.four{gap:1.4rem 2.2rem}
@media(max-width:520px){.land-facts.four>div{flex:0 0 calc(50% - 1.1rem)}}

/* area map */
.area{background:var(--cream)}
.area-head{text-align:center;max-width:760px;margin:0 auto 2rem}
.area-head h2{font-size:clamp(2.1rem,4.4vw,3.5rem);color:var(--pine-deep);margin-bottom:1rem}
.area-head h2 .script{color:var(--gold-deep);display:block;font-size:clamp(2.8rem,5.6vw,4.6rem)}
.area-head p{color:var(--olive);font-weight:300;max-width:56ch;margin:0 auto}
.am-chips{display:flex;flex-wrap:wrap;gap:.55rem;justify-content:center;margin:0 auto 1.6rem}
.am-chips button{font:600 .7rem/1 var(--body);letter-spacing:.16em;text-transform:uppercase;padding:.85em 1.2em;border-radius:999px;border:1px solid var(--sand2);background:transparent;color:var(--pine-deep);cursor:pointer;display:inline-flex;align-items:center;gap:.55em;transition:background .2s,color .2s,border-color .2s}
.am-chips button i{width:9px;height:9px;border-radius:50%;display:inline-block;background:var(--c)}
.am-chips button:hover{border-color:var(--pine)}
.am-chips button.on{background:var(--pine-deep);border-color:var(--pine-deep);color:var(--cream)}
.am-wrap{display:grid;grid-template-columns:340px 1fr;border-radius:6px;overflow:hidden;box-shadow:0 24px 60px rgba(27,36,29,.16);border:1px solid var(--sand2);background:#F6F2E8;height:min(78vh,720px);min-height:520px}
.am-side{display:flex;flex-direction:column;min-height:0;border-right:1px solid var(--sand2)}
.am-home-card{padding:1.2rem 1.3rem;background:var(--pine-deep);color:var(--cream)}
.am-home-card .k{font-size:.62rem;letter-spacing:.24em;text-transform:uppercase;color:var(--gold);font-weight:600}
.am-home-card .n{font-family:var(--display);font-size:1.45rem;line-height:1.1;margin:.3rem 0 .25rem}
.am-home-card .a{font-size:.8rem;color:#cfd2c8;font-weight:300}
.am-home-card button{margin-top:.75rem;background:none;border:0;color:var(--gold);font:600 .66rem var(--body);letter-spacing:.18em;text-transform:uppercase;cursor:pointer;padding:0}
#areaList{list-style:none;overflow-y:auto;flex:1;padding:.4rem 0;overscroll-behavior:contain}
.am-item[hidden]{display:none}
.am-item button{width:100%;display:flex;align-items:center;gap:.8rem;padding:.62rem 1.2rem;border:0;background:none;text-align:left;cursor:pointer;font-family:var(--body);color:var(--ink);transition:background .15s}
.am-item button:hover,.am-item.on button{background:var(--sand)}
.am-dot{flex:none;width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center}
.am-dot svg,.am-pin svg{width:15px;height:15px;fill:none;stroke:#fff;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.am-txt{display:flex;flex-direction:column;min-width:0}
.am-name{font-size:.88rem;font-weight:600;line-height:1.25}
.am-meta{font-size:.72rem;color:#6b6c55;letter-spacing:.02em}
.am-map{position:relative;min-height:0}
#areaMapCanvas{position:absolute;inset:0}
.am-fallback{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;text-align:center;padding:2rem;background:var(--cream);color:var(--olive)}
.am-fallback[hidden]{display:none}
.am-swipe{display:none;font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:#7b7a63;text-align:center;padding:.6rem 0 0;order:3;background:#F6F2E8}
.am-note a{border-bottom:1px solid var(--gold)}
.am-note{text-align:center;font-size:.76rem;color:#7b7a63;margin:1.2rem auto 0;max-width:70ch;font-weight:300}

/* markers */
.am-pin{width:30px;height:38px;border:0;padding:0;background:none;cursor:pointer;position:relative;transition:transform .2s,opacity .2s}
.am-pin::before{content:'';position:absolute;left:1px;top:0;width:28px;height:28px;border-radius:50% 50% 50% 0;transform:rotate(-45deg);background:var(--c);box-shadow:0 3px 8px rgba(27,36,29,.35);border:2px solid #F6F2E8;box-sizing:border-box}
.am-pin svg{position:absolute;left:7.5px;top:6.5px}
.am-pin:hover,.am-pin.am-sel{transform:scale(1.18);z-index:3}
.am-pin.am-off{opacity:0;pointer-events:none}
.am-home{width:62px;height:62px;position:relative;filter:drop-shadow(0 4px 10px rgba(27,36,29,.45));z-index:4}
.am-home svg{width:100%;height:100%}
.am-home-tag{position:absolute;left:50%;top:100%;transform:translate(-50%,4px);background:var(--gold);color:var(--pine-deep);font:700 .6rem var(--body);letter-spacing:.2em;text-transform:uppercase;padding:.35em .7em;border-radius:2px;white-space:nowrap}

/* popup card */
.am-pop .mapboxgl-popup-content{padding:0;border-radius:6px;box-shadow:0 14px 34px rgba(27,36,29,.28);background:#FBF8F1;font-family:var(--body)}
.am-pop .mapboxgl-popup-close-button{font-size:20px;width:30px;height:30px;color:var(--pine-deep);right:2px;top:2px}
.am-card{padding:1.05rem 1.15rem 1.1rem}
.am-cat{font-size:.6rem;letter-spacing:.22em;text-transform:uppercase;font-weight:700;margin-bottom:.35rem}
.am-card h3{font-size:1.3rem;color:var(--pine-deep);line-height:1.1;margin-bottom:.45rem;padding-right:1.2rem}
.am-card p{font-size:.84rem;line-height:1.5;color:var(--ink);font-weight:300;margin-bottom:.55rem}
.am-addr{font-size:.76rem;color:#6b6c55}
.am-drive{font-size:.76rem;color:var(--pine);font-weight:600;margin-top:.2rem}
.am-via{display:block;font-weight:400;color:#7b7a63;font-size:.72rem;margin-top:.15rem}
.am-dir{display:inline-flex;gap:.4em;margin-top:.7rem;font-size:.66rem;letter-spacing:.18em;text-transform:uppercase;font-weight:700;color:var(--pine-deep);border-bottom:1.5px solid var(--gold);padding-bottom:2px}
.mapboxgl-ctrl-group{border-radius:4px!important}

@media(max-width:960px){
  .am-wrap{grid-template-columns:1fr;grid-template-rows:auto 62vh auto;height:auto}
  .am-side{display:contents}
  .am-home-card{order:0}
  .am-map{order:1;height:62vh;min-height:380px}
  #areaList{order:2;display:flex;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;gap:.6rem;padding:.8rem;border-top:1px solid var(--sand2);scrollbar-width:thin}
  .am-item{flex:0 0 min(78%,300px);scroll-snap-align:start}
  .am-item button{background:#FBF8F1;border:1px solid var(--sand2);border-radius:4px;height:100%;padding:.7rem .8rem}
  .am-swipe{display:block}
}
@media(max-width:560px){.am-chips{justify-content:flex-start;flex-wrap:nowrap;overflow-x:auto;padding-bottom:.3rem;scrollbar-width:none}.am-chips button{flex:none}}

/* seasons */
.seasons{background:var(--pine-deep);color:var(--cream)}
.seasons .area-head h2{color:var(--cream)}
.seasons .area-head h2 .script{color:var(--gold)}
.seasons .area-head p{color:#cfd2c8}
.season-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.2rem;margin-top:2.6rem}
.season{border-top:2px solid var(--gold);padding:1.4rem 0 0}
.season .when{font-size:.66rem;letter-spacing:.22em;text-transform:uppercase;color:var(--gold);font-weight:600}
.season h3{font-size:1.9rem;margin:.4rem 0 .7rem}
.season p{font-size:.92rem;font-weight:300;color:#d9d4c6;line-height:1.6}
@media(max-width:960px){.season-grid{grid-template-columns:1fr 1fr;gap:2rem 1.6rem}}
@media(max-width:520px){.season-grid{grid-template-columns:1fr}}

/* getting here */
.directions .dir-grid{display:grid;grid-template-columns:1fr 1.15fr;gap:clamp(2rem,6vw,5rem);align-items:start}
.directions h2{font-size:clamp(2.1rem,4.4vw,3.4rem);color:var(--pine-deep);margin-bottom:1.2rem}
.directions h2 .script{color:var(--gold-deep);display:block;font-size:clamp(2.8rem,5.5vw,4.4rem)}
.dir-addr{font-style:normal;background:var(--pine-deep);color:var(--cream);border-radius:4px;padding:1.4rem 1.5rem;margin:1.4rem 0}
.dir-addr .n{font-family:var(--display);font-size:1.5rem;display:block;margin-bottom:.3rem}
.dir-addr .a{font-weight:300;color:#d9d4c6}
.dir-actions{display:flex;gap:.8rem;flex-wrap:wrap}
.dir-steps{list-style:none;counter-reset:s;margin-bottom:2rem}
.dir-steps li{counter-increment:s;position:relative;padding:0 0 1.3rem 3rem;color:var(--ink);font-weight:300}
.dir-steps li::before{content:counter(s);position:absolute;left:0;top:-.1rem;width:2rem;height:2rem;border-radius:50%;background:var(--gold);color:var(--pine-deep);font:600 .85rem/2rem var(--body);text-align:center}
.dir-steps strong{font-weight:600;color:var(--pine-deep)}
.dir-notes{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.dir-note{background:#F6F2E8;border:1px solid var(--sand2);border-radius:4px;padding:1.1rem 1.2rem}
.dir-note h3{font-family:var(--body);font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;font-weight:700;color:var(--rust);margin-bottom:.45rem}
.dir-note p{font-size:.86rem;font-weight:300;line-height:1.55}
.dir-note a{border-bottom:1px solid var(--gold)}
@media(max-width:960px){.directions .dir-grid{grid-template-columns:1fr}}
@media(max-width:520px){.dir-notes{grid-template-columns:1fr}}

