:root{font-family:DM Sans,sans-serif;color:#223331;background:#f9f7f2;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button{cursor:pointer}h1,h2,h3,p{margin-top:0}h1,h2{font-family:Playfair Display,Georgia,serif;font-weight:400}h2 em,h1 em{font-weight:400}p{line-height:1.7}.header{position:relative;z-index:4;background:#f9f7f2}.nav-shell{height:96px;max-width:1390px;margin:auto;display:flex;align-items:center;justify-content:space-between;padding:0 45px;gap:30px}.brand{display:flex;align-items:center;gap:11px}.brand-symbol{border:1px solid #738e89;border-radius:50%;font-family:Playfair Display,serif;font-size:29px;display:grid;place-items:center;width:49px;height:49px;color:#2c625c}.brand strong{font-family:Playfair Display,serif;letter-spacing:.16em;font-size:24px;font-weight:500;display:block;line-height:1}.brand small{font-size:8px;letter-spacing:.25em;color:#677976}.nav-shell nav{display:flex;gap:38px;font-size:12px;text-transform:uppercase;letter-spacing:.1em}.nav-shell nav a:hover,.back-link:hover{color:#b48b5a}.nav-book,.dark-button{background:#24443d;color:#fff;padding:15px 25px;font-size:12px;text-transform:uppercase;letter-spacing:.1em;display:inline-flex;align-items:center;justify-content:space-between;gap:26px}.nav-book:hover,.dark-button:hover{background:#386557}.hero{height:650px;min-height:560px;background-size:cover;background-position:center;position:relative;color:#fff;display:flex;align-items:center}.hero-inner{width:100%;max-width:1310px;margin:auto;padding:60px 65px}.eyebrow{font-weight:700;font-size:10px;letter-spacing:.26em;color:#9c7b4f;margin-bottom:20px}.eyebrow.light{color:#e4d1ac}.hero h1{font-size:clamp(53px,6vw,92px);line-height:1.15;margin-bottom:25px;letter-spacing:-.035em}.hero em{color:#f8e3c5}.hero-inner>p:not(.eyebrow){font-size:15px;max-width:420px;color:#f5f1e8}.hero-link{display:inline-flex;border-bottom:1px solid white;padding:15px 0 10px;margin-top:24px;gap:45px;font-size:12px;letter-spacing:.1em;text-transform:uppercase}.hero-side{position:absolute;right:30px;bottom:70px;writing-mode:vertical-rl;letter-spacing:.3em;font-size:10px}.search-wrap{max-width:1200px;margin:-47px auto 0;position:relative;z-index:3;padding:0 20px}.search-box{background:#fff;box-shadow:0 17px 45px #1d383124;padding:17px 18px}.search-fields{display:grid;grid-template-columns:1fr 1fr .85fr 1fr;gap:0;align-items:stretch}.search-fields label{font-size:10px;font-weight:700;letter-spacing:.12em;color:#68716e;padding:10px 22px;border-right:1px solid #e5e8e2}.search-fields input,.search-fields select{display:block;width:100%;border:0;background:transparent;color:#213e36;font-size:14px;font-weight:500;padding:11px 0 0;outline-offset:2px;min-height:40px}.search-fields button{background:#24443d;color:#fff;border:0;margin-left:15px;font-size:12px;letter-spacing:.1em;text-transform:uppercase;display:flex;align-items:center;justify-content:center;gap:22px}.booking-note{background:#fff8e9;border-left:3px solid #b48b5a;padding:10px 15px;margin:10px 3px 0;font-size:13px}.section-container{max-width:1270px;margin:auto;padding:105px 40px}.intro{display:grid;grid-template-columns:1.1fr 1fr;gap:11%;align-items:start}.intro h2,.section-heading h2,.closing h2{font-size:clamp(42px,4.4vw,67px);line-height:1.2;letter-spacing:-.03em}.intro-text{padding-top:17px;font-size:15px;color:#596b65}.intro-text p:first-child{font-size:19px;color:#2f5149;line-height:1.6}.muted,.disclaimer{color:#818a85!important;font-size:12px!important}.apartments{padding-top:40px}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:35px}.section-heading h2{margin-bottom:10px}.section-heading p:last-child{color:#7a8780}.filter-label{font-size:10px;font-weight:700;letter-spacing:.1em;color:#7b8b84}.filter-label select{display:block;margin-top:8px;padding:12px 15px;background:transparent;border:1px solid #d6dcd5;color:#25463e;min-width:165px}.room-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}.room-card{background:#fff;overflow:hidden;border:1px solid #eeeee9;transition:transform .2s,box-shadow .2s}.room-card:hover{transform:translateY(-4px);box-shadow:0 18px 35px #1b3c3420}.room-image-link{position:relative;display:block;height:215px;overflow:hidden}.room-image-link img{width:100%;height:100%;object-fit:cover;transition:transform .4s}.room-card:hover img{transform:scale(1.055)}.image-tag{position:absolute;top:14px;left:14px;background:#f9f7f2ee;padding:8px 12px;font-size:9px;letter-spacing:.15em;font-weight:700}.room-info{padding:23px 22px 22px}.room-type{color:#b18d5c;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.12em;margin-bottom:7px}.room-info h3{font-family:Playfair Display,serif;font-weight:400;font-size:25px;margin-bottom:7px}.room-info>div>p:last-child{font-size:12px;color:#798780;min-height:42px}.room-bottom{border-top:1px solid #eff0ea;padding-top:17px;display:flex;gap:9px;align-items:center;justify-content:space-between;font-size:11px;color:#75847c}.room-bottom a{font-size:11px;font-weight:700;color:#2c5d50;white-space:nowrap}.image-disclosure{color:#9c9c91;font-size:11px;margin-top:23px}.discover{display:grid;grid-template-columns:1fr 1fr;min-height:500px;background:#24443d;color:#fff}.discover-img{background-image:url(https://images.unsplash.com/photo-1500375592092-40eb2168fd21?auto=format&fit=crop&w=1400&q=85);background-size:cover;background-position:center}.discover-content{padding:95px 12%;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}.discover h2{font-size:clamp(45px,5vw,72px);line-height:1.13}.discover p:not(.eyebrow){color:#d3dfd9;max-width:460px;font-size:15px}.discover a{border-bottom:1px solid white;padding:12px 0;margin-top:18px;font-size:12px;letter-spacing:.09em;text-transform:uppercase}.closing{text-align:center;padding:105px 25px 115px}.closing h2{margin-bottom:12px}.closing>p:not(.eyebrow){color:#788780}.closing .dark-button{margin-top:17px}footer{background:#1c322c;color:#f8f7f0;padding:55px max(30px,calc((100vw - 1190px)/2)) 20px}.footer-top,.footer-bottom{display:flex;align-items:center;justify-content:space-between;gap:20px}.footer-brand{font-family:Playfair Display,serif;font-size:36px;letter-spacing:.15em}.footer-brand span{display:block;font-family:DM Sans,sans-serif;font-size:9px;letter-spacing:.23em}.footer-top p{color:#c4d2ca;font-size:13px}.footer-bottom{border-top:1px solid #ffffff25;margin-top:45px;padding-top:19px;color:#b0bdb7;font-size:10px}.detail-header{max-width:1230px;padding:25px 30px;margin:auto;display:flex;justify-content:space-between;align-items:center}.back-link{font-size:13px}.detail-container{max-width:1180px;margin:55px auto 100px;padding:0 30px}.detail-container h1{font-size:clamp(48px,5vw,75px);margin-bottom:8px}.detail-tagline{color:#74837b}.detail-image{position:relative;height:min(55vw,540px);min-height:290px;margin-top:30px}.detail-image img{width:100%;height:100%;object-fit:cover}.detail-image span{position:absolute;bottom:18px;left:20px;background:#fffdf1df;padding:11px 15px;font-size:10px;letter-spacing:.07em}.detail-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:90px;margin-top:65px}.detail-grid h2{font-size:47px}.detail-grid h3{font-size:19px;font-weight:500;margin-top:30px}.detail-grid p{color:#65756b}.amenities{padding:0;list-style:none;display:flex;flex-wrap:wrap;gap:15px;color:#36574c}.detail-panel{background:#eeeae0;padding:30px;align-self:start}.detail-panel>div{display:flex;justify-content:space-between;border-bottom:1px solid #d5d6ca;padding:17px 0;gap:10px;font-size:13px}.detail-panel hr{border:0}.detail-panel .dark-button{margin-top:15px;width:100%;text-align:center;justify-content:center}.detail-footer{background:#203a32;color:#e7eee7;text-align:center;padding:35px;font-size:11px;letter-spacing:.14em}.admin-disabled{padding:12vw 10vw;min-height:100vh}.admin-disabled h1{font-size:48px}.admin-disabled p{max-width:640px}.admin-disabled a{color:#2c625c;text-decoration:underline}@media(max-width:1000px){.room-grid{grid-template-columns:repeat(2,1fr)}.nav-shell nav{gap:16px}.hero-inner{padding:50px 40px}.detail-grid{gap:35px}}@media(max-width:680px){.nav-shell{height:77px;padding:0 18px}.nav-shell nav{display:none}.brand-symbol{width:42px;height:42px}.brand strong{font-size:19px}.brand small{font-size:7px}.nav-book{padding:12px 13px;font-size:10px;gap:8px}.hero{height:560px;background-position:55% center}.hero-inner{padding:40px 26px}.hero h1{font-size:52px}.hero-side{display:none}.search-wrap{margin:-15px auto 0}.search-fields{grid-template-columns:1fr 1fr}.search-fields label{padding:10px;border-bottom:1px solid #e5e8e2}.search-fields label:nth-child(2){border-right:0}.search-fields label:nth-child(3){border-bottom:0}.search-fields button{margin:0;font-size:10px;gap:8px}.section-container{padding:70px 22px}.intro{grid-template-columns:1fr;gap:0}.intro-text{padding:0}.intro h2,.section-heading h2,.closing h2{font-size:43px}.section-heading{align-items:start;flex-direction:column}.room-grid{grid-template-columns:1fr}.room-image-link{height:235px}.apartments{padding-top:30px}.discover{grid-template-columns:1fr}.discover-img{height:260px}.discover-content{padding:60px 27px}.footer-top,.footer-bottom{align-items:flex-start;flex-direction:column}.detail-header{padding:18px}.detail-container{margin:32px auto 65px;padding:0 19px}.detail-image{height:330px}.detail-grid{grid-template-columns:1fr;margin-top:40px}.detail-grid h2{font-size:38px}}.booking-main{max-width:1050px;margin:55px auto 100px;padding:0 25px;min-height:60vh}.booking-main h1{font-size:clamp(42px,5vw,68px)}.booking-main h2{font-size:32px}.booking-main>p{color:#65776c}.booking-search{display:flex;gap:15px;align-items:end;background:#eeeae0;padding:23px;margin:28px 0;flex-wrap:wrap}.booking-search label,.booking-guest label{display:flex;flex-direction:column;gap:8px;color:#25443a;font-size:12px;flex:1;min-width:150px}.booking-search input,.booking-search select,.booking-guest input,.booking-guest select{height:43px;padding:8px 11px;border:1px solid #c8d0c9;background:#fff;border-radius:0}.booking-search .dark-button{min-height:43px;border:0}.booking-error{padding:13px 16px;background:#fff0e9;color:#872c18!important;border-left:3px solid #872c18}.booking-notice{padding:15px 18px;background:#fff7e9;border-left:3px solid #bd8c52;color:#6a4d28}.booking-results-heading{display:flex;align-items:center;justify-content:space-between}.booking-options{display:grid;gap:15px}.booking-option{background:#fff;display:grid;grid-template-columns:160px 1fr 175px;align-items:center;border:1px solid #e6e7df;min-height:145px;gap:20px;padding-right:22px}.booking-option img{width:160px;height:145px;object-fit:cover}.booking-option h3{font-size:24px;font-family:Playfair Display,Georgia,serif;font-weight:400;margin-bottom:5px}.booking-option p{font-size:12px;color:#74857d}.booking-option small,.booking-price small{display:block;color:#88968c;font-size:11px}.booking-price{text-align:right}.booking-price b{font-size:23px}.booking-price button,.admin-entry button{background:#26493f;color:#fff;border:0;padding:12px 17px;margin-top:13px}.booking-price button:disabled{background:#c6ccc5;color:#5c6c60;cursor:not-allowed}.booking-guest{background:#eeeae0;padding:28px;max-width:620px;margin:35px 0;display:grid;gap:15px}.booking-guest .dark-button{border:0}.booking-success{background:#e6f0e7;padding:30px;border-left:4px solid #3a7654}.admin-list{display:grid;gap:10px}.admin-entry{padding:18px;background:#fff;border:1px solid #e8e8de;display:flex;justify-content:space-between;gap:20px;align-items:center}.admin-entry p{margin:4px 0;font-size:12px;color:#697b71}@media(max-width:680px){.booking-main{margin:25px auto 50px}.booking-option{grid-template-columns:100px 1fr;gap:12px;padding:0 12px 12px 0}.booking-option img{width:100px;height:128px}.booking-price{grid-column:1/-1;text-align:left;padding:0 12px}.booking-search{flex-direction:column;align-items:stretch}.booking-search label{min-width:100%}.admin-entry{flex-direction:column;align-items:stretch}}.booking-terms{display:flex!important;align-items:flex-start;gap:.65rem;line-height:1.6;font-size:.9rem}.booking-terms input{width:auto!important;margin-top:.3rem;flex:none}.contact-terms{margin-top:3rem;padding:1.5rem;background:#f4f1e9;border-radius:14px}.contact-terms h2{font-size:1.35rem}.contact-terms a,.booking-success a,.booking-guest a{color:#164e45;text-decoration:underline}
