@font-face{font-family:Patria;src:local('Georgia');font-display:swap}
:root{--paper:#f7f4ee;--ink:#302e29;--muted:#686158;--rust:#9b4e35;--line:#dcd5ca;--sand:#ede7db;--serif:Patria,Georgia,'Times New Roman',serif;--sans:Arial,Helvetica,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:105px}body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.65 var(--sans);-webkit-font-smoothing:antialiased}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{cursor:pointer}button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--rust);outline-offset:5px}img{display:block;width:100%;height:100%;object-fit:cover}svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.45;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.08;letter-spacing:-.045em}em{font-weight:400;color:var(--rust)}.topline{height:34px;background:#e9e3d7;display:flex;justify-content:space-between;align-items:center;padding:0 5%;font-size:10px;letter-spacing:.13em}.topline>a{letter-spacing:.08em}.header{height:107px;display:flex;justify-content:space-between;align-items:center;padding:0 5%;border-bottom:1px solid var(--line);background:var(--paper);position:sticky;top:0;z-index:20}.brand{display:grid;position:relative;width:124px;line-height:1}.brand-small{font-size:9px;letter-spacing:.35em;margin-left:2px}.brand-name{font:46px/.98 var(--serif);letter-spacing:-.06em;margin-top:3px}.brand-dot{color:var(--rust)}.brand-city{font-size:8px;letter-spacing:.4em;margin:6px 0 0 35px}.header nav{display:flex;gap:30px;font-size:13px}.header nav a:hover{color:var(--rust)}.header-actions{display:flex;gap:28px;align-items:center}.languages{display:flex;align-items:center;gap:2px;font-size:11px}.languages button{border:0;background:none;color:var(--muted);height:44px;width:32px;padding:0}.languages button[aria-pressed=true]{color:var(--ink);font-weight:bold;text-decoration:underline;text-underline-offset:5px}.button{background:var(--rust);color:white;display:inline-flex;justify-content:space-between;align-items:center;gap:30px;padding:17px 24px;border:1px solid var(--rust);font-size:13px;font-weight:500;min-height:53px;transition:background .2s,transform .2s}.button:hover{background:#7f3d28}.button.small{min-height:44px;font-size:12px;padding:11px 18px}.button.outline{background:transparent;color:var(--ink);border-color:var(--ink)}.button.outline:hover{background:var(--ink);color:white}.menu-toggle{display:none}.hero{display:grid;grid-template-columns:46% 54%;min-height:635px}.hero-copy{padding:70px 7% 40px 10.87%;display:flex;align-items:flex-start;flex-direction:column;justify-content:center}.eyebrow{font:10px/1.5 var(--sans);letter-spacing:.17em;font-weight:500;display:flex;align-items:center;gap:12px;margin-bottom:25px}.line{height:1px;width:27px;background:var(--rust)}h1{font-size:clamp(42px,4.1vw,68px);line-height:1.1;letter-spacing:-.055em}h1 em{display:inline-block;margin-top:5px}.hero-description{font-size:14px;max-width:325px;color:var(--muted);margin:26px 0 28px}.hero-phone{margin-top:19px;font-size:11px;display:flex;gap:10px;flex-wrap:wrap}.hero-phone>span:first-child{color:var(--muted)}.hero-footnote{margin-top:44px;display:flex;gap:8px;align-items:center;font-size:10px;color:var(--muted)}.hero-footnote svg{width:16px;height:16px}.hero-visual{position:relative;min-width:0;overflow:hidden}.hero-visual>img{position:absolute;inset:0;object-position:52% center}.hero-visual:after{content:'';position:absolute;inset:65% 0 0;background:linear-gradient(transparent,#211d1670);pointer-events:none}.image-label{position:absolute;top:30px;left:30px;background:#f7f4eeed;padding:9px 13px;font-size:9px;letter-spacing:.12em}.photo-note{position:absolute;bottom:32px;left:32px;right:32px;color:white;display:flex;justify-content:space-between;align-items:center;z-index:1;font:italic 24px var(--serif)}.photo-note>span:last-child{font:26px var(--sans)}.benefits{display:grid;grid-template-columns:repeat(4,1fr);padding:26px 5%;border-bottom:1px solid var(--line)}.benefits>span{display:flex;align-items:center;justify-content:center;gap:12px;font-size:11px;border-right:1px solid var(--line)}.benefits>span:last-child{border:0}.benefits svg{width:19px;height:19px;color:var(--rust)}.section{padding:100px 7%;max-width:1600px;margin:auto}h2{font-size:clamp(38px,3.6vw,56px)}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:50px;margin-bottom:43px}.section-intro{max-width:335px;font-size:13px;color:var(--muted);margin-bottom:5px}.room-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:27px}.room-photo{width:100%;border:0;padding:0;position:relative;display:block;background:var(--sand);overflow:hidden}.room-photo img{transition:transform .4s}.room-photo:hover img{transform:scale(1.025)}.room-card .room-photo{aspect-ratio:1.24}.room-tag{position:absolute;bottom:15px;left:15px;font-size:8px;background:var(--paper);padding:6px 9px;letter-spacing:.12em}.photo-zoom{position:absolute;top:12px;right:12px;display:grid;place-items:center;width:30px;height:30px;background:var(--paper);border-radius:50%;font-size:17px}.room-title{display:flex;align-items:center;justify-content:space-between;margin:22px 0 12px}.room-title h3{font-size:29px}.room-title>span{font-size:10px;color:var(--muted)}.room-card p{font-size:12px;color:var(--muted);min-height:58px;max-width:310px}.text-link{border-bottom:1px solid var(--line);padding-bottom:8px}.room-enquiry{display:flex;justify-content:space-between;font-size:11px;margin-top:15px}.text-link:hover{color:var(--rust);border-color:var(--rust)}.apartment{display:grid;grid-template-columns:1.1fr 1fr;background:var(--sand);margin-top:55px}.apartment-photo{aspect-ratio:1.6}.apartment-copy{padding:35px 14%;align-self:center}.apartment-copy .eyebrow{margin-bottom:16px}.apartment-copy h3{font-size:45px}.apartment-copy p:not(.eyebrow){font-size:12px;color:var(--muted);margin-top:18px}.apartment-copy .room-enquiry{margin-top:21px}.hostal{border-top:1px solid var(--line);display:grid;grid-template-columns:1.1fr 1fr;gap:8%;align-items:center}.hostal-copy>p:not(.eyebrow){font-size:13px;max-width:410px;color:var(--muted);margin-top:25px}.service-grid{display:grid;grid-template-columns:1fr 1fr;gap:25px 15px;margin-top:35px}.service-grid>div{display:flex;align-items:center;gap:12px;font-size:11px}.service-grid svg{color:var(--rust);width:22px;height:22px}.hostal-visual{padding:18px 18px 0;background:#e8e1d5}.hostal-visual>img{aspect-ratio:.95;object-position:center}.hostal-caption{padding:22px 8px 25px;display:flex;flex-direction:column;gap:8px}.hostal-caption>span:first-child{font-size:8px;letter-spacing:.15em}.hostal-caption>span:last-child{font:italic 24px var(--serif)}.location{border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:center}.location-copy>p:not(.eyebrow){max-width:375px;color:var(--muted);font-size:13px;margin-top:25px}.places{list-style:none;margin:28px 0;padding:0}.places li{display:flex;justify-content:space-between;gap:15px;padding:12px 0;border-bottom:1px solid var(--line);font-size:12px}.places li>span:last-child{font-size:10px;color:var(--muted)}.neighbourhood{aspect-ratio:1;position:relative;overflow:hidden;background:#e9e3d5;border:1px solid #ded5c4}.map-block{position:absolute;background:#d8cfbc;border:5px solid #f7f4ee;transform:rotate(-14deg);border-radius:14px}.b1{left:-10%;top:4%;width:44%;height:34%}.b2{left:39%;top:-9%;width:30%;height:40%}.b3{left:80%;top:-1%;width:35%;height:38%}.b4{left:29%;top:59%;width:30%;height:51%}.b5{left:65%;top:53%;width:45%;height:52%}.map-street{position:absolute;font-size:8px;letter-spacing:.16em;color:#716754;z-index:1}.street-a{left:24%;top:46%;transform:rotate(-14deg)}.street-b{top:32%;left:31%;transform:rotate(-14deg)}.street-c{top:76%;left:46%;transform:rotate(76deg)}.map-label{position:absolute;text-align:center;font:15px/1.3 var(--serif);letter-spacing:.08em}.sol{right:4%;top:32%}.sol span{display:block;font-size:26px;margin-top:4px}.plaza{left:5%;bottom:17%;border:7px double #b7a98e;padding:21px 15px;background:#ded4be}.map-marker{position:absolute;left:48%;top:36%;transform:translate(-50%,-50%);display:flex;align-items:center;flex-direction:column;color:var(--rust);z-index:2}.map-marker svg{width:36px;height:42px;fill:var(--rust);stroke:var(--paper);stroke-width:1.2}.map-marker strong{font:30px var(--serif);background:var(--paper);padding:0 10px;box-shadow:0 4px 15px #50402b13}.map-marker>span{background:var(--paper);font-size:7px;letter-spacing:.1em;padding:3px 10px}.map-caption{position:absolute;bottom:14px;left:0;right:0;text-align:center;font-size:7px;letter-spacing:.09em}.faq{border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr;gap:8%;padding-top:75px;padding-bottom:80px}.faq h2{font-size:44px}.faq-list details{border-bottom:1px solid var(--line)}summary{cursor:pointer;padding:19px 28px 19px 0;list-style:none;font-size:13px;position:relative}summary::-webkit-details-marker{display:none}summary:after{content:'+';position:absolute;right:1px;font-size:20px;top:13px;color:var(--rust)}details[open] summary:after{content:'−'}.faq-list p{font-size:12px;padding:0 20px 20px 0;color:var(--muted)}.contact{max-width:none;background:#eae2d4;display:grid;grid-template-columns:1.2fr 1fr;gap:8%;padding:85px 9%;align-items:center}.contact h2{font-size:clamp(38px,3.7vw,58px)}.contact>div>p:not(.eyebrow){font-size:13px;max-width:365px;color:var(--muted);margin-top:25px}.contact-phone{display:flex;align-items:center;gap:24px;font:30px var(--serif);margin-top:32px}.contact-phone span{font:22px var(--sans)}.contact-hours{font-size:10px;display:block;margin-top:10px;color:var(--muted)}form{padding:30px;background:var(--paper);max-width:440px;width:100%}form h3{font-size:27px;margin-bottom:23px}.date-fields{display:grid;grid-template-columns:1fr 1fr;gap:15px}label{display:block;font-size:11px;margin-bottom:17px}label>span{display:block;margin-bottom:6px}input,select{width:100%;min-width:0;height:46px;border:1px solid #c7beaf;background:transparent;border-radius:0;padding:9px;color:var(--ink);font-size:13px}form .button{width:100%;font-size:12px;margin-top:3px}.form-note{font-size:10px;color:var(--muted);margin-top:13px;line-height:1.6}footer{padding:45px 5% 20px}.footer-top{display:grid;grid-template-columns:1.2fr 1fr 1fr auto;gap:25px;align-items:center}.footer-top p{font-size:11px;color:var(--muted)}.footer-top>div{display:flex;flex-direction:column;gap:7px;font-size:11px}.back-top{font-size:10px}.footer-bottom{border-top:1px solid var(--line);margin-top:35px;padding-top:16px;display:flex;justify-content:space-between;gap:20px;font-size:9px;color:var(--muted)}.footer-bottom button{border:0;background:none;padding:0;color:inherit;font-size:9px;min-height:24px;text-decoration:underline}.mobile-contact{display:none}.svg-library{position:absolute;height:0;width:0;overflow:hidden}.skip{position:fixed;left:10px;top:-100px;background:var(--ink);color:white;padding:12px;z-index:100}.skip:focus{top:10px}dialog{border:0;background:var(--paper);color:var(--ink);padding:25px;max-width:900px;width:calc(100% - 40px);max-height:90dvh;box-shadow:0 15px 80px #0003}dialog::backdrop{background:#211c17c9}dialog .dialog-close{display:block;border:0;background:none;font-size:30px;line-height:1;width:44px;height:44px;margin-left:auto;margin-bottom:10px;color:var(--ink)}#photo-dialog img{height:auto;max-height:70dvh;object-fit:contain}#photo-caption{font-size:12px;margin-top:12px}#privacy-dialog{max-width:600px;padding:28px}#privacy-dialog h2{font-size:34px;margin-bottom:25px}#privacy-dialog p{font-size:14px;margin-top:20px}
@media(min-width:1600px){.hero{max-height:790px;min-height:710px}.hero-copy{padding-left:max(10.87%,calc((100vw - 1400px)/2))}}
@media(max-width:1100px){.header{padding:0 4%}.header nav{gap:19px;font-size:12px}.header-actions{gap:12px}.desktop-cta{display:none}.hero-copy{padding:50px 7% 35px 10%}h1{font-size:49px}.hero{min-height:610px}.eyebrow{font-size:9px;letter-spacing:.12em}.section{padding:75px 5%}.room-grid{gap:20px}.apartment-copy{padding:30px 10%}.hostal,.location,.faq{gap:5%}.benefits{padding-left:2%;padding-right:2%}.benefits>span{font-size:10px;gap:7px}.contact{padding:70px 6%;gap:5%}.room-title h3{font-size:26px}}
@media(max-width:760px){html{scroll-padding-top:90px}.topline{height:29px;padding:0 5%;font-size:8px;letter-spacing:.08em}.topline>span:nth-child(2){display:none}.header{height:85px;padding:0 6%}.brand{width:104px}.brand-name{font-size:39px}.brand-small{font-size:8px}.brand-city{font-size:7px;margin-left:29px}.menu-toggle{display:flex;border:0;background:none;width:44px;height:44px;flex-direction:column;justify-content:center;gap:7px;padding:10px}.menu-toggle span{display:block;background:var(--ink);height:1px;width:23px}.header-actions{gap:12px}.header nav{display:none;position:absolute;left:0;right:0;top:85px;background:var(--paper);padding:20px 6% 30px;border-bottom:1px solid var(--line);box-shadow:0 15px 20px #302e2910}.header nav.open{display:flex;flex-direction:column;gap:0}.header nav a{padding:12px 0;font-size:15px}.hero{display:flex;flex-direction:column;min-height:0}.hero-copy{padding:44px 7% 33px}.hero-copy .eyebrow{margin-bottom:22px;font-size:8px}.hero-copy h1{font-size:clamp(40px,7.5vw,57px)}.hero-description{font-size:14px;max-width:370px;margin:21px 0 25px}.hero-footnote{margin-top:24px;font-size:10px}.hero-phone{font-size:11px}.hero-visual{height:360px;min-height:0}.hero-visual>img{object-position:center}.image-label{top:20px;left:7%;font-size:8px}.photo-note{bottom:24px;left:7%;right:7%;font-size:22px}.benefits{grid-template-columns:1fr 1fr;gap:20px 0;padding:24px 5%}.benefits>span{font-size:10px;justify-content:flex-start;padding:0 7px}.benefits>span:nth-child(2){border:0}.section{padding:60px 7%}.section-heading{display:block;margin-bottom:30px}.eyebrow{margin-bottom:20px}h2{font-size:41px}.section-intro{margin:23px 0 0;max-width:420px;font-size:13px}.room-grid{grid-template-columns:1fr;gap:37px}.room-card .room-photo{aspect-ratio:1.4}.room-title{margin:20px 0 10px}.room-title h3{font-size:30px}.room-card p{font-size:13px;max-width:none;min-height:0}.room-enquiry{font-size:12px;margin-top:20px;padding-bottom:13px;min-height:32px}.room-tag{font-size:8px}.apartment{grid-template-columns:1fr;margin-top:40px}.apartment-photo{aspect-ratio:1.35}.apartment-copy{padding:30px}.apartment-copy h3{font-size:41px}.apartment-copy h3 br{display:none}.apartment-copy p:not(.eyebrow){font-size:13px}.hostal,.location,.faq{grid-template-columns:1fr;gap:35px}.hostal-copy>p:not(.eyebrow),.location-copy>p:not(.eyebrow){font-size:14px}.service-grid{gap:27px 12px}.service-grid>div{font-size:11px;gap:10px}.hostal-visual>img{aspect-ratio:1.15}.hostal-caption{padding:18px 5px 20px}.places li{font-size:13px}.places li>span:last-child{font-size:10px}.neighbourhood{max-width:500px;width:100%}.map-street{font-size:7px}.map-caption{font-size:6px}.faq h2{font-size:40px}.faq{gap:22px}summary{font-size:14px;padding-top:20px;padding-bottom:20px}.faq-list p{font-size:13px}.contact{grid-template-columns:1fr;padding:60px 7%;gap:35px}.contact h2{font-size:41px}.contact>div>p:not(.eyebrow){font-size:14px}.contact-phone{font-size:30px}form{padding:25px;max-width:none}form h3{font-size:28px}label{font-size:12px}input,select{font-size:16px;height:50px}.form-note{font-size:11px}footer{padding:36px 7% 100px}.footer-top{grid-template-columns:1fr 1fr;gap:28px 15px}.footer-top p,.footer-top>div{font-size:10px}.back-top{justify-self:end}.footer-bottom{flex-wrap:wrap;font-size:8px;gap:8px 16px;align-items:center}.footer-bottom button{font-size:9px;min-height:44px}.mobile-contact{position:fixed;bottom:0;left:0;right:0;z-index:30;display:grid;grid-template-columns:.85fr 1.15fr;padding:10px 6% max(10px,env(safe-area-inset-bottom));background:var(--paper);box-shadow:0 -3px 20px #302e2914;gap:10px}.mobile-contact a{display:flex;align-items:center;justify-content:center;gap:10px;border:1px solid var(--rust);color:var(--rust);height:47px;font-size:12px}.mobile-contact a:last-child{background:var(--rust);color:white}.mobile-contact svg{width:18px;height:18px}.room-photo:hover img{transform:none}}
@media(max-width:360px){h1,.hero-copy h1{font-size:37px}.hero-copy .eyebrow{font-size:7px;gap:6px}.line{width:16px}.hero-visual{height:290px}.benefits>span{font-size:9px}.date-fields{gap:8px}form{padding:18px}.contact h2,h2{font-size:36px}.places li{font-size:11px}}
.hero-visual:after{display:none}.image-label{background:var(--paper);z-index:1}.photo-note{background:#302e29;padding:12px 17px;font-size:21px}.map-street{color:#514b40;background:#e9e3d5}.map-label,.map-caption{z-index:1}.map-caption{background:#e9e3d5;padding:3px}.sol{background:#e9e3d5;padding:6px}.street-b{background:#e9e3d5;padding:2px}.street-c{z-index:1}.contact>*,.date-fields>*{min-width:0}
.exterior-photo{aspect-ratio:1200/797}.exterior-photo img{object-fit:contain}.entrance-directions{display:flex;justify-content:space-between;align-items:center;gap:10px;border-top:1px solid #c9bfad;margin-top:8px;padding:13px 0 0;font-size:11px;line-height:1.5}.entrance-directions:hover{color:var(--rust)}.hostal-caption .entrance-directions>span{font:inherit}.header nav a[aria-current="location"]{color:var(--rust);text-decoration:underline;text-underline-offset:6px}.street-a{left:10%;top:49%}.street-b{left:35%;top:17%}.sol{top:39%;right:1%}
.hostal-caption>span:nth-child(2){font:italic 24px var(--serif)}
input,select{border-color:#82796b}.languages button{width:44px}.room-enquiry{min-height:44px;align-items:center}.entrance-directions{min-height:44px}.sol{z-index:3;top:14%;right:3%}.sol span{font-size:24px}
fieldset{border:0;margin:0;padding:0;min-inline-size:0}.no-script{padding:18px;border:1px solid var(--rust);margin:15px 0;font-size:14px}.button:disabled{opacity:.55;cursor:not-allowed}
@media(max-width:760px){.hero-description,.section-intro,.room-card p,.apartment-copy p:not(.eyebrow),.hostal-copy>p:not(.eyebrow),.location-copy>p:not(.eyebrow),.faq-list p,.contact>div>p:not(.eyebrow){font-size:16px;line-height:1.65}.eyebrow,.hero-copy .eyebrow{font-size:10px}.hero-copy .eyebrow{flex-wrap:wrap;gap:8px}.benefits>span{font-size:12px}.service-grid>div{font-size:13px}.room-enquiry,.entrance-directions{font-size:13px}.room-tag{font-size:10px}.hero-phone{font-size:13px;min-height:44px;align-items:center;margin-top:9px}.button,form .button{font-size:14px}summary{font-size:16px}.form-note,.contact-hours{font-size:12px}.footer-top p,.footer-top>div,.back-top{font-size:12px}.footer-top>div a,.back-top{min-height:44px;display:flex;align-items:center}.footer-bottom{font-size:11px}.footer-bottom button{font-size:11px}.mobile-contact a{font-size:14px}.map-caption{font-size:8px}.places li{font-size:14px}.places li>span:last-child{font-size:12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}
