/* Unified site navigation used on every public page. */
.sr-only,
.brand .sr-only{
  position:absolute !important;
  width:1px !important;
  height:1px !important;
  padding:0;
  margin:-1px;
  overflow:hidden !important;
  clip:rect(0,0,0,0) !important;
  white-space:nowrap !important;
  border:0;
}

/* Compact, label-bound Help Now treatment. */
.site-header .main-nav>.nav-help-now{position:relative;padding-bottom:8px!important}
.site-header .main-nav>.nav-help-now::after{content:""!important;position:absolute;right:12%;bottom:3px;left:12%;height:2px;background:linear-gradient(90deg,#ff4db8,#ffb05d)!important;transform:none!important}
@media(max-width:699px){.site-header .main-nav .nav-dropdown--food>.nav-dropdown__menu{padding-block:4px}.site-header .main-nav .nav-dropdown--food>.nav-dropdown__menu>a{min-height:44px;padding:10px 12px;display:flex;align-items:center;justify-content:center}.site-header .main-nav .nav-dropdown--food>.nav-dropdown__menu>a+a{border-top:1px solid rgba(255,92,188,.38)}}
.site-header{
  position:relative;
  z-index:2000;
  top:auto;
  overflow:visible;
  border-bottom:1px solid rgba(76,167,213,.16);
  background:rgba(2,9,20,.97);
  color:#f4f7fb;
  font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  font-size:16px;
  line-height:1.2;
  backdrop-filter:blur(18px);
}
.site-header *{box-sizing:border-box}
.site-header__inner{
  display:grid;
  grid-template-columns:110px minmax(0,1fr) 110px;
  align-items:center;
  width:100%;
  min-height:76px;
  margin:0 auto;
  padding:0 40px;
  gap:0;
}
.brand--neon{
  grid-column:1;
  justify-self:start;
  display:inline-flex;
  align-items:baseline;
  width:auto;
  min-width:74px;
  color:inherit;
  font-family:Georgia,"Times New Roman",serif;
  font-size:22px;
  font-weight:900;
  letter-spacing:-.09em;
  line-height:1;
  text-decoration:none;
  transform:skew(-3deg);
  filter:drop-shadow(0 3px 8px rgba(0,0,0,.7));
}
.brand--neon span{margin:0;color:inherit;font-size:inherit;letter-spacing:inherit;text-align:left}
.brand--neon .brand__fff{color:#ff39b9;-webkit-text-stroke:.55px #fff1fb;text-shadow:0 0 3px #ff39b9,0 0 10px #ff149e,0 0 22px rgba(255,20,158,.8)}
.brand--neon .brand__ny{margin-left:.16em;color:#56eaff;-webkit-text-stroke:.55px #eefeff;text-shadow:0 0 3px #56eaff,0 0 10px #00d9ff,0 0 22px rgba(0,217,255,.78)}
.menu-button{
  display:none;
  min-height:42px;
  padding:0 14px;
  border:1px solid rgba(81,184,255,.47);
  border-radius:9px;
  background:rgba(4,18,32,.86);
  color:#f4f8fc;
  font:inherit;
  font-weight:750;
}
.main-nav{
  grid-column:2;
  justify-self:center;
  align-self:stretch;
  display:flex;
  align-items:center;
  justify-content:center;
  width:max-content;
  max-width:100%;
  min-width:0;
  gap:clamp(12px,1.6vw,30px);
}
.main-nav>a,.nav-dropdown>summary{
  position:relative;
  display:flex;
  min-height:76px;
  padding:10px 0 9px;
  align-items:center;
  justify-content:center;
  color:#f4f7fb;
  font-size:clamp(14px,.93vw,16.3px);
  font-weight:750;
  line-height:1.05;
  text-align:center;
  text-decoration:none;
  white-space:nowrap;
}
.main-nav>a::after,.nav-dropdown>summary::after{
  content:"";
  position:absolute;
  right:0;
  bottom:8px;
  left:0;
  height:2px;
  background:linear-gradient(90deg,#20d9ea,#ff4db8);
  transform:scaleX(0);
  transition:transform .18s ease;
}
.main-nav>a:hover::after,.main-nav>a:focus-visible::after,.nav-dropdown>summary:hover::after,.nav-dropdown>summary:focus-visible::after,.nav-dropdown[open]>summary::after{transform:scaleX(1)}
.nav-label,.nav-dropdown>summary .nav-label{display:flex;min-width:0;flex-direction:row;align-items:center;gap:.28em;white-space:nowrap}
.nav-label>span{display:block;white-space:nowrap}
.nav-dropdown{position:relative}
.nav-dropdown>summary{gap:6px;cursor:pointer;list-style:none}
.nav-dropdown>summary::-webkit-details-marker{display:none}
.nav-dropdown__chevron{color:#ff5fc4;font-size:14px;transition:transform .18s ease}
.nav-dropdown[open] .nav-dropdown__chevron{transform:rotate(180deg)}
.nav-dropdown__menu{
  position:absolute;
  z-index:2100;
  top:calc(100% - 7px);
  left:50%;
  width:min(470px,calc(100vw - 32px));
  padding:9px;
  border:1px solid rgba(255,65,186,.55);
  border-radius:14px;
  background:rgba(2,9,20,.97);
  box-shadow:0 18px 45px rgba(0,0,0,.48),0 0 24px rgba(255,31,164,.15);
  transform:translateX(-50%);
  backdrop-filter:blur(16px);
  text-align:center;
}
.main-nav .nav-dropdown__menu a{
  position:relative;
  display:block;
  padding:11px 13px;
  border-radius:9px;
  color:#f4f7fb;
  font-size:14px;
  font-weight:700;
  line-height:1.25;
  text-decoration:none;
  white-space:normal;
  text-align:center;
}
.main-nav .nav-dropdown__menu a::after{display:none}
.main-nav .nav-dropdown__menu a:hover,.main-nav .nav-dropdown__menu a:focus-visible{background:linear-gradient(90deg,rgba(255,40,170,.18),rgba(41,221,246,.12));color:#fff}
.nav-dropdown--info .nav-dropdown__menu{width:min(250px,calc(100vw - 32px))}
.nav-dropdown--info .nav-dropdown__menu a{font-weight:800}
/* Force the opportunities callout to the same wrapped size on the homepage and every other page. */
.main-nav .nav-dropdown__menu.nav-dropdown__menu--single{
  width:min(410px,calc(100vw - 32px))!important;
  max-width:min(410px,calc(100vw - 32px))!important;
  padding:8px;
}
.main-nav .nav-dropdown__menu--single .nav-dropdown__single{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  width:100%!important;
  max-width:none!important;
  gap:18px;
  padding:13px 14px;
  border:1px solid rgba(83,226,242,.2);
  border-radius:9px;
  background:rgba(32,217,234,.08);
  font-size:15px;
  line-height:1.3;
  text-align:left;
  white-space:normal!important;
}
.nav-dropdown__single>span{max-width:23ch;color:#dafaff;font-weight:760;white-space:normal}
.nav-dropdown__single strong{color:#ff5fc4;font-size:14px;white-space:nowrap}
.home-page .site-header{position:absolute;inset:0 0 auto;background:transparent;border:0;box-shadow:none;backdrop-filter:none}
.home-page .main-nav>a,.home-page .nav-dropdown>summary{color:#fff;text-shadow:0 2px 8px #000,0 0 16px rgba(0,0,0,.85)}

@media(max-width:1280px){
  .site-header__inner,.home-page .site-header__inner{position:relative;grid-template-columns:auto minmax(0,1fr) auto;min-height:68px;padding:0 22px}
  .brand--neon{grid-column:1;font-size:21px}
  .menu-button{display:block;grid-column:3;justify-self:end;cursor:pointer}
  .main-nav{
    display:none;
    position:absolute;
    z-index:2200;
    top:100%;
    left:50%;
    width:100vw;
    max-width:none;
    padding:10px max(22px,calc((100vw - 1060px)/2)) 20px;
    flex-direction:column;
    align-items:stretch;
    gap:0;
    border-bottom:1px solid rgba(120,247,239,.2);
    background:rgba(2,9,20,.985);
    box-shadow:0 18px 34px rgba(0,0,0,.42);
    transform:translateX(-50%);
    backdrop-filter:blur(18px);
  }
  .main-nav.is-open{display:flex}
  .main-nav>a,.nav-dropdown>summary{min-height:0;padding:12px 5px;font-size:16px;justify-content:flex-start;text-align:left}
  /* Make the closed drawer one scannable list, not a collection of floating
     links. The Food submenu keeps its own internal row dividers. */
  .site-header .main-nav > *{position:relative}
  .site-header .main-nav > * + *::before{
    content:"";
    position:absolute;
    top:0;
    left:12%;
    right:12%;
    height:1px;
    background:linear-gradient(90deg,transparent,rgba(255,77,184,.62) 20%,rgba(32,217,234,.62) 80%,transparent);
  }
  .nav-label,.nav-dropdown>summary .nav-label{display:inline;white-space:nowrap}
  .nav-label>span{display:inline}
  .nav-label>span+span::before{content:" "}
  .main-nav>a::after,.nav-dropdown>summary::after{bottom:5px}
  .nav-dropdown__menu,.main-nav .nav-dropdown__menu.nav-dropdown__menu--single{
    position:static;
    width:100%!important;
    max-width:100%!important;
    margin:2px 0 7px;
    padding:6px 8px;
    border-radius:10px;
    background:rgba(255,255,255,.035);
    box-shadow:none;
    transform:none;
  }
  .main-nav .nav-dropdown__menu a{padding:10px 13px 10px 22px}
  .main-nav .nav-dropdown__menu--single .nav-dropdown__single{grid-template-columns:minmax(0,1fr) auto;padding:12px 13px;font-size:15px}
  .nav-dropdown__single>span{max-width:none}
}
@media(max-width:560px){
  .site-header__inner,.home-page .site-header__inner{padding:0 12px}
  .brand--neon{font-size:19px}
  .menu-button{min-height:38px;padding:0 12px}
  .main-nav{padding-right:16px;padding-left:16px}
  .main-nav .nav-dropdown__menu--single .nav-dropdown__single{gap:10px;font-size:14px}
  .nav-dropdown__single strong{font-size:13px}
}

/* Working 44: Find Food dropdown with Free and Discounted choices. */
.nav-dropdown--food .nav-dropdown__menu{width:min(210px,calc(100vw - 32px))}
.nav-dropdown--food .nav-dropdown__menu a{font-weight:850}
.nav-dropdown--food .nav-dropdown__menu a + a{
  margin-top:6px;
  padding-top:12px;
  border-top:0;
}
.nav-dropdown--food .nav-dropdown__menu a + a::before{
  content:"";
  position:absolute;
  top:2px;
  left:25%;
  width:50%;
  height:1px;
  background:#ff4bae;
}

/* Working 48: roomier desktop navigation and solid dropdown indicators. */
@media(min-width:1281px){
  .main-nav{gap:clamp(38px,4vw,70px)}
}
.nav-dropdown>summary{gap:9px}
.nav-dropdown__chevron{
  width:0;
  height:0;
  border-right:5px solid transparent;
  border-left:5px solid transparent;
  border-top:7px solid #ff4db8;
  color:transparent;
  font-size:0;
  filter:drop-shadow(0 0 4px rgba(255,77,184,.42));
  transform-origin:50% 42%;
  transition:transform .18s ease;
}
.nav-dropdown[open] .nav-dropdown__chevron{transform:rotate(180deg)}

/* Desktop page headings shrink only when needed to stay inside their own container. */
@media(min-width:1281px){
  .fit-width-title{max-width:100%;white-space:nowrap}
  .fit-width-title .mobile-heading-break,
  .fit-width-title br.mobile-heading-break{display:none!important}
}


/* Working revision 58 — Seriously dropdown matches the other dropdown menus. */
.main-nav .nav-dropdown__menu--single .nav-dropdown__single {
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

/* Working revision 60 — centered Seriously dropdown copy with no secondary CTA. */
.main-nav .nav-dropdown__menu--single .nav-dropdown__single {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 82px;
  padding: 16px 20px !important;
  text-align: center !important;
}
.main-nav .nav-dropdown__menu--single .nav-dropdown__single > span {
  max-width: 34ch !important;
  margin-inline: auto;
  color: #f6f8ff !important;
  font-size: 1rem;
  font-weight: 800;
  line-height: 1.35;
  text-align: center !important;
}
.main-nav .nav-dropdown__menu--single .nav-dropdown__single strong { display: none !important; }

/* Working revision 62 — compact three-line cyan opportunities dropdown. */
.main-nav .nav-dropdown__menu.nav-dropdown__menu--single {
  padding: 5px !important;
}
.main-nav .nav-dropdown__menu--single .nav-dropdown__single {
  min-height: 0 !important;
  padding: 9px 12px !important;
}
.main-nav .nav-dropdown__menu--single .nav-dropdown__single > span {
  max-width: 36ch !important;
  color: #54e9f5 !important;
  font-size: 1rem !important;
  line-height: 1.28 !important;
}
/* Working revision 62 refinement — preserve the requested three desktop lines. */
@media (min-width: 1281px) {
  .main-nav .nav-dropdown__menu.nav-dropdown__menu--single {
    width: min(470px, calc(100vw - 32px)) !important;
    max-width: min(470px, calc(100vw - 32px)) !important;
    padding: 4px !important;
  }
  .main-nav .nav-dropdown__menu--single .nav-dropdown__single {
    padding: 6px 10px !important;
  }
  .main-nav .nav-dropdown__menu--single .nav-dropdown__single > span {
    max-width: none !important;
  }
}


/* Post-44 rebuild 65: content-width Seriously menu and bookmarked-tips dropdown. */
.nav-dropdown--stuff .nav-dropdown__menu {
  width: max-content;
  max-width: min(290px, calc(100vw - 32px));
}
.nav-dropdown--stuff .nav-dropdown__menu a {
  color: #dffcff;
  font-weight: 850;
  white-space: nowrap;
}
@media (min-width: 1281px) {
  .main-nav .nav-dropdown__menu.nav-dropdown__menu--single {
    width: max-content !important;
    max-width: calc(100vw - 32px) !important;
    padding: 4px !important;
  }
  .main-nav .nav-dropdown__menu--single .nav-dropdown__single {
    width: auto !important;
    padding: 7px 20px !important;
  }
  .main-nav .nav-dropdown__menu--single .nav-dropdown__single > span {
    max-width: none !important;
    white-space: nowrap !important;
  }
}
@media (max-width: 1280px) {
  .nav-dropdown--stuff .nav-dropdown__menu { width: 100%; max-width: 100%; }
  .nav-dropdown--stuff .nav-dropdown__menu a { white-space: normal; }
  .main-nav .nav-dropdown__menu--single .nav-dropdown__single > span { white-space: normal !important; }
}

/* Keep the opportunities-menu description calm and readable on every screen. */
.site-header .main-nav .nav-dropdown__menu--single .nav-dropdown__single,
.site-header .main-nav .nav-dropdown__menu--single .nav-dropdown__single > span {
  font-size: .82rem !important;
  font-weight: 650 !important;
  line-height: 1.35 !important;
  text-transform: none !important;
}

/* Compact, centered mobile navigation. */
@media (max-width: 1280px) {
  .site-header .main-nav {
    grid-column: auto;
    justify-self: auto;
    width: min(calc(100vw - 28px), 480px);
    padding: 12px 18px 20px;
    border: 1px solid rgba(93, 235, 245, .26);
    border-top: 0;
    border-radius: 0 0 18px 18px;
  }
  .site-header .main-nav > a,
  .site-header .main-nav .nav-dropdown > summary,
  .site-header .main-nav .nav-dropdown__menu a {
    justify-content: center !important;
    text-align: center !important;
  }
  .site-header .main-nav > a,
  .site-header .main-nav .nav-dropdown > summary { font-size: 15px; }
  .site-header .main-nav .nav-dropdown__menu a { padding: 9px 12px; }
  .site-header .main-nav .nav-dropdown__single,
  .site-header .main-nav .nav-dropdown__single > span {
    font-size: .82rem !important;
    font-weight: 650 !important;
    line-height: 1.35;
    text-transform: none !important;
  }
}


/* post44 working revision 78: uppercase navigation */
.site-header .main-nav,
.site-header .main-nav a,
.site-header .main-nav summary,
.site-header .menu-button {
  text-transform: uppercase;
}


/* post44 working revision 94: centered mobile navigation labels */
@media (max-width: 1280px) {
  .main-nav,
  .main-nav > a,
  .nav-dropdown > summary,
  .main-nav .nav-dropdown__menu a,
  .main-nav .nav-dropdown__single,
  .nav-dropdown__intro {
    text-align: center !important;
  }
  .main-nav > a,
  .nav-dropdown > summary,
  .main-nav .nav-dropdown__single {
    justify-content: center;
  }
}

/* Keep the mobile menu centered in the viewport instead of inheriting a
   header-relative offset.  Narrow side padding gives its labels room. */
@media (max-width: 699px) {
  .site-header .main-nav {
    left: 50%;
    right: auto;
    width: calc(100vw - 16px);
    max-width: 480px;
    padding: 10px 8px 16px;
    transform: translateX(-50%);
    box-sizing: border-box;
  }
  .site-header .main-nav > a,
  .site-header .main-nav .nav-dropdown > summary,
  .site-header .main-nav .nav-dropdown__menu a {
    justify-content: center !important;
    text-align: center !important;
  }
}

/* Landscape tablets have enough horizontal room for the full navigation.
   Keep the compact Menu button for portrait tablets and phones. */
@media (min-width: 900px) and (max-width: 1280px) and (orientation: landscape) {
  .site-header .menu-button { display: none; }
  .site-header .main-nav {
    position: static;
    grid-column: 2;
    display: flex !important;
    width: max-content;
    max-width: 100%;
    padding: 0;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    gap: clamp(12px, 1.8vw, 28px);
    border: 0;
    background: transparent;
    box-shadow: none;
    transform: none;
    backdrop-filter: none;
  }
  .site-header .main-nav > a,
  .site-header .main-nav .nav-dropdown > summary {
    min-height: 68px;
    padding: 8px 0;
    justify-content: center !important;
    color: #f4f7fb;
    font-size: clamp(12px, 1.2vw, 15px);
    text-align: center !important;
  }
  .site-header .nav-label,
  .site-header .nav-dropdown > summary .nav-label {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 2px;
    white-space: nowrap;
  }
  .site-header .nav-label > span { display: block; }
  .site-header .nav-label > span + span::before { content: none; }
  .site-header .main-nav .nav-dropdown__menu,
  .site-header .main-nav .nav-dropdown__menu.nav-dropdown__menu--single {
    position: absolute;
    top: calc(100% - 7px);
    left: 50%;
    width: min(410px, calc(100vw - 32px)) !important;
    max-width: min(410px, calc(100vw - 32px)) !important;
    margin: 0;
    padding: 8px;
    border: 1px solid rgba(255,65,186,.55);
    border-radius: 14px;
    background: rgba(2,9,20,.97);
    box-shadow: 0 18px 45px rgba(0,0,0,.48), 0 0 24px rgba(255,31,164,.15);
    transform: translateX(-50%);
  }
  .site-header .main-nav .nav-dropdown__menu a { padding: 11px 13px; }
}

/* v10.44.730 — footer browse link */
.site-footer a{color:inherit;text-decoration:underline;text-underline-offset:.18em}

/* v10.44.795 — cross-site Help Now route, not a new content page */
.site-header .main-nav > .nav-help-now {
  color:#ff86cb;
  font-weight:900;
}
.site-header .main-nav > .nav-help-now::after {
  display:none;
}
.site-header .main-nav > .nav-help-now:hover,
.site-header .main-nav > .nav-help-now:focus-visible {color:#fff0f8}
@media(min-width:1281px){
  .site-header .main-nav{gap:clamp(14px,1.55vw,30px)}
  .site-header .main-nav > .nav-help-now{font-size:clamp(12px,.82vw,14px)}
}

/* Lightweight interaction feedback shared by every public page. */
:where(button,.button,.food-button,.next-help-card__button,.cheap-food-link,.lb2-primary,.stream-cta){
  transition:transform .16s ease,filter .16s ease,box-shadow .16s ease,border-color .16s ease,background-color .16s ease;
}
:where(button,.button,.food-button,.next-help-card__button,.cheap-food-link,.lb2-primary,.stream-cta):active{
  transform:translateY(1px) scale(.985);
}
:where(.discovery-card,.opportunity-card,.bill-card,.stream-logo-card,.stream-logo-card--detailed){
  transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease;
}
@media (hover:hover) and (pointer:fine){
  :where(.discovery-card,.opportunity-card,.bill-card,.stream-logo-card,.stream-logo-card--detailed):hover{
    transform:translateY(-2px);
    box-shadow:0 16px 34px rgba(0,0,0,.24);
  }
}
:where(.discovery-card,.opportunity-card,.bill-card,.stream-logo-card,.stream-logo-card--detailed):focus-within{
  transform:translateY(-2px);
}
#results > .card,
.opportunity-results .opportunity-card{
  animation:fff-result-enter .18s ease-out both;
}
:where(#resultCount,#filterStatus).is-updating{
  animation:fff-count-feedback .18s ease-out both;
}
@keyframes fff-result-enter{
  from{opacity:0;transform:translateY(5px)}
  to{opacity:1;transform:translateY(0)}
}
@keyframes fff-count-feedback{
  50%{opacity:.58;transform:translateY(-1px)}
}
@media (prefers-reduced-motion:reduce){
  :where(button,.button,.food-button,.next-help-card__button,.cheap-food-link,.lb2-primary,.stream-cta,
    .discovery-card,.opportunity-card,.bill-card,.stream-logo-card,.stream-logo-card--detailed){
    transition:none!important;
  }
  #results > .card,
  .opportunity-results .opportunity-card,
  :where(#resultCount,#filterStatus).is-updating{
    animation:none!important;
  }
}
