/* Atelier: apertura fotografica, senza passaggi obbligati prima del catalogo. */
:root{--header:64px}
.expanded-atelier .site-header,.welcome-page .site-header{height:64px;min-height:64px;padding:8px 4%;gap:14px;background:#faf5ed;border-bottom:1px solid #cdbba6}
.expanded-atelier .site-header .brand,.welcome-page .site-header .brand{width:86px;min-width:86px;height:44px;display:flex;align-items:center}
.expanded-atelier .site-header .brand img,.welcome-page .site-header .brand img{width:100%;height:auto;object-fit:contain}
.expanded-atelier .primary-nav{gap:7px;font-size:13px}
.expanded-atelier .primary-nav a,.expanded-atelier .primary-nav button{font-size:13px;white-space:nowrap;min-height:44px}
.expanded-atelier .cart-trigger{gap:4px;padding-inline:0}
.expanded-atelier .cart-count{width:18px;min-width:18px;height:18px}
.expanded-atelier .chapter-menu-toggle span{display:none}
.expanded-atelier .chapter-menu{right:4%;width:min(390px,92vw)}
@media(max-width:359px){
  .expanded-atelier .site-header{padding-inline:10px;gap:6px}
  .expanded-atelier .site-header .brand{width:70px;min-width:70px}
  .expanded-atelier .primary-nav{gap:5px}
  .expanded-atelier .primary-nav a,.expanded-atelier .primary-nav button{font-size:12px}
}
.expanded-atelier .shop-notice,.welcome-page .shop-notice{padding:7px 4%;font-size:11px;line-height:1.4}
.expanded-atelier .shop-notice p{margin:0;font-size:12px;line-height:1.4}
.expanded-atelier section[id]{scroll-margin-top:80px}
.expanded-atelier .line-hero{position:relative;display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(390px,60svh) auto;grid-template-areas:"stage" "caption";gap:0;min-height:0;height:auto;max-width:none;margin:0;padding:0;background:#161817;overflow:hidden;align-items:stretch;align-content:start}
.expanded-atelier .hero-photo{grid-area:stage;position:relative;width:100%;height:100%;aspect-ratio:auto;margin:0;align-self:stretch;overflow:hidden;background:#161817}
.expanded-atelier .hero-photo img{display:block;width:100%;height:100%;aspect-ratio:auto;object-fit:contain;object-position:center bottom;transform-origin:50% 80%;filter:brightness(1.4) contrast(.95)}
.expanded-atelier:not([data-direction]) .hero-heading,.expanded-atelier:not([data-direction]) .hero-content{margin:0}
.expanded-atelier .hero-heading{grid-area:stage;position:relative;inset:auto;z-index:2;max-width:none;padding:32px 5% 0;color:#faf5ed;align-self:start;justify-self:start;pointer-events:none}
.expanded-atelier .hero-heading h1{font-family:var(--font-brand);font-size:clamp(48px,13.5vw,76px);line-height:1.02;letter-spacing:-.045em;max-width:none;margin:0}
.expanded-atelier .hero-line-window{display:block;overflow:hidden;padding-bottom:.07em}
.expanded-atelier .hero-heading [data-hero-line]{display:block}
.expanded-atelier .hero-content{grid-area:caption;position:static;max-width:none;color:#49352d;background:#faf5ed;padding:16px 5%;align-self:stretch}
.expanded-atelier .hero-content>p{max-width:none;margin:0;font-size:14px;line-height:1.5}
.hero-curtain,.opening-curtain{display:none}
.welcome-page .site-header{position:relative;justify-content:space-between}
.welcome-page .event-opening{display:grid;grid-template-columns:minmax(0,1fr);grid-template-areas:"copy" "photo";padding:0;min-height:0;background:#faf5ed;overflow:hidden}
.welcome-page .opening-media{grid-area:photo;display:block;margin:0;padding:0;min-width:0;background:#eadcc9}
.welcome-page .opening-media-frame{position:relative;display:block;width:100%;max-width:none;height:auto;aspect-ratio:16/10;margin:0;overflow:hidden;background:#eadcc9;transform:none}
.welcome-page .opening-media-frame img{position:static;display:block;width:100%;height:100%;object-fit:cover;object-position:50% 54%;transform-origin:50% 54%}
.welcome-page .opening-copy{grid-area:copy;width:100%;max-width:none;padding:28px 5% 32px;align-self:center;animation:none!important}
.welcome-page .opening-date{font-size:13px;line-height:1.5;margin:0 0 14px}
.welcome-page #opening-title{font:clamp(36px,10vw,48px)/1.05 var(--font-brand);letter-spacing:-.045em;max-width:14ch;margin:0 0 17px}
.welcome-page .opening-copy address{font:14px/1.5 var(--font-brand);margin:0}
.welcome-page .opening-payments-note{font:14px/1.6 var(--font-brand);max-width:40ch;margin:20px 0 0;padding-left:14px;border-left:2px solid #93765d;color:#49372f}
.welcome-page .opening-actions{display:grid;grid-template-columns:minmax(0,1fr);gap:10px;margin-top:24px}
.welcome-page .opening-actions>.button{grid-column:auto;display:flex;align-items:center;justify-content:space-between;width:100%;min-height:50px;padding:12px 17px;font-size:15px;line-height:1.4;border:1px solid #49352d;background:#49352d;color:#faf5ed;text-decoration:none}
.welcome-page .opening-actions>.secondary{background:transparent;color:#49352d}
.welcome-page .opening-actions>.button:hover{background:#634b3d;color:#faf5ed}
.welcome-page .welcome-footer{padding:18px 5% 24px;border-top:1px solid #cdbba6;font-size:12px;line-height:1.6}
.welcome-page .welcome-footer p{font-size:12px;line-height:1.6;margin:0 0 4px}
.welcome-page .welcome-footer a,.welcome-page .welcome-footer button{min-height:44px;font-size:12px;line-height:1.4}
@media(min-width:761px){
  :root{--header:78px}
  .expanded-atelier .site-header,.welcome-page .site-header{height:78px;min-height:78px;padding:10px 4%}
  .expanded-atelier .site-header .brand,.welcome-page .site-header .brand{width:132px;min-width:132px;height:54px}
  .expanded-atelier .primary-nav{gap:26px}
  .expanded-atelier .primary-nav a,.expanded-atelier .primary-nav button{font-size:14px}
  .expanded-atelier .chapter-menu-toggle span{display:inline}
  .expanded-atelier .hero-heading{padding:38px 5% 0}
  .expanded-atelier .hero-heading h1{font-size:76px}
  .expanded-atelier .hero-content>p{font-size:16px}
  .welcome-page .event-opening{grid-template-columns:minmax(0,42fr) minmax(0,58fr);grid-template-areas:"copy photo";min-height:calc(100svh - 78px);padding:0;gap:0;background:#faf5ed}
  .welcome-page .opening-copy{padding:46px 10%;max-width:none}
  .welcome-page .opening-date{font-size:15px;margin-bottom:22px}
  .welcome-page #opening-title{font-size:clamp(38px,4.2vw,65px);margin-bottom:22px}
  .welcome-page .opening-copy address{font-size:15px}
  .welcome-page .opening-actions{max-width:400px;margin-top:30px}
  .welcome-page .opening-media{align-self:stretch;display:flex;align-items:stretch;background:#eadcc9;overflow:hidden}
  .welcome-page .opening-media-frame{aspect-ratio:auto;height:100%;min-height:calc(100svh - 78px);max-height:none}
  .welcome-page .opening-media-frame img{object-position:46% 50%}
}
@media(min-width:1001px){
  .expanded-atelier .line-hero{grid-template-rows:78svh auto}
  .expanded-atelier .hero-heading{padding:14px 4% 0}
  .expanded-atelier .hero-heading h1{font-size:clamp(64px,5.8vw,94px)}
  .expanded-atelier .hero-photo img{object-fit:cover;object-position:center 50%;transform-origin:center}
}
@media(prefers-reduced-motion:reduce){.expanded-atelier .hero-photo img,.welcome-page .opening-media-frame img{will-change:auto}}
@media(max-width:760px){
  .expanded-atelier .line-hero{grid-template-rows:calc(100vw * .867 + 130px) auto}
  .expanded-atelier .hero-photo img{position:absolute;left:-15%;bottom:0;width:130%;max-width:none;height:auto;object-fit:contain;mask-image:linear-gradient(to bottom,transparent,#000 28px);-webkit-mask-image:linear-gradient(to bottom,transparent,#000 28px)}
}
