:root{--lv-navy:#0b2e4f;--lv-slate:#3f5871;--lv-gold:#c7972c}.lv-events-shell.lv-is-loading{visibility:hidden;opacity:0}.lv-events-shell.lv-is-ready{visibility:visible;opacity:1;transition:opacity .14s ease}.lv-events-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.lv-event-card{background:#fff;border:1px solid #e1e6ec;border-radius:18px;overflow:hidden;box-shadow:0 12px 32px rgba(11,46,79,.08);cursor:pointer;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.lv-event-card:hover{transform:translateY(-2px);box-shadow:0 16px 36px rgba(11,46,79,.12);border-color:#d5c49c}.lv-event-card:focus-visible{outline:3px solid rgba(199,151,44,.35);outline-offset:3px}.lv-event-card>img{width:100%;height:220px;object-fit:cover}.lv-card-body{padding:24px}.lv-card-body h3{color:var(--lv-navy);font-size:26px;margin:7px 0}.lv-event-date{color:var(--lv-gold);font-weight:800;font-size:12px;text-transform:uppercase;letter-spacing:.08em}.lv-event-label{font-weight:700;color:var(--lv-slate)}.lv-open-event,.lv-submit,.lv-link-button{display:inline-flex;border:0;border-radius:8px;background:var(--lv-gold);color:#fff;padding:12px 18px;font-weight:800;text-decoration:none;cursor:pointer}.lv-modal{display:none;position:fixed;z-index:999999;inset:0}.lv-modal.is-open{display:block}.lv-modal-backdrop{position:absolute;inset:0;background:rgba(7,19,31,.72)}.lv-modal-dialog{position:relative;width:min(980px,calc(100vw - 36px));max-height:92vh;overflow:auto;margin:4vh auto;background:#fff;border-radius:20px;box-shadow:0 30px 90px rgba(0,0,0,.34)}.lv-modal-close{position:absolute;z-index:8;top:14px;right:14px;margin:0;border:0;border-radius:50%;width:42px;height:42px;background:var(--lv-gold);color:#fff;font-size:25px;cursor:pointer;box-shadow:0 4px 16px rgba(0,0,0,.18)}.lv-detail-image{display:block;width:100%;height:clamp(260px,46vh,460px);max-height:460px;margin:0;object-fit:cover;object-position:center}.lv-detail-inner{padding:34px}.lv-detail-kicker{color:var(--lv-gold);font-weight:800;text-transform:uppercase;letter-spacing:.12em;font-size:12px}.lv-detail-inner h2{font-size:42px;line-height:1.08;color:var(--lv-navy);margin:8px 0 16px}.lv-detail-meta{display:grid;gap:5px;padding:16px 18px;background:#f3f6f8;border-left:4px solid var(--lv-gold);margin:0 0 24px}.lv-detail-copy{line-height:1.7}.lv-registration{margin-top:34px;padding-top:26px;border-top:1px solid #e2e7ec}.lv-registration h3{color:var(--lv-navy)}.lv-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.lv-registration-form label{display:block;font-weight:700;margin:12px 0;color:#334255}.lv-registration-form input,.lv-registration-form textarea{display:block;width:100%;box-sizing:border-box;border:1px solid #cdd6df;border-radius:9px;padding:11px;margin-top:6px}.lv-registration-form textarea{min-height:100px}.lv-consent{display:flex!important;gap:10px;align-items:flex-start;font-weight:500!important}.lv-consent input{width:auto!important;margin-top:3px}.lv-terms-open{border:0;background:none;color:var(--lv-navy);text-decoration:underline;font-weight:800;padding:0;cursor:pointer}.lv-form-message{margin-top:12px;font-weight:700}.lv-form-message.is-error{color:#a32222}.lv-form-message.is-success{color:#26743d}.lv-terms-box{padding:10px 0}.lv-terms-box h3{color:var(--lv-navy)}@media(max-width:850px){.lv-events-grid{grid-template-columns:1fr 1fr}}@media(max-width:600px){.lv-events-grid,.lv-form-grid{grid-template-columns:1fr}.lv-modal-dialog{width:100%;height:auto;max-height:100dvh;margin:0;border-radius:0}.lv-detail-inner{padding:0 24px 34px}.lv-detail-inner h2{font-size:34px}.lv-detail-image{height:clamp(220px,34vh,320px);max-height:320px}}
.lv-event-card{position:relative}.lv-event-ribbon,.lv-detail-ribbon{background:linear-gradient(90deg,var(--lv-gold),#ddb95d);color:#102f4c;text-align:center;padding:10px 18px;font-size:12px;font-weight:900;letter-spacing:.1em;text-transform:uppercase}.lv-detail-ribbon{position:sticky;top:0;z-index:2}.lv-detail-copy p:first-child{margin-top:0}

/* v1.4 per-event layouts */
.lv-event-card.lv-layout-split{display:grid;grid-template-columns:42% 1fr;grid-template-rows:auto 1fr}
.lv-event-card.lv-layout-split .lv-event-ribbon{grid-column:1/-1}.lv-event-card.lv-layout-split>img{width:100%;height:100%;min-height:280px}.lv-event-card.lv-layout-split .lv-card-body{align-self:center}
.lv-event-card.lv-layout-minimal{border-top:5px solid var(--lv-gold)}.lv-event-card.lv-layout-minimal>img{display:none}.lv-event-card.lv-layout-minimal .lv-card-body{padding:30px}
.lv-event-detail.lv-layout-split{display:grid;grid-template-columns:42% 1fr;grid-template-rows:auto 1fr}.lv-event-detail.lv-layout-split .lv-detail-ribbon{grid-column:1/-1}.lv-event-detail.lv-layout-split .lv-detail-image{width:100%;height:100%;max-height:460px;object-fit:cover}.lv-event-detail.lv-layout-split .lv-detail-inner{align-self:start;padding:42px}
.lv-event-detail.lv-layout-minimal .lv-detail-image{display:none}.lv-event-detail.lv-layout-minimal .lv-detail-inner{border-top:6px solid var(--lv-gold);padding:44px 50px}.lv-event-detail.lv-layout-minimal .lv-detail-meta{background:#f7f9fb}
@media(max-width:760px){.lv-event-card.lv-layout-split,.lv-event-detail.lv-layout-split{display:block}.lv-event-card.lv-layout-split>img{height:220px;min-height:0}.lv-event-detail.lv-layout-split .lv-detail-image{height:clamp(220px,34vh,320px)}.lv-event-detail.lv-layout-minimal .lv-detail-inner{padding:28px 24px}}


/* v1.5.0 — refined Liberty Village announcement styling */
.lv-events-grid,
.lv-event-card,
.lv-modal,
.lv-modal-dialog,
.lv-event-detail,
.lv-detail-inner,
.lv-registration,
.lv-registration-form,
.lv-registration-form input,
.lv-registration-form textarea,
.lv-open-event,.lv-submit,.lv-link-button,.lv-terms-open {
  font-family: inherit;
}
.lv-modal-dialog{
  background:#fffdf8;
  border:1px solid rgba(199,151,44,.55);
  border-radius:18px;
  box-shadow:0 30px 90px rgba(3,20,36,.38),0 0 0 6px rgba(255,255,255,.06);
}
.lv-modal-close{
  position:absolute;
  z-index:8;
  top:14px;
  right:14px;
  margin:0;
  width:42px;
  height:42px;
  padding:0;
  display:grid;
  place-items:center;
  line-height:1;
  background:var(--lv-gold);
  color:#fff;
  border:1px solid rgba(11,46,79,.15);
  box-shadow:0 5px 14px rgba(11,46,79,.18), inset 0 0 0 1px rgba(255,255,255,.2);
}
.lv-modal-close svg{width:18px;height:18px;display:block;stroke:currentColor;stroke-width:2;stroke-linecap:round;fill:none}
.lv-modal-close:hover{filter:brightness(.95);transform:translateY(-1px)}
.lv-detail-inner{
  position:relative;
  padding:0 44px 46px;
  color:inherit;
}
.lv-detail-inner:before{display:none}
.lv-detail-kicker{
  color:#a87812;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.16em;
  font-size:11px;
}
.lv-detail-inner h2{
  font-family:inherit;
  font-weight:inherit;
  letter-spacing:-.018em;
  color:var(--lv-navy);
  margin:8px 0 18px;
}
.lv-detail-meta{
  position:relative;
  background:#f7f4ec;
  border:1px solid #e7ddc7;
  border-left:4px solid var(--lv-gold);
  padding:16px 18px 16px 20px;
  margin:0 0 28px;
}
.lv-detail-meta:after{
  content:"";
  position:absolute;
  right:12px;
  top:12px;
  width:7px;
  height:7px;
  transform:rotate(45deg);
  border:1px solid rgba(199,151,44,.55);
}
.lv-detail-copy{line-height:1.75;color:inherit}
.lv-detail-copy p{margin:0 0 1em}
.lv-registration{
  position:relative;
  margin-top:38px;
  padding-top:30px;
  border-top:1px solid #ded4be;
}
.lv-registration:before{
  content:"";
  position:absolute;
  top:-4px;
  left:0;
  width:42px;
  height:7px;
  background:var(--lv-gold);
}
.lv-registration h3{font-family:inherit;color:var(--lv-navy);margin-top:0}
.lv-open-event,.lv-submit,.lv-link-button{
  font-family:inherit;
  border-radius:4px;
  letter-spacing:.02em;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.18),0 5px 12px rgba(11,46,79,.10);
}
.lv-event-card{
  font-family:inherit;
  border-radius:12px;
  border-color:#ddd5c6;
  box-shadow:0 12px 28px rgba(11,46,79,.075);
}
.lv-event-card .lv-card-body h3{font-family:inherit}
.lv-event-card.lv-layout-minimal{background:#fffdf8;border-top-width:4px}
@media(max-width:600px){
  .lv-modal-dialog{border:0;border-radius:0}
  .lv-detail-inner{padding:0 24px 34px}
  .lv-modal-close{top:10px;right:10px;margin:0;width:40px;height:40px}
}

/* v1.6.0 — official registration treatment + modal section navigation */
.lv-open-event,.lv-submit,.lv-link-button,
.lv-open-event:visited,.lv-submit:visited,.lv-link-button:visited,
.lv-open-event:hover,.lv-submit:hover,.lv-link-button:hover,
.lv-open-event:focus,.lv-submit:focus,.lv-link-button:focus{
  color:#fff!important;
  background:var(--lv-gold)!important;
  text-decoration:none!important;
}
.lv-open-event:hover,.lv-submit:hover,.lv-link-button:hover{filter:brightness(.94)}

.lv-detail-nav{
  position:sticky;
  top:0;
  z-index:4;
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin:-42px -44px 28px;
  padding:14px 64px 14px 44px;
  background:rgba(255,253,248,.96);
  border-bottom:1px solid #e5dcc8;
  box-shadow:0 8px 20px rgba(11,46,79,.05);
  backdrop-filter:blur(8px);
}
.lv-detail-nav-pill{
  appearance:none;
  border:1px solid #cfd7df;
  border-radius:999px;
  background:#fff;
  color:var(--lv-navy);
  padding:8px 14px;
  font:inherit;
  font-size:12px;
  line-height:1;
  font-weight:750;
  cursor:pointer;
  transition:border-color .18s ease,background .18s ease,color .18s ease,transform .18s ease;
}
.lv-detail-nav-pill:hover{border-color:var(--lv-gold);transform:translateY(-1px)}
.lv-detail-nav-pill.is-active{background:var(--lv-navy);border-color:var(--lv-navy);color:#fff}
.lv-detail-section{scroll-margin-top:86px}
.lv-detail-date{margin:0 0 22px;color:#27384b}
.lv-detail-date strong{font-size:14px;letter-spacing:.02em}
.lv-location-section{margin-top:34px;padding-top:28px;border-top:1px solid #ded4be}
.lv-section-eyebrow{display:block;margin-bottom:10px;color:#a87812;font-size:11px;font-weight:850;letter-spacing:.14em;text-transform:uppercase}
.lv-location-section .lv-detail-meta{margin-bottom:14px}

.lv-registration-form{margin-top:18px}
.lv-registration-form label:not(.lv-consent){
  color:#23364a;
  font-size:12px;
  font-weight:750;
  letter-spacing:.015em;
}
.lv-registration-form input:not([type="checkbox"]),
.lv-registration-form textarea,
.lv-registration-form select{
  min-height:46px;
  padding:11px 13px;
  background:#fbf7e9;
  color:#172a3d;
  border:1px solid #c9b77e;
  border-radius:5px;
  box-shadow:inset 0 1px 2px rgba(11,46,79,.04),0 1px 0 rgba(255,255,255,.8);
  font:inherit;
  outline:none;
  transition:border-color .18s ease,box-shadow .18s ease,background .18s ease;
}
.lv-registration-form input:not([type="checkbox"]):focus,
.lv-registration-form textarea:focus,
.lv-registration-form select:focus{
  background:#fffdf5;
  border-color:var(--lv-gold);
  box-shadow:0 0 0 3px rgba(199,151,44,.14);
}
.lv-registration-form textarea{min-height:110px;resize:vertical}
.lv-registration-form .lv-consent{padding:10px 0;color:#334255}
.lv-registration-form .lv-consent input[type="checkbox"]{accent-color:var(--lv-gold)}
.lv-submit{margin-top:8px;min-height:44px;padding:12px 20px}

@media(max-width:600px){
  .lv-detail-nav{margin:-30px -24px 24px;padding:12px 54px 12px 24px;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}
  .lv-detail-nav::-webkit-scrollbar{display:none}
  .lv-detail-nav-pill{white-space:nowrap;flex:0 0 auto}
  .lv-detail-section{scroll-margin-top:76px}
}


/* v1.7.0 — flyer-style modal tabs and cleaner organization */
.lv-detail-nav{
  position:sticky;
  top:0;
  z-index:4;
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin:0 0 26px;
  padding:0 0 16px;
  background:transparent;
  border-bottom:1px solid #e5dcc8;
  box-shadow:none;
  backdrop-filter:none;
}
.lv-detail-panels{display:block}
.lv-detail-section{display:none;scroll-margin-top:0}
.lv-detail-section.is-active{display:block}
.lv-detail-lead{
  margin:8px 0 22px;
  font-size:18px;
  line-height:1.6;
  color:#334255;
  max-width:780px;
}
.lv-fact-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
  margin:0 0 24px;
}
.lv-fact-card,
.lv-flyer-header-card,
.lv-copy-card,
.lv-sponsor-card,
.lv-location-card{
  background:#fffdfa;
  border:1px solid #e2d8c2;
  border-radius:12px;
  box-shadow:0 10px 22px rgba(11,46,79,.05);
}
.lv-fact-card{
  padding:16px 18px;
}
.lv-fact-label{
  display:block;
  margin-bottom:6px;
  color:#a87812;
  font-size:11px;
  font-weight:850;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.lv-fact-card strong{display:block;color:var(--lv-navy);font-size:16px;line-height:1.45}
.lv-flyer-header-card{
  padding:18px 20px;
  margin:0 0 18px;
}
.lv-flyer-header-card h3{margin:0 0 6px;color:var(--lv-navy)}
.lv-flyer-header-card p{margin:0;color:#4d5d6e}
.lv-copy-card{
  padding:24px 24px 20px;
  line-height:1.78;
}
.lv-copy-card p:last-child{margin-bottom:0}
.lv-location-card{margin-bottom:18px}
.lv-location-card strong,
.lv-location-card span{display:block}
.lv-sponsor-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;
}
.lv-sponsor-card{padding:20px}
.lv-sponsor-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  margin-bottom:10px;
}
.lv-sponsor-head h4{margin:0;color:var(--lv-navy);font-size:21px}
.lv-sponsor-price{
  white-space:nowrap;
  color:#fff;
  background:var(--lv-navy);
  border-radius:999px;
  padding:8px 12px;
  font-size:13px;
  font-weight:800;
}
.lv-sponsor-subtitle{margin:0 0 14px;color:#516173;font-weight:600}
.lv-sponsor-benefits{margin:0;padding-left:18px;line-height:1.65}
.lv-sponsor-benefits li+li{margin-top:6px}
.lv-registration{
  margin-top:0;
  padding-top:0;
  border-top:0;
}
.lv-registration:before{display:none}
@media(max-width:900px){
  .lv-fact-grid,.lv-sponsor-grid{grid-template-columns:1fr}
}
@media(max-width:600px){
  .lv-detail-nav{padding:0 0 12px;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}
  .lv-detail-nav::-webkit-scrollbar{display:none}
  .lv-detail-nav-pill{white-space:nowrap;flex:0 0 auto}
  .lv-detail-lead{font-size:16px}
  .lv-fact-grid{grid-template-columns:1fr;gap:12px}
  .lv-flyer-header-card,.lv-copy-card,.lv-sponsor-card{padding:18px}
}


/* v1.7.1 — full-scroll modal sections + premium location styling */
.lv-detail-section{display:block !important;scroll-margin-top:92px}
.lv-detail-section.is-active{display:block !important}
.lv-fact-card{
  background:var(--lv-navy);
  border:0;
  box-shadow:0 12px 26px rgba(11,46,79,.18);
}
.lv-fact-label{color:#d7b158}
.lv-fact-card strong{color:#fff}
.lv-location-section{margin-top:34px;padding-top:28px;border-top:1px solid #ded4be}
.lv-location-feature{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  margin-bottom:18px;
  padding:22px 24px;
  background:#f2ede2;
  border:0;
  border-left:5px solid var(--lv-gold);
  border-radius:0;
  box-shadow:none;
}
.lv-location-copy h3{margin:0 0 8px;color:var(--lv-navy);font-size:20px}
.lv-location-copy p{margin:0;color:#425466;font-size:18px;line-height:1.55}
.lv-location-icon{flex:0 0 auto;color:var(--lv-gold);opacity:.95}
.lv-location-icon svg{display:block;width:90px;height:90px;stroke:currentColor;stroke-width:2.2;fill:none;stroke-linecap:round;stroke-linejoin:round}
.lv-location-actions{margin:0}
@media(max-width:760px){
  .lv-location-feature{padding:18px;gap:16px}
  .lv-location-copy p{font-size:16px}
  .lv-location-icon svg{width:64px;height:64px}
}


/* v1.7.2 — premium sticky nav and sponsorship cards */
.lv-detail-nav{
  top:0;
  gap:12px;
  margin:0 -44px 34px;
  padding:18px 64px 18px 44px;
  background:rgba(194,149,36,.18);
  border-bottom:1px solid rgba(194,149,36,.28);
  box-shadow:0 10px 24px rgba(11,46,79,.08);
  backdrop-filter:blur(10px);
}
.lv-detail-nav-pill{
  box-shadow:0 8px 18px rgba(11,46,79,.14);
}
.lv-detail-section{scroll-margin-top:118px}
@media(max-width:600px){
  .lv-detail-nav{margin:-26px -24px 26px;padding:16px 56px 16px 24px;background:rgba(194,149,36,.22)}
}
.lv-sponsorships-panel .lv-flyer-header-card{
  text-align:center;
  background:transparent;
  border:0;
  box-shadow:none;
  padding:0 0 18px;
  margin:0 0 6px;
}
.lv-sponsorships-panel .lv-flyer-header-card h3{
  font-size:clamp(32px,4vw,44px);
  line-height:1.1;
  margin-bottom:10px;
}
.lv-sponsorships-panel .lv-flyer-header-card p{
  max-width:760px;
  margin:0 auto;
  color:#5d6b79;
  font-size:18px;
}
.lv-sponsor-grid{
  align-items:stretch;
  gap:18px;
  margin-top:18px;
}
.lv-sponsor-card{
  position:relative;
  padding:58px 28px 26px;
  background:#fffefa;
  border:1px solid #e9e3d2;
  border-radius:22px;
  box-shadow:0 14px 30px rgba(11,46,79,.06);
  overflow:hidden;
}
.lv-sponsor-card.is-featured{
  border-color:#c8a13c;
  box-shadow:0 16px 34px rgba(11,46,79,.1);
}
.lv-sponsor-card::before{
  content:'';
  position:absolute;
  top:0;left:0;right:0;
  height:5px;
  background:linear-gradient(90deg,#c79c2d,#e2c36f);
}
.lv-sponsor-icon{
  width:82px;height:82px;
  margin:0 auto 18px;
  border-radius:999px;
  background:#f3f5f3;
  color:#c79c2d;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:34px;
  line-height:1;
}
.lv-sponsor-card h4{
  margin:0 0 10px;
  text-align:center;
  color:var(--lv-navy);
  font-size:24px;
  line-height:1.2;
}
.lv-sponsor-subtitle{
  text-align:center;
  margin:0 0 20px;
  color:#43606d;
  font-size:16px;
}
.lv-sponsor-price{
  position:absolute;
  top:0;
  left:50%;
  transform:translate(-50%,-2px);
  padding:10px 18px 11px;
  min-width:112px;
  text-align:center;
  background:var(--lv-navy);
  color:#fff;
  border-bottom-left-radius:16px;
  border-bottom-right-radius:16px;
  border-top-left-radius:0;
  border-top-right-radius:0;
  font-size:15px;
  font-weight:800;
  letter-spacing:.01em;
}
.lv-sponsor-benefits{
  list-style:none;
  margin:0;
  padding:0;
}
.lv-sponsor-benefits li{
  display:flex;
  gap:12px;
  align-items:flex-start;
  padding:12px 0;
  border-top:1px solid #ece5d8;
  line-height:1.55;
}
.lv-sponsor-benefits li:first-child{border-top:0}
.lv-check{
  flex:0 0 auto;
  width:18px;height:18px;
  border:1.5px solid #75a3a0;
  color:#4d8e8c;
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-size:12px;
  font-weight:800;
  margin-top:2px;
}
.lv-location-icon svg{width:108px;height:108px;stroke-width:4.5}
@media(max-width:900px){
  .lv-sponsor-card{padding:54px 22px 22px}
}


/* v1.7.3 — clearer section separation */
.lv-detail-panels > .lv-detail-section + .lv-detail-section{
  margin-top:42px;
  padding-top:26px;
  border-top:1px solid #ddd3bd;
}
.lv-detail-panels > .lv-detail-section + .lv-detail-section .lv-section-eyebrow{
  margin-bottom:14px;
}
.lv-location-actions{
  margin-top:18px;
}
@media(max-width:600px){
  .lv-detail-panels > .lv-detail-section + .lv-detail-section{
    margin-top:34px;
    padding-top:22px;
  }
}


/* v1.7.4 — nav hover, diamond icon, and official sign-up header */
.lv-detail-nav-pill:hover,
.lv-detail-nav-pill:focus-visible{
  background:#B78C2E;
  border-color:#B78C2E;
  color:#fff;
  transform:translateY(-1px);
  outline:none;
}
.lv-detail-nav-pill.is-active,
.lv-detail-nav-pill.is-active:hover,
.lv-detail-nav-pill.is-active:focus-visible{
  background:var(--lv-navy);
  border-color:var(--lv-navy);
  color:#fff;
}

.lv-sponsor-icon svg{
  width:42px;
  height:42px;
  display:block;
  stroke:currentColor;
  stroke-width:2.4;
  fill:none;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.lv-registration .lv-flyer-header-card{
  position:relative;
  padding:26px 28px 22px;
  margin:0 0 20px;
  background:linear-gradient(180deg,#fdfbf7 0%, #fbf7ef 100%);
  border:1px solid #e2d7bf;
  border-radius:16px;
  box-shadow:0 10px 24px rgba(11,46,79,.06);
  overflow:hidden;
}
.lv-registration .lv-flyer-header-card::before{
  content:'';
  position:absolute;
  left:0;
  right:0;
  top:0;
  height:4px;
  background:linear-gradient(90deg, rgba(183,140,46,0) 0%, #B78C2E 18%, #d6b160 50%, #B78C2E 82%, rgba(183,140,46,0) 100%);
}
.lv-registration .lv-flyer-header-card::after{
  content:'◆';
  position:absolute;
  top:14px;
  right:20px;
  color:#d3b36a;
  font-size:12px;
  letter-spacing:.2em;
}
.lv-registration .lv-flyer-header-card h3{
  margin:0 0 8px;
  color:var(--lv-navy);
  font-size:clamp(28px,4vw,38px);
  line-height:1.12;
}
.lv-registration .lv-flyer-header-card p{
  margin:0;
  color:#516273;
  font-size:18px;
}
@media(max-width:600px){
  .lv-registration .lv-flyer-header-card{
    padding:22px 20px 18px;
  }
  .lv-registration .lv-flyer-header-card h3{font-size:32px}
  .lv-registration .lv-flyer-header-card p{font-size:16px}
}


/* v1.7.5 — navy ribbon-style registration header */
.lv-registration .lv-flyer-header-card{
  background:linear-gradient(135deg, #0b2e4f 0%, #143d63 100%);
  border:0;
  border-radius:18px;
  box-shadow:0 16px 34px rgba(11,46,79,.18);
  padding:28px 30px 24px;
}
.lv-registration .lv-flyer-header-card::before{
  left:22px;
  right:22px;
  top:0;
  height:4px;
  background:linear-gradient(90deg, rgba(215,177,88,0) 0%, #d7b158 18%, #f0d999 50%, #d7b158 82%, rgba(215,177,88,0) 100%);
}
.lv-registration .lv-flyer-header-card::after{
  color:#d7b158;
  top:16px;
  right:22px;
}
.lv-registration .lv-flyer-header-card h3{
  color:#ffffff;
}
.lv-registration .lv-flyer-header-card p{
  color:rgba(255,255,255,.88);
}
@media(max-width:600px){
  .lv-registration .lv-flyer-header-card{padding:24px 22px 20px}
}


/* v1.7.6 — full-width ribbon-style registration header */
.lv-registration .lv-flyer-header-card{
  position:relative;
  margin:0 -22px 22px;
  padding:34px 52px 34px;
  background:var(--lv-navy);
  border:0;
  border-radius:0;
  box-shadow:none;
  overflow:visible;
}
.lv-registration .lv-flyer-header-card::before{
  content:'';
  position:absolute;
  inset:0;
  top:0;
  height:100%;
  background:var(--lv-navy);
  z-index:0;
}
.lv-registration .lv-flyer-header-card::after{
  content:'';
  position:absolute;
  left:48px;
  right:48px;
  top:0;
  height:3px;
  background:linear-gradient(90deg,
    rgba(215,177,88,0) 0%,
    rgba(215,177,88,.85) 16%,
    #f0d999 50%,
    rgba(215,177,88,.85) 84%,
    rgba(215,177,88,0) 100%);
  z-index:1;
}
.lv-registration .lv-flyer-header-card h3,
.lv-registration .lv-flyer-header-card p{
  position:relative;
  z-index:2;
}
.lv-registration .lv-flyer-header-card h3{
  color:#fff;
  margin:0 0 8px;
}
.lv-registration .lv-flyer-header-card p{
  color:rgba(255,255,255,.88);
  margin:0;
}
@media(max-width:600px){
  .lv-registration .lv-flyer-header-card{
    margin:0 -14px 18px;
    padding:24px 28px 20px;
  }
  .lv-registration .lv-flyer-header-card::after{
    left:26px;
    right:26px;
  }
}




/* v1.8.5 — Add to Calendar on Date card */
.lv-date-fact-card{
  position:relative;
  padding-right:70px;
}
.lv-calendar-menu{
  position:absolute;
  right:14px;
  bottom:12px;
  z-index:3;
}
.lv-calendar-menu summary{
  list-style:none;
  width:42px;
  height:42px;
  display:grid;
  place-items:center;
  border:1px solid rgba(215,177,88,.65);
  border-radius:50%;
  color:#d7b158;
  background:rgba(255,255,255,.08);
  cursor:pointer;
  transition:background .18s ease,transform .18s ease,border-color .18s ease;
}
.lv-calendar-menu summary::-webkit-details-marker{display:none}
.lv-calendar-menu summary:hover,
.lv-calendar-menu[open] summary{
  background:#B78C2E;
  color:#fff;
  border-color:#B78C2E;
  transform:translateY(-1px);
}
.lv-calendar-menu summary svg{
  width:21px;
  height:21px;
  fill:none;
  stroke:currentColor;
  stroke-width:2;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.lv-calendar-menu summary span{
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;
  border:0;
}
.lv-calendar-options{
  position:absolute;
  right:0;
  top:calc(100% + 9px);
  min-width:205px;
  padding:8px;
  border:1px solid #e3d7bd;
  border-radius:12px;
  background:#fffefa;
  box-shadow:0 14px 30px rgba(11,46,79,.18);
}
.lv-calendar-options a{
  display:block;
  padding:10px 12px;
  border-radius:8px;
  color:var(--lv-navy);
  text-decoration:none;
  font-weight:750;
  font-size:13px;
}
.lv-calendar-options a:hover{
  background:#f3ead6;
  color:var(--lv-navy);
}
@media(max-width:600px){
  .lv-date-fact-card{padding-right:64px}
  .lv-calendar-menu{right:12px;bottom:12px}
}


/* v1.9.0 — external CRM registration link */
.lv-registration-link-button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:48px;
  padding:14px 22px;
  border:0;
  border-radius:0;
  background:var(--lv-gold);
  color:#fff!important;
  font-weight:800;
  text-decoration:none!important;
  box-shadow:0 10px 22px rgba(11,46,79,.14);
}
.lv-registration-link-button:hover,
.lv-registration-link-button:focus{
  background:#B78C2E;
  color:#fff!important;
  text-decoration:none!important;
}
.lv-registration-closed{
  padding:18px 20px;
  background:#f3ead6;
  border-left:5px solid var(--lv-gold);
  color:var(--lv-navy);
  font-weight:750;
  line-height:1.55;
}


/* v1.9.2 — center CRM registration CTA inside the navy ribbon */
.lv-registration .lv-flyer-header-card{
  text-align:left;
}
.lv-registration-cta-wrap{
  margin-top:22px;
  display:flex;
  justify-content:center;
}
.lv-registration .lv-registration-link-button{
  min-width:min(100%, 320px);
  padding:15px 28px;
  background:var(--lv-gold);
  color:#fff!important;
  box-shadow:0 12px 24px rgba(0,0,0,.18);
}
.lv-registration .lv-registration-link-button:hover,
.lv-registration .lv-registration-link-button:focus{
  background:#B78C2E;
  color:#fff!important;
}
@media(max-width:600px){
  .lv-registration-cta-wrap{
    margin-top:18px;
  }
  .lv-registration .lv-registration-link-button{
    width:100%;
    max-width:320px;
  }
}


/* v1.9.4 — solid registration CTA ribbon */
.lv-registration .lv-flyer-header-card{
  background:var(--lv-navy);
  padding:34px 52px 34px;
}
.lv-registration .lv-flyer-header-card::before{
  background:var(--lv-navy);
}
.lv-registration-cta-wrap{
  position:relative;
  z-index:2;
  margin-top:24px;
  display:flex;
  justify-content:center;
}
.lv-registration .lv-registration-link-button{
  position:relative;
  z-index:3;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:min(100%, 340px);
  min-height:50px;
  padding:15px 30px;
  background:var(--lv-gold);
  color:#fff!important;
  font-weight:800;
  text-align:center;
  text-decoration:none!important;
  box-shadow:0 14px 28px rgba(0,0,0,.22);
}
.lv-registration .lv-registration-link-button:hover,
.lv-registration .lv-registration-link-button:focus{
  background:#B78C2E;
  color:#fff!important;
}
@media(max-width:600px){
  .lv-registration .lv-flyer-header-card{
    padding:28px 26px;
  }
  .lv-registration .lv-registration-link-button{
    width:100%;
    max-width:340px;
  }
}

/* v1.9.6 — public Coming Soon state */
.lv-coming-soon-shell{
  width:100%;
}
.lv-coming-soon{
  position:relative;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  min-height:330px;
  max-width:820px;
  margin:8px auto 0;
  padding:64px 34px 58px;
  box-sizing:border-box;
  text-align:center;
  background:
    radial-gradient(circle at 50% 0%, rgba(199,151,44,.08), transparent 42%),
    #fff;
  border-top:1px solid #e8dfcb;
  border-bottom:1px solid #e8dfcb;
}
.lv-coming-soon-kicker{
  color:var(--lv-gold);
  font-size:11px;
  font-weight:800;
  letter-spacing:.18em;
}
.lv-coming-soon-icon{
  display:grid;
  place-items:center;
  width:54px;
  height:54px;
  margin:20px 0 17px;
  border-radius:50%;
  background:#f7f1e3;
  color:var(--lv-gold);
}
.lv-coming-soon-icon svg{
  width:26px;
  height:26px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.lv-coming-soon h2{
  margin:0;
  color:var(--lv-navy);
  font-size:clamp(38px,5vw,54px);
  line-height:1.04;
  letter-spacing:-.025em;
}
.lv-coming-soon p{
  max-width:560px;
  margin:14px auto 0;
  color:var(--lv-slate);
  font-size:16px;
  line-height:1.65;
}
.lv-coming-soon-rule{
  display:block;
  width:78px;
  height:2px;
  margin-top:26px;
  background:var(--lv-gold);
}
@media(max-width:600px){
  .lv-coming-soon{
    min-height:280px;
    padding:48px 24px 44px;
  }
  .lv-coming-soon p{
    font-size:15px;
  }
}



/* v2.0.0 — sponsorship selection buttons and individual seat purchase */
.lv-sponsor-card{display:flex;flex-direction:column}
.lv-sponsor-benefits{flex:1}
.lv-sponsor-cta,
.lv-individual-seat-cta a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:46px;
  padding:12px 18px;
  margin-top:20px;
  background:var(--lv-gold);
  color:#fff!important;
  text-decoration:none!important;
  text-align:center;
  font-weight:800;
  box-shadow:0 9px 20px rgba(11,46,79,.13);
}
.lv-sponsor-cta:hover,.lv-sponsor-cta:focus,
.lv-individual-seat-cta a:hover,.lv-individual-seat-cta a:focus{background:#B78C2E;color:#fff!important}
.lv-individual-seat-cta{
  margin-top:34px;
  padding-top:30px;
  text-align:center;
  border-top:1px solid #dfd3ba;
}
.lv-individual-seat-rule{display:block;width:84px;height:3px;margin:0 auto 20px;background:var(--lv-gold)}
.lv-individual-seat-cta h4{margin:0;color:var(--lv-navy);font-size:28px}
.lv-individual-seat-cta p{max-width:620px;margin:10px auto 0;color:#5c6c7a;line-height:1.6}
.lv-individual-seat-cta a{margin-top:18px;min-width:260px}
.lv-sponsorship-closed{margin-top:28px;padding:18px 20px;background:#f3ead6;border-left:5px solid var(--lv-gold);color:var(--lv-navy);font-weight:750}
@media(max-width:600px){.lv-sponsor-cta,.lv-individual-seat-cta a{width:100%;box-sizing:border-box}.lv-individual-seat-cta h4{font-size:24px}}


/* v2.1.0 — sponsorship sold-out states */
.lv-sponsor-card{position:relative}
.lv-sponsor-card.is-sold-out{background:#f8f6f0}
.lv-sponsor-card.is-sold-out .lv-sponsor-icon,
.lv-sponsor-card.is-sold-out .lv-sponsor-benefits,
.lv-sponsor-card.is-sold-out .lv-sponsor-subtitle{opacity:.62}
.lv-sold-out-ribbon{
  position:absolute;
  top:18px;
  right:-38px;
  z-index:4;
  width:145px;
  padding:7px 0;
  transform:rotate(39deg);
  background:#8d2f2f;
  color:#fff;
  text-align:center;
  font-size:11px;
  font-weight:900;
  letter-spacing:.13em;
  text-transform:uppercase;
  box-shadow:0 5px 14px rgba(48,16,16,.2);
}
button.lv-sponsor-cta.lv-sold-out-trigger{
  border:1px solid #8d2f2f;
  background:#fff;
  color:#8d2f2f!important;
  cursor:pointer;
}
button.lv-sponsor-cta.lv-sold-out-trigger:hover,
button.lv-sponsor-cta.lv-sold-out-trigger:focus{background:#8d2f2f;color:#fff!important}
.lv-soldout-dialog{display:none;position:fixed;inset:0;z-index:1000005}
.lv-soldout-dialog.is-open{display:block}
.lv-soldout-backdrop{position:absolute;inset:0;background:rgba(7,25,42,.7)}
.lv-soldout-box{
  position:relative;
  width:min(520px,calc(100vw - 36px));
  margin:18vh auto 0;
  padding:38px 38px 34px;
  box-sizing:border-box;
  background:#fffefa;
  border-top:5px solid var(--lv-gold);
  box-shadow:0 26px 70px rgba(0,0,0,.3);
  text-align:center;
}
.lv-soldout-box h3{margin:8px 0 12px;color:var(--lv-navy);font-size:32px}
.lv-soldout-message{margin:0;color:#4d5f70;font-size:16px;line-height:1.65}
.lv-soldout-close{position:absolute;top:12px;right:14px;width:36px;height:36px;border:0;border-radius:50%;background:var(--lv-navy);color:#fff;font-size:22px;cursor:pointer}
.lv-soldout-return{margin-top:22px;padding:12px 19px;border:0;background:var(--lv-gold);color:#fff;font-weight:800;cursor:pointer}
.lv-soldout-return:hover,.lv-soldout-return:focus{background:#B78C2E}
@media(max-width:600px){.lv-soldout-box{margin:12vh auto 0;padding:34px 24px 28px}.lv-soldout-box h3{font-size:28px}}


/* v2.1.2 — individual-seat sold-out state */
.lv-individual-seat-cta{
  position:relative;
  overflow:hidden;
}
.lv-individual-seat-cta.is-sold-out{
  background:#f8f6f0;
}
.lv-individual-seat-cta.is-sold-out h4,
.lv-individual-seat-cta.is-sold-out p{
  opacity:.72;
}
.lv-individual-seat-cta button.lv-sold-out-trigger{
  margin-top:18px;
  min-width:260px;
}
@media(max-width:600px){
  .lv-individual-seat-cta button.lv-sold-out-trigger{
    width:100%;
    box-sizing:border-box;
  }
}


/* v2.1.3 — sold-out modal close control and fully-booked contact CTA */
.lv-soldout-close{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:36px;
  height:36px;
  padding:0;
  line-height:1;
  border-radius:50%;
}
.lv-soldout-close span{
  display:block;
  line-height:1;
  transform:translateY(-1px);
}
