body.public-app{height:auto!important;min-height:100dvh!important;overflow-x:hidden!important;overflow-y:auto!important;display:block!important}
body.public-app .top-inner{display:grid!important;grid-template-columns:1fr!important;justify-items:center!important;gap:8px!important;padding:10px 14px!important}
body.public-app .brand{font-size:.9rem!important;text-align:center!important;border:0!important;background:transparent!important;padding:0!important}
body.public-app .nav{width:min(100%,560px)!important;display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:6px!important}
body.public-app .nav-btn{width:100%!important;text-align:center!important;padding:7px 10px!important;font-size:.8rem!important}
body.public-app .container{display:block!important;min-height:calc(100dvh - 120px)!important;height:auto!important;overflow:visible!important;padding-bottom:72px!important}
body.public-app #program,body.public-app #library,body.public-app #info{height:auto!important;min-height:0!important;overflow:visible!important}
body.public-app #program:not(.hidden){display:block!important}
body.public-app .day-screen-body{height:auto!important;max-height:none!important;overflow:visible!important;padding-bottom:56px!important;scroll-padding-bottom:0!important}
body.public-app .agenda{padding-bottom:24px!important}
body.public-app .agenda>:last-child{margin-bottom:0!important}
body.public-app .footer{display:flex!important;position:relative!important;z-index:5!important;flex:0 0 auto!important;justify-content:center!important;align-items:center!important;border-top:1px solid var(--line)!important;padding:18px 10px calc(18px + env(safe-area-inset-bottom))!important;background:#fff!important;pointer-events:auto!important}
body.public-app .footer .admin-footer-link{display:inline-flex!important;align-items:center!important;justify-content:center!important;font-size:.78rem!important;padding:8px 14px!important;color:var(--ink)!important;text-decoration:none!important;border:1px solid var(--line)!important;border-radius:999px!important;background:#fff!important;pointer-events:auto!important;position:relative!important;z-index:6!important}
.public-page-title{display:grid!important;gap:3px!important}
.public-page-title .eyebrow{font-size:.72rem!important}
.public-page-title p{font-size:.92rem!important;margin:0!important}
.celebration-home{gap:14px!important}
.celebration-choice{padding:14px 12px!important}
.celebration-page-head{display:grid!important;grid-template-columns:1fr!important;justify-items:center!important;text-align:center!important;gap:6px!important;padding:10px 14px!important}
.celebration-page-head .celebration-title-block{display:grid!important;gap:5px!important;justify-items:center!important;width:min(100%,900px)!important;min-width:0!important}
.celebration-page-head .celebration-identity{display:grid!important;grid-template-columns:auto minmax(0,1fr) auto!important;align-items:center!important;gap:clamp(12px,2vw,22px)!important;width:min(100%,820px)!important;min-width:0!important;margin:auto!important}
.celebration-page-head .celebration-title-copy{display:grid!important;min-width:0!important;justify-items:center!important}
.celebration-page-head .celebration-flame{display:block!important;width:68px!important;height:68px!important;max-width:100%!important;object-fit:contain!important;flex:none!important}
.celebration-page-head h1{margin:0!important;font-size:clamp(1.75rem,2.5vw,2.125rem)!important;line-height:1.08!important;letter-spacing:-.02em!important;white-space:normal!important}
.celebration-page-head .date-range{font-size:clamp(1.125rem,1.6vw,1.375rem)!important;line-height:1.2!important;white-space:nowrap!important}
.celebration-page-head .chips{justify-content:center!important}
body.public-app .celebration-inner-nav{margin-top:1px!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;width:min(100%,560px)!important}
@media(max-width:850px){
  body.public-app .top-inner{padding:7px 10px!important;gap:6px!important}
  body.public-app .brand{font-size:.82rem!important}
  body.public-app .nav{width:100%!important;gap:5px!important}
  body.public-app .nav-btn{padding:6px 8px!important;font-size:.72rem!important}
  body.public-app .container{padding-bottom:64px!important}
  body.public-app .day-screen-body{padding-bottom:52px!important}
  .celebration-home{gap:10px!important;align-content:start!important;padding-top:4px!important}
  .public-page-title .eyebrow{font-size:.66rem!important}
  .public-page-title p{font-size:.82rem!important}
  .celebration-page-head{padding:7px 7px!important;gap:3px!important;border-radius:13px!important}
  .celebration-page-head .celebration-title-block{gap:1px!important;width:100%!important}
  .celebration-page-head .celebration-identity{grid-template-columns:auto minmax(0,1fr) auto!important;gap:clamp(5px,1.8vw,9px)!important;width:100%!important}
  .celebration-page-head .celebration-flame{width:clamp(36px,10.8vw,48px)!important;height:clamp(36px,10.8vw,48px)!important}
  .celebration-page-head h1{font-size:clamp(1.6rem,7.2vw,1.9rem)!important;line-height:1!important}
  .celebration-page-head .date-range{font-size:clamp(1.1rem,5vw,1.25rem)!important;line-height:1.05!important;white-space:nowrap!important;letter-spacing:-.015em!important;margin-top:0!important}
  .celebration-page-head .chips{display:none!important}
  body.public-app .celebration-inner-nav{grid-template-columns:repeat(3,minmax(0,1fr))!important;width:min(100%,360px)!important}
  body.public-app .footer{padding:16px 8px calc(20px + env(safe-area-inset-bottom))!important}
  body.public-app .footer .admin-footer-link{font-size:.72rem!important;padding:8px 13px!important}
}
@media(max-width:390px){
  .celebration-page-head{padding-left:5px!important;padding-right:5px!important}
  .celebration-page-head .celebration-flame{width:38px!important;height:38px!important}
  .celebration-page-head .celebration-identity{gap:4px!important}
  .celebration-page-head h1{font-size:clamp(1.52rem,7vw,1.7rem)!important;line-height:1!important}
  .celebration-page-head .date-range{font-size:clamp(1.08rem,4.9vw,1.18rem)!important;line-height:1.04!important}
}