:root{--navy:#101b32;--ink:#152239;--yellow:#ffda37;--cream:#f7f5ef;--teal:#047c8f}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;color:var(--ink);background:var(--cream);font-family:Arial,Helvetica,sans-serif}a{color:inherit}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:3px solid var(--teal);outline-offset:5px}.skip{position:fixed;top:-80px;left:20px;z-index:100;background:white;padding:16px}.skip:focus{top:12px}.wrap{width:min(1280px,calc(100% - 96px));margin:auto}header{height:88px;background:var(--navy);color:white;border-bottom:1px solid #ffffff20}nav{height:100%;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:24px;text-decoration:none}.brand img{width:186px;height:64px;object-fit:contain}.nav-right{display:flex;align-items:center;gap:35px}.season,.eyebrow{font-size:11px;font-weight:700;letter-spacing:2.2px;text-transform:uppercase}.nav-link{font-size:13px;text-decoration:none;padding:13px 0;border-bottom:1px solid #ffffff70}.nav-link span{margin-left:18px;color:var(--yellow)}.hero{min-height:645px;background:var(--navy);position:relative;color:white;overflow:hidden}.hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 43%}.hero:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,17,33,.94),rgba(7,17,33,.75) 30%,rgba(7,17,33,.08) 72%),linear-gradient(0deg,rgba(7,17,33,.6),transparent 40%)}.hero-content{position:relative;z-index:1;padding:62px 0 50px}.hero .eyebrow{display:flex;align-items:center;gap:12px;color:#f1e9ce;margin:0 0 24px}.hero .eyebrow:before{content:'';width:28px;height:1px;background:var(--yellow)}h1{font-family:Georgia,'Times New Roman',serif;font-size:clamp(76px,8vw,118px);font-weight:700;letter-spacing:-7px;line-height:.77;margin:0 0 27px;width:max-content}h1 em{display:block;color:var(--yellow);font-size:36px;line-height:1.2;letter-spacing:-1px;margin-bottom:8px}h1 .word{display:block}.hero-copy{font-size:16px;line-height:1.65;max-width:350px;color:#e9edf3;margin:26px 0}.button{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;border-radius:6px;padding:17px 23px;background:var(--yellow);color:var(--navy);font-size:14px;font-weight:700;text-decoration:none;border:0}.button:hover{background:#ffe86e}.button .reserve-icon{width:22px;height:22px;flex:none}.button span{white-space:nowrap}.hero-note{position:absolute;z-index:1;right:48px;bottom:38px;display:flex;align-items:center;gap:18px;color:#fff;font-size:11px;line-height:1.7}.hero-note span{height:32px;width:1px;background:#ffffff80}.ribbon{border-bottom:1px solid #deded5;background:#efeee6}.ribbon .wrap{display:flex;align-items:center;justify-content:space-between;min-height:68px;gap:20px}.ribbon p{font-size:12px;margin:0;letter-spacing:.2px}.ribbon strong{font-weight:500}.ribbon .dot{color:var(--teal);margin-right:10px}.ribbon .end{font-size:11px;letter-spacing:1.4px;text-transform:uppercase}main{padding:74px 0 82px}.section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:32px;margin-bottom:35px}.section-head .eyebrow{color:var(--teal);margin:0 0 14px}h2{font:normal clamp(34px,4vw,52px)/1.1 Georgia,serif;letter-spacing:-1.5px;margin:0}.section-intro{font-size:14px;line-height:1.65;color:#5b6571;max-width:310px;margin:0 0 4px}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px 26px}.hotel{min-width:0;background:#fff;border:1px solid #e0e1db;border-radius:10px;display:flex;flex-direction:column;box-shadow:0 3px 12px #101b3206}.hotel .photo{border-radius:9px 9px 0 0}.photo{position:relative;aspect-ratio:4/3;overflow:hidden;background:#e2e3df}.photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:opacity .4s ease,transform .6s ease}.photo .secondary{opacity:0}.hotel.show-alt .secondary{opacity:1}.hotel.show-alt .primary{opacity:0}.photo-switch{position:absolute;bottom:14px;right:14px;z-index:2;background:#101b32db;color:white;border:1px solid #ffffff70;border-radius:30px;padding:12px;min-width:56px;min-height:44px;justify-content:center;cursor:pointer;display:flex;gap:7px;align-items:center;font-size:11px}.photo-switch i{display:block;width:6px;height:6px;border-radius:100%;background:white}.photo-switch i+i{opacity:.35}.show-alt .photo-switch i{opacity:.35}.show-alt .photo-switch i+i{opacity:1}.hotel-body{padding:20px;display:flex;flex-direction:column;flex:1}.location{font-size:10px;font-weight:700;letter-spacing:1.6px;text-transform:uppercase;color:#67717b;margin:0 0 10px}.hotel h3{font-size:19px;line-height:1.35;letter-spacing:-.35px;margin:0 0 20px;min-height:52px;max-width:96%}.reserve{display:flex;justify-content:center;align-items:center;gap:10px;width:100%;min-height:48px;margin-top:auto;padding:13px 18px;background:var(--yellow);color:var(--navy);border:1px solid #e8c630;border-radius:6px;text-decoration:none;font-size:15px;font-weight:700;transition:background .2s,box-shadow .2s}.reserve-icon{flex:none}.reserve:hover{background:#ffe66b;box-shadow:0 3px 8px #101b3214}.reserve:active{background:#edc211}.booking-note{margin:45px 0 0;font-size:12px;line-height:1.6;color:#707982;max-width:760px}.footer{background:var(--navy);color:#fff;padding:47px 0 24px}.footer-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:35px}.footer-title{font:normal 27px Georgia,serif;margin:0}.footer-top .eyebrow{color:#aab2c0;font-size:10px}.sponsors{display:grid;grid-template-columns:repeat(4,1fr);align-items:center;gap:55px;padding:28px 0 42px;border-bottom:1px solid #ffffff25}.sponsors a{display:flex;justify-content:center;align-items:center;min-height:70px}.sponsors img{width:100%;max-width:210px;height:74px;object-fit:contain}.footer-bottom{display:flex;justify-content:space-between;gap:20px;align-items:center;padding-top:24px;font-size:11px;color:#b7bdc8}.footer-bottom p{margin:0}.footer-bottom a{text-decoration:none}.footer-bottom a:hover{text-decoration:underline}@media(hover:hover){.hotel.has-gallery:not(.pinned):hover .secondary{opacity:1}.hotel.has-gallery:not(.pinned):hover .primary{opacity:0}.hotel.has-gallery:hover .photo img{transform:scale(1.025)}.hotel.has-gallery:not(.pinned):hover .photo-switch i{opacity:.35}.hotel.has-gallery:not(.pinned):hover .photo-switch i+i{opacity:1}}@media(min-width:1400px){.hero-note{right:calc((100vw - 1280px)/2)}}@media(max-width:1000px){.wrap{width:calc(100% - 56px)}.grid{grid-template-columns:repeat(2,minmax(0,1fr))}.season{display:none}.hero{min-height:620px}.hero-image{object-position:60% center}.hero:after{background:linear-gradient(90deg,#071121e8,#07112166 66%,#07112120)}.section-head{align-items:flex-start}.sponsors{gap:28px}.sponsors img{height:60px}}@media(max-width:600px){.wrap{width:calc(100% - 40px)}header{height:76px}.brand img{width:153px;height:53px}.nav-right{gap:0}.nav-link{font-size:11px}.nav-link span{margin-left:9px}.hero{min-height:640px}.hero-content{padding:39px 0 86px}.hero-image{object-position:59% center}.hero:after{background:linear-gradient(90deg,#071121d9,#07112150),linear-gradient(0deg,#071121aa,transparent)}.hero .eyebrow{font-size:9px;letter-spacing:1.5px;gap:7px;margin-bottom:25px}h1{font-size:90px;letter-spacing:-5px}h1 em{font-size:30px}.hero-copy{max-width:255px;font-size:14px;line-height:1.6;margin-top:25px}.button{padding:15px 20px;font-size:13px}.hero-note{right:20px;bottom:20px;font-size:9px}.ribbon .wrap{min-height:68px;gap:7px;justify-content:center;flex-wrap:wrap;padding:15px 0}.ribbon p{font-size:10px}.ribbon .end{display:none}.ribbon .dot{margin-right:3px}main{padding:48px 0}.section-head{display:block;margin-bottom:27px}.section-head .eyebrow{font-size:9px}h2{font-size:37px}.section-intro{margin:17px 0 0;font-size:13px;max-width:100%}.grid{grid-template-columns:1fr;gap:33px}.hotel h3{min-height:0;font-size:20px;margin-bottom:17px}.photo-switch{min-height:44px}.booking-note{font-size:11px;margin-top:32px}.footer{padding-top:34px}.footer-top{display:block;margin-bottom:17px}.footer-top .eyebrow{margin-top:16px}.sponsors{grid-template-columns:repeat(2,1fr);gap:22px;padding:20px 0 30px}.sponsors img{height:55px;max-width:170px}.footer-bottom{align-items:flex-start;line-height:1.7;font-size:10px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
