/* Shared dwelling refinements: editorial photo frames, readable type, visible booking. */
body{font-size:18px!important;position:relative;isolation:isolate}
/* Keep atmospheric motion in the page background, never over hero or property photos. */
.sparks,.spores,.pollen,.dust,.wind,.gale,.mail,.motes,.fizz,.whispers,.dandy,.cogs,.embers{z-index:0!important;pointer-events:none!important}
.hero,.intro,.gallery,.ess,.details,.lore,.ashev,.feature,.cta,.foot{position:relative;z-index:1}
body h1,body h2,body h3,body p,body em,body .k,body .n,body .l{font-style:normal!important}
html body h1:not(#es-readability),html body h2:not(#es-readability),html body h3:not(#es-readability),html body h4:not(#es-readability),html body p:not(#es-readability),html body em:not(#es-readability),html body a:not(#es-readability){font-style:normal!important}
.intro p,.lore p,.ashev p,.feature .txt p,.cta p{font-size:clamp(18px,1.55vw,20px)!important;line-height:1.72!important}
/* Gallery = editorial justified rows: full photos, generous scale, balanced rows. Row sizes set by es-justify in dwelling-calendar.js. */
.gallery{display:block!important;max-width:1240px;margin:0 auto;padding:18px clamp(16px,3vw,32px) 38px!important;grid-template-columns:none!important;column-count:auto!important}
.gallery .es-row{display:flex!important;flex-wrap:nowrap!important;align-items:stretch!important;justify-content:center!important;gap:16px!important;width:100%!important;max-width:100%!important;margin:0 0 16px!important;overflow:hidden!important}
.gallery .es-row:last-child{margin-bottom:0!important}
.gallery figure{margin:0!important;padding:0!important;overflow:hidden!important;border-radius:14px;background:rgba(12,18,20,.18)!important;flex:0 0 auto!important;aspect-ratio:auto!important;box-shadow:0 14px 36px rgba(0,0,0,.18)}
.gallery figure.c12,.gallery figure.c6,.gallery figure.c4,.gallery figure.tall{aspect-ratio:auto!important;grid-column:auto!important}
.gallery figure img{display:block!important;width:100%!important;height:100%!important;object-fit:cover!important;object-position:center!important}
@media(max-width:640px){.gallery{padding:12px 12px 30px!important}.gallery .es-row{display:block!important;margin:0!important}.gallery figure{width:100%!important;height:auto!important;margin:0 0 12px!important}.gallery figure img{width:100%!important;height:auto!important;object-fit:contain!important}}
/* AGGRESSIVE, site-wide centering of all narrative copy (client request). */
.intro,.intro *,
.lore,.lore .in,.lore .in *,
.ashev .in,.ashev .in *,
.ess,.ess *,
.cta,.cta *,
.details .row,
.feature .txt,.feature .txt *,
.es-experience .in,.es-experience h2,.es-experience .exp-intro,
.exp-card,.exp-card h3,.exp-card p,.exp-note,
.es-cal-copy,.es-cal-copy *{text-align:center!important}
.feature .txt,.exp-card{align-items:center!important}
.feature .txt h3,.feature .txt p{margin-left:auto!important;margin-right:auto!important}
.feature figure{display:block!important;overflow:hidden!important;padding:0!important;background:transparent!important}
.feature figure img{display:block!important;width:100%!important;height:100%!important;object-fit:cover!important;object-position:center top!important}
body:not(.mystic-village) .feature figure{height:540px!important;aspect-ratio:auto!important}
body:not(.mystic-village) .feature figure.es-fit-full{background:#071016!important}
body:not(.mystic-village) .feature figure.es-fit-full img{object-fit:contain!important;object-position:center center!important}
body.phoenix-page .feature figure.es-fit-full,
body.prism-of-paws-page .feature figure.es-fit-full{position:relative!important;isolation:isolate!important;background:#152923!important}
body.phoenix-page .feature figure.es-fit-full::before,
body.prism-of-paws-page .feature figure.es-fit-full::before{content:"";position:absolute;inset:-22px;z-index:0;background-size:cover;background-position:center center;filter:blur(20px) saturate(1.08);transform:scale(1.04);opacity:.88}
body.phoenix-page .feature figure.es-fit-full::before{background-image:url("dwellings/phoenix/phoenix-feature-fast.jpg")}
body.prism-of-paws-page .feature figure.es-fit-full::before{background-image:url("dwellings/prism-of-paws/paws-feature-clean.jpg")}
body.phoenix-page .feature figure.es-fit-full img,
body.prism-of-paws-page .feature figure.es-fit-full img{position:relative!important;z-index:1!important;object-fit:contain!important;object-position:center center!important}
body.phoenix-page .feature figure.es-phoenix-feature{position:relative!important;isolation:isolate!important;height:540px!important;overflow:hidden!important;background:#101926!important}
body.phoenix-page .feature figure.es-phoenix-feature::before{content:"";position:absolute;inset:-24px;z-index:0;background:url("dwellings/phoenix/phoenix-09.jpg") center center/cover no-repeat;filter:blur(20px) saturate(1.08);transform:scale(1.05);opacity:.82}
body.phoenix-page .feature figure.es-phoenix-feature img{position:relative!important;z-index:1!important;width:100%!important;height:100%!important;object-fit:contain!important;object-position:center center!important}
body.aerie-page .feature figure{background:#18271f!important}
body.aerie-page .feature figure img{object-fit:cover!important;object-position:center center!important}
body.lotus-page .feature figure.es-lotus-feature{position:relative!important;isolation:isolate!important;height:540px!important;overflow:hidden!important;background:#361424!important}
body.lotus-page .feature figure.es-lotus-feature::before{content:"";position:absolute;inset:-24px;z-index:0;background:url("dwellings/lotus/lotus-lounge-new.jpg") center center/cover no-repeat;filter:blur(20px) saturate(1.1);transform:scale(1.05);opacity:.82}
body.lotus-page .feature figure.es-lotus-feature img{position:relative!important;z-index:1!important;width:100%!important;height:100%!important;object-fit:contain!important;object-position:center center!important}
body.max-page .feature figure.es-max-feature{position:relative!important;isolation:isolate!important;height:540px!important;overflow:hidden!important;background:#1f1710!important}
body.max-page .feature figure.es-max-feature::before{content:"";position:absolute;inset:-24px;z-index:0;background:url("dwellings/max/max-feature-fast.jpg") center center/cover no-repeat;filter:blur(20px) saturate(1.08);transform:scale(1.05);opacity:.82}
body.max-page .feature figure.es-max-feature img{position:relative!important;z-index:1!important;width:100%!important;height:100%!important;object-fit:contain!important;object-position:center center!important}
.intro p:first-of-type::first-letter,.lore p:first-of-type::first-letter{margin:0!important;padding:.04em .08em 0 0!important;letter-spacing:-.07em!important}
.hero .eyebrow{font-size:clamp(13px,1.4vw,16px)!important;font-weight:800!important;text-shadow:0 2px 3px rgba(0,0,0,1),0 0 16px rgba(0,0,0,.95)!important}
.hero h1{font-style:normal!important;text-shadow:0 3px 4px rgba(0,0,0,1),0 0 24px rgba(0,0,0,.85)!important}
.hero .cap>p{font-style:normal!important;font-size:clamp(20px,2.35vw,28px)!important;font-weight:700!important;line-height:1.45!important;color:#fff!important;text-shadow:0 2px 3px rgba(0,0,0,1),0 0 16px rgba(0,0,0,1)!important}
.details .d .n,.details .d .l{text-shadow:0 1px 8px rgba(0,0,0,.35)}
#es-book{position:fixed;top:16px;right:16px;z-index:9000;display:inline-flex;align-items:center;min-height:44px;padding:0 20px;border-radius:999px;background:#EA7A0B;color:#fff;text-decoration:none;font:700 12px/1 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;letter-spacing:.08em;text-transform:uppercase;box-shadow:0 8px 24px rgba(0,0,0,.28);transition:transform .2s ease,box-shadow .2s ease}
#es-book:hover{transform:translateY(-2px);box-shadow:0 12px 30px rgba(0,0,0,.34)}
@media(max-width:760px){
  body{font-size:17px!important}
  .intro p,.lore p,.ashev p,.feature .txt p,.cta p{font-size:18px!important;line-height:1.7!important}
  #es-book{top:14px;right:12px;min-height:40px;padding:0 15px;font-size:10px}
  #es-home span{display:none}
  #es-home{top:14px!important;left:12px!important;padding:4px!important}
}
@media print{#es-book{display:none}}

/* Mystic Village: keep atmospheric themes while making key labels unmistakable. */
body.mystic-village .hero .eyebrow{display:inline-block!important;max-width:min(92vw,680px);padding:10px 16px!important;border:2px solid #EA7A0B;border-radius:999px;background:rgba(12,52,65,.92)!important;color:#fff!important;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;font-size:clamp(11px,1.5vw,14px)!important;font-weight:800!important;line-height:1.25!important;letter-spacing:.14em!important;text-shadow:0 2px 8px rgba(0,0,0,.75)!important}
body.mystic-village .details .d .n,body.mystic-village .details .d .l{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;font-style:normal!important;font-weight:800!important;letter-spacing:.04em!important}
body.mystic-village:not(.crooked-spine-page) .feature figure.es-mystic-feature{position:relative!important;isolation:isolate!important;height:540px!important;overflow:hidden!important;background:#1c261f!important}
body.mystic-village:not(.crooked-spine-page) .feature figure.es-mystic-feature::before{content:"";position:absolute;inset:-24px;z-index:0;background-size:cover;background-position:center center;filter:blur(20px) saturate(1.08);transform:scale(1.05);opacity:.82}
body.silverthorn-page .feature figure.es-mystic-feature::before{background-image:url("dwellings/silverthorn/silverthorn-feature-fast.jpg")}
body.tipsy-toad-page .feature figure.es-mystic-feature::before{background-image:url("dwellings/tipsy-toad/tipsy-toad-feature-fast.jpg")}
body.pennywhistles-page .feature figure.es-mystic-feature::before{background-image:url("dwellings/pennywhistles/penny-feature-fast.jpg")}
body.owl-and-quill-page .feature figure.es-mystic-feature::before{background-image:url("dwellings/owl-and-quill/owl-and-quill-feature-fast.jpg")}
body.broomsticks-page .feature figure.es-mystic-feature::before{background-image:url("dwellings/broomsticks/broomsticks-feature-fast.jpg")}
body.windswept-castle-page .feature figure.es-mystic-feature::before{background-image:url("dwellings/windswept-castle/windswept-castle-feature-fast.jpg")}
body.mystic-village:not(.crooked-spine-page) .feature figure.es-mystic-feature img{position:relative!important;z-index:1!important;width:100%!important;height:100%!important;object-fit:contain!important;object-position:center center!important}
html body *:not(#es-readability){font-style:normal!important}

/* A factual, bookable Asheville day for every dwelling. */
.ashev.es-experience{display:flex!important;justify-content:center!important;padding:clamp(64px,8vw,104px) 22px!important;background:linear-gradient(145deg,#EAFBFF 0%,#C5EFF7 52%,#8EDAE9 100%)!important;color:#163E4A!important}
.ashev.es-experience .in{flex:0 1 1120px!important;width:min(1120px,100%)!important;max-width:1120px!important;margin:0 auto!important;padding:0!important;background:transparent!important;color:#163E4A!important}
.es-experience .k{color:#B84F00!important;font:800 12px/1.2 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;letter-spacing:.18em!important;text-transform:uppercase!important}
.es-experience .k,.es-experience h2,.es-experience .exp-step,.es-experience .exp-intro,.es-experience p,.exp-note{filter:none!important;backdrop-filter:none!important;text-shadow:none!important}
.es-experience h2{max-width:850px!important;margin:12px auto 12px!important;color:#075E78!important;font:800 clamp(32px,5vw,58px)/1.02 Georgia,"Times New Roman",serif!important;letter-spacing:-.025em!important;text-shadow:none!important}
.es-experience>.in>.exp-intro{max-width:820px!important;margin:0 auto 30px!important;color:#274D57!important;font:500 clamp(18px,1.8vw,21px)/1.65 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important}
.exp-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:18px!important}
.exp-card{position:relative!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:flex-start!important;min-height:286px!important;padding:28px!important;overflow:hidden!important;border:1px solid rgba(7,94,120,.18)!important;border-top:7px solid #EA7A0B!important;border-radius:22px!important;background:rgba(255,255,255,.95)!important;box-shadow:0 16px 34px rgba(0,79,101,.14)!important;color:#163E4A!important}
.exp-step{display:inline-flex!important;align-items:center!important;min-height:28px!important;padding:0 11px!important;border-radius:999px!important;background:#087E9E!important;color:#fff!important;font:800 11px/1 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;letter-spacing:.11em!important;text-transform:uppercase!important}
.exp-card h3{margin:18px 0 10px!important;color:#075E78!important;font:800 25px/1.12 Georgia,"Times New Roman",serif!important;font-style:normal!important}
.exp-card p{margin:0 0 18px!important;color:#274D57!important;font:500 17px/1.6 -apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif!important;font-style:normal!important;letter-spacing:normal!important;text-shadow:none!important;filter:none!important;opacity:1!important}
.exp-card a{display:inline-flex!important;align-items:center!important;min-height:42px!important;padding:0 15px!important;border:2px solid #087E9E!important;border-radius:999px!important;color:#075E78!important;background:#fff!important;font:800 13px/1 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;text-decoration:none!important}
.exp-card a+a{margin-top:8px!important}
.exp-card a:hover,.exp-card a:focus-visible{background:#087E9E!important;color:#fff!important;outline:3px solid rgba(234,122,11,.35)!important;outline-offset:3px!important}
.exp-note{max-width:820px!important;margin:22px auto 0!important;padding:14px 18px!important;border-left:5px solid #EA7A0B!important;border-radius:0 12px 12px 0!important;background:rgba(255,255,255,.72)!important;color:#234A54!important;font:700 14px/1.55 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important}

body.phoenix-page .hero h1{font-size:clamp(64px,12vw,128px)!important;line-height:.92!important}
body.phoenix-page .intro{max-width:900px!important;padding-top:78px!important}
body.phoenix-page .intro .k{font-size:clamp(16px,1.4vw,20px)!important}
body.phoenix-page .intro h2{max-width:860px!important;margin-left:auto!important;margin-right:auto!important;font-size:clamp(34px,5vw,58px)!important;line-height:1.08!important}
body.phoenix-page .intro p{max-width:820px!important;margin-left:auto!important;margin-right:auto!important;font-size:clamp(20px,1.65vw,23px)!important}
body.phoenix-page .details .row{max-width:1180px!important;gap:18px 68px!important;padding:34px 24px!important}
body.phoenix-page .details .d .n{font-size:clamp(25px,2.3vw,34px)!important}
body.phoenix-page .details .d .l{font-size:clamp(13px,1vw,15px)!important}
body.phoenix-page .gallery{max-width:1320px!important}
body.dragons-knoll-page .ashev.es-experience{background:linear-gradient(145deg,#EAFBFF 0%,#C5EFF7 52%,#8EDAE9 100%)!important;padding:clamp(64px,8vw,104px) 22px!important}
body.dragons-knoll-page .ashev.es-experience .in{flex:0 1 1120px!important;width:min(1120px,100%)!important;max-width:1120px!important;margin:0 auto!important;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;color:#163E4A!important}
body.dragons-knoll-page .ashev.es-experience .in::before{display:none!important}
body.dragons-knoll-page .es-experience .k{color:#B84F00!important;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;font-weight:800!important}
body.dragons-knoll-page .es-experience h2{color:#075E78!important;font-family:Georgia,"Times New Roman",serif!important;font-size:clamp(32px,5vw,58px)!important;line-height:1.02!important}
body.dragons-knoll-page .es-experience .exp-intro,body.dragons-knoll-page .exp-card p,body.dragons-knoll-page .exp-note{color:#274D57!important;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;text-shadow:none!important}
@media(max-width:850px){.exp-grid{grid-template-columns:1fr!important}.exp-card{min-height:0!important}.ashev.es-experience{padding:56px 18px!important}}

/* One real-time ThinkReservations calendar, filtered to the dwelling being viewed. */
.es-room-calendar{position:relative;z-index:1;padding:clamp(56px,7vw,88px) 22px;background:#fff;color:#173f4b;border-top:7px solid #EA7A0B;border-bottom:1px solid #b8dce4}
.es-cal-in{width:min(1120px,100%);margin:0 auto;display:grid;grid-template-columns:minmax(0,.82fr) minmax(420px,1.18fr);gap:clamp(34px,6vw,76px);align-items:center}
.es-cal-k{color:#B84F00;font:800 12px/1.2 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;letter-spacing:.18em;text-transform:uppercase}
.es-room-calendar h2{margin:12px 0 16px;color:#075E78;font:800 clamp(32px,5vw,54px)/1.04 Georgia,"Times New Roman",serif!important;letter-spacing:-.025em}
.es-cal-copy p{margin:0;color:#315761;font:500 18px/1.65 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important}
.es-cal-key{display:flex;flex-wrap:wrap;gap:16px;margin-top:22px;color:#315761;font:700 13px/1.2 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
.es-cal-key span{display:flex;align-items:center;gap:7px}.es-cal-key i{width:15px;height:15px;border-radius:50%;display:block}.es-cal-key .is-open{background:#087E9E}.es-cal-key .is-closed{background:#d8e4e7}
.es-cal-panel{padding:24px;border:1px solid #b8dce4;border-radius:24px;background:#f5fcfe;box-shadow:0 18px 46px rgba(7,94,120,.15)}
.es-cal-nav{display:grid;grid-template-columns:44px 1fr 44px;align-items:center;gap:12px;margin-bottom:20px}.es-cal-nav strong{text-align:center;color:#075E78;font:800 19px/1.2 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}.es-cal-nav button{width:44px;height:44px;border:2px solid #087E9E;border-radius:50%;background:#fff;color:#075E78;font-size:20px;cursor:pointer}.es-cal-nav button:disabled{opacity:.3;cursor:not-allowed}
.es-cal-status{padding:44px 12px;text-align:center;color:#315761;font:700 15px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}.es-cal-status a{color:#075E78;font-weight:800}
.es-cal-grid{display:grid;grid-template-columns:repeat(7,minmax(36px,1fr));gap:7px}.es-cal-week{text-align:center;color:#58747c;font:800 11px/1.2 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;text-transform:uppercase}.es-cal-blank,.es-cal-day{aspect-ratio:1;display:grid;place-items:center;border-radius:11px}.es-cal-day{font:800 14px/1 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}.es-cal-day.is-open{background:#087E9E;color:#fff;text-decoration:none;box-shadow:0 4px 10px rgba(7,94,120,.22)}.es-cal-day.is-open:hover,.es-cal-day.is-open:focus-visible{background:#EA7A0B;outline:3px solid rgba(234,122,11,.25);outline-offset:2px}.es-cal-day.is-closed{background:#dfeaec;color:#668088}.es-cal-day.is-past{opacity:.45}

/* The Crooked Spine can feel eccentric without physically skewing its content blocks. */
body.crooked-spine-page .intro,body.crooked-spine-page .ess,body.crooked-spine-page .cta,body.crooked-spine-page .lore .in,body.crooked-spine-page .ashev .in,body.crooked-spine-page .gallery figure{transform:none!important}
@media(max-width:850px){.es-cal-in{grid-template-columns:1fr}.es-cal-copy{text-align:center}.es-cal-key{justify-content:center}}
@media(max-width:760px){body.crooked-spine-page .intro,body.crooked-spine-page .ess,body.crooked-spine-page .cta,body.crooked-spine-page .lore .in{max-width:calc(100% - 24px)!important}.es-room-calendar{padding:50px 14px}.es-cal-panel{padding:16px 10px}.es-cal-grid{gap:5px}.es-cal-week{font-size:9px}.es-cal-day{border-radius:8px;font-size:13px}}
