.h-hero{position:relative;height:900px;color:var(--cream);text-align:center;
  background:linear-gradient(rgba(0,0,0,.37),rgba(0,0,0,.37)),url(../assets/hero.jpg) center/cover}
.h-hero .in{padding:344px 166px 0}
.h-hero .sm-eyebrow{margin:0 0 26px}
.h-hero h1{font:400 66px/70px "Newsreader";letter-spacing:-1px;margin:0 0 20px}
.h-hero .md{display:none}
.h-hero .sub{font:400 25px/43px "Newsreader";margin:0 0 27px}
.h-btns{display:flex;justify-content:center;gap:22px}
.h-btns .btn-line{width:362px}

.sp{display:grid;grid-template-columns:720px 720px;grid-template-areas:"pic head" "pic body"}
.sp .c-pic{grid-area:pic}
.sp .c-txt{grid-area:head / head / body / body;display:flex;align-items:center}
.c-txt .t{width:504px}
.sp-intro{height:867px}
.sp-intro .c-pic{padding:60px}
.sp-intro .frame{height:747px}
.sp-intro .c-txt{padding-left:108px}
.sp-intro .sm-h2{margin:0 0 19px}
.sp-intro .t>p:not(.sm-eyebrow){margin-bottom:20px}
.sp-intro .btn-row{margin-top:31px}

.sp-pool{height:714px;grid-template-areas:"head pic" "body pic"}
.sp-pool .slate{background:var(--slate);color:var(--page);padding-left:122px}
.sp-pool .t{width:475px}
.sp-pool .sm-h2{margin:0 0 23px}
.sp-pool .sm-sub{margin:0 0 19px}
.sp-pool .t>p{margin:0 0 32px}
.sp-pool .c-pic{height:714px}

.frame .f-cap{bottom:57px;height:105px;align-items:baseline}
.frame .f-cap i{line-height:104.576px;top:0;margin-right:14px}
.frame .f-cap b{line-height:68.8px}
.frame .f-cap sup{top:0;vertical-align:28px;line-height:1}

.day{padding:55px 69px 41px;text-align:center}
.day .sm-h2{margin:0 0 20px}
.day .lead{margin:0 0 40px}
.ch{position:relative;text-align:left}
.ch-stage{position:relative;height:585px;overflow:hidden;background:#111}
.ch-slide{position:absolute;inset:0;opacity:0;transition:opacity .9s ease;pointer-events:none}
.ch-slide.on{opacity:1;pointer-events:auto}
.ch-slide video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transform:scale(1.04)}
.ch-slide::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.55),rgba(0,0,0,.1))}
.ch-txt{position:absolute;left:86px;bottom:100px;z-index:2;color:#fff;width:520px}
.ch-txt .k{font:400 9px/14.4px "Libre Franklin";letter-spacing:6px;text-transform:uppercase;opacity:.9;margin:0 0 20px}
.ch-txt h3{font:500 51.2px/48.64px "Newsreader";letter-spacing:-1.536px;margin:0 0 16px}
.ch-txt p:last-child{font:400 15px/24px "Libre Franklin";opacity:.9;margin:0}
.ch-nav{position:absolute;left:3px;right:3px;top:534px;z-index:3;display:flex;align-items:center;justify-content:space-between}
.ch-nav button{font:400 10px/1 Arial,sans-serif;letter-spacing:2.2px;color:rgba(255,255,255,.8);padding:6px 2px}
.ch-nav button:hover{color:#fff}
.ch-prog{display:flex;gap:8px}
.ch-prog i{width:40px;height:2px;background:rgba(255,255,255,.25);transition:background-color .3s}
.ch-prog i.on{background:#fff}
.ch-cards{display:grid;grid-template-columns:repeat(5,1fr);gap:2px;margin-top:2px}
.ch-card{position:relative;height:170px;overflow:hidden;text-align:left;color:#fff;border-top:3px solid transparent;transition:border-color .3s}
.ch-card .bg{position:absolute;inset:-3px 0 0;background:center/cover;transition:transform .3s}
.ch-card::after{content:"";position:absolute;inset:0;background:rgba(0,0,0,.35);transition:background-color .3s}
.ch-card.on{border-top-color:var(--wine)}
.ch-card.on .bg{transform:scale(1.05)}
.ch-card.on::after{background:rgba(0,0,0,.05)}
.ch-card:hover .bg{transform:scale(1.05)}
.ch-card span{position:absolute;left:24px;top:110px;z-index:2;font:400 10px/17.2px "Libre Franklin";letter-spacing:2.5px;opacity:.7}
.ch-card b{position:absolute;left:24px;top:135px;z-index:2;font:500 10px/12px "Libre Franklin";letter-spacing:1.2px;text-transform:uppercase}
.day .plan{margin-top:20px;width:220px;padding:0;white-space:nowrap}
.over{transition:transform .3s}

.sp2{display:grid;grid-template-columns:720px 720px;grid-template-areas:"txt pic"}
.sp2 .c-txt{grid-area:txt;display:flex;align-items:center;padding-left:139px}
.sp2 .c-pic{grid-area:pic;position:relative;padding:60px 20px 60px 40px}
.sp2 .t{width:462px}
.sp2 .frame{height:700px}
.sp2.rev{grid-template-areas:"pic txt"}
.sp2.rev .c-txt{padding-left:119px}
.sp2.rev .c-pic{padding:60px 40px 60px 20px}
.sp-award .sm-h2{margin:0 0 20px}
.sp-award .sm-h3{margin:0 0 20px}
.sp-award .btn{margin-top:13px}
.sp-award{padding-bottom:28px}
.sp-dine .sm-h2{margin:0 0 17px}
.sp-dine .sm-sub{margin:0 0 20px}
.sp-dine .btn{margin-top:14px}
.over{position:absolute;width:350px;height:445px;background:center/cover;top:258px}
.sp-meet .over{left:410px}
.sp-meet{padding-top:0}
.sp-meet .c-pic{padding-top:40px;padding-bottom:61px}
.sp-meet .over{top:238px}
.sp-meet .sm-h2{margin:0 0 19px}
.sp-meet .t>p{margin-bottom:20px}
.sp-meet .c-txt{padding-top:72px}
.sp-meet .btn{margin-top:11px}
.sp-wed .over{left:-80px}
.sp-wed .c-pic{padding-bottom:74px}
.sp-wed .sm-h2{margin:0 0 20px}
.sp-wed .sm-h3{margin:0 0 20px}
.sp-wed .btn{margin-top:13px}

.pkgs{padding:77px 20px 117px;text-align:center}
.pkgs .sm-h2{margin:0 0 10px}
.pk-car{position:relative;--per:3;padding:0 64px}
.car-view{overflow:hidden}
.car-track{display:flex;gap:20px;transition:transform .5s ease}
.pkg{flex:0 0 calc((100% - 40px)/3);height:735px;background:var(--card);text-align:left;display:flex;flex-direction:column;padding:10px 10px 15px}
.pkg.mid{box-shadow:0 2px 14px rgba(15,37,39,.1)}
.pkg .pimg{display:block;height:221px;border:1px solid rgba(15,37,39,.1);overflow:hidden}
.pkg .pimg img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease}
.pkg .pimg:hover img{transform:scale(1.06)}
.pkg .pb{padding:26px 5px 0;flex:1}
.pkg h3{font:400 34.56px/32.832px "Newsreader";letter-spacing:1.5px;text-transform:uppercase;color:var(--deep);margin:0 0 12px}
.pkg .price{font:600 13px/22.36px "Libre Franklin",sans-serif;letter-spacing:1.5px;text-transform:uppercase;margin:0 0 12px}
.pkg .price b{font-weight:400}
.pkg .price i{font:italic 400 12px/20.64px "Libre Franklin";letter-spacing:1.5px;text-transform:none;margin-left:4px}
.pkg .desc{font:400 14px/22.4px "Libre Franklin";margin:0 0 12px}
.pkg ul{list-style:none;margin:0;padding:0}
.pkg li{display:flex;align-items:center;gap:11px;font:400 14px/22.4px "Libre Franklin";margin-bottom:7.3px}
.pkg .chk{width:15px;height:15px}
.pbtn{display:flex;gap:8px;padding:0 5px}
.pbtn a,.pbtn button{flex:1;height:44px;display:flex;align-items:center;justify-content:center;border:1px solid var(--wine);border-radius:1px;font:600 15px/18px "Libre Franklin",sans-serif;letter-spacing:1.5px;text-transform:uppercase;transition:background .25s,color .25s,border-color .25s}
.pbtn a{background:var(--wine);color:var(--card)}
.pbtn button{color:var(--wine)}
.pbtn button:hover{background:var(--wine);color:var(--card)}
.pk-arr{position:absolute;top:342px;width:52px;height:52px;background:var(--wine);color:var(--cream);display:flex;align-items:center;justify-content:center;z-index:3;transition:background .2s,opacity .2s}
.pk-arr.car-prev{left:0}.pk-arr.car-next{right:0}
.pk-arr.dis{opacity:.25;pointer-events:none}
.pk-dots{display:flex;justify-content:center;gap:6px;margin-top:17px}
.pk-dots button{width:7px;height:7px;background:#c3c9c2;transition:width .3s,background .3s}
.pk-dots button.on{width:22px;background:var(--wine)}

.sp-rooms{height:820px;grid-template-areas:"head pic" "body pic"}
.sp-rooms .c-txt{background:var(--cream);padding-left:122px}
.sp-rooms .t{width:475px}
.sp-rooms .c-pic{padding:60px}
.sp-rooms .frame{height:700px}
.sp-rooms .sm-h2{margin:0 0 20px}
.sp-rooms .sm-sub{margin:0 0 19px}
.sp-rooms .t>p{margin-bottom:20px}
.sp-rooms .btn{margin-top:14px}

.inv{padding:63px 0 100px;text-align:center}
.inv .sm-h2{margin:0 0 48px}
.in-car{position:relative;--per:3;padding:0 20px}
.in-car .car-track{gap:20.33px}
.in-car .car-item{flex:0 0 calc((100% - 40.66px)/3);text-align:left}
.in-car img{width:100%;height:498px;object-fit:cover}
.in-car h4{font:400 28px/33.6px "Newsreader";letter-spacing:-.42px;margin:24px 10px 9px}
.in-car p{font:400 14px/22.4px "Libre Franklin";margin:0 10px}
.in-arr{position:absolute;top:325px;width:30px;height:30px;border-radius:50%;background:rgba(243,239,228,.85);border:1px solid rgba(31,61,64,.3);color:#333;display:flex;align-items:center;justify-content:center;z-index:2}
.in-arr.l{left:20px}.in-arr.r{right:20px}
.in-arr:hover{background:var(--cream)}
.in-dots{display:flex;justify-content:center;gap:11px;margin-top:44px}
.in-dots button{width:8px;height:8px;border-radius:50%;background:var(--wine)}
.in-dots button.on{background:#b59b6e}

.loc{height:780px;grid-template-areas:"head pic" "body pic";color:var(--cream);
  background:linear-gradient(rgba(31,61,64,.74),rgba(31,61,64,.74)),url(../assets/loc-bg.jpg) center/cover}
.loc .c-txt{padding-left:72px}
.loc .t{width:576px}
.loc .sm-h2{margin:0 0 20px}
.loc .t>p:not(.sm-eyebrow){margin:0 0 41px}
.loc .c-pic{padding:40px 40px 40px 40px}
.loc .frame{height:700px;background-color:transparent}
.cnt{display:grid;grid-template-columns:repeat(4,144px)}
.cnt div{text-align:center}
.cnt b{display:block;font:400 45px/59px "Newsreader"}
.cnt small{display:block;font:400 13px/22.36px "Libre Franklin"}

.why{position:relative;height:935px;background-color:#16302f;background-image:repeating-linear-gradient(45deg,rgba(243,239,228,.05) 0 1px,transparent 1px 22px),repeating-linear-gradient(-45deg,rgba(243,239,228,.05) 0 1px,transparent 1px 22px)}
.why .wf{position:absolute;left:93px;top:60px;width:728px;height:795px}
.why .wbox{position:absolute;left:738px;top:95px;width:582px;min-height:730px;background:var(--wine);color:var(--cream);padding:69px 58px 69px 58px}
.why .sm-h2{color:var(--light);margin:0 0 18px}
.why .sm-sub{margin:0 0 39px;width:418px}
.why ul{list-style:none;margin:0;padding:0 0 0 36px}
.why li{position:relative;font:400 15px/25.5px "Libre Franklin";margin-bottom:15px;max-width:430px}
.why li::before{content:"";position:absolute;left:-36px;top:1px;width:25px;height:25px;border-radius:50%;background:var(--cream)}
.why li::after{content:"";position:absolute;left:-27px;top:7px;width:6px;height:10px;border:solid var(--wine);border-width:0 1.3px 1.3px 0;transform:rotate(45deg)}

.news{display:grid;grid-template-columns:526px 526px;column-gap:56px;padding:89px 0 0 166px;background:var(--cream);height:668px}
.news .nl{margin-top:9px}
.news .sm-h2{margin:0 0 20px}
.news .sm-h2 em{margin-right:-2px}
.nf label{display:block;font:700 18px/30.96px "Newsreader";font-synthesis:weight;margin:0 0 3px}
.nf input[type=text],.nf input[type=email]{width:100%;height:50px;border:1px solid var(--line);border-radius:2px;background:#fff;padding:0 15px;font:400 15px "Libre Franklin";color:var(--wine)}
.nf input::placeholder{color:#8b8b8b}
.nf input:focus{outline:none;border-color:var(--wine)}
.cnt255{font:400 15px/25.8px "Libre Franklin";color:#767676;padding:7px 0 6px;margin-bottom:12px}
.nf .legal{font:400 10px/17.2px "Libre Franklin";margin:26px 0 30px}
.nf .legal a{font-family:"Libre Franklin",sans-serif;font-weight:600}
.nrow{display:flex;justify-content:space-between;align-items:flex-end;padding-right:95px}
.nf fieldset{border:0;margin:0;padding:0}
.nf legend{font:700 18px/30.96px "Newsreader";font-synthesis:weight;padding:0;margin-bottom:4px}
.nf .ck{display:flex;align-items:center;gap:8px;font:400 15px/25.8px "Libre Franklin";margin:0 0 1px}
.nf .ck input{width:13px;height:13px;margin:0 0 0 4px;accent-color:var(--wine)}
.nf .btn{width:auto;min-width:163px;white-space:nowrap;margin-bottom:-2px}
.nf.sent .btn{background:var(--wine);color:var(--cream)}

@media (max-width:1024px){
  .h-hero{height:900px;background-image:linear-gradient(rgba(0,0,0,.37),rgba(0,0,0,.37)),url(../assets/hero.jpg)}
  .h-hero .in{padding:347px 20px 0}
  .c-txt .t{width:100%}
  .frame .f-cap{left:8%;right:8%;height:auto;flex-wrap:wrap;bottom:60px;text-align:center}
  .frame .f-cap i{top:0;margin:0 12px 0 0;line-height:104.576px}
  .frame .f-cap b{line-height:68.8px}
  .in-car{display:none}
  .inv{padding:70px 0 39px}
  .inv .sm-h2{margin-bottom:0}
  .h-hero .lg{display:none}.h-hero .md{display:inline}
  .h-hero h1.md{display:block;font-size:66.79px;line-height:66.79px}
  .h-btns .btn-line{width:180px}
  .sp,.sp2{grid-template-columns:50% 50%}
  .c-txt .t,.sp-pool .t,.sp2 .t,.sp-rooms .t{width:auto;max-width:100%}
  .sp-intro{height:958px}
  .sp-intro .frame{height:838px}
  .sp-intro .c-pic{padding:60px 60px 60px 60px}
  .sp-intro .c-txt{padding:0 67px 0 67px}
  .sp-pool{height:703px}
  .sp-pool .c-pic{height:703px}
  .sp-pool .slate{padding:0 76px}
  .day{padding:55px 26px 41px}
  .ch-stage{height:585px}
  .ch-txt{left:70px}
  .sp2 .c-txt{padding:125px 73px 129px 93px}
  .sp2 .c-pic{padding:0 20px 0 40px;align-self:center}
  .sp2.rev .c-txt{padding:125px 92px 129px 73px}
  .sp2.rev .c-pic{padding:0 40px 0 20px}
  .sp-award,.sp-meet .c-pic,.sp-wed .c-pic{padding-bottom:0}
  .sp-meet .c-txt{padding-top:97px;padding-bottom:88px}
  .sp-wed .c-txt{padding-top:177px;padding-bottom:188px}
  .sp-intro .sm-h2{padding-right:0}
  .w-br{display:block}
  .news{padding-top:106px}
  .frame .f-cap{white-space:normal}
  .over{width:215px;height:445px;top:198px}
  .sp-meet .over{left:275px}
  .sp-wed .over{left:-80px;height:432px}
  .pkgs{padding-top:50px}
  .pk-car{--per:1}
  .pkg{flex-basis:100%;height:828px}
  .pkg .pimg{height:401px}
  .pkg h3{font-size:24px;line-height:22.8px}
  .pk-arr{top:388px}
  .sp-rooms .c-txt{padding:0 77px 0 76px}
  .inv{padding:70px 0 40px}
  .in-car{--per:2}
  .in-car .car-item{flex-basis:calc((100% - 20.33px)/2)}
  .loc{height:887px}
  .loc .c-txt{padding:0 45px 0 45px}
  .loc .c-pic{padding:40px 40px 40px 40px}
  .loc .frame{height:807px}
  .cnt{grid-template-columns:repeat(2,1fr);row-gap:85px}
  .why{height:1040px}
  .why .wf{display:none}
  .why .wbox{left:216px;top:95px;width:357px;min-height:835px;padding:69px 36px}
  .why .sm-sub{width:auto}
  .news{grid-template-columns:1fr 1fr;column-gap:35px;padding:74px 109px 80px}
  .news{height:734px}
  .nrow{padding-right:0;align-items:flex-end}
  .nf .ck{align-items:flex-start;max-width:150px}
  .nf .btn{width:158px;height:55px}
}
@media (max-width:640px){
  .h-hero{height:731px}
  .h-hero .in{padding:228px 14px 0}
  .h-hero .lg{display:inline}.h-hero h1.lg{display:block;font-size:51.86px;line-height:51.86px;letter-spacing:-.78px}
  .h-hero h1.md{display:none}
  .h-hero .sub .lg{display:none}
  .h-hero h1.lg{margin-bottom:10px}
  .h-btns{gap:3px}
  .h-btns .btn-line{width:174px}
  .sp,.sp2,.sp-pool,.sp-rooms,.loc,.sp2.rev{display:flex;flex-direction:column;height:auto}
  .sp .c-txt,.sp2 .c-txt{display:block;text-align:center}
  .c-txt .t{width:auto}
  .btn-row{align-items:center}
  
  .sp-intro,.sp-rooms{padding:50px 0 41px}
  .sp-intro .c-txt,.sp-intro .t,.sp-rooms .c-txt,.sp-rooms .t{display:contents}
  .sp-intro .t>*,.sp-rooms .t>*{order:4;margin-left:25px;margin-right:25px;text-align:center}
  .sp-intro .sm-eyebrow{order:1}
  .sp-intro .sm-h2{order:2;margin-bottom:1px;padding-right:0}
  .sp-intro .c-pic,.sp-rooms .c-pic{order:3;padding:0 25px;background:none;margin-bottom:25px}
  .sp-intro .frame,.sp-rooms .frame{height:450px}
  .sp-intro .btn-row{margin-top:32px}
  .sp-rooms{background:var(--cream);padding-bottom:40px}
  .sp-rooms .sm-h2{order:1;margin-bottom:18px}
  .sp-rooms .sm-sub{order:2;margin-bottom:22px}
  .sp-rooms .btn{align-self:center;margin-top:12px}
  
  .sp-pool,.sp2,.sp2.rev,.loc{flex-direction:column-reverse}
  .sp-pool .c-pic{height:488px}
  .sp-pool .slate{padding:25px 25px 41px;text-align:center}
  .sp-pool .t>p{margin-bottom:32px}
  .day{padding:55px 15px 40px}
  .day .lead{margin-bottom:29px}
  .ch-stage{height:407px}
  .ch-txt{left:30px;bottom:100px;width:auto;right:20px}
  .ch-nav{top:370px}
  .ch-prog i{width:24px}
  .ch-cards{display:flex;gap:2.5px;overflow-x:auto;scrollbar-width:none;margin-top:3px}
  .ch-cards::-webkit-scrollbar{display:none}
  .ch-card{flex:0 0 140px;height:150px}
  .ch-card span{top:93px}.ch-card b{top:118px}
  .day .plan{margin-top:40px}
  .sp2 .frame{height:450px}
  .sp2 .c-pic,.sp2.rev .c-pic{padding:20px 20px 0;align-self:stretch}
  .sp2 .c-txt,.sp2.rev .c-txt{padding:25px 45px 41px}
  .sp-award .c-pic{padding-top:40px}
  .sp-award .c-txt{padding:52px 45px 103px}
  .sp-meet .c-txt{padding:40px 45px 52px}
  .sp-wed .c-pic{padding-top:40px}
  .sp-wed .c-txt{padding:50px 45px 80px}
  .over,.sp-meet .over,.sp-wed .over{display:none}
  .pkgs{padding:30px 20px 22px}
  .pkgs .sm-h2{margin-bottom:9px}
  .pk-car{padding:0}
  .pkg{height:650px}
  .pkg .pimg{height:201px}
  .pk-arr{display:none}
  .pk-dots{margin-top:14px}
  .inv{padding:70px 0 0}
  .inv .sm-eyebrow,.inv .sm-h2{padding:0 25px}
  .inv .sm-h2{margin-bottom:28px}
  .in-car{display:block;--per:1;padding:0 20px 110px}
  .in-car .car-item{flex-basis:100%}
  .in-car img{height:369px}
  .in-car h4{margin-top:23px;font-size:27.47px;line-height:32.96px}
  .in-arr{top:170px}
  .in-dots{margin-top:40px}
  .loc{padding:20px 0 79px}
  .loc .c-pic{padding:0 10px}
  .loc .frame{height:450px}
  .loc .c-txt{padding:50px 25px 0}
  .cnt{grid-template-columns:1fr 1fr;row-gap:84px}
  .why{display:flex;flex-direction:column;height:auto;background:var(--wine);padding:49px 20px 80px;text-align:center;color:var(--cream)}
  .why .wbox{display:contents}
  .why .wf{display:block;position:relative;left:0;top:0;width:auto;height:450px;order:4;margin:29px 0 30px}
  .why .sm-eyebrow{order:1}.why .sm-h2{order:2}.why .sm-sub{order:3;margin:0}
  .why ul{order:5;text-align:left;padding-left:36px}
  .news{display:block;height:auto;padding:25px 20px 66px}
  .news .nl{text-align:center;margin:0}
  .news .sm-h2{margin-bottom:17px}
  .news .sm-sub{margin-bottom:33px}
  .nf{padding:0 15px}
  .nrow{flex-direction:column;align-items:flex-start;gap:14px}
  .nf .btn{width:163px;height:40px}
  .nf .ck{max-width:none}
}
