/* Seasonal weekends: reference artwork, live controls, and the published-rates type scale. */
body.page-rates #holidays.hsp{
 --holiday-rail:170px;--holiday-ink:#073b57;--holiday-sand:#917658;
 --holiday-text:"PDH8 Avenir",Arial,sans-serif;
 padding:150px var(--holiday-rail) 70px;background:#fffefa;color:var(--holiday-ink);
 position:relative;isolation:isolate;
}
.hsp,.hsp *,.hsp *::before,.hsp *::after{box-sizing:border-box}
.hsp :where(h2,h3,p,ul,figure){margin:0}
.hsp :where(button,a){-webkit-tap-highlight-color:transparent}
.hsp__frame{container-type:inline-size;display:grid;grid-template-columns:50% 48%;gap:2%;align-items:center;width:100%;margin:0}
.hsp__copy{min-width:0;position:relative;z-index:1;padding-block:24px}
body.page-rates #holidays.hsp .hsp__title{
 font:400 clamp(42px,6.25cqw,102px)/1.05 "Comfort Bodoni",Georgia,serif;
 letter-spacing:-.035em;color:var(--holiday-ink);text-wrap:wrap;
}
.hsp__title>span,.hsp__title em{display:block;white-space:nowrap}
body.page-rates #holidays.hsp .hsp__title em{font:inherit;letter-spacing:inherit;color:var(--holiday-sand)}
.hsp__intro{margin-top:24px;color:#0b5375;font:400 clamp(18px,1.44cqw,24px)/1.4 var(--holiday-text)}
.hsp__cards{list-style:none;padding:0;margin-top:28px;display:grid;gap:12px}
.hsp__card{
 --season:#4e8d95;display:grid;grid-template-columns:14px minmax(0,1fr) auto 26px;
 gap:10px;align-items:center;width:100%;min-height:82px;padding:13px 15px 13px 22%;
 position:relative;isolation:isolate;overflow:hidden;border:1px solid transparent;border-radius:14px;
 background:#fff;box-shadow:0 6px 24px #6b543311;text-align:left;color:var(--holiday-ink);cursor:pointer;
 transition:border-color .2s,box-shadow .2s,transform .2s;
}
.hsp [data-season]{--season:#4e8d95}
.hsp [data-season="spring"]{--season:#cea16d}
.hsp [data-season="summer"]{--season:#ec853e}
.hsp [data-season="big"]{--season:#23618a}
.hsp__card:hover{transform:translateY(-2px);box-shadow:0 9px 26px #6b54331c}
.hsp__card[aria-pressed="true"]{border-color:var(--season);box-shadow:0 6px 24px #6b54331c}
.hsp__card-art{position:absolute;inset:0 auto 0 0;width:23%;height:100%;z-index:-1;pointer-events:none;mask-image:linear-gradient(90deg,#000 65%,transparent)}
.hsp__swatch{width:14px;height:14px;border-radius:50%;background:var(--season)}
.hsp__card-copy{min-width:0}
.hsp__card-title{display:block;font:400 clamp(24px,2.13cqw,36px)/1.08 "Comfort Bodoni",Georgia,serif;letter-spacing:-.025em;color:#073e61}
.hsp__card-detail{display:block;margin-top:6px;color:#4c7b9d;font:400 clamp(13px,1cqw,17px)/1.4 var(--holiday-text)}
.hsp__price{display:grid;gap:5px;border-left:1px solid #d8e1e5;padding-left:16px;white-space:nowrap}
.hsp__price small{font:400 10px/1 var(--holiday-text);letter-spacing:.12em;text-transform:uppercase;color:#bd7f47}
.hsp__price b{font:400 clamp(30px,2.35cqw,40px)/1 var(--holiday-text);letter-spacing:-.04em;color:#073e61}
.hsp__price--pair b{font-size:clamp(23px,1.85cqw,32px)}
.hsp__price b i{font-style:normal;font-size:.75em;color:#b88c5c}
.hsp__chevron{width:26px;height:26px;border:1px solid #d6ac84;border-radius:50%;display:grid;place-items:center;color:#a97645}
.hsp__chevron svg{width:7px;height:12px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.hsp__footer{margin-top:23px;padding-top:16px;border-top:1px solid #e9e5dc;display:flex;flex-wrap:wrap;align-items:center;gap:13px}
.hsp__minimum{display:inline-flex;align-items:center;gap:5px;padding:10px 12px;border:1px solid #d3ac83;border-radius:999px;font:400 clamp(10px,.78cqw,13px)/1.2 var(--holiday-text);white-space:nowrap}
.hsp__minimum i{width:6px;height:6px;border-radius:50%;background:#b68c5c}
.hsp__minimum span{margin-left:4px}
.hsp__book{display:inline-flex;align-items:center;justify-content:space-between;gap:24px;min-height:46px;padding:5px 6px 5px 22px;border-radius:999px;background:#073e61;color:#fff;text-decoration:none;font:400 clamp(15px,1.36cqw,22px)/1.2 var(--holiday-text);white-space:nowrap}
.hsp__book>span{display:grid;place-items:center;width:34px;height:34px;border:1px solid #b8966c;border-radius:50%}
.hsp__book svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.hsp__book:hover{background:#155b79}
.hsp__note{flex:1 1 180px;max-width:100%;padding-left:15px;border-left:1px solid #dae3e5;font:400 clamp(11px,.8cqw,14px)/1.5 var(--holiday-text);color:#4c7b9d}
.hsp__scene{position:relative;align-self:stretch;width:100%;min-width:0;aspect-ratio:852/941;--active-x:18%}
/* Feather the artwork's paper on all four sides; keep live controls outside the mask. */
.hsp__art{
 position:absolute;inset:0;width:100%;height:100%;object-fit:fill;
 pointer-events:none;mix-blend-mode:multiply;
 -webkit-mask-image:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent),linear-gradient(180deg,transparent,#000 8%,#000 92%,transparent);
 -webkit-mask-composite:source-in;
 mask-image:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent),linear-gradient(180deg,transparent,#000 8%,#000 92%,transparent);
 mask-composite:intersect;
}
.hsp__timeline{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.hsp__timeline path{fill:none;stroke:#568ea2;stroke-width:1.4}
.hsp__timeline path:first-child{stroke:#a7784e}
.hsp__event{position:absolute;z-index:2;top:14.5%;left:var(--active-x);transform:translateX(-50%);width:31%;min-width:157px;max-width:230px;padding:13px 10px;text-align:center;border:1px solid #fff;border-radius:12px;background:#fffefa;box-shadow:0 9px 24px #72563820;font-family:var(--holiday-text);color:var(--holiday-ink);transition:left .25s}
.hsp__event::after{content:"";position:absolute;top:100%;left:50%;height:16px;border-left:1px solid #b18a62}
.hsp__event-season{font:400 clamp(9px,.7cqw,12px)/1.2 var(--holiday-text);letter-spacing:.16em;text-transform:uppercase;color:#125078}
.hsp__event-name{margin-top:7px;font:400 clamp(24px,2.13cqw,36px)/1.08 "Comfort Bodoni",Georgia,serif;letter-spacing:-.025em}
.hsp__event-date{margin-top:7px;font:400 clamp(10px,.8cqw,13px)/1.4 var(--holiday-text)}
.hsp__event-days{display:inline-block;margin-top:6px;padding:5px 11px;border-radius:999px;background:#f3d7ad;color:#775333;font:400 clamp(11px,.85cqw,14px)/1.2 var(--holiday-text)}
.hsp__marker{position:absolute;top:36%;left:var(--x);transform:translateX(-50%);z-index:1;display:flex;flex-direction:column;align-items:center;gap:9px;width:24%;padding:0;border:0;background:none;color:var(--holiday-ink);cursor:pointer}
.hsp__marker-icon{display:grid;place-items:center;width:clamp(44px,4.15cqw,72px);aspect-ratio:1;border:2px solid #ffffffde;border-radius:50%;background:var(--season);box-shadow:0 4px 12px #75532c14;color:white;transition:transform .2s,box-shadow .2s}
.hsp__marker-icon svg{width:57%;height:57%;fill:none;stroke:currentColor;stroke-width:1.3;stroke-linecap:round;stroke-linejoin:round}
.hsp__marker-label{font:400 clamp(8px,.78cqw,13px)/1.5 var(--holiday-text);letter-spacing:.14em;text-align:center;text-transform:uppercase}
.hsp__marker[aria-pressed="true"] .hsp__marker-icon{transform:scale(1.15);box-shadow:0 0 0 4px #fff,0 7px 20px #75532c40}
.hsp__marker:hover .hsp__marker-icon{transform:scale(1.08)}
.hsp :is(button,a):focus-visible{outline:2px solid #073b57;outline-offset:5px}
@media(min-width:1901px){body.page-rates #holidays.hsp{--holiday-rail:calc(170 * 100vw / 1900)}}
@media(max-width:1450px){body.page-rates #holidays.hsp{--holiday-rail:clamp(80px,8.947vw,170px)}}
@media(max-width:1199px){
 .hsp__frame{grid-template-columns:1fr;gap:32px}
 .hsp__copy{padding:0}
 .hsp__cards{gap:14px}
 .hsp__card{min-height:100px;padding-left:20%}
 .hsp__card-title{font-size:29px}
 .hsp__card-detail{font-size:15px}
 .hsp__scene{width:min(100%,760px);justify-self:center;min-height:0}
 .hsp__event{padding:16px 12px;top:14%}
 .hsp__event-date{font-size:13px}
 .hsp__marker-icon{width:64px}
 .hsp__marker-label{font-size:12px}
 .hsp__note{flex-basis:250px}
}
@media(max-width:900px){body.page-rates #holidays.hsp{--holiday-rail:24px}}
@media(max-width:640px){
 body.page-rates #holidays.hsp{padding-block:95px 45px}
 body.page-rates #holidays.hsp .hsp__title{font-size:clamp(34px,9.4vw,58px);line-height:1.08}
 .hsp__intro{margin-top:20px;font-size:18px}
 .hsp__cards{margin-top:24px;gap:12px}
 .hsp__card{grid-template-columns:10px minmax(0,1fr) 19px;gap:10px 8px;min-height:128px;padding:15px 12px 15px 16%}
 .hsp__card-art{width:18%;opacity:.7}
 .hsp__swatch{width:10px;height:10px;grid-column:1;grid-row:1;align-self:start;margin-top:7px}
 .hsp__card-copy{grid-column:2;grid-row:1}
 .hsp__card-title{font-size:29px}
 .hsp__card-detail{font-size:15px;margin-top:5px}
 .hsp__price{grid-column:2;grid-row:2;display:flex;align-items:baseline;padding:0;border:0;gap:8px}
 .hsp__price b{font-size:30px}
 .hsp__price--pair b{font-size:30px}
 .hsp__price small{font-size:9px}
 .hsp__chevron{width:19px;height:19px;grid-column:3;grid-row:1/3}
 .hsp__chevron svg{height:9px;width:5px}
 .hsp__footer{gap:12px;margin-top:20px}
 .hsp__book{gap:15px;padding-left:18px;font-size:15px}
 .hsp__minimum{padding:10px;font-size:10px}
 .hsp__minimum i{width:5px;height:5px}
 .hsp__note{flex-basis:100%;padding:0;border:0;font-size:12px}
 .hsp__scene{aspect-ratio:852/1050}
 .hsp__art,.hsp__timeline{height:100%}
 .hsp__event{width:43%;min-width:0;top:11%;padding:10px 7px;border-radius:9px}
 .hsp__event-name{font-size:20px;margin-top:5px}
 .hsp__event-season{font-size:8px}
 .hsp__event-date{font-size:9px;margin-top:5px}
 .hsp__event-days{font-size:10px;padding:4px 8px}
 .hsp__marker{gap:8px;top:39%}
 .hsp__marker-icon{width:42px}
 .hsp__marker-label{font-size:8px;letter-spacing:.1em}
}
@media(prefers-reduced-motion:reduce){.hsp *{transition:none!important}}
