/* The app layout only applies to phones; desktop keeps its original layout. */
.app-tabbar,.app-home{display:none}
.marquee-track,.marquee-group{display:contents}.marquee-copy{display:none}
@keyframes mobile-marquee{to{transform:translateX(-50%)}}
@media(max-width:600px){
  .visit-actions{gap:12px}.visit-actions>.pill{padding:13px 16px;font-size:10px;gap:14px;min-height:44px}.visit-actions>.pill .icon{width:16px;height:16px}.visit-actions>.visit-map-link{font-size:10px;gap:6px}.visit-map-link .icon{width:14px;height:14px}
  .marquee{padding-inline:0;gap:0;justify-content:flex-start;mask-image:linear-gradient(to right,transparent,#000 6%,#000 94%,transparent)}
  .marquee-track{display:flex;width:max-content;flex:none;animation:mobile-marquee 28s linear infinite}
  .marquee-group{display:flex;align-items:center;gap:24px;flex:none;padding-right:24px}
  .marquee-group span,.marquee-group b{flex:none}.marquee-group b{display:flex;align-items:center}
  .marquee:active .marquee-track{animation-play-state:paused}
}
@media(max-width:600px) and (hover:hover){.marquee:hover .marquee-track{animation-play-state:paused}}
@media(max-width:600px) and (prefers-reduced-motion:reduce){
  .marquee{mask-image:none;padding-inline:16px}
  .marquee-track{animation:none;width:100%;display:block}
  .marquee-group{display:flex;flex-wrap:wrap;justify-content:center;gap:12px 20px;padding-right:0;white-space:normal}
  .marquee-copy,.marquee-group b{display:none}
}
@media(max-width:600px){
  html{scroll-padding-top:88px;scroll-padding-bottom:100px}
  body{padding-bottom:calc(86px + env(safe-area-inset-bottom,0px))}
  .wrap{width:calc(100% - 32px)}
  .demo{display:none}
  .header-shell{position:sticky;top:0;z-index:30;background:var(--bg);border-bottom:1px solid var(--line)}
  .nav{height:72px;gap:8px}.navlinks{top:72px;max-height:calc(100dvh - 160px);overflow-y:auto;border-radius:0 0 20px 20px}
  .nav .brand-logo{width:160px}.nav-account{height:44px;min-height:44px;padding-right:10px}.nav-account-name{max-width:64px}
  .app-tabbar{position:fixed;inset:auto 0 0;z-index:40;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:4px;padding:8px 10px calc(8px + env(safe-area-inset-bottom,0px));background:#251e19f5;backdrop-filter:blur(18px);border-top:1px solid var(--line);box-shadow:0 -8px 28px #0002}
  .app-tabbar a{min-height:56px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;border-radius:14px;color:var(--muted);font-size:10px;font-weight:500;text-align:center}
  .app-tabbar svg{width:22px;height:22px;flex:none}.app-tabbar a[aria-current]{color:var(--accent);background:#ff794f12}.app-tabbar a:active{background:#ff794f20}.app-tabbar a:focus-visible{outline-offset:-3px}
  .app-home{display:block;padding-top:24px}.app-home>span{font-size:9px;letter-spacing:1.8px;color:var(--accent);font-weight:600}.app-home h2{font-size:23px;line-height:1.35;letter-spacing:-.7px;margin:9px 0 18px}
  .app-shortcuts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.app-shortcuts a{display:flex;flex-direction:column;align-items:flex-start;gap:12px;border:1px solid var(--line);background:var(--surface);border-radius:16px;padding:14px 12px;min-height:93px;font-size:12px}.app-shortcuts svg{width:23px;height:23px;color:var(--accent)}.app-shortcuts a:active{border-color:var(--accent)}
  .hero{padding-top:28px}.hero-inner{gap:0}.hero-content{padding-bottom:0}.hero .eyebrow{font-size:8px;letter-spacing:1px;line-height:1.6}.hero-title-family{font-size:clamp(27px,7.5vw,40px);letter-spacing:-1.3px;margin-block:18px}.hero-copy{font-size:13px;line-height:1.75;margin-bottom:20px}
  .hero-actions{flex-direction:row;align-items:center;gap:14px;flex-wrap:wrap}.hero-actions .pill{padding:13px 17px;font-size:11px}.hero-secondary{font-size:11px}.hero-footnote{margin-top:20px}.hero-footnote p{font-size:11px}
  .hero-visual{padding:0;margin-top:24px;width:100%;height:auto}.hero-photo-frame{height:260px;border-radius:20px;overflow:hidden}.hero-photo-frame::before,.vertical-caption{display:none}.hero-photo{border-radius:20px}.hero-photo figcaption{bottom:23px;left:22px}.photo-caption-title{font-size:25px}.photo-label{font-size:7px}.photo-baseline{padding-block:14px;font-size:9px}.hero-bottom{margin:14px 0 20px;gap:10px}.hero-bottom>span{max-width:160px}.hero-bottom .scroll{font-size:8px}
  .marquee{padding-block:16px;font-size:11px}.intro{padding-block:48px;gap:24px}.intro h2,.section-head h2,.agenda h2,.visit h2{font-size:28px;letter-spacing:-1px}.intro p{font-size:13px;line-height:1.8}.essence-mark{font-size:40px}
  .light{padding-block:42px;border-radius:24px}.section-head p{font-size:13px;line-height:1.7}.cards{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x proximity;padding:3px 3px 16px;margin-inline:-3px}.cards>.card,.cards>.card:first-child{flex:0 0 86%;height:310px;scroll-snap-align:start;border-radius:18px}.card-text h3{font-size:24px}.card-text{inset-inline:20px}
  .agenda.public-agenda{padding-block:48px}.agenda-calendar{border-radius:18px;padding:16px}.agenda-day{min-height:40px}.agenda-calendar-nav{width:40px;height:40px}.agenda-public-card{border-radius:16px}.agenda-list-heading select{min-height:42px}.agenda-month-reset{min-height:44px}.quote-photo{min-height:240px}.quote-content{padding:32px 24px}.quote h2{font-size:25px}.visit{padding-block:48px;gap:30px}.closing{padding:25px;border-radius:20px}.closing h2{font-size:25px}
  .pwa-actions{margin-top:34px;padding:20px;border:1px solid var(--line);background:var(--surface);border-radius:18px;gap:14px}.pwa-copy strong{font-size:16px}.pwa-copy span{font-size:11px}.pwa-buttons{gap:8px}.pwa-actions button{font-size:11px;padding:10px 12px}
  .content-main,.member-main{padding-block:28px 36px}.content-heading h1,.member-main h1{font-size:29px;letter-spacing:-1px}.content-heading>p{font-size:13px;line-height:1.7;margin-bottom:20px}.content-filters{gap:10px}.content-filters input,.content-filters select{min-height:44px;border-radius:12px}.publication-card{border-radius:18px}.publication-card-body{padding:18px}.content-retry{min-height:44px}.content-pagination button{min-width:44px;min-height:44px}.member-card{border-radius:18px}.member-edit-button,.member-logout,.member-edit-actions button{min-height:44px}.member-intro{font-size:12px}.member-status{margin:14px 0}.content-footer,.footer{padding-block:28px;gap:18px}.developer-credit{padding-bottom:20px}
}
