/* Pair hub — artboard 09. Tokens only; shared pieces come from site.css. */

.hb-head{display:flex;flex-direction:column;gap:8px}
.hb-unit{font-size:18px;line-height:28px;color:var(--ink3)}
.hb-unit strong{color:var(--ink);font-weight:600}
.hb-intro{margin-top:12px;font-size:16px;line-height:24px;color:var(--ink3);max-width:72ch}
.hb-inv{margin-top:8px;display:flex;flex-wrap:wrap;align-items:center;gap:6px;font-size:14px;line-height:20px}
.hb-inv>svg{color:var(--ink2)}
.hb-meta{margin-top:20px;grid-template-columns:repeat(auto-fit,minmax(min(260px,100%),1fr))}
.hb-meta dd{font-size:16px;line-height:24px}
.hb-meta dd strong{font-weight:600}

/* Choose a target date + default forecast widget */
.hb-pick{margin-top:32px;display:flex;flex-wrap:wrap;gap:24px 40px;align-items:flex-start}
.hb-presets{flex:1 1 420px;min-width:0}
.hb-pick-h{font-size:18px;line-height:24px;font-weight:600;margin-bottom:12px}
.hb-opts{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px}
.hb-opt{display:flex;align-items:center;gap:12px;min-height:56px;padding:8px 16px;border-radius:var(--r-md);background:var(--bg);box-shadow:inset 0 0 0 1px var(--line);color:var(--ink);text-decoration:none}
a.hb-opt:hover{background:var(--s2);color:var(--ink)}
.hb-opt.is-on,a.hb-opt.is-on:hover{background:var(--wash);box-shadow:inset 0 0 0 2px var(--brand)}
.hb-opt.is-off{background:var(--s2);color:var(--ink2);cursor:not-allowed}
.hb-dot{flex:0 0 auto;width:18px;height:18px;border-radius:var(--r-pill);border:2px solid var(--ctl)}
.hb-opt.is-on .hb-dot{border:6px solid var(--brand)}
.hb-opt.is-off .hb-dot{border-color:var(--line2)}
.hb-opt-t{display:flex;flex-direction:column;min-width:0;flex:1 1 auto}
.hb-opt-l{font-size:16px;line-height:22px;font-weight:600}
.hb-opt-n{font-size:14px;line-height:20px;color:var(--ink2)}
.hb-fine{font-size:14px;line-height:20px;color:var(--ink2)}
.hb-presets>.hb-fine{margin-top:10px}

.hb-w{flex:1 1 460px;min-width:0;border:1px solid var(--line);border-radius:var(--r-lg);padding:24px;display:flex;flex-direction:column;gap:16px}
.hb-w-h{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap}
.hb-w-t{margin-top:4px;font-size:22px;line-height:28px;font-weight:400}
.hb-w-b{display:flex;flex-direction:column;gap:16px}
.hb-w-b .obar{height:12px}
.hb-tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.hb-tiles>div{background:var(--s2);border-radius:var(--r-md);padding:12px;min-width:0}
.hb-tiles dt{font-size:14px;line-height:20px;font-weight:600}
.hb-p{font-size:32px;line-height:40px}
.hb-b{font-size:13px;line-height:16px;color:var(--ink2)}
.hb-cta{align-self:flex-start}
.hb-route{color:var(--ink2);font-size:13px;line-height:16px;overflow-wrap:anywhere}
.hb-all{border-top:1px solid var(--line);padding-top:16px}

/* Published forecast dates */
.hb-dates{list-style:none;padding:0;margin:20px 0 0;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(220px,100%),1fr));gap:16px}
.hb-date{border:1px solid var(--line);border-radius:var(--r-md);padding:16px;display:flex;flex-direction:column;gap:10px;min-width:0}
.hb-date.is-cur{border:2px solid var(--ink);padding:15px}
.hb-date-b{display:flex;flex-direction:column;gap:10px}
.hb-date-t{font-size:18px;line-height:24px;font-weight:600}
.hb-date-t a{color:var(--ink)}
.hb-trip{font-size:14px;line-height:20px;color:var(--ink3)}
.hb-pub{font-size:13px;line-height:16px;color:var(--ink2);margin-top:auto}
.hb-gap{margin-top:12px}
.hb-empty{margin-top:16px;color:var(--ink3)}

/* Two-column sections */
.hb-two{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(460px,100%),1fr));gap:32px 48px}
.hb-two>section{min-width:0}
.hb-drv{list-style:none;padding:0;margin:16px 0 0}
.hb-drv>li{padding:14px 0;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:4px}
.hb-drv-t{font-weight:600}
.hb-drv-t .b{margin-left:6px;vertical-align:1px}
.hb-src{white-space:nowrap}
.hb-tbl{margin-top:16px;position:relative}
.hb-all .tbl{position:relative}
.hb-notes{font-size:14px;color:var(--ink3)}

.hb-none{margin-top:16px;border:1px dashed var(--ctl);border-radius:var(--r-md);padding:20px;display:flex;flex-direction:column;align-items:flex-start;gap:8px}
.hb-set{list-style:none;padding:0;margin:16px 0 12px}
.hb-set>li{padding:12px 0;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:2px}
.hb-set-h{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:4px 16px}
.hb-set-t{font-weight:600}
.hb-set strong{font-weight:600;color:var(--ink)}
.hb-a{font-weight:600}
.hb-how{list-style:none;padding:0;margin:16px 0 0;display:flex;flex-direction:column;gap:4px}
.hb-how a{display:inline-flex;align-items:center;min-height:36px;font-weight:600}

@media (max-width:767px){
  .hb-unit{font-size:16px;line-height:24px}
  .hb-pick{margin-top:24px}
  .hb-w{padding:16px}
  .hb-tiles{grid-template-columns:minmax(0,1fr);gap:8px}
  .hb-tiles>div{display:grid;grid-template-columns:1fr auto;align-items:center;gap:0 12px}
  .hb-tiles .hb-p{grid-row:span 2;grid-column:2;font-size:28px;line-height:34px}
  .hb-tiles .hb-b{grid-column:1}
  .hb-cta{align-self:stretch}
  .hb-how a{min-height:44px}
}
.hb-all caption{padding:10px 10px 8px}
