/* Smartphone art direction. All visual changes are confined to the existing 760px boundary. */
@media (max-width:760px) {
  html { scroll-padding-top:100px; }
  body { -webkit-text-size-adjust:100%; }
  body > header, .qsc-app-header { position:sticky; top:0; z-index:90; min-height:86px; padding:10px 20px; gap:12px; background:#fff; }
  body.qsc-mobile-menu-open > header { position:fixed; top:0; left:0; right:0; width:100%; }
  body > header > a, .qsc-app-header > a { flex:none; }
  body > header .logo, .qsc-app-header img { display:block; width:184px; height:66px; object-fit:contain; object-position:left center; }
  body > header .menu-toggle, .qsc-menu-toggle { display:inline-flex; align-items:center; justify-content:center; gap:10px; min-width:88px; min-height:44px; padding:10px 14px; border:1px solid #d5dcdE; border-radius:999px; font-size:14px; background:white; color:#024767; }
  body > header > nav, .qsc-app-header nav { display:none; }
  body > header > nav.open, .qsc-app-header nav.is-open { display:flex; position:fixed; z-index:89; inset:var(--qsc-mobile-header-height,78px) 0 0; width:100%; height:auto; max-height:none; margin:0; padding:22px 24px max(28px,env(safe-area-inset-bottom)); flex-direction:column; align-items:stretch; justify-content:flex-start; gap:0; overflow-y:auto; overscroll-behavior:contain; background:#f7f5f2; animation:qsc-mobile-menu-enter .28s ease-out; }
  body > header > nav.open > a, .qsc-app-header nav.is-open > a { display:flex; align-items:center; min-height:52px; padding:11px 0; white-space:normal; font-size:18px; line-height:1.35; text-decoration:none; border-bottom:1px solid #e1ddd6; }
  body > header > nav.open > .nav-home-r9, .qsc-app-header nav.is-open > .qsc-nav-home { min-height:44px; justify-content:flex-start; width:auto; font-size:27px; }
  body > header > nav.open > .button, .qsc-app-header nav.is-open > .qsc-contact { flex:none; margin-top:20px; padding:15px 19px; justify-content:space-between; color:#fff; background:#024767; border-radius:999px; font-size:15px; min-height:54px; }
  body > header > nav.open > .nav-shop, .qsc-app-header nav.is-open > .qsc-nav-shop { gap:8px; }
  main, main > *, .section, .process-story, .process-copy, .project-copy, .contact-grid > * { min-width:0; }
  main > .section, main > .cta, main > .split, main > .methods, main > .professional { padding:58px 24px; }
  main h1 { overflow-wrap:break-word; }
  main h2 { font-size:clamp(32px,9.3vw,42px); line-height:1.06; text-wrap:balance; }
  main h3 { font-size:clamp(28px,8vw,34px); line-height:1.12; }
  main p { font-size:16px; line-height:1.7; }
  main .eyebrow { font-size:10px; line-height:1.6; letter-spacing:.13em; }
  main small, main figcaption { font-size:12px; line-height:1.6; }
  main .button { min-height:50px; max-width:100%; padding:14px 20px; font-size:14px; line-height:1.45; text-align:left; white-space:normal; justify-content:space-between; border-radius:999px; gap:16px; }
  main .button.button-secondary { color:#fff; background:#024767; }
  .button-pair { display:flex; flex-wrap:wrap; gap:12px; }
  .button-pair > .button { flex:1 1 100%; margin:0; }
  main .button:active, main button:active { transform:scale(.985); }
  main a:focus-visible, main button:focus-visible { outline-offset:4px; }
  /* An editorial opening: a clear message, actions, then the artist and his work. */
  body:has(.hero) main > .hero { display:grid; grid-template-columns:minmax(0,1fr); gap:0; padding:32px 24px 42px; min-height:0; background:#f7f5f2!important; color:#2b1e16; isolation:auto; }
  .hero .hero-copy { display:contents; }
  .hero .hero-copy > .eyebrow { grid-row:1; color:#024767; margin:0 0 14px; }
  .hero .hero-copy > h1 { grid-row:2; color:#2b1e16; font-size:clamp(38px,10.7vw,48px); line-height:1.02; max-width:19ch; letter-spacing:-.025em; margin:0 0 22px; }
  .hero .hero-copy > p:not(.hero-note) { grid-row:3; color:#2b1e16; font-size:16px; line-height:1.65; margin:0 0 24px; }
  .hero .hero-copy > .button-pair { grid-row:4; margin:0; }
  .hero .hero-copy .button:first-of-type { color:#fff; background:#024767; }
  .hero .hero-copy .button-secondary { background:#719cb6; color:#2b1e16; }
  .hero .hero-copy > small { grid-row:5; color:#4d514f; font-size:12px; margin:14px 0 28px; }
  .hero .hero-photo { grid-row:6; display:block!important; position:relative; inset:auto; z-index:auto; width:100%; height:auto; align-self:auto; margin:0; border-radius:22px; overflow:hidden; }
  .hero .hero-photo::after { display:none; }
  .hero .hero-photo > .motion-media { display:block; height:auto; aspect-ratio:4/5; min-height:0; }
  body main .hero .hero-photo .motion-media > img { inset:0; height:100%; width:100%; object-fit:cover!important; object-position:50% 31%; transform:none!important; }
  .hero .hero-copy > .hero-note { grid-row:7; color:#024767; font-size:16px; line-height:1.65; margin:24px 0 0; padding-left:18px; border-left:2px solid #719cb6; }
  .hero-tagline { padding:28px 24px; font-size:17px; line-height:1.55; }
  .section-head { display:block; }
  .section-head .button { margin-top:24px; }
  .split, .methods, .process-row, .contact-grid { grid-template-columns:minmax(0,1fr); }
  .split, .methods { gap:32px; }
  .split figure { margin:0; }
  .split figure > .motion-media { min-height:0; aspect-ratio:4/5; border-radius:20px; }
  .process-story { padding:0 24px 40px; }
  .process-intro { padding:0; margin:0 0 42px; }
  .process-intro p { max-width:none; }
  .process-row { gap:28px; padding:40px 0; margin-bottom:0; }
  .process-copy h2, .process-copy h3 { font-size:clamp(30px,8.5vw,38px); }
  .process-row > figure { margin:0; width:100%; }
  .process-cream { padding:30px 20px; margin-left:-4px; margin-right:-4px; border-radius:20px; }
  .process-row > figure > .motion-media { border-radius:20px; --parallax-strength:.025; }
  .process-reverse > figure, .process-reverse > .process-copy { grid-column:auto; grid-row:auto; }
  .process-copy .button + .button { margin-top:12px; }
  .process-story .af-icon-paragraph { gap:13px; }
  .af-topic-icon { width:27px; height:27px; flex:none; }
  .page-top { padding:20px 24px; font-size:12px; line-height:1.55; }
  body main figure.editorial-cover-r9, body main figure.editorial-story-cover { min-height:420px; margin-bottom:40px!important; }
  body main figure.editorial-cover-r9 .cover-overlay-r9 { padding:28px 24px; }
  body main figure.editorial-cover-r9 h1 { font-size:clamp(34px,9.4vw,44px); line-height:1.03; }
  body main figure.editorial-cover-r9 .eyebrow { font-size:9px; margin-bottom:12px; }
  body main figure.editorial-cover-r9 > .cover-media-r9 { --parallax-strength:.025; }
  .home-window { gap:28px!important; }
  main > .home-window { grid-template-columns:1fr; }
  .home-window h2 { max-width:15ch; }
  .home-window-photo > .motion-media { aspect-ratio:4/5; height:auto; --parallax-strength:.025; }
  .finestra-test-invitation { display:block; margin-bottom:42px; padding:28px 22px; border-radius:20px; }
  .finestra-test-invitation .finestra-box-icon { width:56px; height:56px; margin-bottom:20px; }
  .finestra-test-invitation .button { width:100%; }
  .af-video-section { margin-bottom:35px; }
  /* Touch galleries keep the actual paintings legible, with a visible next item. */
  .home-story-links { display:grid; grid-template-columns:repeat(3,minmax(250px,82vw)); overflow-x:auto; scroll-snap-type:x mandatory; gap:14px; padding:0 0 16px; scroll-padding:0; }
  .home-story-links .story-reveal { scroll-snap-align:start; min-height:235px; }
  .home-story-links .story-reveal::before { opacity:.46; }
  .home-story-links .story-reveal .project-copy { background:linear-gradient(180deg,rgba(2,45,65,.70),rgba(2,45,65,.26)); padding:24px 22px; min-height:235px; }
  .home-story-links .story-reveal :is(h3,p,.eyebrow) { color:white; }
  .home-story-links .story-reveal h3 { font-size:32px; }
  .story-cursor { display:none; }
  .catalogue-selection .catalogue-gallery { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
  .catalogue-selection .catalogue-gallery figure, .catalogue-selection .catalogue-gallery figure > .motion-media { border-radius:14px; }
  .projects:not(.home-story-links) { display:grid; grid-template-columns:1fr; gap:24px; }
  .project-copy { padding:24px; }
  .blog-archive .blog-project-stories .blog-story-links { display:grid; grid-template-columns:repeat(3,minmax(255px,83vw)); gap:14px; overflow-x:auto; scroll-snap-type:x mandatory; padding-bottom:16px; }
  .blog-story-links > a { scroll-snap-align:start; }
  .blog-archive .blog-card { grid-template-columns:1fr; overflow:hidden; border-radius:20px; }
  .blog-archive .blog-card > .motion-media { height:auto; min-height:0; aspect-ratio:4/3!important; }
  .blog-archive .blog-card-copy { padding:24px; }
  .blog-project-stories { padding:44px 0; }
  .editorial-article .story-chapter { margin-bottom:40px; padding-bottom:38px; }
  .editorial-article .story-text { padding-right:0; }
  .editorial-article .story-gallery { gap:14px; margin-top:24px; }
  .editorial-article .gallery-five { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .editorial-article .gallery-duo { grid-template-columns:1fr; }
  .editorial-article .gallery-references { grid-template-columns:1fr; }
  .editorial-article .story-gallery figure > .motion-media { --parallax-strength:.018; border-radius:18px; }
  .editorial-article .gallery-five figure > .motion-media { aspect-ratio:4/5; }
  .editorial-article .travel-reference-triptych { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:7px; }
  .editorial-article .travel-reference-triptych figure > .motion-media { aspect-ratio:3/5; border-radius:10px; }
  .story-zoom, .story-lightbox-close { min-width:44px; min-height:44px; }
  .editorial-related-grid { grid-template-columns:1fr; gap:16px; }
  .google-review { flex-basis:min(310px,83vw); padding:24px; border-radius:20px; scroll-snap-align:start; }
  .google-review blockquote { font-size:16px; line-height:1.65; }
  .reviews-heading { gap:20px; }
  .reviews-controls button, .press-pause, .atelier-controls button { min-width:44px; min-height:44px; }
  .press-track img { max-height:50px; }
  .faq-home summary, .faq-list summary, main details > summary { min-height:64px; padding:18px 0; gap:14px; font-size:16px; line-height:1.5; }
  .cta { padding:62px 24px!important; }
  .cta h2 { font-size:clamp(34px,10vw,43px); }
  .cta .button { width:100%; margin-top:12px; }
  .cta p br { display:none; }
  .cta .qsc-brush { opacity:.07; }
  /* Contacts and reading comfort. Native input text stays at 16px to avoid iOS focus zoom. */
  .contact-grid { display:grid; gap:34px; align-items:start; }
  .contact-grid > div { position:static; }
  .contact-grid > form { padding:26px 20px; border-radius:20px; }
  .contact-grid > form :is(input,select,textarea) { width:100%; max-width:100%; min-height:50px; padding:13px; font-size:16px!important; border-radius:9px; }
  .contact-grid label { font-size:14px; }
  .contact-channel-actions { gap:14px; }
  .contact-channel-actions .button { width:100%; }
  .contact-grid a[href^='mailto:'] { display:inline-flex; min-height:44px; align-items:center; overflow-wrap:anywhere; }
  .contact-steps { padding:24px 0; }
  footer:not(.qsc-app-footer) { padding:40px 24px 24px; }
  footer .foot-top { grid-template-columns:1fr 1fr; gap:30px 20px; }
  footer .foot-top > div:first-child { grid-column:1/-1; }
  footer .foot-top > div > a { display:flex; align-items:center; min-height:44px; font-size:14px; line-height:1.5; }
  footer .foot-top p { font-size:14px; }
  footer .legal { display:block; margin-top:30px; }
  footer .legal p { font-size:11px; overflow-wrap:anywhere; }
  .qsc-app-footer a { display:inline-flex; align-items:center; min-height:44px; }
  .article-toc a { min-height:48px; align-items:center; font-size:15px; }
  .editorial-actions { display:flex; flex-direction:column; gap:14px; }
  .editorial-actions .button { margin:0; }
  /* Short, restrained motion; no continuous decorative loops on a touch screen. */
  .motion-active .motion-reveal, .editorial-enhanced .editorial-reveal { transition:opacity .5s ease,transform .55s cubic-bezier(.2,.7,.2,1); }
  .motion-active .motion-reveal:not(.is-visible), .editorial-enhanced .editorial-reveal:not(.is-revealed) { transform:translate3d(0,12px,0); }
  .button, button { -webkit-tap-highlight-color:rgba(113,156,182,.18); }
  @keyframes qsc-mobile-menu-enter { from { opacity:0; transform:translateY(-8px); } to { opacity:1; transform:none; } }
}
@media (max-width:360px) {
  body > header, .qsc-app-header { padding-left:16px; padding-right:16px; }
  body > header .logo, .qsc-app-header img { width:172px; }
  main > .section, main > .cta, main > .split, main > .methods, main > .professional { padding-left:20px; padding-right:20px; }
  body:has(.hero) main > .hero { padding-left:20px; padding-right:20px; }
  .process-story { padding-left:20px; padding-right:20px; }
  .hero .hero-copy > h1 { font-size:38px; }
  .catalogue-selection .catalogue-gallery { gap:10px; }
  footer .foot-top { grid-template-columns:1fr; }
  footer .foot-top > div:first-child { grid-column:auto; }
}
@media (max-width:760px) and (prefers-reduced-motion:reduce) {
  body > header > nav.open, .qsc-app-header nav.is-open { animation:none; }
  .motion-active .motion-reveal, .editorial-enhanced .editorial-reveal, main .button { transition:none; transform:none; }
  .motion-active .motion-reveal:not(.is-visible), .editorial-enhanced .editorial-reveal:not(.is-revealed) { opacity:1; transform:none; }
}
@media (max-width:760px) {
  html.qsc-mobile-menu-open :is(.menu-toggle,.qsc-menu-toggle) { font-size:0; gap:10px; }
  html.qsc-mobile-menu-open :is(.menu-toggle,.qsc-menu-toggle)::before { content:'Chiudi'; font-size:14px; }
  html.qsc-mobile-menu-open :is(.menu-toggle,.qsc-menu-toggle)::after { content:'×'; font-size:22px; line-height:1; }
  html.qsc-mobile-menu-open :is(.menu-toggle,.qsc-menu-toggle) > span { display:none; }
  .home-story-links, .blog-story-links, .art-chapter-list { scrollbar-width:thin; scrollbar-color:#719cb6 #edf1f2; }
  .editorial-article .story-gallery:not(.travel-reference-triptych) figure > .motion-media { aspect-ratio:var(--media-ratio,4/5); }
  body main .editorial-article .story-gallery:not(.travel-reference-triptych) figure > .motion-media > img { inset:0; height:100%; object-fit:contain!important; transform:none; }
  .editorial-article .travel-reference-triptych figure > .motion-media { aspect-ratio:3/5; }
  body main .editorial-article .travel-reference-triptych figure > .motion-media > img { object-fit:cover!important; }
}
@media (max-width:760px) {
  .process-story > .process-overlay { margin-left:-20px; margin-right:-20px; padding:48px 24px; }
  .editorial-article .travel-reference-triptych .story-zoom { width:44px; height:44px; min-height:44px; bottom:6px; right:6px; }
}
/* Existing tablet transition; desktop art direction starts above this range. */
@media (min-width:761px) and (max-width:850px) {
  .hero .hero-photo { margin-right:0; min-width:0; }
  .hero { gap:28px; }
  main .story-zoom, main .press-pause { min-width:44px; min-height:44px; }
  .editorial-article .travel-reference-triptych .story-zoom { height:44px; }
  main input, main select, main textarea { font-size:16px!important; }
}
@media (max-width:850px) {
  .editorial-article .process-row > figure > .motion-media { min-height:0; width:100%; }
}

@media(max-width:760px){.art-shell section{scroll-margin-top:0}.story-lightbox-toolbar p{font-size:12px}.story-lightbox-close{width:44px;height:44px}}
@media(max-width:760px){html:has(.art-consultant),html:has(.art-privacy-page){scroll-padding-top:0}}
