/* ===== Level-up 10/28 (cosmetic pass): Mountain Om. Same house style as the 10/27 level-ups:
   light display serif, letterspaced sans labels, square edges, header that floats over the hero, dark bands.
   Palette from Kim's logo + photos: forest night, pine, logo-sun beige, warm sand page.
   Contrast: ink on sand 14.9, pine on sand 8.6, white on pine 9.4, sun on night 10.1. */
:root{
  --night:#1C241F; --pine:#3D4A3B; --pine-dark:#2B352A; --sun:#DCCFC2; --rule:#C2AE95;
  --cream:#F7F3EC; --sand-soft:#EFE8DD; --line:#E2D9CC; --ink:#1F211D; --muted:#5E625A; --clay:#94593F;
}
body{font-size:17px;line-height:1.74;background:var(--cream)}
h1,h2,h3{font-weight:300;letter-spacing:0}
h2{font-size:clamp(2.3rem,4.4vw,3.5rem);line-height:1.08}
h3{font-weight:400;font-size:1.7rem}
.section h2::after{content:"";display:block;width:56px;height:1px;background:var(--rule);margin-top:.5em}
.center h2::after,.callout h2::after{margin-left:auto;margin-right:auto}
.callout h2::after{display:none}
.eyebrow{font-size:.72rem;letter-spacing:.3em;color:var(--clay)}
.lead{color:var(--muted)}
.section{padding:clamp(84px,10vw,136px) 0}
.section.tight{padding:clamp(68px,8vw,104px) 0}
section[id]{scroll-margin-top:84px}

/* buttons: square, small caps feel */
.btn{border-radius:0;font-size:.72rem;letter-spacing:.24em;text-transform:uppercase;padding:16px 28px}
.btn-primary{background:var(--pine);border-color:var(--pine)}
.btn-primary:hover{background:var(--pine-dark);border-color:var(--pine-dark)}
.btn-ghost:hover{background:#fff;color:var(--ink);border-color:#fff}
.btn.sm{padding:11px 18px;font-size:.68rem}

/* header: transparent over the hero, cream once you scroll */
.site-header{position:fixed;left:0;right:0;top:0;background:transparent;border-bottom:1px solid transparent;backdrop-filter:none;-webkit-backdrop-filter:none;transition:background .35s,border-color .35s}
.site-header .wrap{height:84px}
.site-header .brand,.site-header .brand .wm,.site-header .brand .btag{color:#fff}
.site-header .nav{gap:22px}
.site-header .nav a{color:#fff;opacity:.92;font-size:.68rem;letter-spacing:.17em;text-transform:uppercase;white-space:nowrap}
.site-header .nav a:hover,.site-header .nav a.active{color:#fff;opacity:1}
.site-header .nav a.active{border-bottom-color:rgba(255,255,255,.7)}
.site-header .nav .btn{background:transparent;border-color:rgba(255,255,255,.8);color:#fff;padding:12px 16px;font-size:.66rem}
.site-header .menu-toggle{color:#fff;border-color:rgba(255,255,255,.7);border-radius:0;text-transform:uppercase;letter-spacing:.18em;font-size:.72rem}
.site-header.is-solid{background:rgba(247,243,236,.97);border-bottom-color:var(--line);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.site-header.is-solid .brand,.site-header.is-solid .brand .wm{color:var(--ink)}
.site-header.is-solid .brand .btag{color:var(--muted)}
.site-header.is-solid .nav a{color:var(--ink)}
.site-header.is-solid .nav a:hover,.site-header.is-solid .nav a.active{color:var(--pine)}
.site-header.is-solid .nav a.active{border-bottom-color:var(--pine)}
.site-header.is-solid .nav .btn{background:var(--pine);border-color:var(--pine);color:#fff}
.site-header.is-solid .menu-toggle{color:var(--ink);border-color:var(--line)}
body.no-hero{padding-top:84px}
@media (max-width:1180px){
  .site-header .nav{display:none;position:absolute;top:84px;left:0;right:0;background:var(--cream);flex-direction:column;align-items:flex-start;padding:22px 24px 28px;gap:18px;border-bottom:1px solid var(--line)}
  .site-header .nav.open{display:flex}
  .site-header .menu-toggle{display:block;background:none;padding:9px 14px;font-family:var(--sans)}
  .site-header .nav a,.site-header.is-solid .nav a{color:var(--ink)}
  .site-header .nav .btn{background:var(--pine);border-color:var(--pine);color:#fff}
}

/* hero */
.hero{min-height:100vh;min-height:100svh;align-items:flex-end}
.hero::before{background:linear-gradient(180deg,rgba(18,22,18,.55) 0%,rgba(18,22,18,.14) 30%,rgba(18,22,18,.1) 55%,rgba(18,22,18,.72) 100%)}
.hero .wrap{padding-top:150px;padding-bottom:clamp(84px,12vh,130px)}
.hero h1{font-weight:300;font-size:clamp(3.2rem,8vw,6.6rem);line-height:1;margin-bottom:.32em;text-shadow:0 1px 24px rgba(10,14,10,.3)}
.hero .eyebrow{color:#fff;opacity:.9;text-shadow:0 1px 12px rgba(10,14,10,.45)}
.hero p{font-size:clamp(1.05rem,1.5vw,1.25rem);letter-spacing:.01em}
.hero.short{min-height:68vh;min-height:68svh}
.hero.short h1{font-size:clamp(2.8rem,6.4vw,5rem)}
.hero-cue{position:absolute;left:50%;bottom:22px;width:1px;height:52px;background:linear-gradient(rgba(255,255,255,0),rgba(255,255,255,.85))}

/* hero zoom: the photo starts close and slowly eases back (Ken Burns), every page with a hero */
.hero{overflow:hidden;isolation:isolate}
.hero::after{content:"";position:absolute;inset:0;z-index:-1;background-image:inherit;background-size:cover;background-position:inherit;transform-origin:50% 60%;animation:mo-zoom 22s cubic-bezier(.2,.6,.2,1) both;will-change:transform}
.hero::before{z-index:0}
.hero .wrap{z-index:1}
@keyframes mo-zoom{from{transform:scale(1.14)}to{transform:scale(1)}}
@media (prefers-reduced-motion:reduce){.hero::after{animation:none}}

/* square, quieter surfaces */
.card,.split img,.exp img,table.sched,.callout,.event-row,.summary,.quote,.video-strip video,.vt video,.gallery img,table.price-table,.price-est,.pay-box,.email-preview{border-radius:0}
.card{border-color:transparent;background:#fff;transition:box-shadow .3s}
.card:hover{box-shadow:0 18px 40px -24px rgba(28,36,31,.35)}
.card img{transition:transform .8s ease}
.card:hover img{transform:scale(1.03)}
.card .body{padding:28px 28px 32px}
.card .price{font-size:.72rem;letter-spacing:.2em;text-transform:uppercase}
.card .more{font-size:.72rem;letter-spacing:.22em;text-transform:uppercase}
.sand{background:var(--sand-soft)}
.callout{border:0;border-left:2px solid var(--clay);background:#fff}
.pill{border-radius:0;letter-spacing:.18em;text-transform:uppercase;font-size:.68rem;background:transparent;border:1px solid var(--clay)}
table.sched th,.price-table th{letter-spacing:.22em}
.split img{box-shadow:none}

form.demo input,form.demo select,form.demo textarea,.cfield textarea{border-radius:0}
/* scheduled dates */
.event-row{border:0;border-bottom:1px solid var(--line);background:transparent;padding:24px 4px}
.event-list{gap:0;border-top:1px solid var(--line)}
.event-date .d{font-weight:300;font-size:3rem}
.event-date .m{letter-spacing:.26em}

/* dark bands */
.band{background:var(--night)}
.band .eyebrow{color:var(--sun)}
.band h2::after{background:var(--sun)}
#kind-words{background:var(--night);color:#DCDDD6}
#kind-words .eyebrow{color:var(--sun)}
#kind-words h2{color:#fff}
#kind-words h2::after{background:var(--sun)}
#kind-words .quote{background:transparent;border:0;border-top:1px solid rgba(220,207,194,.3);padding:26px 0 0}
#kind-words .quote p{color:#EFEDE6;font-weight:300;font-size:1.32rem}
#kind-words .quote .who{color:var(--sun)}
#kind-words .quote .who span{color:#A9ADA3}
#kind-words .quotes{gap:40px 56px}

/* footer */
footer{background:var(--night)}
footer h4{letter-spacing:.26em;color:var(--sun)}

@media (max-width:640px){
  .site-header .wrap{height:72px}
  .site-header .nav{top:72px}
  body.no-hero{padding-top:72px}
  .hero .wrap{padding-top:120px}
  .hero h1{font-size:clamp(2.8rem,13vw,3.8rem)}
  .section{padding:72px 0}
}
@media (prefers-reduced-motion:reduce){.card img,.card:hover img{transition:none;transform:none}}

/* ===== Wix-style motion (10/28 pt 2): hero parallax, photo slideshow, gentle reveal on scroll ===== */
.hero::after{translate:0 var(--py,0px)}
.reveal{opacity:0;transform:translateY(26px);transition:opacity .9s ease,transform .9s cubic-bezier(.2,.6,.2,1)}
.reveal.in{opacity:1;transform:none}
.slideshow{position:relative;height:min(82vh,760px);min-height:420px;overflow:hidden;background:var(--night)}
.slideshow .slide{position:absolute;inset:0;margin:0;opacity:0;transition:opacity 1.4s ease}
.slideshow .slide.is-on{opacity:1}
.slideshow .slide img{width:100%;height:100%;object-fit:cover}
.slideshow .slide.is-on img{animation:mo-slide 8s ease-out both}
@keyframes mo-slide{from{transform:scale(1.08)}to{transform:scale(1)}}
.slideshow::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(18,22,18,0) 55%,rgba(18,22,18,.55));pointer-events:none}
.slideshow .ss-cap{position:absolute;left:0;right:0;bottom:64px;z-index:2;text-align:center;color:#fff}
.slideshow .ss-cap .eyebrow{color:#fff;opacity:.9}
.slideshow .ss-cap h2{color:#fff;margin:0;text-shadow:0 1px 18px rgba(10,14,10,.35)}
.slideshow .ss-cap h2::after{display:none}
.ss-btn{position:absolute;top:50%;z-index:3;transform:translateY(-50%);width:52px;height:52px;border:1px solid rgba(255,255,255,.6);background:rgba(18,22,18,.18);color:#fff;font-size:1.6rem;line-height:1;cursor:pointer;display:grid;place-items:center;transition:background .25s}
.ss-btn:hover{background:rgba(18,22,18,.45)}
.ss-prev{left:24px}.ss-next{right:24px}
.ss-dots{position:absolute;left:0;right:0;bottom:26px;z-index:3;display:flex;justify-content:center;gap:10px}
.ss-dots button{width:9px;height:9px;border-radius:50%;border:1px solid #fff;background:transparent;padding:0;cursor:pointer}
.ss-dots button.on{background:#fff}
@media (max-width:640px){.slideshow{height:62vh;min-height:360px}.ss-btn{width:42px;height:42px;font-size:1.3rem}.ss-prev{left:10px}.ss-next{right:10px}.slideshow .ss-cap{bottom:56px;padding:0 24px}}
@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}.slideshow .slide.is-on img{animation:none}.hero::after{translate:none}}

/* parallax photo bands (Wix-style: photo moves slower than the page, text over it) */
.pband{position:relative;min-height:min(78vh,720px);display:grid;align-items:center;overflow:hidden;color:#fff;text-align:center;isolation:isolate}
.pband .pb-img{position:absolute;left:0;right:0;top:-18%;bottom:-18%;z-index:-2;background-size:cover;background-position:center;translate:0 var(--py,0px);will-change:translate}
.pband::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(18,22,18,.35),rgba(18,22,18,.55))}
.pband .pb-inner{padding:110px 24px;max-width:820px}
.pband .eyebrow{color:#fff;opacity:.9}
.pband h2{color:#fff;font-size:clamp(2.4rem,5vw,4rem);text-shadow:0 1px 20px rgba(10,14,10,.35)}
.pband h2::after{display:none}
.pband p{font-size:1.1rem;color:rgba(255,255,255,.92);max-width:560px;margin:0 auto 28px}
.pband .btn-ghost{color:#fff;border-color:rgba(255,255,255,.85)}
@media (max-width:640px){.pband{min-height:68vh}.pband .pb-inner{padding:84px 22px}}
@media (prefers-reduced-motion:reduce){.pband .pb-img{translate:none}}
/* keep grid columns from growing past the phone width */
.exp > *,.split > *,.grid > *,.book-grid > *,.quotes > *{min-width:0}
table.price-table{display:block;overflow-x:auto}
@media (min-width:561px){table.price-table{display:table}}
