@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;1,400;1,500&family=DM+Sans:wght@400;500;600;700&display=swap');
:root{--paper:#f8f6f1;--white:#fff;--ink:#262f2b;--muted:#757871;--line:#deddd4;--olive:#303e35;--gold:#b29564;--serif:'Cormorant Garamond',Georgia,serif;--sans:'DM Sans',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:120px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:14px;line-height:1.6}button,input,select{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}button,a,input,select{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--gold);outline-offset:5px}button:disabled{opacity:.4;cursor:not-allowed}[hidden]{display:none!important}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.05}em{font-weight:400}img{display:block;width:100%;height:100%;object-fit:cover}.icon{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.svg-defs{position:absolute;width:0;height:0;overflow:hidden}.skip{position:fixed;top:-100px;left:20px;z-index:20;padding:12px;background:var(--white)}.skip:focus{top:15px}.announcement{height:29px;background:#ece9df;text-align:center;display:grid;place-items:center;font-size:10px;letter-spacing:1px}.header{background:var(--paper);position:sticky;top:0;z-index:10;border-bottom:1px solid #ddd9ce}.header-inner{max-width:1530px;padding:0 55px;margin:auto;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;height:99px;gap:28px}.brand{display:flex;flex-direction:column;align-items:center;justify-content:center;width:max-content}.brand-emblem{font-size:24px;line-height:1;color:#967b50;margin-bottom:3px}.brand-name{font-family:var(--serif);font-weight:600;font-size:25px;letter-spacing:3.5px;line-height:1.1}.brand-tagline{font-size:7px;letter-spacing:3px;line-height:1.4;margin-top:7px}.nav-left,.nav-right{display:flex;align-items:center;gap:28px;font-size:11px}.nav-right{justify-content:flex-end}.nav-left a,.nav-right>a{padding:10px 0}.nav-left a:hover,.nav-right>a:hover{color:#967b50}.button{display:inline-flex;justify-content:center;align-items:center;gap:22px;min-height:50px;padding:15px 23px;border:1px solid transparent;font-size:11px;letter-spacing:.2px;font-weight:500;transition:background .2s,color .2s}.button-dark{background:var(--olive);color:var(--white)}.button-dark:hover{background:#4c5b4d}.button-light{background:var(--paper);color:var(--ink)}.button-light:hover{background:#e7dfce}.button .icon{width:18px}.header-reserve{min-height:42px;padding:10px 18px;font-size:10px;gap:15px}.menu-button,.mobile-menu{display:none}.hero{position:relative;min-height:640px;height:calc(100svh - 176px);max-height:850px;color:var(--white);overflow:hidden;background:#637f7d}.hero-image{position:absolute;inset:0;object-position:50% 55%;animation:reveal 1s ease-out}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,#09191975 0%,#0b1b132d 60%,#0000000d),linear-gradient(0deg,#13262180,transparent 40%)}.hero-content{position:relative;max-width:1420px;margin:auto;padding:100px 74px 130px;top:50%;transform:translateY(-50%)}.eyebrow{font-size:9px;font-weight:500;letter-spacing:2.1px;text-transform:uppercase;display:block;color:#8b7756}.eyebrow.light{color:#f4ead7}h1{font-size:clamp(60px,6vw,91px);letter-spacing:-1.9px;max-width:800px;margin:24px 0}.hero-content p{font-size:13px;line-height:1.9;color:#f5f1e7;letter-spacing:.2px}.hero-buttons{display:flex;align-items:center;gap:32px;margin-top:30px}.tour-trigger{background:transparent;color:#fff;border:0;padding:0;display:flex;align-items:center;gap:13px;text-align:left;font-size:12px;min-height:48px}.tour-trigger small{display:block;font-size:7px;letter-spacing:1.4px;margin-top:3px;color:#eee5d5}.play{width:44px;height:44px;border:1px solid #fff8;border-radius:50%;display:grid;place-items:center;font-size:23px;padding-left:2px;transition:background .2s}.tour-trigger:hover .play{background:#ffffff20}.hero-bottom{position:absolute;bottom:56px;left:74px;right:74px;display:flex;align-items:center;justify-content:space-between;max-width:1270px;margin:auto}.hero-location{display:flex;align-items:center;gap:16px;font-size:10px;letter-spacing:2px}.location-rule{width:32px;height:1px;background:#e9d8ae}.hero-location small{display:block;color:#f1e9dc;font-size:10px;letter-spacing:.2px;margin-top:6px}.hero-pagination{display:flex;align-items:center;gap:17px}.hero-pagination button{background:transparent;border:0;color:#fff9;padding:10px 3px;font-size:10px;min-height:44px}.hero-pagination button.active{color:#fff}.hero-pagination span{height:1px;background:#ffffff65;width:45px}.hero-tour{position:absolute;inset:0;z-index:3;background:#171e1a;display:flex;flex-direction:column}.tour-toolbar{padding:17px 28px;display:flex;justify-content:space-between;align-items:center;gap:20px;background:#1d2923}.tour-toolbar strong{font-family:var(--serif);font-size:22px;font-weight:400}.tour-toolbar span{display:block;font-size:10px;color:#d2d6cb}.tour-toolbar button{display:flex;align-items:center;gap:25px;background:transparent;color:#fff;border:1px solid #fff5;padding:9px 12px;font-size:11px;min-height:44px;white-space:nowrap}.tour-toolbar button span{font-size:23px}.tour-frame{position:relative;flex:1;min-height:0;background:#252a27}.tour-frame iframe{width:100%;height:100%;border:0;position:relative;z-index:1}.tour-loading{position:absolute;inset:0;display:grid;place-items:center;font-size:13px;color:#cfd6cd}.tour-note{font-size:9px;padding:9px 28px;display:flex;justify-content:space-between;gap:15px;align-items:center;color:#ccd5cb}.tour-note a{text-decoration:underline;text-underline-offset:3px}.booking-wrap{position:relative;z-index:4;max-width:1272px;margin:-28px auto 0;background:var(--white);box-shadow:0 12px 45px #2735280a;padding:24px 28px 18px;scroll-margin-top:135px}.booking-topline{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:19px}.booking-topline h2{font:400 20px var(--serif)}.booking-topline>span{font-size:8px;letter-spacing:1.5px;color:#8c8b80}.booking-form{display:grid;grid-template-columns:1.28fr 1fr 1fr 1.6fr auto;border:1px solid var(--line);background:var(--white)}.booking-field{display:flex;align-items:center;gap:12px;padding:12px 16px;min-width:0;border-right:1px solid var(--line)}.booking-field>.icon{color:#8d8e7d;width:17px}.booking-field>div{min-width:0;flex:1}.booking-field label{display:block;color:#77786e;font-size:7px;letter-spacing:1.6px;margin-bottom:4px}.booking-field input,.booking-field select{width:100%;min-width:0;color:var(--ink);padding:0;border:0;background:transparent;font-size:11px;min-height:27px;cursor:pointer;border-radius:0}.guest-field{gap:10px}.guest-field .room-field{padding-left:10px;border-left:1px solid var(--line)}.search-button{margin:5px;white-space:nowrap;gap:17px;padding:13px 18px;font-size:10px}.booking-perks{display:flex;gap:26px;align-items:center;margin-top:15px;color:#6c7266;font-size:9px}.booking-perks span{display:flex;align-items:center;gap:5px}.booking-perks .icon{width:13px;height:13px}.booking-perks small{margin-left:auto;font-size:8px;color:#919185}.form-error{font-size:12px;color:#a0422d;margin-top:10px}.section-container{width:calc(100% - 112px);max-width:1260px;margin:auto}.introduction{padding:91px 0 69px;text-align:center}.introduction h2{font-size:56px;letter-spacing:-1.1px;margin:21px 0}.introduction p{font-size:12px;color:var(--muted);line-height:1.9}.intro-ornament{display:block;margin-top:28px;font-size:30px;color:#b39d73;line-height:1}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin-bottom:35px}.section-heading h2{font-size:48px;letter-spacing:-.7px;margin-top:15px}.section-heading>p{font-size:11px;line-height:1.9;color:var(--muted);padding-bottom:4px}.destination-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}.destination-photo{display:block;width:100%;height:370px;background:#dedbcf;border:0;padding:0;position:relative;overflow:hidden;text-align:left;color:var(--white)}.destination-photo img{transition:transform .6s ease;object-position:50% 50%}.destination-photo:hover img{transform:scale(1.04)}.destination-photo:after{content:'';position:absolute;inset:50% 0 0;background:linear-gradient(transparent,#142b2680)}.photo-label{position:absolute;bottom:23px;left:23px;z-index:1;font-size:8px;letter-spacing:2px}.photo-arrow{position:absolute;right:23px;bottom:21px;font-size:26px;z-index:1;font-weight:400}.destination-meta{padding:24px 0 0}.destination-meta .eyebrow{font-size:8px;letter-spacing:1.6px}.destination-meta h3{font-size:32px;letter-spacing:-.4px;margin:11px 0}.destination-meta>p{font-size:10px;color:var(--muted);line-height:1.9;min-height:38px}.destination-bottom{border-top:1px solid var(--line);padding-top:18px;margin-top:16px;display:flex;align-items:center;justify-content:space-between;gap:10px}.destination-bottom>span{font-size:10px;color:var(--muted)}.destination-bottom strong{color:var(--ink);font-size:13px;font-weight:500}.destination-bottom small{display:block;font-size:8px;margin-top:2px}.text-button{border:0;padding:8px 0;background:transparent;color:var(--ink);display:inline-flex;align-items:center;justify-content:space-between;gap:16px;font-size:10px;min-height:44px}.text-button:hover{color:#8d7042}.text-button .icon{width:17px}.suite-section{display:grid;grid-template-columns:1.08fr 1fr;max-width:1480px;margin:100px auto;background:#eae7dd}.suite-image{min-height:615px}.suite-copy{padding:80px 80px 65px;display:flex;flex-direction:column;justify-content:center}.suite-copy h2{font-size:68px;letter-spacing:-1.4px;margin:24px 0}.suite-copy>p{font-size:12px;max-width:310px;color:#6e746a;line-height:1.9}.suite-details{display:flex;gap:24px;margin-top:26px;color:#6e746a;font-size:9px}.suite-details>span{display:flex;align-items:center;gap:8px}.suite-details .icon{width:18px}.suite-copy>.text-button{margin-top:22px;align-self:flex-start;border-bottom:1px solid #8b8e7b;font-size:11px;gap:45px}.experience-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.experience{position:relative;padding:40px 38px 36px 0;background:transparent;border:0;border-right:1px solid var(--line);color:var(--ink);text-align:left;transition:background .2s}.experience+.experience{padding-left:38px}.experience:last-child{border-right:0;padding-right:0}.experience:hover{background:#eeeadd}.experience-number{position:absolute;top:42px;right:36px;color:#9a9b8e;font:italic 18px var(--serif)}.experience>.icon{width:30px;height:30px;color:#8b7756;margin-bottom:28px}.experience h3{font-size:31px;margin:12px 0}.experience p{font-size:11px;line-height:1.9;color:var(--muted);max-width:290px}.experience-link{display:flex;gap:20px;justify-content:space-between;margin-top:26px;font-size:9px;max-width:290px}.experience-link>span{font-size:15px}.closing{height:460px;position:relative;margin-top:100px;color:var(--white);overflow:hidden}.closing>img{position:absolute;inset:0;object-position:50% 65%}.closing:after{content:'';position:absolute;inset:0;background:#102d2690}.closing>div{position:relative;z-index:1;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.closing h2{font-size:61px;letter-spacing:-1px;margin:22px 0 26px}.footer{background:var(--olive);color:#e5e5d8}.footer-main{display:grid;grid-template-columns:1.1fr 1fr 1fr 1fr;gap:45px;padding:58px 0 45px;align-items:start}.footer .brand-name{font-size:24px}.footer .brand-emblem{color:#d1ba8e}.footer .brand-tagline{color:#c7cebe}.footer-main>p{font:italic 24px/1.4 var(--serif);color:#ccd0bf;margin-top:9px}.footer-main .eyebrow{color:#adba9e;font-size:8px;margin-bottom:13px}.footer-main button,.footer-main>div a{display:block;border:0;background:transparent;color:#e5e5d8;padding:7px 0;font-size:10px;min-height:32px;text-align:left}.footer-bottom{border-top:1px solid #c7d3c329;padding:20px 0 25px;display:flex;justify-content:space-between;gap:20px;font-size:8px;color:#b7c2af}.mobile-book{display:none}.results{padding:60px 0 15px;scroll-margin-top:125px}.results .section-heading p{color:var(--muted);font-size:12px;margin-top:14px}.result-controls{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);padding:0 0 16px;gap:20px}.demo-label{font-size:9px;color:#827655;letter-spacing:.3px}.result-controls label{display:flex;align-items:center;gap:10px;font-size:10px}.result-controls select{border:1px solid var(--line);padding:8px 11px;background:var(--paper);color:var(--ink);font-size:10px}.hotel-result{margin-top:28px;border:1px solid var(--line);background:#fff}.result-hotel-heading{display:grid;grid-template-columns:280px 1fr;gap:30px;align-items:center;padding:20px}.result-hotel-heading img{height:180px}.result-hotel-heading h3{font-size:33px;margin:10px 0}.result-hotel-heading p{font-size:11px;color:var(--muted);margin:6px 0}.room-options{padding:0 20px 20px}.room-option{border-top:1px solid var(--line);padding:20px 5px;display:grid;grid-template-columns:1.6fr .7fr 1fr auto;align-items:center;gap:22px}.room-option h4{font-weight:500;font-size:13px;margin:0 0 5px}.room-option p{font-size:10px;color:var(--muted);margin:4px 0}.room-capacity{display:flex;align-items:center;gap:8px;font-size:10px}.room-capacity .icon{width:16px}.available-count{font-size:9px;color:#71815a}.room-price strong{display:block;font-size:17px;font-weight:500}.room-price span{font-size:8px;color:var(--muted)}.room-price small{display:block;font-size:10px;margin-top:4px;color:#697c59}.room-option .button{font-size:10px;padding:12px 18px;gap:20px}.room-option.unavailable{opacity:.65}.unavailable-note{font-size:10px;color:#8b6e55}.empty-state{text-align:center;padding:60px 30px;background:#eae7dd;margin-top:24px}.empty-state h3{font-size:36px}.empty-state p{color:var(--muted);font-size:12px;margin:15px 0 24px}dialog{padding:0;border:0;background:var(--paper);color:var(--ink);max-height:92dvh;overflow:auto;box-shadow:0 20px 100px #0004;width:min(850px,calc(100% - 35px))}dialog::backdrop{background:#132017a8;backdrop-filter:blur(7px)}.dialog-close{position:absolute;top:17px;right:17px;border:0;width:40px;height:40px;background:var(--paper);color:var(--ink);font-size:28px;z-index:2;display:grid;place-items:center}.hotel-dialog>img{height:330px}.hotel-detail-body{padding:35px 44px}.hotel-detail-body h2{font-size:47px;margin:17px 0}.hotel-detail-body>p{color:var(--muted);font-size:12px;line-height:1.9}.detail-features{display:flex;gap:12px;flex-wrap:wrap;margin:20px 0}.detail-features span{padding:7px 11px;border:1px solid var(--line);font-size:10px}.hotel-detail-bottom{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:24px 0;border-top:1px solid var(--line);margin-top:25px}.hotel-detail-bottom small{display:block;font-size:8px;color:var(--muted);letter-spacing:1px}.hotel-detail-bottom strong{font-size:25px;font-weight:400;margin-top:5px;display:block}.hotel-detail-bottom span{font-size:10px;color:var(--muted)}.small-note{font-size:9px!important;color:#8a8c7d!important;line-height:1.7}.reservation-dialog{width:min(620px,calc(100% - 35px))}.reservation-body{padding:45px}.reservation-body>h2{font-size:47px;letter-spacing:-.8px;margin:18px 0}.reservation-body>.small-note{margin:12px 0 20px}.reservation-summary{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:20px 0}.reservation-summary h3{font-size:29px;margin-bottom:14px}.reservation-line{display:flex;justify-content:space-between;gap:15px;font-size:11px;padding:5px 0;color:var(--muted)}.reservation-line strong{font-weight:500;color:var(--ink);text-align:right}.reservation-price{display:flex;justify-content:space-between;align-items:center;padding:24px 0;font-size:12px}.reservation-price strong{font-weight:400;font-size:30px;font-family:var(--serif)}.rate-condition{font-size:10px;color:var(--muted);line-height:1.8;margin:0 0 20px}.reservation-body>.button{width:100%}#reservation-confirmation{padding:22px;background:#e4e9db;margin-top:20px}#reservation-confirmation>.icon{margin-bottom:10px}#reservation-confirmation strong{font-size:12px;font-weight:500}#reservation-confirmation p{font-size:10px;margin-top:6px;color:#68705d}.information-dialog{width:min(600px,calc(100% - 35px));padding:50px}.information-dialog h2{font-size:47px;margin:25px 0}.information-dialog p{font-size:13px;line-height:1.9;color:var(--muted);white-space:pre-line}.information-dialog>.button{margin-top:28px}@keyframes reveal{from{opacity:.6;transform:scale(1.03)}to{opacity:1;transform:scale(1)}}
@media(min-width:1600px){.hero-content{padding-left:0}.hero-bottom{left:0;right:0}.hero{min-height:740px}}
@media(max-width:1200px){.header-inner{padding:0 35px;gap:20px}.nav-left,.nav-right{gap:20px;font-size:10px}.nav-right>a{display:none}.booking-wrap{margin-left:35px;margin-right:35px}.booking-field{padding:11px 12px;gap:8px}.booking-field>.icon{display:none}.booking-form{grid-template-columns:1.2fr 1fr 1fr 1.45fr auto}.search-button{gap:10px;padding:12px}.section-container{width:calc(100% - 80px)}.hero-content{padding-left:60px;padding-right:60px}.hero-bottom{left:60px;right:60px}.destination-photo{height:320px}.destination-meta h3{font-size:29px}.suite-copy{padding:60px 55px}.suite-copy h2{font-size:62px}.suite-image{min-height:570px}}
@media(max-width:950px){.header-inner{height:87px;padding:0 28px}.brand-name{font-size:22px}.brand-tagline{font-size:6px}.nav-left{gap:15px;font-size:9px}.header-reserve{padding:10px 12px;font-size:9px;gap:10px}.header-reserve .icon{display:none}.hero{min-height:580px;height:680px}.hero-content{padding-left:45px;padding-right:45px}.hero-content h1{font-size:69px}.hero-bottom{left:45px;right:45px}.booking-wrap{margin-left:28px;margin-right:28px;padding:22px}.booking-form{grid-template-columns:1.2fr 1fr 1fr}.booking-field:nth-child(3){border-right:0}.guest-field{grid-column:1/3;border-top:1px solid var(--line)}.search-button{grid-column:3;border-top:1px solid var(--line);margin:4px;min-height:56px}.booking-perks{gap:14px}.booking-perks small{font-size:7px}.section-container{width:calc(100% - 56px)}.destination-grid{gap:18px}.destination-photo{height:275px}.destination-meta h3{font-size:27px}.destination-meta>p{min-height:42px}.destination-bottom .text-button{font-size:9px;gap:6px}.destination-bottom strong{font-size:12px}.suite-section{margin:75px auto}.suite-image{min-height:520px}.suite-copy{padding:45px 35px}.suite-copy h2{font-size:55px}.suite-details{display:grid;gap:12px}.section-heading h2{font-size:42px}.experience{padding-right:25px}.experience+.experience{padding-left:25px}.experience h3{font-size:27px}.experience-number{right:22px}.footer-main{gap:25px}.footer-main>p{font-size:22px}.footer .brand-name{font-size:20px}.footer-bottom{font-size:7px}}
@media(max-width:700px){html{scroll-padding-top:93px}body{padding-bottom:72px}.announcement{font-size:7px;height:25px;letter-spacing:.55px}.header-inner{height:78px;grid-template-columns:1fr auto 1fr;padding:0 22px;gap:12px}.nav-left{display:none}.menu-button{display:flex;flex-direction:column;justify-content:center;gap:6px;background:transparent;border:0;width:40px;height:44px;padding:10px 0}.menu-button span{display:block;width:21px;height:1px;background:var(--ink)}.menu-button span+span{width:15px}.brand-name{font-size:21px;letter-spacing:2.5px}.brand-emblem{font-size:19px}.brand-tagline{font-size:5.5px;letter-spacing:2.1px;margin-top:5px}.header-reserve{background:transparent;color:var(--ink);padding:0;border:0;font-size:9px;border-bottom:1px solid #b7b5a6;min-height:30px;white-space:nowrap}.header-reserve .icon{display:none}.mobile-menu{display:flex;flex-direction:column;background:var(--paper);padding:12px 25px 25px;border-top:1px solid var(--line)}.mobile-menu a,.mobile-menu button{background:transparent;border:0;border-bottom:1px solid var(--line);padding:16px 0;text-align:left;font-size:12px;color:var(--ink)}.hero{min-height:580px;height:calc(100svh - 135px);max-height:780px}.hero-image{object-position:63% 50%}.hero-shade{background:linear-gradient(90deg,#0b29265c,#17201918),linear-gradient(0deg,#15382d8c,transparent 55%)}.hero-content{padding:30px 28px 100px;top:47%}.hero-content>.eyebrow{font-size:7px;letter-spacing:1.7px}.hero-content h1{font-size:58px;letter-spacing:-1.35px;line-height:1.02;margin:23px 0}.hero-content p{font-size:10px;line-height:1.9;max-width:285px}.hero-buttons{flex-direction:column;align-items:flex-start;gap:19px;margin-top:27px}.hero-buttons>.button{font-size:10px;min-height:49px;padding:14px 19px;gap:24px}.tour-trigger{font-size:10px;gap:11px}.tour-trigger small{font-size:6px;letter-spacing:1.1px}.play{width:36px;height:36px;font-size:19px}.hero-bottom{left:28px;right:28px;bottom:42px}.hero-location{font-size:8px;letter-spacing:1.3px;gap:10px}.hero-location small{font-size:7px;max-width:170px}.location-rule{width:17px}.hero-pagination{gap:11px}.hero-pagination button{font-size:9px}.hero-pagination span{width:18px}.tour-toolbar{padding:13px 16px;align-items:flex-start;gap:14px}.tour-toolbar strong{font-size:19px}.tour-toolbar span{font-size:8px;max-width:210px;margin-top:3px}.tour-toolbar button{font-size:0;border:0;padding:0;width:32px;justify-content:center;min-height:35px}.tour-toolbar button span{font-size:29px;color:white;margin:0}.tour-note{padding:10px 15px;display:block;font-size:8px;line-height:1.6}.tour-note a{display:block;margin-top:6px}.booking-wrap{margin:-18px 18px 0;padding:22px 18px 18px;scroll-margin-top:105px}.booking-topline{display:block;margin-bottom:18px}.booking-topline h2{font-size:21px;line-height:1.1;max-width:270px}.booking-topline>span{display:none}.booking-form{grid-template-columns:1fr 1fr;border:0;gap:0}.booking-field{border:1px solid var(--line);padding:12px 11px;min-height:65px;gap:9px}.destination-field{grid-column:1/3;border-bottom:0}.booking-field>.icon{display:block;width:17px}.booking-field:nth-child(2){border-right:0}.booking-field:nth-child(3){border-right:1px solid var(--line)}.booking-field label{font-size:7px}.booking-field input,.booking-field select{font-size:11px;min-height:28px}.guest-field{grid-column:1/3;border-top:0}.guest-field .room-field{padding-left:13px}.search-button{grid-column:1/3;margin:13px 0 0;min-height:51px;font-size:11px;gap:30px}.booking-perks{display:flex;gap:7px;flex-wrap:wrap;justify-content:center;font-size:7px;margin-top:13px}.booking-perks span{gap:2px}.booking-perks .icon{width:10px}.booking-perks small{width:100%;text-align:center;margin:5px 0 0;font-size:8px}.section-container{width:calc(100% - 44px)}.introduction{padding:65px 0 52px}.introduction>.eyebrow{font-size:7px;letter-spacing:1.7px}.introduction h2{font-size:42px;letter-spacing:-.7px;margin:18px 0}.introduction p{font-size:10px;max-width:320px;margin:auto;line-height:1.85}.intro-ornament{font-size:23px;margin-top:25px}.desktop-only{display:none}.section-heading{display:block;margin-bottom:26px}.section-heading h2{font-size:40px;margin-top:12px;letter-spacing:-.5px}.section-heading>p{font-size:10px;margin-top:15px}.destination-grid{grid-template-columns:1fr;gap:34px}.destination-photo{height:360px}.photo-label{bottom:22px;left:22px;font-size:8px}.destination-meta{padding-top:20px}.destination-meta h3{font-size:34px;margin:10px 0}.destination-meta>p{font-size:11px;min-height:0}.destination-bottom{padding-top:13px;margin-top:16px}.destination-bottom>span{font-size:10px}.destination-bottom strong{font-size:14px}.destination-bottom small{font-size:8px}.destination-bottom .text-button{font-size:10px;gap:20px}.suite-section{grid-template-columns:1fr;margin:62px 0}.suite-image{min-height:0;height:360px}.suite-copy{padding:39px 28px 42px}.suite-copy>.eyebrow{font-size:8px}.suite-copy h2{font-size:55px;margin:20px 0}.suite-copy>p{font-size:11px;max-width:330px}.suite-details{display:flex;gap:20px;font-size:8px}.suite-copy>.text-button{font-size:10px;margin-top:22px;gap:40px}.experience-grid{grid-template-columns:1fr;border-bottom:0}.experience,.experience+.experience,.experience:last-child{padding:30px 8px 28px;border-right:0;border-bottom:1px solid var(--line)}.experience-number{top:33px;right:10px;font-size:18px}.experience>.icon{width:25px;height:25px;margin-bottom:15px}.experience h3{font-size:31px;margin:8px 0}.experience p{max-width:none;font-size:11px}.experience-link{max-width:none;margin-top:20px;font-size:10px}.closing{height:390px;margin-top:62px}.closing h2{font-size:43px;letter-spacing:-.6px;margin:21px 0 28px}.closing .eyebrow{font-size:8px}.closing .button{font-size:10px}.footer-main{grid-template-columns:1fr 1fr;padding:38px 0 30px;gap:30px 15px}.footer-main>.brand{align-items:flex-start}.footer .brand-name{font-size:21px;letter-spacing:2px}.footer .brand-emblem{padding-left:60px;font-size:21px}.footer .brand-tagline{font-size:6px}.footer-main>p{font-size:21px;align-self:center;padding-left:8px;margin:0}.footer-main .eyebrow{font-size:7px}.footer-main button,.footer-main>div a{font-size:9px;min-height:36px}.footer-bottom{display:block;font-size:7px;padding:18px 0 25px}.footer-bottom span{display:block;margin:3px 0}.mobile-book{position:fixed;bottom:0;left:0;right:0;z-index:11;display:flex;justify-content:space-between;gap:15px;align-items:center;padding:10px 22px calc(10px + env(safe-area-inset-bottom));background:#f8f6f1f5;border-top:1px solid var(--line);backdrop-filter:blur(10px)}.mobile-book>span{font:400 18px var(--serif)}.mobile-book small{display:block;font:7px var(--sans);letter-spacing:.6px;color:var(--muted);margin-top:4px}.mobile-book .button{min-height:43px;padding:11px 19px;gap:15px;font-size:10px}.results{padding-top:45px;scroll-margin-top:105px}.results .section-heading h2{font-size:37px}.results .section-heading p{font-size:10px}.results .section-heading .text-button{margin-top:8px}.result-controls{gap:12px;align-items:flex-start}.demo-label{font-size:7px;max-width:140px}.result-controls label{font-size:8px;display:block}.result-controls select{font-size:9px;display:block;margin-top:4px}.result-hotel-heading{grid-template-columns:1fr;padding:16px;gap:18px}.result-hotel-heading img{height:200px}.result-hotel-heading h3{font-size:32px;margin:9px 0}.result-hotel-heading .eyebrow{font-size:8px}.room-options{padding:0 16px 10px}.room-option{grid-template-columns:1fr 1fr;gap:13px;padding:20px 0}.room-option>div:first-child{grid-column:1/3}.room-option h4{font-size:13px}.room-capacity{align-self:start}.room-price{grid-column:2;grid-row:2;text-align:right}.room-option .button{grid-column:1/3;width:100%;margin-top:4px}.room-price strong{font-size:18px}.room-option .unavailable-note{grid-column:1/3;text-align:center;font-size:10px}.empty-state{padding:40px 20px}.empty-state h3{font-size:30px}.empty-state p{font-size:11px}dialog{width:calc(100% - 24px);max-height:88dvh}.dialog-close{top:12px;right:12px;width:36px;height:36px}.hotel-dialog>img{height:245px}.hotel-detail-body{padding:27px 23px}.hotel-detail-body h2{font-size:37px;margin:17px 0}.hotel-detail-body>p{font-size:11px}.detail-features{gap:7px}.detail-features span{font-size:9px;padding:6px 8px}.hotel-detail-bottom{display:block;padding:20px 0}.hotel-detail-bottom>.button{width:100%;margin-top:19px}.reservation-body{padding:35px 23px}.reservation-body>h2{font-size:37px;margin:20px 0}.reservation-summary h3{font-size:28px}.reservation-line{font-size:10px}.reservation-price strong{font-size:29px}.reservation-body>.button{padding:14px 13px;gap:10px;font-size:10px}.information-dialog{padding:40px 25px}.information-dialog h2{font-size:38px}.information-dialog p{font-size:12px}}
@media(max-width:370px){.header-inner{padding:0 17px}.brand-name{font-size:19px}.header-reserve{font-size:8px}.hero-content{padding-left:23px;padding-right:23px}.hero-content h1{font-size:52px}.hero-location small{max-width:130px}.hero-pagination{gap:8px}.hero-bottom{left:23px;right:23px}.booking-wrap{margin-left:14px;margin-right:14px;padding:20px 14px}.booking-perks{gap:6px;font-size:6px}.booking-field>.icon{display:none}.suite-details{gap:10px}.footer-main>p{font-size:18px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}

/* Dirección visual Buenavista: negro cálido y dorado. */
:root{--paper:#0d100e;--white:#171c18;--ink:#eee8dc;--muted:#a1a79b;--line:#363b31;--olive:#c2a16a;--gold:#c9aa73}
body{background:var(--paper)}
.announcement{background:#171b16;color:#c2ad85;border-bottom:1px solid #89744925}
.header{border-color:#ac8a4c35;background:#0d100ef5;backdrop-filter:blur(14px)}
.brand-name,.brand-emblem{color:#d2b37e}.brand-tagline{color:#b8aa8b}
.nav-left a:hover,.nav-right>a:hover{color:#d8b679}
.button-dark,.button-light{background:#c2a16a;color:#141810;border-color:#c2a16a}
.button-dark:hover,.button-light:hover{background:#d6b784;border-color:#d6b784}
.hero-shade{background:linear-gradient(90deg,#08120ec4 0%,#0b160e45 60%,#00000015),linear-gradient(0deg,#08120ed1,transparent 50%)}
.hero-content h1{color:#fff9ee}.hero-content h1 em,.closing h2 em{color:#e0be80}
.hero-content>.eyebrow{color:#e7c992}.hero-content p{color:#f2e9da}
.hero-pagination button.active{color:#e4c184}.hero-pagination span{background:#d4af6765}
.tour-trigger small{color:#dfcba7}.play{border-color:#dfc38699;color:#e7c78c}
.location-rule{background:#dfb86f}
.hero-tour,.tour-toolbar{background:#0c100d}.tour-toolbar{border-bottom:1px solid #b89a5c44}
.tour-toolbar strong{color:#d8b780}.tour-toolbar button{border-color:#c3a36a66;color:#e4c48d}
.tour-note{background:#111611;color:#b8baa9}
.booking-wrap{box-shadow:0 12px 45px #0004;border:1px solid #9e834e45}
.booking-topline h2{color:#d4b783}.booking-topline>span{color:#9a967f}
.booking-field label{color:#bdad8c}.booking-field>.icon{color:#bd9c64}
.booking-field input,.booking-field select{color-scheme:dark}.booking-field select option{background:#171c18;color:#eee8dc}
.booking-perks{color:#b4b7a7}.booking-perks .icon{color:#c7ac76}.booking-perks small{color:#999b8a}
.form-error{color:#efad8b}.eyebrow{color:#c2a16a}
.introduction h2 em,.suite-copy h2 em{color:#ccac74}.intro-ornament{color:#bf995c}
.destination-meta h3,.section-heading h2{color:#eee7d9}
.destination-bottom strong{color:#dec08b}.text-button{color:#d4b17a}.text-button:hover{color:#f0d7a9}
.suite-section{background:#191f19;border-top:1px solid #997b4440;border-bottom:1px solid #997b4440}
.suite-copy>p,.suite-details{color:#aeb4a5}.suite-details .icon{color:#bd9b62}
.suite-copy>.text-button{border-color:#bda16c66}
.experience:hover{background:#1c221b}.experience>.icon{color:#c4a269}.experience-number{color:#a0875d}
.closing:after{background:#07120ec2}
.footer{background:#080c09;color:#d6d8c9;border-top:1px solid #997b4440}
.footer .brand-name,.footer .brand-emblem{color:#c9ab74}.footer .brand-tagline{color:#b09c74}
.footer-main>p{color:#bcb99e}.footer-main .eyebrow{color:#bea06a}.footer-main button,.footer-main>div a{color:#d8d7c8}
.footer-bottom{border-color:#b49a6630;color:#919882}
.hotel-result{background:#171c18;border-color:#695a394a}
.demo-label{color:#c1ab7d}.result-controls select{color-scheme:dark;background:#171c18;color:#e6dfcf}
.available-count,.room-price small{color:#bac998}.unavailable-note{color:#c4ac84}
.empty-state{background:#191f19}.empty-state h3{color:#d1b17b}
dialog{border:1px solid #b79b625e;background:#111611}.dialog-close{background:#22291e;color:#d8bd89}
.detail-features span{color:#cfc4aa;background:#171e17}.hotel-detail-bottom strong{color:#d9b780}
.small-note{color:#99a18e!important}.reservation-price strong{color:#d9b780}
#reservation-confirmation{background:#212b1d;border:1px solid #7f8b564a}#reservation-confirmation p{color:#b8c1a8}
.reservation-summary h3{color:#d9c59d}
.mobile-book{background:#0e140fed;border-color:#ab8a4a59;color:#ddc8a1}
.mobile-book small{color:#a6ae99}.mobile-menu{background:#111610}.mobile-menu a,.mobile-menu button{color:#ddca9e}
.menu-button span{background:#d2b57f}
@media(max-width:700px){.header-reserve{background:transparent;color:#d9b77b;border:0;border-bottom:1px solid #b69a6066}.header-reserve:hover{background:transparent;border-color:#d9b77b}.hero-shade{background:linear-gradient(90deg,#06180c7d,#0d190e2d),linear-gradient(0deg,#06140de0,transparent 65%)}.tour-toolbar button span{color:#d9b77b}}

/* Lectura y tipografía finales */
.reserve-short{display:none}.nav-left,.nav-right{font-size:12px}.hero-content p{font-size:14px}.booking-field input,.booking-field select{font-size:12px}.introduction p{font-size:14px}.destination-meta>p,.suite-copy>p,.experience p{font-size:13px}.section-heading>p{font-size:12px}
@media(max-width:950px) and (min-width:701px){.nav-left,.nav-right{font-size:10px}}
@media(max-width:700px){.reserve-long{display:none}.reserve-short{display:inline}.header-reserve{font-size:10px}.hero-content h1{font-size:44px;line-height:1.12;letter-spacing:-1px}.hero-content p{font-size:12px;max-width:315px}.introduction p{font-size:12px}.destination-meta>p,.suite-copy>p,.experience p{font-size:13px}.section-heading>p{font-size:12px}.booking-field input,.booking-field select{font-size:12px}}
@media(max-width:370px){.hero-content h1{font-size:40px}}

/* Priority: poster, silent hero video, then optional retained 3D. */
.hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .7s ease;pointer-events:none}.hero-video.is-visible{opacity:1}.video-toggle{position:absolute;right:40px;top:25px;z-index:2;background:#0b100c85;color:#f5ead7;border:1px solid #d1af6c66;border-radius:2px;padding:8px 12px;font-size:11px;backdrop-filter:blur(6px)}
.hero-tour.is-parked{visibility:hidden;pointer-events:none;transform:translateX(-200vw)}
@media(max-width:700px){.video-toggle{right:20px;top:18px;font-size:10px;padding:7px 9px}}
@media(prefers-reduced-motion:reduce){.hero-video{display:none;transition:none}}

/* Oro satinado: tono uniforme, sin reflejos ni relieves artificiales. */
:root{--gold:#b89552}
.button-dark,.button-light,.header-reserve{background:#b89552;color:#15130f;border:1px solid #b89552;box-shadow:none;font-weight:500;transition:background .2s,border-color .2s,color .2s}
.button-dark:hover,.button-light:hover,.header-reserve:hover{background:#c3a267;color:#15130f;border-color:#c3a267}
.tour-trigger .play{color:#c3a267;border:1px solid #b89552;background:transparent;box-shadow:none}
.brand-name,.brand-emblem,.hero-content em{color:#c3a267}
.header-reserve{background:transparent;color:#c3a267;border-color:#89703f}
.header-reserve:hover{background:#b89552;color:#15130f;border-color:#b89552}
@media(max-width:700px){.header-reserve{background:transparent;color:#c3a267;border:1px solid #89703f;padding:9px 12px}.header-reserve:hover{background:#b89552;color:#15130f;border-color:#b89552}.tour-toolbar button span{color:#c3a267}}

/* Lectura sobre fotografías y jerarquía de textos secundarios. */
.closing{background:#0b0e0c;color:#faf5eb}
.closing:after{background:linear-gradient(90deg,rgba(5,9,7,.81),rgba(5,9,7,.74),rgba(5,9,7,.81))}
.closing h2{color:#faf5eb;text-shadow:0 2px 16px #00000035}
.closing h2 em{color:#dcc399}
.closing .eyebrow.light{color:#f4ead7;font-size:11px;letter-spacing:2px}
.hero-shade{background:linear-gradient(90deg,#050907b8 0%,#05090785 46%,#05090738 100%),linear-gradient(0deg,#050907c9,transparent 65%)}
.hero-content h1{color:#faf5eb}.hero-content h1 em{color:#dcc399}.hero-content>.eyebrow{color:#ead8b7;font-size:10px}.hero-content p{color:#faf5eb}
.hero-location,.hero-location small{color:#eee7d9}.hero-location>div>span{font-size:10px}.hero-location small{font-size:11px}
.tour-trigger{font-size:12px}.tour-trigger small{font-size:9px;color:#efe3cf;letter-spacing:.9px}
.booking-topline>span,.booking-perks small,.booking-field label,.destination-bottom small,.footer-bottom,.small-note{color:#bdbbb1}
.booking-field label{font-size:10px}.booking-perks small,.destination-bottom small,.footer-bottom{font-size:11px}
.button{font-size:12px}.header-reserve{font-size:11px}.footer-main .eyebrow{font-size:10px}.footer-main>div a,.footer-main>div button{font-size:12px}
@media(max-width:700px){.hero-shade{background:linear-gradient(90deg,#050907a6,#0509076b),linear-gradient(0deg,#050907c9,transparent 75%)}.hero-content>.eyebrow{font-size:9px;letter-spacing:1.5px}.hero-content p{font-size:13px}.tour-trigger{font-size:12px}.tour-trigger small{font-size:8px}.hero-location small{font-size:10px}.closing h2{font-size:40px;line-height:1.15;padding:0 18px}.closing .eyebrow.light{font-size:10px}.closing .button,.mobile-book .button{font-size:12px}.footer-bottom{font-size:10px;line-height:1.8}.booking-perks small{font-size:10px}}

.destination-photo{color:#faf5eb}
.photo-label{color:#faf5eb;background:#080d0bc9;padding:7px 10px;font-size:10px;letter-spacing:1.4px}
.photo-arrow{color:#faf5eb;background:#080d0bc9;border:1px solid #ffffff55;width:38px;height:38px;display:grid;place-items:center;line-height:1;border-radius:50%;font-size:24px}
