/* Phone refinements; desktop composition stays in the established page styles. */
.mobile-menu-toggle{display:none}
@media(max-width:620px){
 header{padding:12px 5%;gap:10px;align-items:center;flex-wrap:wrap}
 header .brand{flex:1 1 auto;min-width:0;font-size:clamp(15px,4.7vw,21px);gap:9px;letter-spacing:.075em}
 header .brand svg{width:44px;height:44px;flex-basis:44px}
 header .brand em{font-size:8px;margin-top:6px}
 header.has-mobile-menu .mobile-menu-toggle{display:flex;align-items:center;justify-content:center;gap:7px;min-width:60px;min-height:44px;border:1px solid var(--line);background:transparent;color:var(--ink);padding:8px;font-size:11px}
 .mobile-menu-toggle svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.5}
 header.has-mobile-menu nav,header.has-mobile-menu .header-shows{display:none}
 header.has-mobile-menu.menu-open nav{display:grid;grid-template-columns:1fr 1fr;gap:0 18px;order:3;flex:1 0 100%;margin:0;padding-top:7px;border-top:1px solid var(--line)}
 header.has-mobile-menu.menu-open nav a{display:flex;align-items:center;min-height:44px;font-size:11px;letter-spacing:.07em;padding:9px 0}
 header.has-mobile-menu.menu-open .header-shows{display:flex;order:4;justify-content:center;width:100%;margin:0;min-height:44px;font-size:11px}
 header:not(.has-mobile-menu) nav{flex:1 0 100%;gap:0 16px}
 header:not(.has-mobile-menu) nav a{min-height:40px;display:inline-flex;align-items:center}
 header:not(.has-mobile-menu) .header-shows{margin-left:0;min-height:44px}
 .hero>div.hero-copy{width:100%;padding:21px 6% 246px}
 .hero h1{font-size:clamp(29px,8.3vw,47px);white-space:nowrap;max-width:none;line-height:1.08;margin:12px 0 15px}
 .hero p{font-size:14px;line-height:1.6;max-width:100%}
 .hero label{font-size:10px;letter-spacing:.13em}
 .hero-actions{gap:10px;flex-wrap:wrap}
 .hero-actions .button{flex:1 1 130px;justify-content:center;min-height:44px;padding:10px;font-size:10px;letter-spacing:.06em;margin-top:10px}
 .hero .small{font-size:11px;margin-top:13px}
 .hero-scene{background-size:auto 250px;background-position:right bottom}
 .hero:after{height:250px;background:linear-gradient(180deg,var(--paper),rgba(248,245,238,.62) 9%,rgba(248,245,238,.12) 22%,transparent 34%)}
 .hero .hero-controls{gap:0;margin-top:4px}
 .hero-controls .scene-dot{width:44px;height:44px;padding:17px}
 .scene-dot:before{width:9px;height:9px}
 .hero-controls .scene-pause{min-width:50px;min-height:44px;font-size:12px;margin-left:3px}
 .button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;max-width:100%;font-size:11px;line-height:1.4;padding:12px 15px;text-align:center}
 .signature-detail-link .button{width:100%;margin-right:0}
 .heading h2{font-size:clamp(28px,7.8vw,36px)}
 .heading p{font-size:14px}
 .signature h3{font-size:20px;line-height:1.15}.signature p{font-size:12px;line-height:1.5}
 .filters{gap:4px;padding-block:9px}.filters button{min-height:44px;padding:10px;font-size:12px}
 .grid{gap:24px 14px}.piece img{height:auto;aspect-ratio:4/5}.piece h3{font-size:20px;line-height:1.15}.piece p{font-size:12px}
 .story p,.services article p,.contact p{font-size:15px}
 footer nav{gap:2px 20px}footer nav a{display:inline-flex;align-items:center;min-height:44px;font-size:11px}
 dialog{max-height:calc(100dvh - 24px);overflow:auto;padding:40px 20px 22px}
 dialog .close{position:absolute;top:5px;right:5px;min-width:44px;min-height:44px;line-height:1}
 dialog .button{width:100%;margin-right:0}.detail-grid img{height:260px}
 .collection-intro h1{font-size:clamp(36px,10vw,48px)}.collection-intro>p{font-size:14px}
 .collection-filters{gap:6px;width:100%}.collection-filters button{min-height:44px;flex:1 1 125px;font-size:12px;padding:9px 10px}
 .collection-toolbar{gap:10px 16px}.available-filter{min-height:44px;font-size:12px}.available-filter input{width:20px;height:20px}
 .collection-sort{font-size:12px;flex-wrap:wrap}.collection-sort select{font-size:16px;min-height:44px;max-width:100%;padding:8px}
 .collection-count{font-size:12px}.premium-card h2{font-size:21px;line-height:1.12}.premium-card p{font-size:12px;line-height:1.4}
 .premium-card-top{font-size:10px}.premium-card-bottom{font-size:12px;gap:5px}.premium-card-bottom>span:last-child{font-size:10px}
 .collection-end .button{width:100%;margin-right:0}.collection-end .text-link{display:inline-flex;align-items:center;min-height:44px}
 .premium-post-nav{gap:10px;flex-wrap:wrap}.premium-post-nav .return-collection{display:inline-flex;align-items:center;min-height:44px;font-size:12px}
 .premium-steps>a,.premium-steps>span{min-height:44px;min-width:55px;font-size:12px;justify-content:center}
 .premium-visual{position:static}.premium-photo-nav button{min-width:90px;min-height:88px}.premium-photo-nav button>span:last-child{font-size:12px;padding-block:6px}
 .premium-summary h1{font-size:clamp(39px,11vw,52px)}.premium-summary>p:not(.premium-deck){font-size:15px}
 .premium-summary .premium-review-note{font-size:11px!important}.premium-review-note{line-height:1.6}
 .premium-facts>div{font-size:14px;grid-template-columns:92px 1fr;gap:12px}.premium-facts dt{font-size:10px}.premium-facts dd small{font-size:11px}
 .premium-inquiry p{font-size:14px}.premium-inquiry .button{width:100%;margin-right:0}.premium-inquiry .inquiry-reference{font-size:11px}
 .premium-extra dl>div{font-size:14px;grid-template-columns:115px 1fr}.premium-story p{font-size:15px}
 .premium-lightbox{width:calc(100% - 24px);padding:40px 14px 16px}.premium-lightbox h2{font-size:23px}.lightbox-image{height:55dvh}
 .premium-related>.button{width:100%;margin-right:0}
 .shows-intro h1{font-size:46px}.shows-intro>img{height:180px}.shows-intro p{font-size:15px}
 .calendar-panel{padding:16px}.calendar-top button{min-width:44px;min-height:44px}.calendar-top h3{font-size:22px}.calendar-panel select{font-size:16px;min-height:44px}
 .calendar-grid>button,.calendar-grid>span{min-height:44px}.calendar-grid>button{font-size:14px}.calendar-key,.calendar-status{font-size:12px}.text-control{min-height:44px;font-size:12px}
 .show-filters button{min-height:44px;font-size:12px}.show-card{grid-template-columns:56px minmax(0,1fr);gap:14px}.show-card h3{font-size:25px;overflow-wrap:anywhere}.show-card p{font-size:14px}.show-card .text-link{min-height:44px;line-height:1.5}
 .event-top-nav{gap:12px;margin-bottom:18px}.event-top-nav .all-shows{min-height:44px;display:inline-flex;align-items:center;font-size:12px}.show-step{min-height:44px;font-size:12px;padding:9px 12px}
 .event-hero h1{font-size:clamp(34px,9vw,44px);overflow-wrap:anywhere}.event-image img{height:210px}.event-hero label{font-size:11px;line-height:1.6}.event-status{font-size:11px;margin-bottom:10px}
 .event-layout .event-facts{grid-row:1}.event-layout article{grid-row:2}.event-facts .button{display:flex}.event-facts dd{font-size:15px}.organizer-update{font-size:13px}.organizer-update .text-link{min-height:44px;display:inline-flex;align-items:center;font-size:13px}
 .event-layout article>p{font-size:15px}.event-pagination a{min-height:60px}.event-pagination span{font-size:24px}.event-pagination small{font-size:11px}
 input,select,textarea,.intake-form input,.intake-form select,.intake-form textarea{font-size:16px}
}
@media(max-width:360px){.premium-post-nav .return-collection{flex-basis:100%}.premium-post-nav .piece-position{margin-left:0;margin-right:auto}.premium-card h2{font-size:19px}.premium-card-bottom{flex-wrap:wrap}.calendar-panel{padding:12px}.calendar-top h3{font-size:20px}}
/* Desktop sticky header; mobile retains its current scroll behavior. */
@media(min-width:1101px){
 html{scroll-padding-top:110px}
 body>header{position:sticky;top:0;z-index:20;background:var(--paper);border-bottom:1px solid var(--line)}
 .premium-card{scroll-margin-top:110px}
 .premium-visual,.calendar-panel{top:110px}
}
/* Softer desktop header: solid fallback, translucent ivory when blur is supported. */
@media(min-width:1101px){
 body>header{border-bottom:0;background:var(--paper)}
 @supports ((backdrop-filter:blur(10px)) or (-webkit-backdrop-filter:blur(10px))){
  body>header{background:rgba(248,245,238,.75);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
 }
}
/* Mobile sticky navigation, with an opaque expanded menu. */
@media(max-width:620px){
 html{scroll-padding-top:92px}
 body>header{position:sticky;top:0;z-index:20;background:var(--paper);border-bottom:0}
 .premium-card{scroll-margin-top:92px}
 @supports ((backdrop-filter:blur(10px)) or (-webkit-backdrop-filter:blur(10px))){
  body>header{background:rgba(248,245,238,.75);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
 }
 body>header.menu-open{background:var(--paper)}
 body>header.menu-open nav,body>header.menu-open .header-shows{background:var(--paper)}
}
