/* Rates page — "Big island weekends, planned ahead." as the Year dial (concept 1 of /sandpiper/events-concepts-2/).
   Changes from the concept: no month letters around the dial; the hand swings to each holiday group's next date when that
   group is pointed at, focused or tapped in the list (rates-year-dial.js), and the centre shows that group. Scoped under .ew1.
   Preview: /sandpiper/rates-year-dial/ */
@font-face{font-family:"HP Display";src:url("../assets/fonts/library/wondar-quason/wondar-quason-400.woff2") format("woff2");font-weight:400;font-display:swap;size-adjust:96%}
@font-face{font-family:"HP Accent";src:url("../assets/fonts/library/middleton/middleton-400.woff2") format("woff2");font-weight:400;font-display:swap;size-adjust:87%}
@font-face{font-family:"HP Text";src:url("../assets/fonts/library/neue-frutiger/neue-frutiger-400.woff2") format("woff2");font-weight:200 800;font-display:swap;size-adjust:88%}
@font-face{font-family:"HP Label";src:url("../assets/fonts/library/neue-frutiger/neue-frutiger-400.woff2") format("woff2");font-weight:200 800;font-display:swap;size-adjust:102%}
.ew1{
  --u:calc(100vw / 1900);
  --rail:calc(170 * var(--u));
  --navy:#073b57; --deep:#0b3a3a; --night:#0a2433; --sand:#917658; --kick:#9c8268; --lead:#0b4b69; --cap:#667080;
  --paper:#faf7ef; --paper-2:#f3ebdd; --card:#fffdf8; --gold:#b89a6a; --gold-2:#d9bf8e; --hair:rgba(7,59,87,.13);
  --c-winter:#7fa9a4; --c-spring:#e2b98a; --c-summer:#d98a55; --c-big:#0b4b69;
  --display:"HP Display",Georgia,serif; --accent:"HP Accent",cursive; --text:"HP Text",Arial,sans-serif; --label:"HP Label",Arial,sans-serif;
  --ease:cubic-bezier(.4,.1,.2,1);
  position:relative;padding:calc(150 * var(--u)) var(--rail);background:var(--paper-2);color:var(--navy);
  font:400 16px/normal var(--text);letter-spacing:normal;-webkit-font-smoothing:antialiased;
}
.ew1,.ew1 *,.ew1 *::before,.ew1 *::after{box-sizing:border-box}
.ew1 :where(h2,h3,p,ul){margin:0}
.ew1 ul{padding:0;list-style:none}
.ew1 b{font-weight:400}
.ew1 svg{max-width:none}
.ew1 .ev-title{text-wrap:wrap}
.ew1 :focus-visible{outline:2px solid var(--gold);outline-offset:4px}
.ew1 .ev-head{display:flex;justify-content:space-between;align-items:flex-end;gap:calc(60 * var(--u))}
.ew1 .ev-head--c{justify-content:center;text-align:center}
.ew1 .ev-head--c .ev-k{justify-content:center}
.ew1 .ev-head--c .ev-k::after{content:"";width:calc(40 * var(--u));min-width:24px;height:1px;background:#b0977f}
.ew1 .ev-head--c .ev-intro{margin-inline:auto}
.ew1 .ev-k{display:flex;align-items:center;gap:calc(20 * var(--u));font:400 max(11px,calc(14.26 * var(--u)))/1 var(--label);letter-spacing:.39em;text-transform:uppercase;color:var(--kick);white-space:nowrap}
.ew1 .ev-k::before{content:"";width:calc(40 * var(--u));min-width:24px;height:1px;background:#b0977f}
.ew1 .ev-title{margin-top:calc(32 * var(--u));font:400 calc(85.8 * var(--u))/.99 var(--display);letter-spacing:-.01em;color:var(--navy)}
.ew1 .ev-title em{display:inline-block;font:400 1.1em/.72 var(--accent);font-style:normal;color:var(--sand);white-space:nowrap}
.ew1 .ev-intro{max-width:calc(700 * var(--u));margin-top:calc(30 * var(--u));font:500 max(15px,calc(22 * var(--u)))/1.45 var(--text);letter-spacing:-.012em;color:var(--lead)}
.ew1 .ev-cta{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:calc(26 * var(--u));margin-top:calc(54 * var(--u))}
.ew1 .ev-pill{display:inline-flex;align-items:center;flex:none;gap:calc(18 * var(--u));height:max(46px,calc(62 * var(--u)));padding:0 max(6px,calc(9 * var(--u))) 0 max(20px,calc(30 * var(--u)));border:1px solid rgba(7,59,87,.32);border-radius:999px;font:500 max(14px,calc(19 * var(--u)))/1 var(--text);color:var(--navy);text-decoration:none;white-space:nowrap;transition:background .25s,color .25s,border-color .25s}
.ew1 .ev-pill span{display:grid;place-items:center;width:max(34px,calc(44 * var(--u)));height:max(34px,calc(44 * var(--u)));border-radius:50%;background:var(--navy);color:#fff;transition:transform .25s var(--ease),background .25s}
.ew1 .ev-pill svg{width:45%;height:45%;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.ew1 .ev-pill:hover{background:var(--navy);border-color:var(--navy);color:#fff}
.ew1 .ev-pill:hover span{background:#fff;color:var(--navy);transform:translateX(3px)}
.ew1 .ev-pill--light{color:#fff;border-color:rgba(255,255,255,.5)}
.ew1 .ev-pill--light span{background:#fff;color:var(--navy)}
.ew1 .ev-pill--light:hover{background:#fff;color:var(--navy)}
.ew1 .ev-3n{display:inline-flex;align-items:center;gap:6px;padding:calc(10 * var(--u)) calc(18 * var(--u));min-height:38px;border:1px solid var(--gold);border-radius:999px;font:500 max(13px,calc(15 * var(--u)))/1 var(--text);color:var(--lead);white-space:nowrap}
.ew1 .ev-3n i{width:9px;height:9px;border-radius:50%;background:var(--gold)}
.ew1 .ev-3n b{margin-left:6px;font-weight:500}
.ew1 [class*="__p"] > span{font:500 max(11px,calc(13 * var(--u)))/1 var(--label);letter-spacing:.16em;text-transform:uppercase;color:var(--kick)}
.ew1 [class*="__p"] > em{font:400 calc(30 * var(--u))/1 var(--display);font-style:normal;color:var(--gold);margin:0 2px}
.ew1 .ev-next__k{font:500 max(11px,calc(13 * var(--u)))/1 var(--label);letter-spacing:.2em;text-transform:uppercase;color:var(--gold-2)}
.ew1 .ev-next__n{margin-top:calc(12 * var(--u));font:400 calc(88 * var(--u))/1 var(--display)}
.ew1 .ev-next__d{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:calc(14 * var(--u));font:400 max(14px,calc(19 * var(--u)))/1.3 var(--text)}
.ew1 .ev-next__d span{padding:6px 12px;border-radius:999px;background:var(--gold-2);color:#3f2f17;font-weight:500}
.ew1 .ev-next__p{margin-top:calc(12 * var(--u));font:500 max(14px,calc(18 * var(--u)))/1.3 var(--text);opacity:.9}
.ew1__grid{display:grid;grid-template-columns:calc(640 * var(--u)) 1fr;gap:calc(90 * var(--u));align-items:center;margin-top:calc(60 * var(--u))}
.ew1__dial{position:relative;aspect-ratio:1}
.ew1__svg{width:100%;height:100%;overflow:visible}
.ew1__track{fill:var(--card);stroke:rgba(7,59,87,.08);stroke-width:46}
.ew1__ticks line{stroke:rgba(7,59,87,.14);stroke-width:1.5}
.ew1__a{fill:none;stroke-width:34;stroke-linecap:round}
.ew1__a--spring{stroke:var(--c-spring)}
.ew1__a--summer{stroke:var(--c-summer)}
.ew1__a--big{stroke:var(--c-big);stroke-width:22}
.ew1__a--winter{stroke:var(--c-winter)}
.ew1__m text{font:500 14px var(--label);fill:var(--kick);text-anchor:middle;letter-spacing:.1em}
.ew1__hand{transform-origin:250px 250px;transition:transform 1.4s var(--ease)}
.ew1__hand line{stroke:var(--navy);stroke-width:3;stroke-linecap:round}
.ew1__hand circle{fill:var(--navy);stroke:#fff;stroke-width:3}
.ew1__hub{fill:#fff;filter:drop-shadow(0 8px 20px rgba(60,44,20,.12))}
.ew1__c{position:absolute;inset:27%;display:grid;place-items:center;text-align:center}
.ew1__c .ev-next__n{font-size:calc(46 * var(--u));color:var(--navy)}
.ew1__c .ev-next__k{color:var(--kick)}
.ew1__c .ev-next__d{flex-direction:column;gap:8px;justify-content:center;font-size:max(12px,calc(15 * var(--u)));color:var(--lead)}
.ew1__c .ev-next__p{display:none}
.ew1__leg li{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:calc(22 * var(--u));padding:calc(24 * var(--u)) 0;border-bottom:1px solid var(--hair)}
.ew1__leg li > i{width:calc(16 * var(--u));min-width:12px;aspect-ratio:1;border-radius:50%;background:var(--c)}
.ew1__lg--winter{--c:var(--c-winter)}
.ew1__lg--spring{--c:var(--c-spring)}
.ew1__lg--summer{--c:var(--c-summer)}
.ew1__lg--big{--c:var(--c-big)}
.ew1__leg li p{font:500 max(15px,calc(22 * var(--u)))/1.2 var(--text);color:var(--lead)}
.ew1__leg li span{display:block;margin-top:4px;font:400 max(13px,calc(15 * var(--u)))/1.4 var(--text);color:var(--cap)}
.ew1__leg li.is-next{background:linear-gradient(90deg,#fbf0dc,transparent)}
.ew1__leg li.is-next::after{display:none}
.ew1__p{display:flex;align-items:baseline;gap:6px;white-space:nowrap}
.ew1__p b{font:400 calc(42 * var(--u))/1 var(--display);color:var(--navy)}
.ew1__note{margin-top:calc(22 * var(--u));font:400 max(13px,calc(15 * var(--u)))/1.5 var(--text);color:var(--cap)}
.ew1__cta{display:flex;align-items:center;gap:20px;flex-wrap:wrap;margin-top:calc(30 * var(--u))}
.ew1 .ew2__badge .ev-3n{background:rgba(255,253,248,.92);backdrop-filter:blur(6px)}
.ew1 .ew3__pane .ev-3n{color:#fff;border-color:var(--gold-2)}
.ew10__grid{display:grid;grid-template-columns:1.5fr 1fr;gap:calc(70 * var(--u));align-items:start;margin-top:calc(50 * var(--u))}
.ew10__say{font:400 calc(46 * var(--u))/1.42 var(--display);letter-spacing:-.005em;color:var(--navy)}
.ew10__chip{display:inline-block;padding:0 .32em;border-radius:.3em;background:var(--c);color:var(--ink,#fff);line-height:1.15;white-space:nowrap}
.ew10__chip--winter{--c:#cfe2df;--ink:#0d2c2a}
.ew10__chip--spring{--c:#f3dcc0;--ink:#3f2a14}
.ew10__chip--summer{--c:var(--c-summer)}
.ew10__chip--big{--c:var(--c-big)}
.ew10__fine{max-width:calc(700 * var(--u));margin-top:calc(34 * var(--u));font:500 max(14px,calc(19 * var(--u)))/1.5 var(--text);color:var(--lead)}
.ew10__cta{display:flex;align-items:center;gap:20px;flex-wrap:wrap;margin-top:calc(34 * var(--u))}
.ew10__side{position:relative;isolation:isolate;display:flex;align-items:flex-end;min-height:calc(600 * var(--u));padding:calc(40 * var(--u));overflow:hidden;border-radius:calc(18 * var(--u)) calc(150 * var(--u)) calc(18 * var(--u)) calc(18 * var(--u));color:#fff}
.ew10__side img{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover}
.ew10__side::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(to top,rgba(4,32,46,.9),rgba(4,32,46,.1) 70%)}
.ew10__side .ev-next__n{font-size:calc(64 * var(--u))}
/* ---- interactive dial ---- */
.ew1 .ew1__m{display:none}
.ew1 .ew1__leg li{cursor:pointer;margin:0 calc(-16 * var(--u));padding-inline:calc(16 * var(--u));border-radius:12px;transition:background .3s}
.ew1 .ew1__leg li.is-on{background:#fff;box-shadow:inset 3px 0 0 var(--c)}
.ew1 .ew1__a{transition:opacity .35s,stroke-width .35s}
.ew1[data-active] .ew1__a{opacity:.28}
.ew1[data-active="winter"] .ew1__a--winter,.ew1[data-active="spring"] .ew1__a--spring,.ew1[data-active="summer"] .ew1__a--summer,.ew1[data-active="big"] .ew1__a--big{opacity:1;stroke-width:42}
.ew1[data-active="big"] .ew1__a--big{stroke-width:28}
.ew1 .ew1__hand{transition:transform .9s cubic-bezier(.34,1.3,.5,1)}
.ew1 .ew1__c .ev-next{transition:opacity .25s}
.ew1 .ew1__c.is-swap .ev-next{opacity:0}
.ew1 .ew1__c .ev-next__n{white-space:nowrap}
@media (max-width:999px){
  .ew1{--rail:clamp(20px,5vw,48px);padding:72px var(--rail)}
  .ew1 .ev-head{display:block}
  .ew1 .ev-head .ev-pill{margin-top:22px}
  .ew1 .ev-k{gap:14px;font-size:12px;letter-spacing:.3em}
  .ew1 .ev-title{font-size:clamp(40px,9vw,66px);line-height:1.02;margin-top:18px}
  .ew1 .ev-intro{max-width:none;margin-top:18px;font-size:16.5px}
  .ew1 [class*="__p"] > em{font-size:22px}
  .ew1 .ev-next__n{font-size:44px}
  .ew1__grid{grid-template-columns:1fr;gap:30px;margin-top:30px}
  .ew1__dial{max-width:420px;margin:0 auto;width:100%}
  .ew1__c .ev-next__n{font-size:26px}
  .ew1__c .ev-next__d{font-size:12px}
  .ew1__p b{font-size:28px}
  .ew1 .ev-next__n{font-size:44px}
  .ew10__grid{grid-template-columns:1fr;gap:28px;margin-top:24px}
  .ew10__say{font-size:clamp(24px,5.6vw,36px)}
  .ew10__side{min-height:380px;padding:24px;border-radius:14px 90px 14px 14px}
  .ew1 .ew1__leg li{margin:0 -10px;padding-inline:10px}
  .ew1 .ew1__c{inset:24%}
  .ew1 .ew1__c .ev-next__n{font-size:clamp(20px,6.4vw,30px);white-space:normal;line-height:1.05}
  .ew1 .ew1__c .ev-next__k{font-size:10px}
  .ew1 .ew1__c .ev-next__d{gap:6px;font-size:11.5px}
  .ew1 .ew1__c .ev-next__d span{padding:4px 9px}
}
@media (prefers-reduced-motion:reduce){.ew1 .ew1__hand{transition:none}}
