/* Shared phone layouts. Desktop page identities stay in their own stylesheets. */
html{scroll-padding-top:calc(var(--header-height,96px) + 16px);-webkit-text-size-adjust:100%;text-size-adjust:100%}
.nav-toggle{display:none}
.site-header nav{gap:clamp(1rem,2.7vw,2.75rem)}
footer>div{flex-wrap:wrap;gap:.75rem 1.5rem}
.agenda-event,.event-timetable h4{scroll-margin-top:1rem}
.video-play{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.75rem;background:#0003;color:#fff;pointer-events:none;font-size:.8125rem;text-shadow:0 1px 4px #000}
.video-play>span:first-child{display:grid;place-items:center;width:54px;height:54px;border-radius:50%;border:1px solid #f3efe480;background:#090907cc;font-size:1.2rem;padding-left:3px}
.video-play[hidden]{display:none}

@media(max-width:760px){
  :root{--gutter:clamp(1.125rem,4.8vw,2rem);--header-height:176px}
  .site-header{height:auto;min-height:72px;padding:12px var(--gutter);padding-left:max(var(--gutter),env(safe-area-inset-left));padding-right:max(var(--gutter),env(safe-area-inset-right));gap:.5rem 1rem;flex-wrap:wrap;align-content:center}
  .site-header .brand{width:112px;height:44px}
  .site-header .brand img{width:160px;left:-24px;top:-24px}
  .site-header nav{width:100%;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem}
  .site-header nav a{min-height:48px;display:flex;align-items:center;font-size:.9375rem;padding:.6rem .25rem}
  .site-header.has-menu{flex-wrap:nowrap;justify-content:space-between}
  .site-header.has-menu .nav-toggle{display:inline-flex;align-items:center;justify-content:center;gap:1.25rem;min-width:90px;min-height:44px;padding:.55rem .8rem;border:1px solid var(--line);border-radius:3px;background:transparent;color:inherit;font-size:.875rem;cursor:pointer}
  .nav-toggle>span{font-size:1.25rem;line-height:1;transition:transform .2s}
  .nav-toggle[aria-expanded="true"]>span{transform:rotate(45deg)}
  .site-header.has-menu nav{display:none;position:absolute;top:100%;left:0;right:0;width:auto;max-height:calc(100svh - var(--header-height,72px));overflow-y:auto;overscroll-behavior:contain;background:var(--black);padding:.6rem var(--gutter) 1rem;border-bottom:1px solid var(--line);box-shadow:0 15px 25px #0002}
  .site-header.is-menu-open nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.35rem 1rem}
  .site-header.is-menu-open nav a{padding:.75rem;min-height:52px;border:1px solid var(--line);border-radius:3px}
  .site-header nav a::after{left:.75rem;right:.75rem;bottom:.5rem}
  .home-page .site-header nav a{color:var(--ink)}
  .home-page .site-header.has-menu nav{background:var(--cream)}
  main,main section,.hero-copy,.about-content,.contact-content,.limace-social-copy,.instagram-post{min-width:0}
  footer{display:grid;grid-template-columns:1fr;gap:1rem;padding:2rem var(--gutter) max(1.5rem,env(safe-area-inset-bottom))}
  footer p,.limace-page footer p{max-width:none;font-size:.75rem}
  footer>div{width:100%;padding-top:.75rem;display:flex;flex-wrap:wrap;justify-content:space-between;gap:.5rem 1rem}
  footer>div a,.intro-top>a,.event-back-link{display:inline-flex;align-items:center;min-height:44px}
  .intro-top>a{justify-content:flex-end}
  .event-back-link{justify-content:flex-end}
  .home-page .hero{grid-template-columns:minmax(0,1fr);padding-top:2rem;gap:1.75rem}
  .home-page .hero-copy{padding:0}
  .home-page .hero-kicker{margin-bottom:1.75rem;font-size:.6875rem}
  .home-page .hero-message{font-size:clamp(3.65rem,17vw,6rem);line-height:1.08}
  .home-page .hero-description{font-size:1rem;line-height:1.75;margin-top:1.25rem}
  .home-page .hero-description br{display:none}
  .home-page .hero-actions{display:grid;grid-template-columns:1fr;gap:.65rem;margin-top:1.5rem}
  .home-page .hero-actions .home-button{width:100%;min-height:52px;font-size:.9375rem;justify-content:center;padding:.85rem 1.25rem}
  .home-page .hero-actions .home-text-link{justify-self:start;min-height:44px;font-size:.875rem}
  .home-page .hero-visual{height:clamp(230px,65vw,360px);min-height:0;max-height:none;border-top-left-radius:52px}
  .home-page .hero-photo img{transform:scale(1.03);object-position:center 58%}
  .home-page .hero-foot{flex-wrap:wrap;gap:.65rem;padding-top:1rem}
  .home-page .hero-foot>span{font-size:.625rem}
  .home-page .scroll-link{min-height:44px;font-size:.875rem}
  .home-page .home-events-heading{align-items:flex-start;flex-direction:column;gap:1rem}
  .home-page .home-events h2{font-size:clamp(2rem,9vw,3.3rem);line-height:1.15}
  .home-page .home-button:hover{transform:none}
  .home-page .about,.home-page .contact{grid-template-columns:minmax(0,1fr);gap:2rem}
  .home-page .about-content h2,.home-page .contact h2{font-size:clamp(2.3rem,10.2vw,4rem);line-height:1.15}
  .home-page .about-copy{grid-template-columns:minmax(0,1fr);gap:1.25rem;margin-top:1.75rem}
  .home-page .about-copy p{font-size:1rem;line-height:1.8}
  .home-page .contact-bottom{gap:1.5rem}
  .home-page .email{font-size:clamp(1.65rem,7.2vw,2.5rem);min-height:44px;overflow-wrap:anywhere}
  .home-page .section{padding-top:3.5rem;padding-bottom:3.5rem}
  .limace-intro{min-height:0;padding-top:1rem;padding-bottom:1.5rem;gap:1rem}
  .intro-top{gap:1rem;align-items:center}
  .limace-page .intro-top .eyebrow{font-size:.6875rem;letter-spacing:.1em}
  .intro-top>a{font-size:.75rem;white-space:nowrap}
  .intro-top>a span{margin-left:.4rem}
  .limace-identity{width:100%;max-width:540px;margin:1.25rem auto}
  .intro-bottom{margin-top:0;padding-top:.75rem}
  .agenda-link{min-height:48px;width:100%;justify-content:space-between;font-size:.9375rem}
  .limace-agenda{padding-top:3rem;padding-bottom:3.5rem}
  .agenda-heading{align-items:flex-end;gap:1rem;margin-bottom:2rem}
  .agenda-heading h2{font-size:clamp(2rem,9vw,3rem);line-height:1.12}
  .agenda-year{font-size:.75rem;flex-shrink:0}
  .agenda-grid{grid-template-columns:minmax(0,1fr);gap:3rem;max-width:520px}
  .event-date{gap:.5rem;flex-wrap:wrap}
  .event-date>time{font-size:2.4rem}
  .event-date>time>span,.event-city{font-size:.6875rem}
  .event-city{width:auto}
  .agenda-details h3{font-size:1.65rem}
  .venue,.event-description{font-size:.9375rem;line-height:1.75}
  .event-timetable h4{font-size:.875rem}
  .event-timetable li{display:grid;grid-template-columns:minmax(0,1fr) auto;font-size:.9375rem;gap:.6rem;padding:.85rem 0}
  .event-timetable li>span:last-child{font-size:.8125rem}
  .agenda-actions{gap:.7rem 1.25rem}
  .agenda-actions .button{min-height:48px}
  .agenda-text-link,.details-soon{font-size:.875rem}
  .limace-social{grid-template-columns:minmax(0,1fr);padding-top:3.5rem;padding-bottom:3.5rem;gap:2.25rem}
  .limace-social-copy h2{font-size:clamp(3.1rem,14vw,5rem);margin:1.5rem 0}
  .limace-social-copy>p:not(.eyebrow){font-size:1rem}
  .limace-social .instagram-post{justify-self:center;width:100%;max-width:380px}
  .limace-page .instagram-fallback{display:flex;align-items:center;justify-content:center;min-height:48px;font-size:.8125rem;line-height:1.6}
  .ticket-section{padding-top:1.25rem;padding-bottom:3rem}
  .ticket-section .section-top{margin-bottom:1.5rem;gap:1rem}
  .ticket-brand{width:140px;max-width:47%}
  .tickets-layout{grid-template-columns:minmax(0,1fr);gap:2rem}
  .ticket-copy{max-width:none;padding-bottom:0}
  .ticket-copy h1{font-size:clamp(3.8rem,18vw,5.5rem);margin:.65rem 0 1rem}
  .ticket-intro{font-size:1.25rem;line-height:1.5}
  .ticket-description{font-size:.9375rem}
  .ticket-description br{display:none}
  .ticket-facts{margin:1.5rem 0}
  .ticket-facts>div{grid-template-columns:3.5rem minmax(0,1fr);gap:.8rem}
  .ticket-facts dd{font-size:.9375rem}
  .ticket-purchase .button{min-width:0;width:100%;min-height:54px;font-size:.9375rem;padding:.85rem 1rem}
  .ticket-details{display:inline-flex;align-items:center;min-height:48px;margin-top:1rem;font-size:.875rem}
  .lineup-visual figcaption>p{font-size:.8125rem;line-height:1.7;margin-top:.5rem}
}
@media(max-width:360px){
  .intro-top{gap:.5rem;flex-wrap:wrap}
}
@media(max-width:1000px) and (max-height:500px) and (orientation:landscape){
  .site-header{position:relative}
  html{scroll-padding-top:1rem}
  .limace-intro{min-height:0}
  .limace-identity{max-width:400px;margin:.5rem auto}
}
@media(hover:none),(pointer:coarse){
  footer>div a,.intro-top>a,.event-back-link{display:inline-flex;align-items:center;min-height:44px}
}
