html{-webkit-text-size-adjust:100%}body{min-width:320px}.button,.main-nav a,button{touch-action:manipulation}
@media(max-width:760px){
  .site-header{padding-top:env(safe-area-inset-top)}
  .nav-wrap{height:68px}.main-nav{top:calc(68px + env(safe-area-inset-top));max-height:calc(100dvh - 68px - env(safe-area-inset-top));overflow-y:auto;padding:16px 20px 24px;gap:5px;box-shadow:0 22px 45px rgba(0,0,0,.32)}
  .main-nav a{display:flex;align-items:center;min-height:48px;padding:10px 12px;border-radius:12px}.main-nav .nav-cta{justify-content:center;margin-top:6px}.menu-button{min-width:48px;min-height:48px;border-radius:12px}.brand strong{font-size:1.2rem}.brand small{font-size:.62rem}
  .page-hero{padding:58px 0 45px}.page-hero h1{font-size:clamp(2.35rem,13vw,3.6rem)}
  .calendar-section{padding:28px 0 65px}.calendar-toolbar{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px}.calendar-toolbar h2{order:-1;width:100%;font-size:1.35rem;text-align:left}.calendar-toolbar>div:first-child{display:grid;grid-template-columns:44px 44px auto}.calendar-nav,.today-button{min-height:44px}.view-switch{width:100%;order:3;display:grid;grid-template-columns:repeat(3,1fr)}.view-switch button{min-height:44px;font-size:.78rem}
  .legend{margin:18px auto 0;padding-bottom:5px;gap:15px;justify-content:flex-start;overflow-x:auto;white-space:nowrap}.legend span{font-size:.7rem}
  .calendar{margin-top:16px;border-radius:17px}.calendar-list{padding:0 15px}.list-day{padding:20px 0}.list-date{font-size:.74rem;line-height:1.35}.list-event.event-pill{display:grid;width:100%;height:auto;margin-top:11px;padding:14px 12px;border-radius:13px;font-size:inherit;grid-template-columns:50px 1fr;gap:10px;min-height:72px}.list-event time{font-size:.75rem;font-weight:900;padding-top:2px}.list-event h3{font-size:.94rem;line-height:1.25}.list-event p{font-size:.73rem;line-height:1.35}.category-label{grid-column:2;justify-self:start;margin-top:4px}
  .event-dialog{margin:auto;max-height:calc(100dvh - 24px);overflow-y:auto;border-radius:20px}.dialog-content{padding:24px 20px}.dialog-content>button{min-width:44px;min-height:44px}.dialog-content h3{padding-right:45px;font-size:1.3rem}.footer-grid{gap:26px}.footer-bottom{gap:10px;line-height:1.4;padding-bottom:env(safe-area-inset-bottom)}
}
@media(max-width:380px){.container{width:calc(100% - 22px)}.calendar-list{padding-inline:10px}.list-event.event-pill{grid-template-columns:45px 1fr;padding-inline:10px}.phone-mockup,.app-device{transform:none}}
