/* One stylesheet, two brand themes. Tokens come straight from the brand books. */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:72px}
body{margin:0;font-family:"Geist",ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;font-size:17px;line-height:1.62;color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
img{max-width:100%;height:auto;display:block;color:transparent}
a{color:inherit}
button{font:inherit;color:inherit;cursor:pointer}
h1,h2,h3,p,ul,ol,figure,dl,dd{margin:0}
ul,ol{padding:0;list-style:none}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}

/* ── Moshé: Parchment, Midnight Ink, Burnt Umber, Smoked Walnut ── */
.theme-moshe{
  --bg:#F5E9E2;--surface:#FBF6F2;--ink:#0B0014;--muted:#4A3532;--line:rgba(74,53,50,.2);
  --accent:#7C433B;--accent-ink:#F5E9E2;--deep:#4A3532;--deep-ink:#F5E9E2;--deep-muted:rgba(245,233,226,.72);
  --band:#0B0014;--band-ink:#F5E9E2;
}
/* ── Smoky Mountain Estates: Deep Bark, Chalk, Sand, Olive Earth, Terracotta, Slate Blue ── */
.theme-sme{
  --bg:#3F3736;--surface:#484040;--ink:#DBDCE0;--muted:#D2C0A8;--line:rgba(219,220,224,.2);
  --accent:#D2C0A8;--accent-ink:#3F3736;--deep:#6C674A;--deep-ink:#DBDCE0;--deep-muted:rgba(219,220,224,.78);
  --band:#7C382F;--band-ink:#DBDCE0;
}

.serif{font-family:"Instrument Serif","Iowan Old Style","Palatino Linotype",Georgia,serif;font-weight:400;letter-spacing:-.01em}
.wrap{width:min(1180px,100% - 40px);margin-inline:auto}
.wrap-narrow{width:min(760px,100% - 40px);margin-inline:auto}
.eyebrow{font-size:12px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.section{padding:72px 0}
.section h2{font-family:"Instrument Serif",Georgia,serif;font-weight:400;font-size:clamp(2.1rem,5.2vw,3.5rem);line-height:1.04;letter-spacing:-.015em}
.section h2 em,.hero h1 em,.hero .tagline em,.lead em{font-style:italic}
.lede{font-size:1.06rem;color:var(--muted);max-width:60ch}
.theme-sme .lede{color:var(--deep-muted)}

/* Buttons */
.btn{white-space:nowrap;display:inline-flex;align-items:center;justify-content:center;gap:.5em;min-height:50px;padding:0 26px;border:1px solid var(--accent);background:var(--accent);color:var(--accent-ink);font-size:14px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;text-decoration:none;border-radius:2px;transition:background .2s,color .2s,border-color .2s,transform .2s}
.btn:hover{transform:translateY(-1px)}
.btn-ghost{background:transparent;color:inherit;border-color:currentColor}
.btn-light{background:#F5E9E2;border-color:#F5E9E2;color:#0B0014}
.theme-sme .btn-light{background:#DBDCE0;border-color:#DBDCE0;color:#3F3736}
.link{font-size:14px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:3px}

/* Header */
.top{position:fixed;inset:0 0 auto 0;z-index:50;color:#fff;transition:background .3s,color .3s,box-shadow .3s}
.top .wrap{display:flex;align-items:center;justify-content:space-between;height:64px;gap:16px}
.top.solid{background:var(--bg);color:var(--ink);box-shadow:0 1px 0 var(--line)}
.top.static{position:sticky;background:var(--bg);color:var(--ink);box-shadow:0 1px 0 var(--line)}
.brandmark{display:flex;align-items:center;text-decoration:none;min-width:0}
.brandmark .name{font-family:"Instrument Serif",Georgia,serif;font-size:1.45rem;line-height:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.brandmark svg{display:block;height:30px;width:auto;fill:currentColor}
.brandmark.sme svg{height:34px}
.top nav{display:flex;align-items:center;gap:22px}
.top nav a.navlink{font-size:13px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;text-decoration:none;display:none}
.top .btn{min-height:40px;padding:0 18px;font-size:12.5px}
.top:not(.solid):not(.static) .btn{background:rgba(255,255,255,.14);border-color:rgba(255,255,255,.7);color:#fff;backdrop-filter:blur(6px)}
@media(min-width:760px){.top nav a.navlink{display:inline}.top .wrap{height:72px}}

/* Hero */
.hero{position:relative;min-height:92svh;display:flex;align-items:flex-end;color:#fff;background:#1a1414;isolation:isolate}
.hero picture,.hero>img{position:absolute;inset:0;z-index:-2}
.hero img.bg{width:100%;height:100%;object-fit:cover}
.hero::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(0,0,0,.34) 0%,rgba(0,0,0,0) 26%,rgba(0,0,0,0) 44%,rgba(0,0,0,.72) 100%)}
.hero .wrap{padding:120px 0 44px}
.hero .eyebrow{color:rgba(255,255,255,.86)}
.hero h1{font-family:"Instrument Serif",Georgia,serif;font-weight:400;font-size:clamp(3.1rem,11vw,7.2rem);line-height:.94;letter-spacing:-.02em;margin:14px 0 14px;text-wrap:balance}
.hero .tagline{font-family:"Instrument Serif",Georgia,serif;font-size:clamp(1.35rem,3.4vw,2rem);line-height:1.15;max-width:22ch;color:rgba(255,255,255,.94)}
.hero .stats{margin:22px 0 26px;font-size:14px;letter-spacing:.04em;line-height:1.8;color:rgba(255,255,255,.9)}
.hero .stats span{white-space:nowrap}
.hero .stats span+span::before{content:"·";margin:0 .7em;opacity:.7}
.hero .cta{display:flex;flex-wrap:wrap;gap:12px}
.hero .btn-ghost{border-color:rgba(255,255,255,.75);color:#fff}
.hero .managed{margin-top:26px;font-size:11.5px;letter-spacing:.2em;text-transform:uppercase;color:rgba(255,255,255,.72)}
@media(min-width:900px){.hero .wrap{padding-bottom:64px}}

/* Offer strip */
.offer{background:var(--band);color:var(--band-ink)}
.offer .wrap{display:flex;flex-direction:column;gap:4px;padding:16px 0;font-size:15px}
.offer b{font-weight:500;letter-spacing:.12em;text-transform:uppercase;font-size:12px}
@media(min-width:800px){.offer .wrap{flex-direction:row;gap:18px;align-items:baseline}}

/* Intro */
.intro .grid{display:grid;gap:36px}
.intro .lead{font-family:"Instrument Serif",Georgia,serif;font-size:clamp(1.9rem,4.4vw,2.9rem);line-height:1.1;letter-spacing:-.01em;text-wrap:balance}
.intro .copy p+p{margin-top:1em}
.intro .trust{margin-top:22px;font-size:14px;letter-spacing:.04em;color:var(--muted)}
.hl{display:grid;gap:0;margin-top:40px;border-top:1px solid var(--line)}
.hl li{padding:18px 0;border-bottom:1px solid var(--line);display:grid;gap:2px}
.hl b{font-weight:500}
.hl span{color:var(--muted);font-size:.95rem}
.theme-sme .hl span{color:var(--deep-muted)}
@media(min-width:900px){.intro .grid{grid-template-columns:1fr 1fr;gap:72px}.hl{grid-template-columns:1fr 1fr;column-gap:56px}.hl li:nth-child(-n+2){border-top:0}}

/* Mosaic gallery */
.mosaic{position:relative}
.mosaic .track{display:flex;gap:8px;overflow-x:auto;scroll-snap-type:x mandatory;padding:0 20px;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.mosaic .track::-webkit-scrollbar{display:none}
.mosaic button.ph{flex:0 0 86%;scroll-snap-align:center;aspect-ratio:4/3;padding:0;border:0;background:#2a2222;overflow:hidden;border-radius:2px}
.mosaic img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease}
.mosaic button.ph:hover img{transform:scale(1.03)}
.mosaic .all{display:flex;justify-content:center;margin-top:22px}
@media(min-width:900px){
  .mosaic .track{display:grid;grid-template-columns:2fr 1fr 1fr;grid-template-rows:1fr 1fr;height:min(64vh,620px);padding:0;overflow:visible;width:min(1180px,100% - 40px);margin-inline:auto}
  .mosaic button.ph{aspect-ratio:auto;height:100%}
  .mosaic button.ph:first-child{grid-row:1/3}
}

/* Feature rows */
.features{display:grid;gap:64px}
.feature{display:grid;gap:22px;align-items:center}
.feature figure{overflow:hidden;border-radius:2px;background:#2a2222}
.feature img{width:100%;aspect-ratio:4/3;object-fit:cover}
.feature h3{font-family:"Instrument Serif",Georgia,serif;font-weight:400;font-size:clamp(1.8rem,3.8vw,2.6rem);line-height:1.06;letter-spacing:-.01em;margin-bottom:12px}
.feature p{color:var(--muted);max-width:46ch}
.theme-sme .feature p{color:var(--deep-muted)}
@media(min-width:900px){.features{gap:104px}.feature{grid-template-columns:1.15fr 1fr;gap:72px}.feature:nth-child(even) figure{order:2}}

/* Deep (dark/earth) section */
.deep{background:var(--deep);color:var(--deep-ink)}
.deep .eyebrow,.deep .muted{color:var(--deep-muted)}
.rooms{display:grid;gap:1px;background:rgba(255,255,255,.18);border:1px solid rgba(255,255,255,.18);margin-top:36px}
.rooms li{background:var(--deep);padding:24px 22px;display:grid;gap:4px}
.rooms .r{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--deep-muted)}
.rooms .b{font-family:"Instrument Serif",Georgia,serif;font-size:1.55rem;line-height:1.15}
.rooms .n{font-size:.92rem;color:var(--deep-muted)}
@media(min-width:700px){.rooms{grid-template-columns:1fr 1fr}}
@media(min-width:1000px){.rooms.c4{grid-template-columns:repeat(4,1fr)}.rooms.c3{grid-template-columns:repeat(3,1fr)}}

/* Amenities */
.amen{display:grid;gap:34px;margin-top:36px}
.amen h3{font-size:12px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);padding-bottom:12px;border-bottom:1px solid var(--line);margin-bottom:12px}
.amen li{padding:5px 0;font-size:.98rem}
@media(min-width:700px){.amen{grid-template-columns:1fr 1fr;column-gap:48px}}
@media(min-width:1000px){.amen{grid-template-columns:repeat(4,1fr)}}

/* Booking */
.book{background:var(--surface)}
.book .head{display:grid;gap:10px;margin-bottom:34px}
.book .grid{display:grid;gap:22px;align-items:start}
.card{background:#fff;color:#1b1418;border:1px solid rgba(0,0,0,.08);border-radius:3px;padding:20px}
.card h3{font-size:12px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:#6b5b57;margin-bottom:14px}
.card .note{font-size:13px;color:#6b5b57;margin-top:12px}
.widget-slot{min-height:300px;position:relative}
.widget-slot.cal{min-height:260px}
.widget-slot .ph{position:absolute;inset:0;display:grid;place-items:center;color:#8a7a75;font-size:14px;text-align:center;padding:20px}
.widget-slot.loaded .ph{display:none}
.assure{display:grid;gap:10px;margin-top:22px;font-size:14px;color:var(--muted)}
.theme-sme .assure{color:var(--deep-muted)}
.assure li{padding-left:18px;position:relative}
.assure li::before{content:"";position:absolute;left:0;top:.62em;width:8px;height:1px;background:currentColor}
.book .aside .assure{margin-top:14px;font-size:15px}
.book .ask{margin-top:22px;font-family:"Instrument Serif",Georgia,serif;font-size:1.5rem;line-height:1.25}
.book .ask a{text-decoration-thickness:1px;text-underline-offset:4px}
@media(min-width:980px){
  .book .grid{grid-template-columns:1.35fr 1fr;gap:28px 48px}
  .book .calwrap{grid-column:1/-1;order:1}
  .book .booker{order:2}
  .book .aside{order:3;padding-top:8px}
}

/* Reviews */
.reviews .card{margin-top:28px;padding:8px 20px}
.reviews{display:none}
.reviews.has{display:block}

/* Location */
.loc .grid{display:grid;gap:34px;align-items:start}
.loc ul{margin-top:22px;border-top:1px solid var(--line)}
.loc li{padding:13px 0;border-bottom:1px solid var(--line);font-size:.98rem}
.map{border:0;width:100%;height:340px;border-radius:2px;filter:grayscale(.35) contrast(.96);background:#ddd}
.mapnote{font-size:13px;color:var(--muted);margin-top:8px}
.theme-sme .mapnote{color:var(--deep-muted)}
@media(min-width:900px){.loc .grid{grid-template-columns:1fr 1.1fr;gap:72px}.map{height:440px}}

/* Details: rules, policies, FAQ */
.facts{display:grid;gap:1px;background:var(--line);border:1px solid var(--line);margin:34px 0}
.facts div{background:var(--bg);padding:18px 18px}
.facts dt{font-size:11.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.facts dd{font-family:"Instrument Serif",Georgia,serif;font-size:1.5rem;line-height:1.2;margin-top:4px}
@media(min-width:700px){.facts{grid-template-columns:repeat(4,1fr)}}
.facts{grid-template-columns:1fr 1fr}
@media(min-width:700px){.facts{grid-template-columns:repeat(4,1fr)}}
.cols{display:grid;gap:40px}
.cols h3{font-size:12px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin-bottom:14px}
.cols li{padding:9px 0 9px 18px;position:relative;border-bottom:1px solid var(--line);font-size:.97rem}
.cols li::before{content:"";position:absolute;left:0;top:1.2em;width:8px;height:1px;background:currentColor}
.cols p{font-size:.97rem;padding:9px 0;border-bottom:1px solid var(--line)}
.cols p b{font-weight:500}
@media(min-width:900px){.cols{grid-template-columns:1fr 1fr;gap:72px}}
details{border-bottom:1px solid var(--line)}
details:first-of-type{border-top:1px solid var(--line)}
summary{list-style:none;cursor:pointer;padding:20px 34px 20px 0;position:relative;font-family:"Instrument Serif",Georgia,serif;font-size:1.4rem;line-height:1.2}
summary::-webkit-details-marker{display:none}
summary::after{content:"+";position:absolute;right:4px;top:50%;transform:translateY(-52%);font-family:"Geist",sans-serif;font-size:22px;font-weight:300;transition:transform .2s}
details[open] summary::after{transform:translateY(-52%) rotate(45deg)}
details p{padding:0 0 22px;color:var(--muted);max-width:64ch}
.theme-sme details p{color:var(--deep-muted)}
.faq{margin-top:30px}

/* Closing band */
.closer{position:relative;color:#fff;isolation:isolate;text-align:center;padding:120px 0;background:#1a1414}
.closer img.bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.closer::after{content:"";position:absolute;inset:0;background:rgba(10,4,6,.56);z-index:-1}
.closer h2{font-family:"Instrument Serif",Georgia,serif;font-weight:400;font-size:clamp(2.4rem,7vw,4.6rem);line-height:1;letter-spacing:-.015em;text-wrap:balance}
.closer p{margin:16px auto 28px;max-width:44ch;color:rgba(255,255,255,.88)}

/* Footer */
.foot{padding:56px 0 110px;font-size:14px;border-top:1px solid var(--line)}
.foot .grid{display:grid;gap:34px}
.foot .name{font-family:"Instrument Serif",Georgia,serif;font-size:1.9rem;line-height:1}
.foot .by{display:flex;align-items:center;gap:12px;margin-top:16px;font-size:11.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}
.foot .by svg{height:26px;width:auto;fill:var(--accent)}
.theme-sme .foot .by svg{fill:var(--ink)}
.foot h4{font-size:11.5px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin:0 0 12px}
.foot a{text-decoration:none}
.foot a:hover{text-decoration:underline}
.foot li{padding:3px 0}
.foot .legal{margin-top:40px;padding-top:22px;border-top:1px solid var(--line);color:var(--muted);font-size:12.5px;display:flex;flex-wrap:wrap;gap:6px 22px}
.foot .smelogo svg{height:44px;width:auto;fill:var(--ink)}
@media(min-width:800px){.foot{padding-bottom:64px}.foot .grid{grid-template-columns:1.6fr 1fr 1fr}}

/* Sticky mobile booking bar */
.bar{position:fixed;inset:auto 0 0 0;z-index:60;background:var(--bg);border-top:1px solid var(--line);padding:10px 16px calc(10px + env(safe-area-inset-bottom));display:flex;align-items:center;justify-content:space-between;gap:14px;transform:translateY(110%);transition:transform .3s}
.bar.show{transform:none}
.bar .t{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);line-height:1.3}
.bar .t b{display:block;font-family:"Instrument Serif",Georgia,serif;font-size:1.2rem;letter-spacing:0;text-transform:none;font-weight:400;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:48vw}
.bar .btn{min-height:46px;padding:0 20px;white-space:nowrap}
@media(min-width:800px){.bar{display:none}}

/* Lightbox */
.lb{position:fixed;inset:0;z-index:100;background:#0b0608;color:#fff;display:none;flex-direction:column}
.lb.open{display:flex}
.lb .bar2{display:flex;justify-content:space-between;align-items:center;padding:14px 18px;font-size:13px;letter-spacing:.1em}
.lb .stage{flex:1;display:grid;place-items:center;min-height:0;padding:0 8px;touch-action:pan-y}
.lb .stage img{max-width:100%;max-height:100%;object-fit:contain}
.lb .cap{padding:14px 20px calc(18px + env(safe-area-inset-bottom));text-align:center;font-size:14px;color:rgba(255,255,255,.82);min-height:3.2em}
.lb button{background:none;border:0;color:#fff;font-size:14px;letter-spacing:.1em;text-transform:uppercase;padding:10px}
.lb .nav{position:absolute;top:50%;transform:translateY(-50%);font-size:34px;padding:18px;line-height:1}
.lb .prev{left:4px}.lb .next{right:4px}
@media(max-width:700px){.lb .nav{display:none}}

/* ── Brand home pages ── */
.home-hero{padding:128px 0 56px}
.home-hero h1{font-family:"Instrument Serif",Georgia,serif;font-weight:400;font-size:clamp(3rem,9.4vw,6.6rem);line-height:.95;letter-spacing:-.02em;text-wrap:balance;max-width:14ch}
.home-hero p{margin-top:22px;max-width:52ch;font-size:1.08rem;color:var(--muted)}
.home-hero .cta{margin-top:28px;display:flex;flex-wrap:wrap;gap:12px}
.home-img{width:min(1180px,100% - 40px);margin-inline:auto;aspect-ratio:16/8;overflow:hidden;border-radius:2px;background:#2a2222}
.home-img img{width:100%;height:100%;object-fit:cover}
@media(max-width:700px){.home-img{aspect-ratio:4/3}}
.stays{display:grid;gap:40px;margin-top:44px}
.stay{text-decoration:none;display:grid;gap:16px}
.stay figure{overflow:hidden;border-radius:2px;aspect-ratio:4/3;background:#2a2222}
.stay img{width:100%;height:100%;object-fit:cover;transition:transform .7s ease}
.stay:hover img{transform:scale(1.035)}
.stay h3{font-family:"Instrument Serif",Georgia,serif;font-weight:400;font-size:2rem;line-height:1.05}
.stay .meta{font-size:12.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-top:8px;line-height:1.7}
.stay p{color:var(--muted);margin-top:8px;max-width:48ch}
.stay .go{margin-top:12px;display:inline-block}
@media(min-width:800px){.stays{grid-template-columns:1fr 1fr;gap:64px 40px}}
.three{display:grid;gap:30px;margin-top:40px}
.three h3{font-family:"Instrument Serif",Georgia,serif;font-weight:400;font-size:1.6rem;line-height:1.15;margin-bottom:8px}
.three p{color:var(--deep-muted);font-size:.98rem}
.section:not(.deep) .three p{color:var(--muted)}
@media(min-width:800px){.three{grid-template-columns:repeat(3,1fr);gap:48px}}
.split{display:grid;gap:30px;align-items:center}
@media(min-width:900px){.split{grid-template-columns:1fr 1fr;gap:72px}}
.split figure{overflow:hidden;border-radius:2px;background:#2a2222}
.split img{width:100%;aspect-ratio:4/3;object-fit:cover}
.split p{color:var(--muted);margin-top:14px;max-width:50ch}
.theme-sme .split p{color:var(--deep-muted)}
.split .btn,.split .link{margin-top:24px}
.steps{counter-reset:s;display:grid;gap:0;margin-top:34px;border-top:1px solid var(--line)}
.steps li{counter-increment:s;padding:22px 0 22px 56px;border-bottom:1px solid var(--line);position:relative}
.steps li::before{content:counter(s,decimal-leading-zero);position:absolute;left:0;top:22px;font-family:"Instrument Serif",Georgia,serif;font-size:1.5rem;color:var(--accent)}
.steps b{font-weight:500;display:block}
.steps span{color:var(--muted);font-size:.97rem}
.prose{padding:120px 0 72px}
.prose h1{font-family:"Instrument Serif",Georgia,serif;font-weight:400;font-size:clamp(2.6rem,7vw,4rem);line-height:1;margin-bottom:10px}
.prose h2{font-family:"Instrument Serif",Georgia,serif;font-weight:400;font-size:1.7rem;margin:34px 0 8px}
.prose p,.prose li{color:var(--muted);margin-top:10px}
.theme-sme .prose p,.theme-sme .prose li{color:var(--deep-muted)}
.prose ul{list-style:disc;padding-left:20px}
.sme-hero .mark svg{width:min(560px,82vw);height:auto;fill:#fff;margin-bottom:26px}

.top.static+main .home-hero{padding-top:64px}
.top.static+main .prose{padding-top:56px}
