/* Temporary APTA PPS announcement. Keep measured header space on every page. */
:root{--hb-event-height:74px;--hb-header-height:calc(var(--hb-nav-height) + var(--hb-event-height))}
html:root{scroll-padding-top:calc(var(--hb-header-height) + 24px)}
body.hb-unified-site{padding-top:var(--hb-header-height)}
html .hb-unified-site [id]{scroll-margin-top:calc(var(--hb-header-height) + 24px)}
html .hb-unified-header{height:auto}
html .hb-unified-bar{height:var(--hb-nav-height)}
html:root .hb-unified-header .hb-unified-nav{max-height:calc(100dvh - var(--hb-header-height))}
html:root body.hb-home-shell.hb-unified-site main[data-screen-label="Home"]>header{min-height:calc(100svh - var(--hb-header-height))!important}
.hb-event-banner{position:relative;isolation:isolate;overflow:hidden;min-height:var(--hb-event-height);display:flex;align-items:center;justify-content:center;padding:10px 24px;background:#fffaf2;color:#211b17;border-bottom:1px solid #ddcbbb;font-family:Archivo,system-ui,sans-serif;line-height:1.3}
.hb-event-banner::before,.hb-event-banner::after{content:"";position:absolute;top:0;bottom:0;width:calc(50% - 235px);pointer-events:none;z-index:-1;background-repeat:no-repeat;background-size:cover}
.hb-event-banner::before{left:0;background-image:url("event/city-left-v48.svg");background-position:left bottom;-webkit-mask-image:linear-gradient(90deg,#000 0%,#000 65%,transparent 100%);mask-image:linear-gradient(90deg,#000 0%,#000 65%,transparent 100%)}
.hb-event-banner::after{right:0;background-image:url("event/city-right-v48.svg");background-position:right bottom;-webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 35%,#000 100%);mask-image:linear-gradient(90deg,transparent 0%,#000 35%,#000 100%)}
.hb-event-banner[hidden]{display:none}
.hb-event-banner__inner{position:relative;display:flex;align-items:center;justify-content:center;gap:22px;max-width:1200px;min-width:0;background:#fffaf2;box-shadow:-24px 0 24px #fffaf2,24px 0 24px #fffaf2}
.hb-event-banner__landscape{width:78px;height:46px;flex:none;color:#c8102e}
.hb-event-banner__copy{min-width:0}
.hb-event-banner__title{display:block;margin:0;color:#211b17;font-size:18px;font-weight:650;line-height:1.3;letter-spacing:-.025em}
.hb-event-banner__title strong{color:#ba1230;font-weight:800;white-space:nowrap}
.hb-event-banner__location{display:flex;align-items:center;flex-wrap:wrap;gap:0 7px;margin:4px 0 0;color:#665247;font-size:12px;line-height:1.4;letter-spacing:.01em}
.hb-event-banner__location span{white-space:nowrap}
.hb-event-banner__location span+span::before{content:"·";display:inline-block;margin-right:7px;color:#b21733;font-weight:800}
.hb-event-banner__booth{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;flex:none;min-width:84px;min-height:52px;padding:6px 16px;border:1px solid #3b2d27;border-left:3px solid #c8102e;border-radius:9px;background:#241c18;color:#fff9f1;box-shadow:0 4px 12px rgba(58,31,17,.12);font-size:9px;font-weight:650;letter-spacing:.16em;text-transform:uppercase;line-height:1.15;white-space:nowrap}
.hb-event-banner__booth::before{content:"";position:absolute;inset:7px auto 7px 7px;border-left:1px dashed rgba(255,249,241,.25)}
.hb-event-banner__booth strong{font-size:25px;font-weight:800;line-height:1;letter-spacing:.025em;font-variant-numeric:tabular-nums}
@media(min-width:601px) and (max-width:900px){
 .hb-event-banner::before,.hb-event-banner::after{width:calc(50% - 205px);opacity:.7}
}
@media(max-width:600px){
 :root{--hb-event-height:78px}
 .hb-event-banner{padding:9px 12px}
 .hb-event-banner::before{display:none}
 .hb-event-banner::after{width:100px;opacity:.5;background-size:auto 100%;-webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 70%);mask-image:linear-gradient(90deg,transparent 0%,#000 70%)}
 .hb-event-banner__inner{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;width:100%;max-width:440px;background:transparent;box-shadow:none}
 .hb-event-banner__copy{background:#fffaf2}
 .hb-event-banner__landscape{display:none}
 .hb-event-banner__title{font-size:14px;line-height:1.3;letter-spacing:-.02em}
 .hb-event-banner__location{display:block;margin-top:4px;font-size:11.5px;line-height:1.35;letter-spacing:0}
 .hb-event-banner__location span{display:block}
 .hb-event-banner__location span+span::before{content:none}
 .hb-event-banner__booth{min-width:64px;min-height:54px;padding:6px 10px;font-size:9px;letter-spacing:.1em}
 .hb-event-banner__booth strong{font-size:23px}
}
