:root{--ink:#17352c;--forest:#1d493b;--sage:#849b77;--cream:#f4f0e7;--paper:#fbfaf6;--gold:#bd8e4e;--line:#d9d8ce;--serif:"Playfair Display",Georgia,serif;--sans:"DM Sans",sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--paper);color:var(--ink);font-family:var(--sans);margin:0;font-size:15px}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.site-header{z-index:5;justify-content:space-between;align-items:center;gap:2rem;height:88px;padding:0 5vw;display:flex;position:relative}.hero .site-header{color:#fff;border-bottom:1px solid #ffffff3d}.brand{font:600 21px/1 var(--serif);letter-spacing:.04em;text-transform:uppercase;flex-direction:column;display:flex}.brand span{font:500 9px/1.6 var(--sans);letter-spacing:.32em}.site-header nav{gap:2.1rem;font-size:13px;display:flex}.site-header nav a{padding:1rem 0}.button{background:var(--gold);color:#fff;text-transform:uppercase;letter-spacing:.12em;cursor:pointer;border:0;justify-content:center;align-items:center;padding:15px 23px;font-size:11px;font-weight:600;transition:all .25s;display:inline-flex}.button:hover{background:#a7793d;transform:translateY(-1px)}.button-small{padding:12px 20px}.button.outline{color:var(--forest);border:1px solid var(--forest);background:0 0}.hero{color:#fff;background:linear-gradient(105deg,#102d24aa,#102d2425),url(/media/hero.jpg) 50%/cover;height:100vh;min-height:790px;position:relative}.hero-shade{background:linear-gradient(0deg,#0b241db8 0,#0000 48%);position:absolute;inset:0}.hero-content{z-index:2;max-width:720px;position:absolute;top:26%;left:8vw}.hero-content h1,.page-title h1{font:500 clamp(52px,7vw,96px)/.98 var(--serif);letter-spacing:-.035em;margin:16px 0 24px}.hero-content h1 em,.page-title h1 em{color:#d9cba7;font-weight:400}.hero-content>p:not(.eyebrow){color:#f7f4e9;max-width:530px;font-size:17px;line-height:1.65}.eyebrow{letter-spacing:.25em;text-transform:uppercase;color:var(--gold);margin:0 0 16px;font-size:10px;font-weight:600}.eyebrow.light{color:#e0c998}.text-link{text-transform:uppercase;letter-spacing:.14em;border-bottom:1px solid;gap:30px;padding-bottom:6px;font-size:11px;font-weight:600;display:inline-flex}.text-link.light{margin-top:16px}.hero-booking{z-index:3;position:absolute;bottom:-37px;left:6vw;right:6vw}.booking-bar{color:var(--ink);background:#fff;grid-template-columns:1.2fr 1.2fr .7fr .7fr .8fr 1.55fr;padding:15px 16px 15px 28px;display:grid;box-shadow:0 12px 40px #10251f26}.booking-bar label,.event-form label{text-transform:uppercase;letter-spacing:.16em;flex-direction:column;gap:5px;padding-right:14px;font-size:9px;font-weight:600;display:flex}.booking-bar label+label{border-left:1px solid var(--line);padding-left:20px}.booking-bar input,.booking-bar select{color:#344c43;background:0 0;border:0;outline:none;min-width:0;padding:5px 0}.section{padding:120px 8vw}.intro{grid-template-columns:1.1fr .8fr;gap:12vw;padding-top:160px;display:grid}.intro h2,.feature-copy h2,.experiences h2,.event-callout h2{font:500 clamp(38px,4.5vw,66px)/1.08 var(--serif);letter-spacing:-.03em;margin:0}.intro .lead{font:500 22px/1.5 var(--serif);color:var(--forest)}.intro p{color:#5d6963;line-height:1.8}.room-feature{background:var(--cream);grid-template-columns:1.25fr .8fr;align-items:center;gap:9vw;display:grid}.feature-image{background:url(/media/featured-room.jpg) 50%/cover;height:590px;position:relative}.feature-image span{font:12px var(--serif);background:#ffffffde;padding:12px 16px;position:absolute;bottom:22px;left:22px}.feature-copy p:not(.eyebrow){color:#647169;margin:26px 0 34px;line-height:1.8}.experiences{background:var(--forest);color:#fff}.section-heading{justify-content:space-between;align-items:end;display:flex}.section-heading>p{color:#bdc9c2;max-width:300px;line-height:1.7}.feature-grid{border-top:1px solid #ffffff30;grid-template-columns:repeat(3,1fr);margin-top:70px;display:grid}.feature-grid article{padding:35px 35px 20px 0}.feature-grid article+article{border-left:1px solid #ffffff30;padding-left:35px}.feature-grid span{color:#c3a16d;font-size:11px}.feature-grid h3{font:500 25px var(--serif);margin:70px 0 15px}.feature-grid p{color:#bdc9c2;line-height:1.7}.event-callout{grid-template-columns:.8fr 1.2fr;align-items:center;gap:9vw;display:grid}.event-callout p:not(.eyebrow){color:#66716c;max-width:480px;line-height:1.8}.event-callout .text-link{margin-top:20px}.event-art{background:url(/media/events.jpg) 50%/cover;height:520px}footer{color:#fff;background:#112f27;grid-template-columns:1fr 1fr 1fr;align-items:start;gap:30px;padding:70px 8vw 35px;display:grid}footer>p{color:#9fb1aa}footer>div:not(.brand){flex-direction:column;gap:10px;display:flex}footer small{color:#82978f;border-top:1px solid #fff2;grid-column:1/-1;margin-top:30px;padding-top:25px}.inner-page>.site-header{position:static}.inner-page{min-height:100vh}.page-title{background:var(--forest);color:#fff;padding:105px 8vw 80px}.page-title.small{padding-top:70px;padding-bottom:70px}.page-title p{color:#c3cec9;max-width:500px}.page-title h1{font-size:clamp(48px,6vw,78px)}.room-grid{grid-template-columns:1fr 1fr;gap:55px 32px;padding:80px 8vw 120px;display:grid}.room-card{background:#fff}.room-photo{background-position:50%;background-size:cover;height:380px;position:relative}.room-photo span{background:#fff;padding:9px 13px;font-size:11px;position:absolute;top:18px;left:18px}.room-a{background-image:url(/media/room-pareja.jpg)}.room-b{background-image:url(/media/room-doble.jpg)}.room-c{background-image:url(/media/room-familiar.jpg)}.room-d{background-image:url(/media/room-suite.jpg)}.room-card>div:last-child{padding:24px 26px 28px}.room-card h2{font:500 28px var(--serif);margin:0}.room-card p{color:#738078}.room-card strong{margin:22px 0;display:block}.room-card small{font-weight:400}.event-form-wrap{grid-template-columns:.7fr 1.3fr;gap:9vw;padding:90px 8vw 130px;display:grid}.event-form-wrap h2{font:500 38px var(--serif);margin-top:0}.event-form-wrap>div>p{color:#6b7770;line-height:1.8}.event-form{grid-template-columns:1fr 1fr;gap:24px;display:grid}.event-form input,.event-form select,.event-form textarea{background:0 0;border:0;border-bottom:1px solid #b9beb9;outline:none;padding:12px 2px}.event-form textarea{border:1px solid #b9beb9}.event-form .wide{grid-column:1/-1}.event-form .button{justify-self:start}.form-error,.notice{color:#9d3d2d}.booking-bar.standalone{z-index:2;grid-template-columns:1.2fr 1.2fr .7fr .7fr 1fr;margin:-25px 8vw 0;position:relative}.results{padding:70px 8vw 120px}.results-title{border-bottom:1px solid var(--line);justify-content:space-between;margin-bottom:30px;display:flex}.results-title h2{font:500 32px var(--serif)}.result-card{background:#fff;grid-template-columns:260px 1fr 190px;gap:30px;margin-bottom:20px;padding:18px;display:grid}.result-image{background:url(/media/room-result.jpg) 50%/cover;min-height:180px}.result-card h3{font:500 27px var(--serif);margin:5px 0}.result-card p{color:#69766f}.result-card span{color:#507363;font-size:11px}.result-price{text-align:right;flex-direction:column;justify-content:center;gap:8px;display:flex}.result-price strong{font:500 25px var(--serif)}.result-price .button{margin-top:15px}.admin-shell{background:#f2f3ef;grid-template-columns:230px 1fr;min-height:100vh;display:grid}.admin-shell aside{color:#fff;background:#163c31;flex-direction:column;padding:35px 25px;display:flex}.admin-brand{font:600 19px var(--serif);text-transform:uppercase;margin-bottom:50px}.admin-brand span{font:8px var(--sans);letter-spacing:.25em;display:block}.admin-shell aside nav{flex-direction:column;gap:8px;display:flex}.admin-shell aside nav a{color:#b8cbc4;border-radius:3px;padding:13px 15px;font-size:13px}.admin-shell aside nav a.active,.admin-shell aside nav a:hover{color:#fff;background:#ffffff12}.admin-shell aside small{color:#8aa49b;margin-top:auto;line-height:1.5}.admin-main>header{background:#fff;border-bottom:1px solid #e0e3de;justify-content:space-between;align-items:center;height:70px;padding:0 35px;display:flex}.admin-main>header p{color:#718077;font-size:12px}.avatar{background:#d9c79c;border-radius:50%;place-items:center;width:34px;height:34px;font-size:11px;display:grid}.mobile-mark{display:none}.dashboard{padding:42px 4vw}.admin-heading{justify-content:space-between;align-items:end;display:flex}.admin-heading h1{font:500 38px var(--serif);margin:4px 0}.admin-heading p:last-child{color:#718078}.stat-grid{grid-template-columns:repeat(5,1fr);gap:13px;margin:35px 0;display:grid}.stat-grid article{background:#fff;border:1px solid #e7e9e4;padding:22px;position:relative}.stat-grid article>span{color:#9aac9f;position:absolute;right:18px}.stat-grid strong{font:500 34px var(--serif)}.stat-grid p{color:#738078;margin:6px 0 0;font-size:12px}.dashboard-grid{grid-template-columns:1.45fr .8fr;gap:16px;display:grid}.panel{background:#fff;border:1px solid #e7e9e4;min-height:220px;padding:26px}.panel-title{justify-content:space-between;align-items:center;display:flex}.panel h2{font:500 20px var(--serif);margin:0}.panel-title a,.panel-title span{color:#718077;font-size:11px}.empty{text-align:center;padding:34px}.empty>span{color:#38705c;background:#e2ece7;border-radius:50%;place-items:center;width:35px;height:35px;display:inline-grid}.empty h3{font:500 17px var(--serif);margin:10px 0 4px}.empty p{color:#819087;font-size:12px}.revenue strong{font:500 30px var(--serif);display:block}.mini-chart{align-items:end;gap:8px;height:75px;margin:20px 0;display:flex}.mini-chart i{background:#dce8e1;width:12%;height:30%}.mini-chart i:nth-child(2){height:55%}.mini-chart i:nth-child(3){height:42%}.mini-chart i:nth-child(4){height:70%}.mini-chart i:nth-child(5){height:52%}.mini-chart i:nth-child(6){background:#609076;height:85%}.mini-chart i:nth-child(7){height:65%}.revenue small{color:#89948e}.occupancy{grid-column:1/-1}.occupancy-bar{background:#e7eae6;height:9px;margin:45px 0 20px}.occupancy-bar i{background:#487a65;height:100%;display:block}.legend{color:#6b7771;gap:25px;font-size:11px;display:flex}.legend i{background:#d5dad6;border-radius:50%;width:8px;height:8px;margin-right:7px;display:inline-block}.legend i.green{background:#487a65}.error-page{text-align:center;place-content:center;min-height:100vh;display:grid}.error-page h1{font:500 45px var(--serif)}@media (width<=850px){.site-header{height:72px;padding:0 20px}.site-header nav{display:none}.hero{min-height:760px}.hero-content{top:20%;left:24px;right:24px}.hero-content h1{font-size:53px}.hero-booking{bottom:-170px;left:15px;right:15px}.booking-bar,.booking-bar.standalone{grid-template-columns:1fr 1fr;padding:18px}.booking-bar label+label{border:0;padding-left:0}.booking-bar .button{grid-column:1/-1}.intro{padding-top:240px}.intro,.room-feature,.event-callout,.event-form-wrap{grid-template-columns:1fr}.section{padding:80px 24px}.feature-image,.event-art{height:420px}.feature-copy{padding-bottom:10px}.section-heading{display:block}.feature-grid{grid-template-columns:1fr}.feature-grid article+article{border-top:1px solid #ffffff30;border-left:0;padding-left:0}.feature-grid h3{margin-top:25px}.room-grid{grid-template-columns:1fr;padding:40px 20px}.page-title{padding:75px 24px 60px}.event-form{grid-template-columns:1fr}.event-form .wide{grid-column:auto}.booking-bar.standalone{margin:20px}.results{padding:45px 20px}.result-card{grid-template-columns:1fr}.result-image{height:220px}.result-price{text-align:left}.admin-shell{grid-template-columns:1fr}.admin-shell aside{display:none}.mobile-mark{font:600 20px var(--serif);display:inline}.dashboard{padding:28px 18px}.admin-heading{align-items:start;gap:15px}.admin-heading .button{padding:12px}.stat-grid{grid-template-columns:1fr 1fr}.dashboard-grid{grid-template-columns:1fr}.occupancy{grid-column:auto}footer{grid-template-columns:1fr}.room-photo{height:300px}}.book-page{grid-template-columns:.7fr 1.3fr;gap:9vw;padding:90px 8vw 130px;display:grid}.book-page h1,.confirmation h1{font:500 45px var(--serif)}.book-page section>strong{font:500 30px var(--serif);margin-top:25px;display:block}.confirmation{text-align:center;place-content:center;min-height:70vh;padding:30px;display:grid}.confirmation .button{justify-self:center;margin-top:20px}.admin-shell aside nav .future-link{color:#b8cbc4;opacity:.6;justify-content:space-between;padding:13px 15px;font-size:13px;display:flex}.future-link small{margin:0!important;font-size:8px!important}.future-badge{text-transform:uppercase;letter-spacing:.1em;color:#77847d;border:1px solid #ccd2cd;padding:11px;font-size:10px}@media (width<=850px){.book-page{grid-template-columns:1fr;padding:60px 24px}}.food-callout{background:var(--cream);grid-template-columns:1.1fr .9fr;align-items:center;gap:9vw;display:grid}.food-callout img{object-fit:cover;width:100%;height:620px;display:block}.food-callout h2{font:500 clamp(38px,4.5vw,66px)/1.08 var(--serif);letter-spacing:-.03em;margin:0}.food-callout p:not(.eyebrow){color:#66716c;line-height:1.8}.food-callout .text-link{margin-top:20px}.gallery-section{padding:90px 8vw 110px}.gallery-section.muted{background:var(--cream)}.gallery-section>h2,.room-status h2{font:500 clamp(36px,4vw,58px)/1.1 var(--serif);margin:0 0 35px}.gallery-note{color:#6b7770;max-width:760px;line-height:1.7}.photo-gallery{grid-template-columns:repeat(3,1fr);gap:14px;display:grid}.photo-gallery figure{background:#e9e6de;min-height:360px;margin:0;overflow:hidden}.photo-gallery .photo-wide{grid-column:span 2}.photo-gallery a{height:100%;display:block}.photo-gallery img{object-fit:cover;width:100%;height:100%;min-height:360px;max-height:620px;transition:transform .5s;display:block}.photo-gallery a:hover img{transform:scale(1.025)}.room-status{justify-content:space-between;align-items:end;margin-bottom:35px;display:flex}.room-status h2{margin-bottom:0}.event-gallery{padding-bottom:0}.event-gallery .photo-gallery{grid-template-columns:1.2fr .8fr}.event-gallery .photo-wide{grid-column:auto}@media (width<=850px){.food-callout{grid-template-columns:1fr}.food-callout img{height:430px}.gallery-section{padding:65px 20px}.photo-gallery{grid-template-columns:1fr 1fr;gap:8px}.photo-gallery .photo-wide{grid-column:span 2}.photo-gallery figure,.photo-gallery img{min-height:260px}.event-gallery .photo-gallery{grid-template-columns:1fr 1fr}.room-status{display:block}.room-status .button{margin-top:20px}}
