@font-face{font-family:"Playfair Display";src:url(fonts/playfair.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:Inter;src:url(fonts/inter-300.woff2) format("woff2");font-weight:300;font-display:swap}
@font-face{font-family:Inter;src:url(fonts/inter-400.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:Inter;src:url(fonts/inter-500.woff2) format("woff2");font-weight:500;font-display:swap}
:root{--brown:#3d2b1f;--muted:#7a6152;--gold:#c8860a;--gold-h:#e8a020;--cream:#faf6f0;--serif:"Playfair Display",Georgia,"Times New Roman",serif;--sans:Inter,system-ui,-apple-system,"Segoe UI",sans-serif}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{font-family:var(--sans);color:var(--brown);background:var(--cream);line-height:1.5;-webkit-font-smoothing:antialiased;min-height:100vh;display:flex;flex-direction:column}
main{flex:1}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
ul{list-style:none}
.serif{font-family:var(--serif);font-weight:400}
.wrap{max-width:72rem;margin:0 auto}
.eyebrow{font-size:.75rem;letter-spacing:.3em;text-transform:uppercase;color:var(--muted);margin-bottom:.75rem}
.h2{font-family:var(--serif);font-weight:400;font-size:2.25rem;line-height:1.2;color:var(--brown)}
@media(min-width:768px){.h2{font-size:3rem;line-height:1}}
.center{text-align:center}
.section{padding:6rem 1.5rem}
.bg-cream{background:var(--cream)}.bg-white{background:#fff}.bg-brown{background:var(--brown)}
.head{text-align:center;margin-bottom:4rem}
.lead{margin-top:1rem;color:var(--muted);max-width:36rem;margin-left:auto;margin-right:auto}

/* buttons */
.btn{display:inline-block;padding:.875rem 2rem;border-radius:9999px;font-size:.875rem;letter-spacing:.025em;transition:background-color .15s,border-color .15s;text-align:center;cursor:pointer;border:0;font-family:inherit}
.btn-gold{background:var(--gold);color:#fff}.btn-gold:hover{background:var(--gold-h)}
.btn-ghost{border:1px solid rgba(255,255,255,.7);color:#fff}.btn-ghost:hover{background:rgba(255,255,255,.1)}

/* media */
.media{position:relative;overflow:hidden;border-radius:.75rem}
.media picture,.media img,.fill{position:absolute;inset:0;width:100%;height:100%}
.media img,.fill img{object-fit:cover;width:100%;height:100%}

/* header */
.site-header{position:fixed;top:0;left:0;right:0;z-index:50;transition:background-color .3s,box-shadow .3s}
.site-header .bar{max-width:72rem;margin:0 auto;padding:1rem 1.5rem;display:flex;align-items:center;justify-content:space-between}
.logo{display:flex;flex-direction:column;line-height:1;font-family:var(--serif)}
.logo b{font-weight:400;font-size:1.56rem;letter-spacing:.025em;color:#fff;transition:color .3s}
.logo small{font-size:1.17rem;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.8);transition:color .3s;margin-top:2px}
.nav{display:none;align-items:center;gap:2rem}
.nav a:not(.btn){font-size:.875rem;letter-spacing:.025em;color:rgba(255,255,255,.9);transition:color .3s}
.nav a:not(.btn):hover{color:#fff}
.nav .btn{padding:.5rem 1.25rem;letter-spacing:0}
.burger{background:none;border:0;cursor:pointer;padding:.5rem;margin:-.5rem;display:flex;flex-direction:column;gap:6px}
.burger span{display:block;height:2px;width:24px;background:#fff;transition:background-color .3s}
@media(min-width:768px){.nav{display:flex}.burger{display:none}}
.site-header.solid{background:rgba(250,246,240,.95);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:0 1px 2px rgba(0,0,0,.05)}
.site-header.solid .logo b{color:var(--brown)}.site-header.solid .logo small{color:var(--muted)}
.site-header.solid .nav a:not(.btn){color:var(--brown)}.site-header.solid .nav a:not(.btn):hover{color:var(--gold)}
.site-header.solid .burger span{background:var(--brown)}
.mobile-nav{display:none;background:var(--cream);border-top:1px solid rgba(61,43,31,.1);padding:1rem 1.5rem 1.5rem}
.mobile-nav a{display:block;padding:.75rem 0;color:var(--brown);border-bottom:1px solid rgba(61,43,31,.08)}
.mobile-nav .btn{margin-top:1rem;width:100%;border:0;color:#fff}
.site-header.open{background:var(--cream)}
.site-header.open .mobile-nav{display:block}
.site-header.open .logo b{color:var(--brown)}.site-header.open .logo small{color:var(--muted)}.site-header.open .burger span{background:var(--brown)}
@media(min-width:768px){.mobile-nav{display:none!important}}

/* hero */
.hero{position:relative;height:100vh;height:100svh;min-height:640px;display:flex;align-items:stretch;justify-content:center;overflow:hidden}
.hero .fill{z-index:0}
.shade{position:absolute;inset:0;background:linear-gradient(to bottom,rgba(0,0,0,.3),rgba(0,0,0,.2),rgba(0,0,0,.5))}
.hero-copy{position:relative;z-index:1;text-align:center;color:#fff;padding:6.5rem 1.5rem 8.5rem;max-width:48rem;display:flex;flex-direction:column}
.hero-copy .ctas{margin-top:auto}
.hero .fill img{object-position:51% 50%}@media(max-width:767px){.hero .fill img{object-position:48% 50%}}
@media(max-width:767px){.hero .ctas{flex-direction:row;gap:.625rem}.hero .ctas .btn{flex:1;padding:.8rem .5rem;font-size:.8125rem;letter-spacing:0}}
.hero .shade{background:linear-gradient(to bottom,rgba(0,0,0,.5) 0%,rgba(0,0,0,.28) 38%,rgba(0,0,0,.05) 58%,rgba(0,0,0,.15) 75%,rgba(0,0,0,.55) 100%)}
.hero h1,.hero .sub,.hero .eyebrow{text-shadow:0 1px 12px rgba(0,0,0,.35)}
.hero-copy .eyebrow{color:rgba(255,255,255,.7);margin-bottom:1rem}
.hero h1{font-family:var(--serif);font-weight:400;font-size:3rem;line-height:1.25;margin-bottom:1.5rem}
.hero .sub{font-size:1.125rem;color:rgba(255,255,255,.85);font-weight:300;max-width:36rem;margin:0 auto 2.5rem}
.ctas{display:flex;flex-direction:column;gap:1rem;justify-content:center}
@media(min-width:640px){.ctas{flex-direction:row}}
@media(min-width:768px){.hero h1{font-size:4.5rem}.hero .sub{font-size:1.25rem}.hero-copy{padding-top:8.5vh;padding-bottom:0}.hero h1{margin-bottom:1rem}.hero-copy .ctas{margin-top:0}.hero .sub{margin-bottom:1.6rem}}
@media(min-width:768px) and (max-height:820px){.hero-copy{padding-top:7vh}.hero h1{font-size:3.75rem;margin-bottom:.75rem}}
.badges{position:absolute;bottom:2rem;left:0;right:0;z-index:1;display:flex;flex-wrap:wrap;justify-content:center;gap:.75rem 1.5rem;padding:0 1.5rem;color:rgba(255,255,255,.8);font-size:.75rem;letter-spacing:.025em}
.badges span{display:flex;align-items:center;gap:.5rem}
.star{color:var(--gold)}

/* grids */
.grid3{display:grid;gap:2rem}
@media(min-width:768px){.grid3{grid-template-columns:repeat(3,1fr)}}
.split{display:grid;gap:3rem;align-items:center}
@media(min-width:768px){.split{grid-template-columns:1fr 1fr}}

/* cabin cards */
.card .media{height:18rem;margin-bottom:1rem}
.card img{transition:transform .5s}
.card:hover img{transform:scale(1.05)}
.pill{position:absolute;z-index:1;font-size:.75rem;padding:.25rem .75rem;border-radius:9999px}
.pill.rating{bottom:1rem;right:1rem;background:rgba(0,0,0,.5);color:#fff}
.pill.fav{top:1rem;left:1rem;background:rgba(255,255,255,.9);color:var(--brown);letter-spacing:.025em}
.card h3{font-family:var(--serif);font-weight:400;font-size:1.25rem;margin-bottom:.25rem;transition:color .15s}
.card:hover h3{color:var(--gold)}
.card p{color:var(--muted);font-size:.875rem;margin-bottom:.75rem}
.facts{display:flex;flex-wrap:wrap;gap:1rem;font-size:.75rem;color:var(--muted)}

/* compound */
.compound .media{height:24rem}
@media(min-width:768px){.compound .media{height:500px}}
.compound .eyebrow{color:rgba(255,255,255,.5);margin-bottom:1rem}
.compound h2{color:#fff;margin-bottom:1.5rem;line-height:1.25}
.compound p{color:rgba(255,255,255,.7);margin-bottom:1.5rem;line-height:1.625}
.arrows{margin-bottom:2rem;color:rgba(255,255,255,.7);font-size:.875rem}
.arrows li{display:flex;align-items:flex-start;gap:.75rem}
.arrows li+li{margin-top:.75rem}
.arrows li span{color:var(--gold)}

/* why */
.why{gap:2.5rem;text-align:center}
.why .ico{font-size:2.25rem;margin-bottom:1rem;line-height:1}
.why h3{font-family:var(--serif);font-weight:400;font-size:1.25rem;margin-bottom:.75rem}
.why p{color:var(--muted);font-size:.875rem;line-height:1.625}

/* gallery */
.gallery{display:grid;grid-template-columns:repeat(2,1fr);grid-auto-rows:220px;gap:1rem}
.gallery .media:first-child{grid-row:span 2}
@media(min-width:768px){.gallery{grid-template-columns:repeat(3,1fr);grid-auto-rows:280px}}
.gallery .media:nth-child(2) img{object-position:50% 62%}
.gallery .media:nth-child(3) img{object-position:50% 68%}
.gallery .media:nth-child(4) img{object-position:50% 52%}
.gallery .media:nth-child(5) img{object-position:50% 45%}

/* reviews */
.rev-head{margin-bottom:4rem}
.stats{display:flex;flex-wrap:wrap;gap:2rem}
@media(min-width:768px){.stats{justify-content:flex-end}}
.stat{text-align:center}
.stat b{display:block;font-family:var(--serif);font-weight:400;font-size:3rem;line-height:1;color:var(--gold)}
.stat span{display:block;font-size:.875rem;color:var(--muted);margin-top:.25rem}
.review{background:#fff;border-radius:.75rem;padding:2rem;display:flex;flex-direction:column;gap:1rem}
.review .stars{color:var(--gold);font-size:.875rem;letter-spacing:.1em}
.review q{font-size:.875rem;line-height:1.625;font-style:italic;quotes:"\201C" "\201D"}
.review .who{margin-top:auto;padding-top:1rem;border-top:1px solid rgba(61,43,31,.1)}
.review .who b{display:block;font-weight:500;font-size:.875rem}
.review .who span{font-size:.75rem;color:var(--muted)}

/* location */
.loc h2{margin-bottom:1.5rem}
.loc p{color:var(--muted);margin-bottom:2rem;line-height:1.625}
.drive li{display:flex;justify-content:space-between;align-items:center;font-size:.875rem;border-bottom:1px solid rgba(61,43,31,.1);padding-bottom:.75rem}
.drive li+li{margin-top:.75rem}
.drive b{font-weight:500;color:var(--gold)}
.loc .media{height:20rem}
@media(min-width:768px){.loc .media{height:500px}}

/* footer */
footer{background:var(--brown);color:rgba(255,255,255,.7);padding:4rem 1.5rem}
.fgrid{display:grid;gap:2.5rem;margin-bottom:3rem}
@media(min-width:768px){.fgrid{grid-template-columns:repeat(3,1fr)}}
.fname{font-family:var(--serif);color:#fff;font-size:1.125rem;margin-bottom:.5rem}
footer p,footer li{font-size:.875rem;line-height:1.625}
footer li+li{margin-top:.5rem}
footer a:hover{color:#fff}
.fh{color:#fff;font-size:.875rem;font-weight:500;margin-bottom:1rem;letter-spacing:.025em;text-transform:uppercase}
.fbot{border-top:1px solid rgba(255,255,255,.1);padding-top:2rem;display:flex;flex-direction:column;justify-content:space-between;align-items:center;gap:1rem;font-size:.75rem}
.fbot span+span{color:rgba(255,255,255,.4)}
@media(min-width:768px){.fbot{flex-direction:row}}

/* cabin page */
.cabin-hero{position:relative;height:70vh;min-height:500px;overflow:hidden}
.cabin-hero .shade{background:linear-gradient(to top,rgba(0,0,0,.6),rgba(0,0,0,.1),rgba(0,0,0,.3))}
.cabin-hero .copy{position:absolute;bottom:2.5rem;left:0;right:0;padding:0 1.5rem;z-index:1}
.cabin-hero .copy>div{max-width:56rem;margin:0 auto;color:#fff}
.cabin-hero .eyebrow{color:rgba(255,255,255,.7);margin-bottom:.5rem}
.cabin-hero h1{font-family:var(--serif);font-weight:400;font-size:3rem;line-height:1;margin-bottom:.5rem}
.cabin-hero p{color:rgba(255,255,255,.8)}
.cabin-body{max-width:56rem;margin:0 auto;padding:4rem 1.5rem;display:grid;gap:3rem}
@media(min-width:768px){.cabin-body{grid-template-columns:2fr 1fr}}
.cfacts{display:flex;flex-wrap:wrap;gap:.5rem 1.5rem;font-size:.875rem;color:var(--muted);margin-bottom:2rem;padding-bottom:2rem;border-bottom:1px solid rgba(61,43,31,.1)}
.award{display:flex;align-items:center;gap:.75rem;margin-bottom:2rem;padding:1rem;background:var(--cream);border-radius:.75rem}
.award>span{font-size:1.5rem}
.award b{display:block;font-size:.875rem;font-weight:500}
.award small{font-size:.75rem;color:var(--muted)}
.desc{line-height:1.625;margin-bottom:2.5rem}
.h3{font-family:var(--serif);font-weight:400;font-size:1.5rem;margin-bottom:1.5rem}
.amen{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;margin-bottom:2.5rem}
.amen div{display:flex;align-items:center;gap:.5rem;font-size:.875rem}
.amen span{color:var(--gold)}
.inside{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.inside .media{height:13rem}
.book{position:sticky;top:6rem;background:#fff;border-radius:1rem;box-shadow:0 1px 2px rgba(0,0,0,.05);border:1px solid rgba(61,43,31,.1);padding:1.5rem}
.book .r{display:flex;align-items:center;gap:.5rem;margin-bottom:1rem;font-size:.875rem}
.book .r b{font-weight:500}.book .r small{font-size:.75rem;color:var(--muted)}
.book .save{background:var(--cream);border-radius:.75rem;padding:1rem;margin-bottom:1rem;font-size:.875rem;color:var(--muted)}
.book .save b{display:block;font-weight:500;color:var(--brown);margin-bottom:.25rem}
.book .btn{display:block;width:100%;margin-bottom:.75rem}
.btn-line{border:1px solid rgba(61,43,31,.2);color:var(--muted);font-size:.75rem}.btn-line:hover{border-color:rgba(61,43,31,.4)}
.cabin-page{background:var(--cream)}

/* text pages */
.page{padding:8rem 1.5rem 6rem;background:var(--cream)}
.page>div{max-width:42rem;margin:0 auto}
.page h1{font-family:var(--serif);font-weight:400;font-size:2.25rem;line-height:1.2}
@media(min-width:768px){.page h1{font-size:3rem;line-height:1}}
.faq{margin-top:3rem}
.faq>div{padding-bottom:2rem;border-bottom:1px solid rgba(61,43,31,.1)}
.faq>div+div{margin-top:2rem}
.faq>div:last-child{border:0}
.faq h2{font-family:var(--serif);font-weight:400;font-size:1.25rem;margin-bottom:.75rem}
.faq p{color:var(--muted);font-size:.875rem;line-height:1.625}
.still{margin-top:4rem;padding:2rem;background:#fff;border-radius:1rem;text-align:center}
.still .t{font-family:var(--serif);font-size:1.25rem;margin-bottom:.5rem}
.still p+p{color:var(--muted);font-size:.875rem;margin-bottom:1.5rem}
.intro{color:var(--muted);margin:1rem 0 2.5rem}
form>*+*{margin-top:1.5rem}
.two{display:grid;gap:1.5rem}
@media(min-width:768px){.two{grid-template-columns:1fr 1fr}}
label{display:block;font-size:.875rem;margin-bottom:.5rem}
input,select,textarea{width:100%;padding:.75rem 1rem;border-radius:.75rem;border:1px solid rgba(61,43,31,.2);background:#fff;color:var(--brown);font:inherit;font-size:16px}
@media(min-width:768px){input,select,textarea{font-size:.875rem}}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--gold)}
textarea{resize:none}
form .btn{width:100%;padding:1rem;letter-spacing:.025em}
.note{font-size:.75rem;color:var(--muted);text-align:center}
.formmsg{display:none;padding:1rem;border-radius:.75rem;background:#fff;text-align:center;font-size:.875rem}
.card[href$="mountain-top.html"] img{object-position:50% 100%}
.card[href$="a-frame.html"] img{object-position:25% 50%}

/* scroll reveal — reviews */
.anim .reveal{opacity:0;transition:opacity .9s cubic-bezier(.2,.7,.2,1),transform 1.1s cubic-bezier(.2,.7,.2,1);transition-delay:var(--d,0ms);will-change:transform,opacity}
.anim .reveal[data-from="up"]{transform:translateY(48px)}
.anim .reveal[data-from="left"]{transform:translate(-56px,48px) scale(.97)}
.anim .reveal[data-from="right"]{transform:translate(56px,48px) scale(.97)}
.anim .reveal.in{opacity:1;transform:none}
@media(max-width:767px){.anim .reveal[data-from="left"],.anim .reveal[data-from="right"]{transform:translateY(40px)}.anim .review.reveal{transition-delay:0ms}}
.stat b{font-variant-numeric:tabular-nums}

/* ===== Motion (v2) ===== */
:root{--ease:cubic-bezier(.22,.8,.24,1);--ease-soft:cubic-bezier(.4,0,.2,1)}
/* page-load: hero & page intros */
@keyframes fadeUp{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}
@keyframes fadeDown{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}
@keyframes settle{from{transform:scale(1.05)}to{transform:scale(1)}}
@keyframes nudge{0%,100%{transform:translateY(0)}50%{transform:translateY(4px)}}
.mo .site-header .bar{animation:fadeDown .8s var(--ease) both}
.mo .hero .fill,.mo .cabin-hero .fill{animation:settle 2.6s var(--ease) both}
.mo .hero-copy>*,.mo .badges,.mo .cabin-hero .copy>div>*,.mo .page>div>.eyebrow,.mo .page>div>h1,.mo .page>div>.intro{animation:fadeUp 1s var(--ease) both}
.mo .hero-copy>.eyebrow{animation-delay:.15s}.mo .hero-copy>h1{animation-delay:.28s}.mo .hero-copy>.sub{animation-delay:.42s}.mo .hero-copy>.ctas{animation-delay:.56s}.mo .badges{animation-delay:.75s}
.mo .cabin-hero .copy>div>:nth-child(1){animation-delay:.15s}.mo .cabin-hero .copy>div>:nth-child(2){animation-delay:.27s}.mo .cabin-hero .copy>div>:nth-child(3){animation-delay:.39s}
.mo .page>div>.eyebrow{animation-delay:.1s}.mo .page>div>h1{animation-delay:.2s}.mo .page>div>.intro{animation-delay:.3s}
.hero .fill img,.cabin-hero .fill img{will-change:transform}

/* scroll reveals */
.mo .rv{opacity:0;transition:opacity .9s var(--ease),transform 1s var(--ease);transition-delay:var(--sd,0ms)}
.mo .rv[data-mv=up]{transform:translateY(32px)}
.mo .rv[data-mv=left]{transform:translateX(-40px)}
.mo .rv[data-mv=right]{transform:translateX(40px)}
.mo .rv[data-mv=zoom]{transform:translateY(24px) scale(.96)}
.mo .rv.on{opacity:1;transform:none}
@media(max-width:767px){.mo .rv[data-mv=left],.mo .rv[data-mv=right]{transform:translateY(28px)}.mo .rv{transition-delay:min(var(--sd,0ms),180ms)}}

/* arrows */
.arr{display:inline-block;margin-left:.5em;transition:transform .35s var(--ease)}
.card h3 .arr{font-family:var(--sans);font-size:.85em;color:var(--gold);opacity:0;transform:translateX(-6px);transition:opacity .3s var(--ease-soft),transform .4s var(--ease)}
@media(max-width:767px){.hero .ctas .arr{display:none}.card h3 .arr{opacity:1;transform:none}}

/* hover & press — pointer devices only */
.btn{transition:background-color .25s var(--ease-soft),border-color .25s,box-shadow .35s var(--ease),transform .35s var(--ease)}
.btn:active{transform:translateY(0) scale(.98)}
@media(hover:hover){
 .btn-gold:hover{transform:translateY(-2px);box-shadow:0 10px 26px rgba(200,134,10,.38)}
 .btn-ghost:hover,.btn-line:hover{transform:translateY(-2px)}
 .btn:hover .arr{transform:translateX(4px)}
 .nav a:not(.btn){position:relative}
 .nav a:not(.btn)::after{content:"";position:absolute;left:0;right:0;bottom:-4px;height:1px;background:currentColor;transform:scaleX(0);transform-origin:right;transition:transform .4s var(--ease)}
 .nav a:not(.btn):hover::after{transform:scaleX(1);transform-origin:left}
 .card{transition:transform .5s var(--ease)}
 .card .media{transition:box-shadow .5s var(--ease)}
 .card:hover{transform:translateY(-6px)}
 .card:hover .media{box-shadow:0 18px 40px -12px rgba(61,43,31,.35)}
 .card img{transition:transform .9s var(--ease)}
 .card:hover h3 .arr{opacity:1;transform:translateX(0)}
 .review{transition:transform .5s var(--ease),box-shadow .5s var(--ease)}
 .review:hover,.anim .review.reveal.in:hover{transform:translateY(-6px);box-shadow:0 18px 40px -16px rgba(61,43,31,.28);transition:transform .5s var(--ease),box-shadow .5s var(--ease)}
 .gallery .media img,.inside .media img,.compound .media img,.loc .media img{transition:transform 1.1s var(--ease)}
 .gallery .media:hover img,.inside .media:hover img,.compound .media:hover img,.loc .media:hover img{transform:scale(1.045)}
 .why .ico{display:inline-block;transition:transform .5s var(--ease)}
 .why>div:hover .ico{transform:translateY(-6px) rotate(-6deg) scale(1.08)}
 .drive li{transition:padding .35s var(--ease),border-color .35s}
 .drive li:hover{padding-left:6px;border-color:rgba(200,134,10,.45)}
 .drive li b{transition:transform .35s var(--ease)}
 .drive li:hover b{transform:translateX(-4px)}
 footer a{transition:color .25s,padding .35s var(--ease)}
 footer li a:hover{padding-left:4px}
 .arrows li{transition:transform .35s var(--ease)}
 .arrows li:hover{transform:translateX(4px)}
 .amen div span{display:inline-block;transition:transform .35s var(--ease)}
 .amen div:hover span{transform:scale(1.35)}
 .burger span{transition:background-color .3s,transform .35s var(--ease)}
}
/* burger morph */
.site-header.open .burger span:nth-child(1){transform:translateY(8px) rotate(45deg)}
.site-header.open .burger span:nth-child(2){transform:scaleX(0)}
.site-header.open .burger span:nth-child(3){transform:translateY(-8px) rotate(-45deg)}
.burger span{transition:background-color .3s,transform .35s var(--ease)}
@keyframes menuIn{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}
.site-header.open .mobile-nav a{animation:menuIn .45s var(--ease) both}
.site-header.open .mobile-nav a:nth-child(2){animation-delay:.04s}.site-header.open .mobile-nav a:nth-child(3){animation-delay:.08s}.site-header.open .mobile-nav a:nth-child(4){animation-delay:.12s}.site-header.open .mobile-nav a:nth-child(5){animation-delay:.16s}
/* form fields */
input,select,textarea{transition:border-color .25s,box-shadow .35s var(--ease)}
input:focus,select:focus,textarea:focus{box-shadow:0 0 0 4px rgba(200,134,10,.12)}
/* gentle scroll cue under hero badges */
.scroll-cue{position:absolute;left:50%;bottom:.55rem;z-index:1;margin-left:-7px;color:rgba(255,255,255,.7);font-size:12px;animation:nudge 2.2s ease-in-out infinite}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}
/* cabin page top-photo framing */
.cabin-hero img[src*="hero-log"]{object-position:50% 36%}
.cabin-hero img[src*="hero-mountain"]{object-position:50% 100%}
.cabin-hero img[src*="hero-aframe"]{object-position:40% 45%}
.inside .media{height:15rem}
@media(max-width:767px){.inside .media{height:12rem}}
.cabin-hero img[src*="hero-mtn1"]{object-position:50% 55%}
.cabin-hero img[src*="hero-af1"]{object-position:50% 45%}
/* show the full hero photo on computers: section takes the photo's own 16:9 shape */
@media(min-width:768px){.hero{height:56.19vw;max-height:100vh;min-height:560px}}
@media(min-width:768px){.hero-copy{padding-top:max(92px,8.5vh)}}
@media(min-width:768px) and (max-width:1279px){.hero-copy{padding-top:84px}.hero-copy .eyebrow{margin-bottom:.6rem}.hero h1{font-size:3rem;margin-bottom:.6rem}.hero .sub{font-size:1rem;margin-bottom:1.1rem}.hero .ctas .btn{padding:.7rem 1.6rem}}
/* keep headline compact on computers so the cabins sit clear below the buttons */
@media(min-width:1024px){.hero-copy{max-width:66rem}.hero h1{white-space:nowrap}.hero .sub{max-width:46rem}}
@media(min-width:1024px){.hero .sub{max-width:56rem;margin-bottom:1.4rem}.hero{height:61.8vw}.hero .fill img{object-position:50% 0}}
/* ---- articles, guides, group page ---- */
.article>div{max-width:42rem}
.article .eyebrow a{color:inherit;text-decoration:none}
.article .intro{font-size:1.125rem;line-height:1.7;color:var(--muted);margin-top:1.25rem}
.article h2{font-family:var(--serif);font-weight:400;font-size:1.75rem;line-height:1.25;margin:2.75rem 0 1rem}
.article p{line-height:1.75;margin-bottom:1rem}
.article p a:not(.btn){color:var(--gold);text-underline-offset:3px}
.article figure{margin:2rem 0;border-radius:1rem;overflow:hidden}
.article figure img{display:block;width:100%;height:auto}
.article .list{margin:0 0 1.25rem 1.1rem;line-height:1.75}
.article .list li{margin-bottom:.4rem}
.article .list a{color:var(--gold)}
.minis{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin:1.5rem 0 2rem}
.mini{display:flex;flex-direction:column;gap:.35rem;color:inherit;text-decoration:none;font-size:.85rem;line-height:1.45}
.mini picture{display:block;border-radius:.75rem;overflow:hidden;aspect-ratio:4/3}
.mini img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease)}
.mini:hover img{transform:scale(1.05)}
.mini b{font-family:var(--serif);font-weight:400;font-size:1.05rem}
.mini span{color:var(--muted)}
.gcards{display:grid;gap:2.5rem;margin-top:3rem}
.gcard{display:flex;flex-direction:column;gap:.5rem;color:inherit;text-decoration:none}
.gcard picture{display:block;border-radius:1rem;overflow:hidden;aspect-ratio:16/9;margin-bottom:.5rem}
.gcard img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease)}
.gcard:hover img{transform:scale(1.04)}
.gcard b{font-family:var(--serif);font-weight:400;font-size:1.5rem;line-height:1.25}
.gcard span:last-child{color:var(--muted);line-height:1.6}
.sources{margin-top:3rem;font-size:.8rem;color:var(--muted)}
.sources summary{cursor:pointer}
.sources ul{margin:.75rem 0 0 1.1rem;line-height:1.7}
.sources a{color:inherit}
@media(max-width:640px){.minis{grid-template-columns:1fr}.article h2{font-size:1.5rem}}
.article figure picture{display:block;aspect-ratio:3/2}
.article figure img{height:100%;object-fit:cover}
