:root{--paper:#f7f7f4;--ink:#232522;--muted:#777970;--line:#d9dbd3;--dark:#262825;--light:#e8e8dd;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:88px}body{margin:0}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:not-allowed}button{color:inherit}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid #a56b41;outline-offset:5px}button, a{touch-action:manipulation}button{border-radius:0}p,h1,h2,h3,figure{margin:0}[hidden]{display:none!important}.skip-link{position:fixed;left:12px;top:-100px;z-index:100;background:white;padding:12px}.skip-link:focus{top:12px}.preview-note{font-size:14px;line-height:1.4;text-align:center;padding:9px 20px;background:#e9eae4;color:#50534b}.header{height:76px;padding:0 3.5%;display:flex;justify-content:space-between;align-items:center;background:var(--paper);position:sticky;top:0;z-index:5;border-bottom:1px solid rgba(35,37,34,.1)}.wordmark{font-size:38px;font-weight:500;letter-spacing:-2.8px;line-height:1;display:inline-block}.header nav{display:flex;gap:44px;align-items:center;font-size:14px}.nav-link{padding:15px 0}.book-link{display:flex;gap:24px;align-items:center;background:transparent;border:1px solid #9c9e97;padding:13px 20px;min-height:44px;font-size:14px}.tiny-dot{width:5px;height:5px;border-radius:50%;background:currentColor}.book-link:hover{background:var(--ink);color:var(--paper);border-color:var(--ink)}.hero{position:relative;min-height:550px;height:calc(100svh - 113px);max-height:980px;background:#56564e;color:white}.hero-images{display:grid;grid-template-columns:58% 42%;height:100%;width:100%;position:absolute;inset:0}.hero-images img{width:100%;height:100%;min-width:0;object-fit:cover}.hero-exterior{object-position:50% 68%}.hero-interior{object-position:50% 72%}.hero:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,rgba(0,0,0,.05) 0%,transparent 65%),linear-gradient(0deg,rgba(0,0,0,.37),transparent 44%)}.hero-copy{position:absolute;z-index:1;left:0;right:42%;top:49%;transform:translateY(-50%);text-align:center;padding:0 24px;text-shadow:0 1px 10px #0005}.hero h1{font-size:clamp(28px,3.2vw,48px);line-height:1.15;font-weight:400;letter-spacing:-.8px}.hero-copy p{font-family:Georgia,"Times New Roman",serif;font-size:clamp(19px,2vw,27px);font-style:italic;margin-top:14px;line-height:1.4}.hero-book{position:absolute;z-index:1;bottom:48px;left:29%;transform:translateX(-50%);background:transparent;color:white;border:0;border-bottom:1px solid #ffffffa8;padding:10px 0;font-size:16px;line-height:1.5;min-height:44px;transition:border-color .2s}.hero-book:hover{border-color:white}.hero-caption{position:absolute;z-index:1;bottom:60px;right:3.5%;font-size:12px;letter-spacing:1.3px;color:#fff}.refuge{background:var(--dark);color:var(--light);padding:118px 7% 68px}.refuge-intro{display:grid;grid-template-columns:1fr 1.25fr;gap:40px;padding-bottom:100px;align-items:start}.section-label{font-size:14px;line-height:1.6;font-weight:400}.refuge h2{font-family:Georgia,"Times New Roman",serif;font-size:clamp(32px,3.8vw,54px);font-weight:400;line-height:1.25;letter-spacing:-1.3px}.refuge-image{width:72%;max-width:1080px}.refuge-image img{display:block;width:100%;height:auto;max-height:760px;object-fit:cover;object-position:50% 58%}.refuge-image figcaption{display:flex;justify-content:space-between;gap:20px;color:#bdc1b6;font-size:12px;line-height:1.6;margin-top:16px}.refuge-bottom{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-top:70px}.refuge-bottom p{font-family:Georgia,"Times New Roman",serif;font-size:clamp(23px,2.6vw,34px);line-height:1.4;letter-spacing:-.5px}.text-button{background:transparent;border:0;border-bottom:1px solid #a4a69c;color:var(--light);font-size:16px;line-height:1.5;padding:12px 0;min-height:44px}.text-button:hover{border-color:var(--light)}footer{padding:55px 7%;display:grid;grid-template-columns:1fr 1fr 1fr;gap:32px;align-items:start;font-size:14px;line-height:1.65}.footer-brand{font-size:36px}.footer-links{display:flex;justify-content:flex-end;gap:28px}.footer-links a:hover{ text-decoration:underline;text-underline-offset:5px}
dialog{position:fixed;inset:0 0 0 auto;margin:0;border:0;padding:0;width:min(100%,530px);max-width:none;height:100dvh;max-height:none;background:var(--paper);color:var(--ink)}dialog::backdrop{background:rgba(10,15,11,.54)}body:has(dialog[open]){overflow:hidden}.booking-shell{min-height:100%;display:flex;flex-direction:column}.booking-head{display:flex;align-items:center;justify-content:space-between;padding:28px 36px 22px;border-bottom:1px solid var(--line)}.booking-head .wordmark{font-size:32px}.icon-button{background:transparent;border:0;width:44px;height:44px;padding:12px;display:flex;align-items:center;justify-content:center}.icon-button svg{height:22px;width:22px;fill:none;stroke:currentColor;stroke-width:1.25}.icon-button:disabled{opacity:.25}.icon-button:not(:disabled):hover{background:#eaece5}.booking-body{padding:34px 36px;flex:1}.booking-body>.section-label{color:#5e6158;margin-bottom:15px}.booking-body h2{font-family:Georgia,"Times New Roman",serif;font-size:32px;font-weight:400;line-height:1.2;letter-spacing:-.8px}.booking-description{font-size:14px;color:#696c63;line-height:1.6;margin:17px 0 28px}.date-fields{display:grid;grid-template-columns:1fr 1fr;border:1px solid #b4b7ab}.date-fields label{display:flex;flex-direction:column;padding:14px 12px 11px;gap:8px;font-size:12px;line-height:1.5;color:#6a6e62}.date-fields label+label{border-left:1px solid #b4b7ab}.date-fields input{background:none;border:0;color:var(--ink);width:100%;min-width:0;font-size:16px;line-height:1.5;padding:0;min-height:30px}.calendar-head{margin-top:27px;display:flex;align-items:center;justify-content:space-between}.calendar-head h3{font-size:16px;font-weight:400;text-transform:capitalize}.weekdays,.calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));text-align:center}.weekdays{margin:12px 0 8px;color:#797d71;font-size:12px;line-height:28px}.calendar button,.calendar>.spacer{aspect-ratio:1;min-height:44px}.calendar button{border:0;border-bottom:1px solid transparent;background:none;font-size:14px;position:relative;padding:0}.calendar button:not(:disabled):hover{background:#e5e7df}.calendar button:disabled{color:#bfc2b8}.calendar button.in-range{background:#e3e5dc}.calendar button.selected{background:var(--ink);color:white}.calendar button.today:after{content:"";position:absolute;width:3px;height:3px;border-radius:50%;bottom:7px;left:calc(50% - 1.5px);background:currentColor}.calendar-bottom{display:flex;justify-content:space-between;align-items:center;margin-top:12px;font-size:14px;min-height:36px}.subtle-button{background:none;border:0;text-decoration:underline;text-underline-offset:4px;color:#666b5e;font-size:14px;min-height:44px;padding:4px 0}.availability-note{font-size:12px;color:#797d71;line-height:1.6;margin:3px 0 22px}.guests-field{display:flex;justify-content:space-between;align-items:center;padding:14px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-size:14px}.guests-field input{width:65px;border:1px solid var(--line);background:transparent;padding:8px;font-size:16px;color:var(--ink)}.error{font-size:14px;color:#8a3328;line-height:1.5;margin:14px 0;min-height:0}.primary-button{display:block;width:100%;border:1px solid var(--ink);background:var(--ink);color:white;min-height:52px;font-size:14px;padding:16px;text-align:center;line-height:1.4}.primary-button:not(:disabled):hover{background:#44493e}.primary-button:disabled{background:#d6d9ce;color:#5f6358;border-color:#d6d9ce}.booking-foot{border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:16px;padding:23px 36px;font-size:12px;line-height:1.6;color:#737969}.booking-foot a{text-decoration:underline;text-underline-offset:4px}.edit-dates{margin:20px 0 14px}.stay-summary{display:flex;gap:18px;align-items:center}.stay-summary img{width:82px;height:106px;object-fit:cover;object-position:50% 60%}.stay-summary h3{font-size:16px;font-weight:400;margin-bottom:7px}.stay-summary p{font-size:14px;line-height:1.5;color:#71766a}.summary-list{font-size:14px;margin:30px 0 0}.summary-list div{display:flex;justify-content:space-between;gap:24px;padding:13px 0;border-bottom:1px solid var(--line);line-height:1.5}.summary-list dt{color:#6b7064}.summary-list dd{text-align:right;margin:0}.payment-summary{display:flex;justify-content:space-between;gap:20px;font-size:16px;margin:30px 0 12px}.payment-summary strong{font-weight:500}.payment-note{font-size:14px;line-height:1.6;color:#6b7064;margin:0 0 24px}.primary-button+.payment-note{margin:14px 0 0;font-size:12px}
@media(min-width:1500px){.header{padding-inline:4%}.hero-copy{left:4%;right:46%}.refuge{padding-inline:11%}}
@media(max-width:700px){html{scroll-padding-top:68px}.preview-note{font-size:12px;padding:8px 15px}.header{height:66px;padding-inline:22px}.wordmark{font-size:32px}.header nav{gap:22px}.nav-link{font-size:12px}.book-link{border:0;border-bottom:1px solid #999c91;padding:7px 0;min-height:38px;gap:14px;font-size:13px}.hero{height:calc(100svh - 100px);min-height:520px;max-height:850px}.hero-images{grid-template-columns:1fr}.hero-interior{display:none}.hero-exterior{object-position:48% 60%}.hero-copy{left:0;right:0;top:45%;padding:0 20px}.hero h1{font-size:34px;letter-spacing:-.7px}.hero-copy p{font-size:22px;margin-top:10px}.hero-book{bottom:61px;left:50%}.hero-caption{font-size:10px;bottom:23px;left:0;right:0;text-align:center;letter-spacing:1.5px}.refuge{padding:66px 24px 48px}.refuge-intro{grid-template-columns:1fr;gap:30px;padding-bottom:47px}.refuge h2{font-size:34px;letter-spacing:-.9px}.section-label{font-size:12px}.refuge-image{width:100%}.refuge-image img{max-height:none}.refuge-image figcaption{font-size:11px;gap:15px;flex-wrap:wrap}.refuge-bottom{align-items:start;flex-direction:column;margin-top:40px;gap:28px}.refuge-bottom p{font-size:27px}.text-button{font-size:14px}footer{padding:37px 24px 42px;grid-template-columns:1fr 1fr;row-gap:30px;font-size:12px}.footer-brand{font-size:32px}.footer-links{justify-content:flex-start;grid-column:1/-1;gap:26px}.booking-head{padding:15px 23px}.booking-body{padding:27px 23px}.booking-body h2{font-size:31px}.booking-foot{padding:22px 23px}.calendar button,.calendar>.spacer{min-height:42px}.booking-description{margin-bottom:22px}.calendar-head{margin-top:20px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
.booking-head{position:sticky;top:0;z-index:2;background:var(--paper)}.date-fields label{font-size:14px}
@font-face{font-family:"Shido Fugue";src:url("assets/fonts/fugue-brochure.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Shido Mono";src:url("assets/fonts/maison-mono-brochure.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}
:root{--paper:#f4f1ec;--ink:#161513;--muted:#7f6e58;--line:#d5d0c6;--dark:#161513;--light:#c6c1b7}
.preview-note{background:#e5e0d6;color:#625849}
.wordmark,.footer-brand,.booking-head .wordmark{width:96px;font-size:inherit;line-height:0;letter-spacing:normal}
.wordmark img{width:100%;height:auto;display:block}
.header .wordmark{width:107px}.booking-head .wordmark{width:86px}
.hero h1,.refuge h2,.booking-body h2,.refuge-bottom p{font-family:"Shido Fugue","Helvetica Neue",Helvetica,Arial,sans-serif;font-weight:400;letter-spacing:-.025em}
.hero-copy p{font-family:"Shido Fugue","Helvetica Neue",Helvetica,Arial,sans-serif;font-style:normal;letter-spacing:-.015em}
.refuge .section-label,.refuge-image figcaption,.footer-links{font-family:"Shido Mono","Courier New",monospace;text-transform:uppercase;letter-spacing:.02em}
.refuge .section-label{color:#a39177}.refuge-image figcaption{color:#a79c89}
.image-pair{display:grid;grid-template-columns:1.1fr 1fr;gap:30px;margin-top:44px;align-items:start}
.image-pair figure:last-child{margin-top:85px}.image-pair img{display:block;width:100%;height:auto}
.calendar button.in-range{background:#e1d9cb}.calendar button:not(:disabled):hover{background:#e7dfd4}
.calendar button.selected{background:var(--ink);color:var(--paper)}
.calendar button.selected:hover{background:#463f35}.primary-button:disabled{background:#d8d0c2;border-color:#d8d0c2;color:#625849}
.guests-field small{display:block;font-size:12px;color:#746b5d;margin-top:5px}.stay-terms{font-size:13px;line-height:1.6;color:#746b5d;margin-top:16px}
.rate-breakdown{font-size:14px;margin:22px 0;line-height:1.5}
.rate-breakdown div{display:flex;justify-content:space-between;gap:20px;margin:12px 0}
.rate-breakdown dd{margin:0;text-align:right;white-space:nowrap}
.rate-breakdown{color:#6f6658}.payment-summary{border-top:1px solid var(--line);padding-top:22px;margin-top:20px}
.advance-notice{font-size:13px;line-height:1.6;color:#746b5d;margin:-14px 0 22px}
.cancellation-note{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px 20px;padding:17px 0;margin:0 0 24px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-size:13px;line-height:1.6;color:#746b5d}
.cancellation-note a{font-size:11px;letter-spacing:.035em;text-decoration:underline;text-underline-offset:4px;color:var(--ink)}
@media(max-width:700px){.header .wordmark{width:91px}.footer-brand{width:86px}.image-pair{grid-template-columns:1fr;gap:24px;margin-top:30px}.image-pair figure:last-child{margin-top:0}.refuge h2{font-size:34px;line-height:1.18}.hero-copy p{font-size:21px}}

/* Galería inferior: cinco encuadres iguales, texto siempre fuera de la foto. */
.gallery-block{margin-top:44px;min-width:0}
.gallery-controls{display:flex;justify-content:flex-end;gap:6px;margin-bottom:16px}
.gallery-controls .icon-button{color:var(--light)}
.gallery-controls .icon-button:not(:disabled):hover{background:#ffffff0a}
.gallery{position:relative;display:flex;gap:22px;overflow-x:auto;overscroll-behavior-x:contain;padding:0 0 18px;scrollbar-width:thin;scrollbar-color:#7f6e58 #ffffff0a;-webkit-overflow-scrolling:touch}
.gallery:focus-visible{outline:1px solid #c6c1b7;outline-offset:8px}
.gallery figure{flex:0 0 clamp(300px,48vw,620px);min-width:0;margin:0}
.gallery img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;object-position:center;user-select:none;-webkit-user-drag:none}
.gallery img[src$="paisaje.webp"]{object-position:50% 59%}
.gallery img[src$="escritorio.webp"]{object-position:50% 67%}
.gallery figcaption{font-family:"Shido Mono","Courier New",monospace;text-transform:uppercase;font-size:11px;line-height:1.6;letter-spacing:.035em;color:#c6c1b7;padding-top:14px}
.gallery[data-direction="left"]{cursor:w-resize}.gallery[data-direction="right"]{cursor:e-resize}
@media(max-width:700px){.gallery-block{margin-top:30px}.gallery-controls{margin-bottom:12px}.gallery{gap:16px}.gallery figure{flex-basis:80vw}}
@media(pointer:coarse){.gallery{scroll-snap-type:x proximity}.gallery figure{scroll-snap-align:start}}

/* Calendario y acceso privado. */
.host-link{border:0;background:none;font-size:inherit;color:#746b5d;min-height:44px}
.host-link:hover{text-decoration:underline;text-underline-offset:5px}
.calendar-legend{display:flex;flex-wrap:wrap;gap:12px 18px;list-style:none;margin:17px 0 12px;padding:0;font-size:12px;line-height:1.5;color:#625849}
.calendar-legend li{display:flex;align-items:center;gap:7px;white-space:nowrap}
.calendar-swatch{display:inline-block;width:12px;height:12px;flex:0 0 12px;border:1px solid #c8c0b3}
.calendar-swatch.is-free{background:#fff}
.calendar-swatch.is-pending{background:#ece3bf;border-color:#d7cda5}
.calendar-swatch.is-reserved{background:#d7b5a3;border-color:#c7a08b}
.calendar-swatch.is-stay{background:var(--ink);border-color:var(--ink)}
.calendar-legend+.availability-note{margin:0;font-size:12px;line-height:1.6;color:#746b5d}
.calendar-contact{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:46px;margin:13px 0 21px;padding:11px 0;font-size:12px;line-height:1.6;letter-spacing:.035em;text-transform:uppercase;border-bottom:1px solid #b7ab98}
.calendar-contact:hover{border-color:var(--ink)}
.calendar-contact span{font-size:17px;line-height:1}
.calendar button.stay-night,.calendar button.stay-night:hover{background:var(--ink);color:var(--paper)}
.calendar button.checkout,.calendar button.checkout:hover{background:transparent;color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink)}
.calendar button.is-reserved,.calendar button.is-reserved:disabled{background:#d7b5a3;color:#63493c}
.calendar button.is-reserved:not(:disabled):hover{background:#cda792}
.calendar button.is-reserved.checkout{background:linear-gradient(135deg,transparent 50%,#d7b5a3 50%);color:var(--ink)}
.calendar button.is-unknown{background:repeating-linear-gradient(135deg,transparent,transparent 5px,#ddd6ca 5px,#ddd6ca 6px);color:#9b9284}
#retry-availability[hidden]{display:none}
.host-access-body{padding-top:45px}
.host-access-notice{font-size:14px;line-height:1.7;color:#746b5d;border-top:1px solid var(--line);padding-top:22px}
@media(max-width:700px){.header nav{gap:16px}.host-link{font-size:12px}.calendar-legend{gap:11px 14px;font-size:11px}.calendar-legend li{gap:6px}.calendar-swatch{width:11px;height:11px;flex-basis:11px}.host-access-body{padding-top:34px}}
@media(max-width:350px){.header{padding-inline:18px}.header nav{gap:12px}.header .wordmark{width:81px}.calendar-legend{display:grid;grid-template-columns:1fr 1fr}}

/* Datos del huésped antes del pago, sin registro. */
.guest-details{margin:28px 0;padding-top:24px;border-top:1px solid var(--line)}
.guest-details h3{font-family:"Shido Fugue","Helvetica Neue",Helvetica,Arial,sans-serif;font-size:23px;line-height:1.3;font-weight:400;letter-spacing:-.02em}
.guest-details-note{font-size:13px;line-height:1.6;color:#746b5d;margin:10px 0 22px}
.guest-field{margin:0 0 20px}
.guest-field label{display:block;font-size:14px;line-height:1.5;margin-bottom:8px}
.guest-field input{display:block;width:100%;min-width:0;min-height:48px;padding:12px;border:1px solid #b4ad9f;border-radius:0;background:transparent;color:var(--ink);font-size:16px;line-height:1.5;scroll-margin-top:120px}
.guest-field input[aria-invalid="true"]{border-color:#8a3328}
.field-hint,.field-error,.guest-preview-note{font-size:12px;line-height:1.6;margin:7px 0 0}
.field-hint,.guest-preview-note{color:#746b5d}.field-error{color:#8a3328}
